| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | #ifndef NULLOSFT_ONLINEMEDIA_PLUGIN_SETUP_SERVICE_PANEL_HEADER#define NULLOSFT_ONLINEMEDIA_PLUGIN_SETUP_SERVICE_PANEL_HEADER#if defined(_MSC_VER) && (_MSC_VER >= 1020)#pragma once#endif#include <wtypes.h>#include <bfc/multipatch.h>#include <ifc_omserviceevent.h>#include <ifc_omcachecallback.h>class ifc_omservice;#define MPIID_SERVICEEVENT		10#define MPIID_CACHECALLBACK		20class ServicePanel : public MultiPatch<MPIID_SERVICEEVENT, ifc_omserviceevent>,					public MultiPatch<MPIID_CACHECALLBACK, ifc_omcachecallback>{protected:		ServicePanel(LPCWSTR pszName, ifc_omservice *service);	~ServicePanel();public:	static HWND CreateInstance(HWND hParent, LPCWSTR pszName, ifc_omservice *service, ServicePanel **instance);public:	/* Dispatchable */	size_t AddRef();	size_t Release();	int QueryInterface(GUID interface_guid, void **object);	/* ifc_omserviceevent */	void ServiceChange(ifc_omservice *service, unsigned int modifiedFlags);	/* ifc_omcachecallback */	void PathChanged(ifc_omcacherecord *record);protected:	void Attach(HWND hwnd);	void Detach();		void UpdateName();	void UpdateDescription();	void UpdateMeta();	void UpdateThumbnail();	HFONT PickTitleFont(LPCWSTR pszTitle, INT cchTitle, INT maxWidth);	LPCWSTR FormatDate(LPCWSTR pszDate, LPWSTR pszBuffer, INT cchBufferMax);	HRESULT GetFullName(LPWSTR pszBuffer, UINT cchBufferMax);		INT_PTR OnInitDialog(HWND hFocus, LPARAM lParam);	void OnDestroy();	INT_PTR OnDialogColor(HDC hdc, HWND hControl);	INT_PTR OnStaticColor(HDC hdc, HWND hControl);	INT_PTR DialogProc(UINT uMsg, WPARAM wParam, LPARAM lParam);	INT_PTR OnGetUniqueName(LPWSTR pszBuffer, UINT cchBufferMax);	HRESULT LoadLocalThumbnail(LPCWSTR pszPath);private:	friend static INT_PTR WINAPI ServicePanel_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);protected:	size_t ref;	HWND hwnd;	LPWSTR name;	ifc_omservice *service;	ifc_omcacherecord *thumbnailCache;	HFONT fontTitle;	HFONT fontMeta;private:	RECVS_MULTIPATCH;};#endif //NULLOSFT_ONLINEMEDIA_PLUGIN_SETUP_SERVICE_PANEL_HEADER
 |