wine/include/wsddisco.idl

108 lines
5.7 KiB
Text
Raw Normal View History

/*
* Copyright 2017 Owen Rudge for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "objidl.idl";
import "wsdxmldom.h";
import "wsdtypes.h";
interface IWSDScopeMatchingRule;
interface IWSDiscoveryPublisherNotify;
interface IWSDiscoveryPublisher;
interface IWSDXMLContext;
[
uuid(fcafe424-fef5-481a-bd9f-33ce0574256f),
object,
local,
restricted,
pointer_default(unique)
]
interface IWSDScopeMatchingRule : IUnknown
{
HRESULT GetScopeRule([out] LPCWSTR *ppszScopeMatchingRule);
HRESULT MatchScopes([in] LPCWSTR pszScope1, [in] LPCWSTR pszScope2, [out] BOOL *pfMatch);
}
[
uuid(e67651b0-337a-4b3c-9758-733388568251),
object,
local,
restricted,
pointer_default(unique)
]
interface IWSDiscoveryPublisherNotify : IUnknown
{
HRESULT ProbeHandler([in] const WSD_SOAP_MESSAGE *pSoap, [in] IWSDMessageParameters *pMessageParameters);
HRESULT ResolveHandler([in] const WSD_SOAP_MESSAGE *pSoap, [in] IWSDMessageParameters *pMessageParameters);
}
[
uuid(AE01E1A8-3ff9-4148-8116-057cc616fe13),
object,
local,
restricted,
pointer_default(unique)
]
interface IWSDiscoveryPublisher : IUnknown
{
HRESULT SetAddressFamily([in] DWORD dwAddressFamily);
HRESULT RegisterNotificationSink([in] IWSDiscoveryPublisherNotify *pSink);
HRESULT UnRegisterNotificationSink([in] IWSDiscoveryPublisherNotify *pSink);
HRESULT Publish([in] LPCWSTR pszId, [in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber,
[in, optional] LPCWSTR pszSessionId, [in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList,
[in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT UnPublish([in] LPCWSTR pszId, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber, [in, optional] LPCWSTR pszSessionId,
[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchProbe([in] const WSD_SOAP_MESSAGE *pProbeMessage, [in] IWSDMessageParameters *pMessageParameters, [in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber, [in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList, [in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT MatchResolve([in] const WSD_SOAP_MESSAGE *pResolveMessage, [in] IWSDMessageParameters *pMessageParameters, [in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber, [in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList, [in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT PublishEx([in] LPCWSTR pszId, [in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber,
[in, optional] LPCWSTR pszSessionId, [in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList,
[in, optional] const WSD_URI_LIST *pXAddrsList, [in, optional] const WSDXML_ELEMENT *pHeaderAny,
[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny, [in, optional] const WSDXML_ELEMENT *pPolicyAny,
[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny, [in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchProbeEx([in] const WSD_SOAP_MESSAGE *pProbeMessage, [in] IWSDMessageParameters *pMessageParameters, [in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber, [in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList, [in, optional] const WSD_URI_LIST *pXAddrsList,
[in, optional] const WSDXML_ELEMENT *pHeaderAny, [in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,
[in, optional] const WSDXML_ELEMENT *pPolicyAny, [in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,
[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchResolveEx([in] const WSD_SOAP_MESSAGE *pResolveMessage, [in] IWSDMessageParameters *pMessageParameters, [in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion, [in] ULONGLONG ullInstanceId, [in] ULONGLONG ullMessageNumber, [in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList, [in, optional] const WSD_URI_LIST *pScopesList, [in, optional] const WSD_URI_LIST *pXAddrsList,
[in, optional] const WSDXML_ELEMENT *pHeaderAny, [in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,
[in, optional] const WSDXML_ELEMENT *pPolicyAny, [in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,
[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT RegisterScopeMatchingRule([in] IWSDScopeMatchingRule *pScopeMatchingRule);
HRESULT UnRegisterScopeMatchingRule([in] IWSDScopeMatchingRule *pScopeMatchingRule);
HRESULT GetXMLContext([out] IWSDXMLContext **ppContext);
}
cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);")