| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- #ifndef NULLSOFT_WINAMP_OMBROWSER_COMPONENT_HEADER
 
- #define NULLSOFT_WINAMP_OMBROWSER_COMPONENT_HEADER
 
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 
- #pragma once
 
- #endif
 
- #include <wtypes.h>
 
- #include "../Agave/Component/ifc_wa5component.h"
 
- #include "./ifc_winamphook.h"
 
- #include <bfc/multipatch.h>
 
- #include <vector>
 
- class WasabiHelper;
 
- class WinampHook;
 
- class SkinHelper;
 
- class ifc_wasabihelper;
 
- class ifc_skinhelper;
 
- class ifc_ombrowserclass;
 
- class InternetFeatures;
 
- #define MPIID_WA5COMPONENT		10
 
- #define MPIID_WINAMPHOOK		20
 
- class OmBrowserComponent : public MultiPatch<MPIID_WA5COMPONENT, ifc_wa5component>,
 
- 							public MultiPatch<MPIID_WINAMPHOOK, ifc_winamphook>
 
- {
 
- public:
 
- 	OmBrowserComponent();
 
- 	~OmBrowserComponent();
 
- public:
 
- 	/* Dispatchable */
 
- 	size_t AddRef();
 
- 	size_t Release();
 
- 	int QueryInterface(GUID interface_guid, void **object);
 
- 	/* ifc_wa5component */
 
- 	void RegisterServices(api_service *service);
 
- 	int RegisterServicesSafeModeOk();
 
- 	void DeregisterServices(api_service *service);
 
- 	
 
- 	/* ifc_winamphook (partial) */
 
- 	HRESULT ResetFont(void);
 
- 	HRESULT SkinChanged(const wchar_t *skinName);
 
- 	HRESULT SkinColorChange(const wchar_t *colorTheme);
 
- public:
 
- 	HRESULT InitializeComponent(HWND hwndWinamp);
 
- 	HRESULT GetWasabiHelper(ifc_wasabihelper **wasabiOut);
 
- 	HRESULT GetSkinHelper(ifc_skinhelper **skinOut);
 
- 	HRESULT RegisterWinampHook(ifc_winamphook *hook, UINT *cookieOut);
 
- 	HRESULT UnregisterWinampHook(UINT cookie);
 
- 	HRESULT GetWinampWnd(HWND *hwndWinamp);
 
- 	HRESULT RegisterUnloadCallback(PLUGINUNLOADCALLBACK callback);
 
- 	HRESULT GetBrowserClass(LPCWSTR pszName, ifc_ombrowserclass **instance);
 
- 	HRESULT UnregisterBrowserClass(LPCWSTR pszName);
 
- protected:
 
- 	void ReleaseServices(void);
 
- 	void UpdateColors(void);
 
- 	void SetInternetFeautures(void);
 
- 	BOOL SetUserAgent(void);
 
- protected:
 
- 	RECVS_MULTIPATCH;
 
- private:
 
- 	typedef std::vector<PLUGINUNLOADCALLBACK> UnloadCallbackList;
 
- 	typedef std::vector<ifc_ombrowserclass*> BrowserClassList;
 
- private:
 
- 	WasabiHelper *wasabiHelper;
 
- 	WinampHook *winampHook;
 
- 	SkinHelper *skinHelper;
 
- 	UINT hookCookie;
 
- 	CRITICAL_SECTION lock;
 
- 	UnloadCallbackList unloadCallbacks;
 
- 	BrowserClassList browserClasses;
 
- 	InternetFeatures *internetFeatures;
 
- };
 
- #endif //NULLSOFT_WINAMP_OMBROWSER_COMPONENT_HEADER
 
 
  |