aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/obj_ombrowser.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/obj_ombrowser.h')
-rw-r--r--Src/omBrowser/obj_ombrowser.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/Src/omBrowser/obj_ombrowser.h b/Src/omBrowser/obj_ombrowser.h
new file mode 100644
index 00000000..96a10486
--- /dev/null
+++ b/Src/omBrowser/obj_ombrowser.h
@@ -0,0 +1,145 @@
+#ifndef NULLSOFT_WINAMP_OMBROWSER_OBJECT_INTERFACE_HEADER
+#define NULLSOFT_WINAMP_OMBROWSER_OBJECT_INTERFACE_HEADER
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+#include "bfc/dispatch.h"
+
+// {D5325EAB-9BD7-4382-A31D-38EF603061B3}
+static const GUID OBJ_OmBrowser =
+{ 0xd5325eab, 0x9bd7, 0x4382, { 0xa3, 0x1d, 0x38, 0xef, 0x60, 0x30, 0x61, 0xb3 } };
+
+class ifc_ombrowserclass;
+class ifc_winamphook;
+class ifc_ombrowserregistry;
+class ifc_omservice;
+class ifc_ombrowserevent;
+
+#define BOSTYLE_NORMAL 0x0000
+#define BOSTYLE_SHOWDEBUG 0x0001
+
+#define BOCALLBACK_INIT 0
+typedef void (CALLBACK *BROWSEROPTIONSCALLBACK)(HWND /*hDialog*/, UINT /*type*/, ULONG_PTR /*user*/);
+
+class __declspec( novtable ) obj_ombrowser : public Dispatchable
+{
+protected:
+ obj_ombrowser() {}
+ ~obj_ombrowser() {}
+
+public:
+ HRESULT Initialize( const wchar_t *pszName, HWND hwndWinamp );
+ HRESULT Finish( void );
+ HRESULT RegisterWinampHook( ifc_winamphook *hook, UINT *cookieOut );
+ HRESULT UnregisterWinampHook( UINT cookie );
+ HRESULT GetConfig( const GUID *configIfc, void **configOut );
+ HRESULT GetSessionId( LPWSTR pszBuffer, INT cchBufferMax );
+ HRESULT GetClientId( LPWSTR pszBuffer, INT cchBufferMax );
+ HRESULT GetRegistry( ifc_ombrowserregistry **registryOut );
+ HRESULT CreateView( ifc_omservice *service, HWND hParent, LPCWSTR forceUrl, UINT viewStyle, HWND *hView );
+ HRESULT CreatePopup( ifc_omservice *service, INT x, INT y, INT cx, INT cy, HWND hOwner, LPCWSTR forceUrl, UINT viewStyle, HWND *hWindow );
+ HRESULT IsFinishing( void );
+ HRESULT GetClass( ifc_ombrowserclass **instance );
+ HRESULT GetVersion( int *major, int *minor );
+ HRESULT GetIEVersion( int *major, int *minor, int *build, int *subbuild );
+ HRESULT ShowOptions( HWND hOwner, UINT style, BROWSEROPTIONSCALLBACK callback, ULONG_PTR user );
+
+ DISPATCH_CODES
+ {
+ API_INITIALIZE = 10,
+ API_FINISH = 20,
+ API_REGISTERWINAMPHOOK = 30,
+ API_UNREGISTERWINAMPHOOK = 40,
+ API_GETLANGMODULE = 60,
+ API_GETCONFIG = 70,
+ API_GETSESSIONID = 80,
+ API_GETCLIENTID = 90,
+ API_GETREGISTRY = 100,
+ API_CREATEVIEW = 110,
+ API_CREATEPOPUP = 120,
+ API_ISFINISHING = 130,
+ API_GETCLASS = 140,
+ API_GETVERSION = 150,
+ API_GETIEVERSION = 160,
+ API_SHOWOPTIONS = 170,
+ };
+};
+
+inline HRESULT obj_ombrowser::Initialize( const wchar_t *pszName, HWND hwndWinamp )
+{
+ return _call( API_INITIALIZE, (HRESULT)E_NOTIMPL, pszName, hwndWinamp );
+}
+
+inline HRESULT obj_ombrowser::Finish( void )
+{
+ return _call( API_FINISH, (HRESULT)E_NOTIMPL );
+}
+
+inline HRESULT obj_ombrowser::RegisterWinampHook( ifc_winamphook *hook, UINT *hookCookie )
+{
+ return _call( API_REGISTERWINAMPHOOK, (HRESULT)E_NOTIMPL, hook, hookCookie );
+}
+
+inline HRESULT obj_ombrowser::UnregisterWinampHook( UINT hookCookie )
+{
+ return _call( API_UNREGISTERWINAMPHOOK, (HRESULT)E_NOTIMPL, hookCookie );
+}
+
+inline HRESULT obj_ombrowser::GetConfig( const GUID *configIfc, void **configOut )
+{
+ return _call( API_GETCONFIG, (HRESULT)E_NOTIMPL, configIfc, configOut );
+}
+
+inline HRESULT obj_ombrowser::GetSessionId( LPWSTR pszBuffer, INT cchBufferMax )
+{
+ return _call( API_GETSESSIONID, (HRESULT)E_NOTIMPL, pszBuffer, cchBufferMax );
+}
+
+inline HRESULT obj_ombrowser::GetClientId( LPWSTR pszBuffer, INT cchBufferMax )
+{
+ return _call( API_GETCLIENTID, (HRESULT)E_NOTIMPL, pszBuffer, cchBufferMax );
+}
+
+inline HRESULT obj_ombrowser::GetRegistry( ifc_ombrowserregistry **registryOut )
+{
+ return _call( API_GETREGISTRY, (HRESULT)E_NOTIMPL, registryOut );
+}
+
+inline HRESULT obj_ombrowser::CreateView( ifc_omservice *service, HWND hParent, LPCWSTR forceUrl, UINT viewStyle, HWND *hView )
+{
+ return _call( API_CREATEVIEW, (HRESULT)E_NOTIMPL, service, hParent, forceUrl, viewStyle, hView );
+}
+
+inline HRESULT obj_ombrowser::CreatePopup( ifc_omservice *service, INT x, INT y, INT cx, INT cy, HWND hOwner, LPCWSTR forceUrl, UINT viewStyle, HWND *hWindow )
+{
+ return _call( API_CREATEPOPUP, (HRESULT)E_NOTIMPL, service, x, y, cx, cy, hOwner, forceUrl, viewStyle, hWindow );
+}
+
+inline HRESULT obj_ombrowser::IsFinishing( void )
+{
+ return _call( API_ISFINISHING, (HRESULT)E_NOTIMPL );
+}
+
+inline HRESULT obj_ombrowser::GetClass( ifc_ombrowserclass **instance )
+{
+ return _call( API_GETCLASS, (HRESULT)E_NOTIMPL, instance );
+}
+
+inline HRESULT obj_ombrowser::GetVersion( int *major, int *minor )
+{
+ return _call( API_GETVERSION, (HRESULT)E_NOTIMPL, major, minor );
+}
+
+inline HRESULT obj_ombrowser::GetIEVersion( int *major, int *minor, int *build, int *subbuild )
+{
+ return _call( API_GETIEVERSION, (HRESULT)E_NOTIMPL, major, minor, build, subbuild );
+}
+
+inline HRESULT obj_ombrowser::ShowOptions( HWND hOwner, UINT style, BROWSEROPTIONSCALLBACK callback, ULONG_PTR user )
+{
+ return _call( API_SHOWOPTIONS, (HRESULT)E_NOTIMPL, hOwner, style, callback, user );
+}
+
+#endif //NULLSOFT_WINAMP_OMBROWSER_OBJECT_INTERFACE_HEADER \ No newline at end of file