Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_WSDHOST
      7 #define _INC_WSDHOST
      8 
      9 #ifndef _INC_WSDAPI
     10 #error Please include wsdapi.h instead of this header. This header cannot be used directly.
     11 #endif
     12 
     13 #if (_WIN32_WINNT >= 0x0600)
     14 
     15 #undef  INTERFACE
     16 #define INTERFACE IWSDServiceMessaging
     17 #ifdef __GNUC__
     18 #warning COM interfaces layout in this header has not been verified.
     19 #warning COM interfaces with incorrect layout may not work at all.
     20 __MINGW_BROKEN_INTERFACE(INTERFACE)
     21 #endif
     22 DECLARE_INTERFACE_(IWSDServiceMessaging,IUnknown)
     23 {
     24     BEGIN_INTERFACE
     25 
     26     /* IUnknown methods */
     27     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     28     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     29     STDMETHOD_(ULONG, Release)(THIS) PURE;
     30 
     31     /* IWSDServiceMessaging methods */
     32     STDMETHOD_(HRESULT,FaultRequest)(THIS_ WSD_SOAP_HEADER *pRequestHeader,IWSDMessageParameters *pMessageParameters,WSD_SOAP_FAULT *pFault) PURE;
     33     STDMETHOD_(HRESULT,SendResponse)(THIS_ void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) PURE;
     34 
     35     END_INTERFACE
     36 };
     37 #ifdef COBJMACROS
     38 #define IWSDServiceMessaging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     39 #define IWSDServiceMessaging_AddRef(This) (This)->lpVtbl->AddRef(This)
     40 #define IWSDServiceMessaging_Release(This) (This)->lpVtbl->Release(This)
     41 #define IWSDServiceMessaging_FaultRequest(This,pRequestHeader,pMessageParameters,pFault) (This)->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault)
     42 #define IWSDServiceMessaging_SendResponse(This,pBody,pOperation,pMessageParameters) (This)->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters)
     43 #endif /*COBJMACROS*/
     44 
     45 #undef  INTERFACE
     46 #define INTERFACE IWSDDeviceHostNotify
     47 #ifdef __GNUC__
     48 #warning COM interfaces layout in this header has not been verified.
     49 #warning COM interfaces with incorrect layout may not work at all.
     50 __MINGW_BROKEN_INTERFACE(INTERFACE)
     51 #endif
     52 DECLARE_INTERFACE_(IWSDDeviceHostNotify,IUnknown)
     53 {
     54     BEGIN_INTERFACE
     55 
     56     /* IUnknown methods */
     57     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     58     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     59     STDMETHOD_(ULONG, Release)(THIS) PURE;
     60 
     61     /* IWSDDeviceHostNotify methods */
     62     STDMETHOD_(HRESULT,GetService)(THIS_ LPCWSTR pszServiceId,IUnknown **ppService) PURE;
     63 
     64     END_INTERFACE
     65 };
     66 #ifdef COBJMACROS
     67 #define IWSDDeviceHostNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     68 #define IWSDDeviceHostNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
     69 #define IWSDDeviceHostNotify_Release(This) (This)->lpVtbl->Release(This)
     70 #define IWSDDeviceHostNotify_GetService(This,pszServiceId,ppService) (This)->lpVtbl->GetService(This,pszServiceId,ppService)
     71 #endif /*COBJMACROS*/
     72 
     73 #ifdef __GNUC__
     74 #warning COM interfaces layout in this header has not been verified.
     75 #warning COM interfaces with incorrect layout may not work at all.
     76 #warning IWSDDeviceHost is unverified.
     77 #endif
     78 
     79 #undef  INTERFACE
     80 #define INTERFACE IWSDDeviceHost
     81 #ifdef __GNUC__
     82 #warning COM interfaces layout in this header has not been verified.
     83 #warning COM interfaces with incorrect layout may not work at all.
     84 __MINGW_BROKEN_INTERFACE(INTERFACE)
     85 #endif
     86 DECLARE_INTERFACE_(IWSDDeviceHost,IUnknown)
     87 {
     88     BEGIN_INTERFACE
     89 
     90     /* IUnknown methods */
     91     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     92     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     93     STDMETHOD_(ULONG, Release)(THIS) PURE;
     94 
     95     /* IWSDDeviceHost methods */
     96     STDMETHOD_(HRESULT,Init)(THIS_ LPCWSTR pszLocalId,DWORD dwHostAddressCount) PURE;
     97     STDMETHOD_(HRESULT,Start)(THIS_ ULONGLONG ullInstanceId,const WSD_URI_LIST *pScopeList,IWSDDeviceHostNotify *pNotificationSink) PURE;
     98     STDMETHOD_(HRESULT,Stop)(THIS) PURE;
     99     STDMETHOD_(HRESULT,Terminate)(THIS) PURE;
    100     STDMETHOD_(HRESULT,RegisterPortType)(THIS_ const WSD_PORT_TYPE *pPortType) PURE;
    101     STDMETHOD_(HRESULT,SetMetadata)(THIS_ const WSD_THIS_MODEL_METADATA *pThisModelMetadata,const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,const WSD_METADATA_SECTION_LIST *pCustomMetadata) PURE;
    102     STDMETHOD_(HRESULT,RegisterService)(THIS_ LPCWSTR pszServiceId,IUnknown *pService) PURE;
    103     STDMETHOD_(HRESULT,RetireService)(THIS_ LPCWSTR pszServiceId) PURE;
    104     STDMETHOD_(HRESULT,AddDynamicService)(THIS_ LPCWSTR pszServiceId,IUnknown *pService) PURE;
    105     STDMETHOD_(HRESULT,RemoveDynamicService)(THIS_ LPCWSTR pszServiceId) PURE;
    106     STDMETHOD_(HRESULT,SetServiceDiscoverable)(THIS_ const WCHAR *pszServiceId,WINBOOL fDiscoverable) PURE;
    107     STDMETHOD_(HRESULT,SignalEvent)(THIS_ LPCWSTR pszServiceId,const void *pBody,const WSD_OPERATION *pOperation) PURE;
    108 
    109     END_INTERFACE
    110 };
    111 #ifdef COBJMACROS
    112 #define IWSDDeviceHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    113 #define IWSDDeviceHost_AddRef(This) (This)->lpVtbl->AddRef(This)
    114 #define IWSDDeviceHost_Release(This) (This)->lpVtbl->Release(This)
    115 #define IWSDDeviceHost_Init(This,pszLocalId,dwHostAddressCount) (This)->lpVtbl->Init(This,pszLocalId,dwHostAddressCount)
    116 #define IWSDDeviceHost_Start(This,ullInstanceId,pScopeList,pNotificationSink) (This)->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink)
    117 #define IWSDDeviceHost_Stop() (This)->lpVtbl->Stop(This)
    118 #define IWSDDeviceHost_Terminate() (This)->lpVtbl->Terminate(This)
    119 #define IWSDDeviceHost_RegisterPortType(This,pPortType) (This)->lpVtbl->RegisterPortType(This,pPortType)
    120 #define IWSDDeviceHost_SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pCustomMetadata) (This)->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pCustomMetadata)
    121 #define IWSDDeviceHost_RegisterService(This,pszServiceId,pService) (This)->lpVtbl->RegisterService(This,pszServiceId,pService)
    122 #define IWSDDeviceHost_RetireService(This,pszServiceId) (This)->lpVtbl->RetireService(This,pszServiceId)
    123 #define IWSDDeviceHost_AddDynamicService(This,pszServiceId,pService) (This)->lpVtbl->AddDynamicService(This,pszServiceId,pService)
    124 #define IWSDDeviceHost_RemoveDynamicService(This,pszServiceId) (This)->lpVtbl->RemoveDynamicService(This,pszServiceId)
    125 #define IWSDDeviceHost_SetServiceDiscoverable(This,pszServiceId,fDiscoverable) (This)->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable)
    126 #define IWSDDeviceHost_SignalEvent(This,pszServiceId,pBody,pOperation) (This)->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation)
    127 #endif /*COBJMACROS*/
    128 
    129 #ifdef __cplusplus
    130 extern "C" {
    131 #endif
    132 
    133 HRESULT WINAPI WSDCreateDeviceHost(
    134   const WCHAR *pszLocalId,
    135   IWSDXMLContext *pContext,
    136   IWSDDeviceHost **ppDeviceHost
    137 );
    138 
    139 HRESULT WSDCreateDeviceHostAdvanced(
    140   const WCHAR *pszLocalId,
    141   IWSDXMLContext *pContext,
    142   IWSDAddress **ppHostAddresses,
    143   DWORD dwHostAddressCount,
    144   IWSDDeviceHost **ppDeviceHost
    145 );
    146 
    147 #ifdef __cplusplus
    148 }
    149 #endif
    150 
    151 #endif /*(_WIN32_WINNT >= 0x0600)*/
    152 #endif /*_INC_WSDHOST*/
    153