Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
69
Src/Plugins/Library/ml_wire/service.h
Normal file
69
Src/Plugins/Library/ml_wire/service.h
Normal file
|
@ -0,0 +1,69 @@
|
|||
#ifndef NULLSOFT_PODCAST_PLUGIN_SERVICE_HEADER
|
||||
#define NULLSOFT_PODCAST_PLUGIN_SERVICE_HEADER
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <wtypes.h>
|
||||
#include <atomic>
|
||||
|
||||
#include "../omBrowser/ifc_omservice.h"
|
||||
|
||||
class OmService;
|
||||
typedef HWND (CALLBACK *SVCWNDCREATEPROC)(HWND /*hParent*/, OmService* /*service*/);
|
||||
|
||||
class OmService : public ifc_omservice
|
||||
{
|
||||
public:
|
||||
typedef enum
|
||||
{
|
||||
flagRoot = 0x00000001,
|
||||
flagLocal = 0x00000002,
|
||||
} Flags;
|
||||
|
||||
protected:
|
||||
OmService( UINT nId );
|
||||
~OmService();
|
||||
|
||||
public:
|
||||
static HRESULT CreateRemote( UINT nId, LPCWSTR pszName, LPCWSTR pszIcon, LPCWSTR pszUrl, OmService **instance );
|
||||
static HRESULT CreateLocal( UINT nId, LPCWSTR pszName, LPCWSTR pszIcon, SVCWNDCREATEPROC windowCreator, OmService **instance );
|
||||
|
||||
/* Dispatchable */
|
||||
size_t AddRef();
|
||||
size_t Release();
|
||||
int QueryInterface( GUID interface_guid, void **object );
|
||||
|
||||
/* ifc_omservice */
|
||||
unsigned int GetId();
|
||||
HRESULT GetName( wchar_t *pszBuffer, int cchBufferMax );
|
||||
HRESULT GetUrl( wchar_t *pszBuffer, int cchBufferMax );
|
||||
HRESULT GetExternal( IDispatch **ppDispatch );
|
||||
HRESULT GetIcon( wchar_t *pszBuffer, int cchBufferMax );
|
||||
|
||||
HRESULT SetName( LPCWSTR pszName );
|
||||
HRESULT SetUrl( LPCWSTR pszUrl );
|
||||
HRESULT SetIcon( LPCWSTR pszIcon );
|
||||
|
||||
void SetFlags( UINT mask, UINT newFlags );
|
||||
UINT GetFlags( void );
|
||||
|
||||
HRESULT SetWindowCreator( SVCWNDCREATEPROC proc );
|
||||
HRESULT GetWindowCreator( SVCWNDCREATEPROC *proc );
|
||||
|
||||
HRESULT CreateView( HWND hParent, HWND *hView );
|
||||
|
||||
protected:
|
||||
RECVS_DISPATCH;
|
||||
|
||||
std::atomic<std::size_t> _ref = 1;
|
||||
UINT id = 0;
|
||||
LPWSTR name = NULL;
|
||||
LPWSTR url = NULL;
|
||||
SVCWNDCREATEPROC windowCreator = NULL;
|
||||
LPWSTR icon = NULL;
|
||||
UINT flags = 0;
|
||||
};
|
||||
|
||||
#endif //NULLSOFT_PODCAST_PLUGIN_SERVICE_HEADER
|
Loading…
Add table
Add a link
Reference in a new issue