418 lines
14 KiB
XML
418 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<wsdcodegen ConfigFileVersion="1.3">
|
|
<LayerPrefix>FileService</LayerPrefix>
|
|
<LayerNumber>1</LayerNumber>
|
|
<!--************************************************************-->
|
|
<!--*** WSDLS TO BE INCLUDED ***-->
|
|
<!--************************************************************-->
|
|
<Wsdl PrefixMessageStructureNames="true">
|
|
<Path>FileService.wsdl</Path>
|
|
</Wsdl>
|
|
|
|
|
|
<!--This Macro will be included in all header files.-->
|
|
<Macro Name="PragmaOnce">
|
|
<![CDATA[
|
|
#pragma once
|
|
]]>
|
|
</Macro>
|
|
<!--Additionally, the predefined "DoNotModify" macro will be included in all files.-->
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** TYPES HEADER FILE ***-->
|
|
<!--This file contains forward declarations and structure definitions.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileServiceTypes.h">
|
|
<Include Macro="DoNotModify" />
|
|
<Include Macro="PragmaOnce" />
|
|
<NamespaceDeclarations />
|
|
<NamespaceNameMacros />
|
|
<StructDeclarations />
|
|
<StructDefinitions />
|
|
<EnumerationValueDeclarations />
|
|
<TypeTableDeclarations />
|
|
<MessageStructureDefinitions />
|
|
<PortTypeDeclarations />
|
|
<StubDeclarations Events="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<Operation>FileChangeEvent</Operation>
|
|
</StubDeclarations>
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** TYPES FILE ***-->
|
|
<!--This file contains type table and operation definitions.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileServiceTypes.cpp">
|
|
<Include Macro="DoNotModify" />
|
|
<LiteralInclude Language="C" Local="False">wsdapi.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileService.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileServiceTypes.h</LiteralInclude>
|
|
<NamespaceDefinitions />
|
|
<TypeTableDefinitions />
|
|
<MessageTypeDefinitions />
|
|
<PortTypeDefinitions>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<Events>True</Events>
|
|
<EventStubFunction>True</EventStubFunction>
|
|
</PortTypeDefinitions>
|
|
<RelationshipMetadataDefinition />
|
|
<ThisModelMetadataDefinition />
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** INTERFACE IDL ***-->
|
|
<!--This file defines the interfaces for the specified services.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileService.idl">
|
|
<Include Macro="DoNotModify" />
|
|
<![CDATA[
|
|
interface IFileService;
|
|
interface IFileServiceProxy;
|
|
interface IFileServiceEventNotify;
|
|
]]>
|
|
<LiteralInclude Language="IDL">oaidl.idl</LiteralInclude>
|
|
<LiteralInclude Language="IDL">ocidl.idl</LiteralInclude>
|
|
<LiteralInclude Language="IDL">wsdattachment.idl</LiteralInclude>
|
|
<LiteralInclude Language="IDL">wsdclient.idl</LiteralInclude>
|
|
<LiteralInclude Language="IDL">wsdhost.idl</LiteralInclude>
|
|
<LiteralInclude Language="IDL">FileServiceTypes.h</LiteralInclude>
|
|
<![CDATA[
|
|
//
|
|
// IFileService Interface
|
|
//
|
|
[
|
|
object,
|
|
uuid(cb5c1fdd-a6db-4e1b-9f39-8f2df4c47278),
|
|
helpstring("IFileService Interface"),
|
|
pointer_default(unique),
|
|
restricted,
|
|
local
|
|
]
|
|
interface IFileService : IUnknown
|
|
{
|
|
]]>
|
|
<IdlFunctionDeclarations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
</IdlFunctionDeclarations>
|
|
<![CDATA[
|
|
};
|
|
]]>
|
|
<![CDATA[
|
|
//
|
|
// IFileServiceProxy Interface
|
|
//
|
|
[
|
|
object,
|
|
uuid(fb7124df-23f6-4984-9ab7-31fe222bc6cd),
|
|
helpstring("IFileServiceProxy Interface"),
|
|
pointer_default(unique),
|
|
restricted,
|
|
local
|
|
]
|
|
interface IFileServiceProxy : IFileService
|
|
{
|
|
HRESULT Init(IWSDServiceProxy* genericProxy);
|
|
]]>
|
|
<IdlFunctionDeclarations Async="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<Operation>GetFileList</Operation>
|
|
<Operation>GetFile</Operation>
|
|
</IdlFunctionDeclarations>
|
|
<SubscriptionIdlFunctionDeclarations>
|
|
<NotificationInterface>IFileServiceEventNotify</NotificationInterface>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<Operation>FileChangeEvent</Operation>
|
|
</SubscriptionIdlFunctionDeclarations>
|
|
<![CDATA[
|
|
};
|
|
]]>
|
|
<![CDATA[
|
|
//
|
|
// IFileServiceEventNotify Interface
|
|
//
|
|
[
|
|
object,
|
|
uuid(21fb11de-affe-49c4-9c93-0bea07e40739),
|
|
helpstring("IFileServiceEventNotify Interface"),
|
|
pointer_default(unique),
|
|
restricted,
|
|
local
|
|
]
|
|
interface IFileServiceEventNotify : IUnknown
|
|
{
|
|
]]>
|
|
<IdlFunctionDeclarations Events="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
</IdlFunctionDeclarations>
|
|
<![CDATA[
|
|
};
|
|
]]>
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** PROXY HEADER FILES ***-->
|
|
<!--This file contains declarations for proxy classes and builder functions.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileServiceProxy.h">
|
|
<Include Macro="DoNotModify" />
|
|
<Include Macro="PragmaOnce" />
|
|
<![CDATA[
|
|
class CFileServiceProxy;
|
|
class CFileServiceEventSource;
|
|
]]>
|
|
<ProxyBuilderDeclarations>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
</ProxyBuilderDeclarations>
|
|
<![CDATA[
|
|
class CFileServiceProxy: public IFileServiceProxy
|
|
{
|
|
protected:
|
|
~CFileServiceProxy();
|
|
LONG m_cRef;
|
|
IWSDServiceProxy* m_genericProxy;
|
|
|
|
public:
|
|
HRESULT STDMETHODCALLTYPE Init(IWSDServiceProxy* genericProxy);
|
|
CFileServiceProxy();
|
|
]]>
|
|
<IUnknownDeclarations />
|
|
<FunctionDeclarations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
</FunctionDeclarations>
|
|
<FunctionDeclarations Async="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<Operation>GetFileList</Operation>
|
|
<Operation>GetFile</Operation>
|
|
</FunctionDeclarations>
|
|
<SubscriptionFunctionDeclarations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<NotificationInterface>IFileServiceEventNotify</NotificationInterface>
|
|
</SubscriptionFunctionDeclarations>
|
|
<![CDATA[
|
|
};
|
|
]]>
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** PROXY FILE ***-->
|
|
<!--This file contains code for proxy classes and functions.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileServiceProxy.cpp">
|
|
<Include Macro="DoNotModify" />
|
|
<LiteralInclude Language="C" Local="False">wsdapi.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileService.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileServiceTypes.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileServiceProxy.h</LiteralInclude>
|
|
<ProxyBuilderImplementations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
</ProxyBuilderImplementations>
|
|
<![CDATA[
|
|
CFileServiceProxy::CFileServiceProxy() :
|
|
m_cRef(1), m_genericProxy(NULL)
|
|
{
|
|
}
|
|
|
|
CFileServiceProxy::~CFileServiceProxy()
|
|
{
|
|
if ( NULL != m_genericProxy )
|
|
{
|
|
m_genericProxy->Release();
|
|
m_genericProxy = NULL;
|
|
}
|
|
};
|
|
|
|
HRESULT STDMETHODCALLTYPE CFileServiceProxy::Init(
|
|
/* [in] */ IWSDServiceProxy* pIWSDServiceProxy )
|
|
{
|
|
if( NULL == pIWSDServiceProxy )
|
|
{
|
|
return E_INVALIDARG;
|
|
}
|
|
|
|
m_genericProxy = pIWSDServiceProxy;
|
|
m_genericProxy->AddRef();
|
|
|
|
return S_OK;
|
|
}
|
|
]]>
|
|
<IUnknownDefinitions>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
<RefCountVar>m_cRef</RefCountVar>
|
|
<Interface>IFileService</Interface>
|
|
<Interface>IFileServiceProxy</Interface>
|
|
</IUnknownDefinitions>
|
|
<ProxyFunctionImplementations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
</ProxyFunctionImplementations>
|
|
<ProxyFunctionImplementations Async="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
<Operation>GetFileList</Operation>
|
|
<Operation>GetFile</Operation>
|
|
</ProxyFunctionImplementations>
|
|
<SubscriptionProxyFunctionImplementations>
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<ProxyClass>CFileServiceProxy</ProxyClass>
|
|
<NotificationInterface>IFileServiceEventNotify</NotificationInterface>
|
|
</SubscriptionProxyFunctionImplementations>
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** STUB FILE ***-->
|
|
<!--This file contains stub function code.-->
|
|
<!--************************************************************-->
|
|
<File Name="FileServiceStub.cpp">
|
|
<Include Macro="DoNotModify" />
|
|
<LiteralInclude Language="C" Local="False">wsdapi.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileService.h</LiteralInclude>
|
|
<LiteralInclude Language="C" Local="True">FileServiceTypes.h</LiteralInclude>
|
|
<MessageTypeDeclarations />
|
|
<StubDefinitions Events="True">
|
|
<PortType>http://www.example.com/ncd/FileService/FileService</PortType>
|
|
<ServerClass>IFileServiceEventNotify</ServerClass>
|
|
<Deallocator>WSDFreeLinkedMemory</Deallocator>
|
|
</StubDefinitions>
|
|
</File>
|
|
|
|
|
|
<!--************************************************************-->
|
|
<!--*** README FILE ***-->
|
|
<!--This file contains readme text.-->
|
|
<!---->
|
|
<!--Changes made to the contents of the metadata section of this-->
|
|
<!--configuration file will not impact the accuracy of the Readme.txt-->
|
|
<!--file, but more significant changes may render the Readme.txt file-->
|
|
<!--inaccurate.-->
|
|
<!--************************************************************-->
|
|
<File Name="Readme.txt">
|
|
<![CDATA[=== Index ====================================================================
|
|
* Quick start guide
|
|
+ Client
|
|
+ Compiling
|
|
* Generated files
|
|
* Generated interfaces
|
|
+ Base interfaces
|
|
+ Proxy interfaces
|
|
+ Event notify interfaces
|
|
* Generated classes
|
|
+ Proxy classes
|
|
* Generated functions
|
|
+ Proxy builder functions
|
|
* Generated structures
|
|
+ Parameter structures
|
|
|
|
|
|
|
|
|
|
=== Quick start guide ========================================================
|
|
--- Client ---------------------------
|
|
Your client application should use one of the proxy builder functions
|
|
CreateCFileServiceProxy() and CreateCFileServiceProxyById(), which will instantiate
|
|
a class of type CFileServiceProxy. These functions are defined in FileServiceTypes.h.
|
|
|
|
Once this class has been successfully created, it may be used to
|
|
issue service commands to a host.
|
|
|
|
Use CreateCFileServiceProxy() when only the target type is known.
|
|
Use CreateCFileServiceProxyById() when the service ID is known.
|
|
|
|
|
|
|
|
--- Compiling -----------------------
|
|
All generated files must be compiled together into one static library,
|
|
executable, or DLL.
|
|
|
|
The generated IDL file (FileService.idl) may be compiled into
|
|
C++ files with the MIDL tool. The other generated files require that
|
|
FileService.idl will be compiled into FileService.h.
|
|
|
|
|
|
|
|
|
|
=== Generated files ==========================================================
|
|
* FileServiceTypes.h Forward-declarations and struct definitions
|
|
* FileServiceTypes.cpp Type table and operation structure definitions
|
|
* FileService.idl Defines the interfaces for the specified services
|
|
* FileServiceProxy.h Declares proxy classes and builder functions
|
|
* FileServiceProxy.cpp Proxy class and function implementations
|
|
* FileServiceStub.cpp Stub function code
|
|
|
|
|
|
|
|
=== Generated interfaces =====================================================
|
|
--- Base interfaces ------------------
|
|
* IFileService
|
|
|
|
These base interfaces are generated directly by the WSDL, and are used to
|
|
implement your service. Clients should use the extended proxy classes,
|
|
below. No eventing operations are included in these base interfaces.
|
|
|
|
Your service objects should implement these interfaces.
|
|
|
|
|
|
|
|
--- Proxy interfaces -----------------
|
|
* IFileServiceProxy
|
|
|
|
These proxy interfaces extend the base interfaces (listed above) by adding
|
|
client-only functionality such as asynchronous service calls for two-way
|
|
operations and subscribe/unsubscribe methods for eventing operations.
|
|
|
|
These interfaces should only be implemented by the generated client proxies.
|
|
Your client code should instantiate objects that expose these interfaces
|
|
using the proxy builder functions, and should call into the exposed methods.
|
|
|
|
|
|
|
|
--- Event notify interfaces ----------
|
|
* IFileServiceEventNotify
|
|
|
|
These event notify interfaces are used by services to issue events, and are
|
|
implemented by client code to receive events. Subscription management is
|
|
handled separately in the proxy interfaces (listed above).
|
|
|
|
Your service code should instantiate objects that expose these interfaces
|
|
using the event source builder functions (see below), and should call into
|
|
the exposed methods.
|
|
|
|
You should build a client object that implements these interfaces, and
|
|
register that object when subscribing for events. Your object will receive
|
|
callbacks when you receive events from the service.
|
|
|
|
|
|
|
|
=== Generated classes ========================================================
|
|
--- Proxy classes --------------------
|
|
* CFileServiceProxy
|
|
|
|
These proxy classes can be called from your application, and will issue
|
|
messages to a service. To instantiate one of these classes, use a proxy
|
|
builder function (see below).
|
|
|
|
|
|
|
|
|
|
=== Generated functions ======================================================
|
|
--- Proxy builder functions ----------
|
|
* CreateCFileServiceProxy()
|
|
|
|
Use these functions to generate proxy classes (see above).
|
|
|
|
|
|
|
|
|
|
=== Generated structures =====================================================
|
|
--- Parameter structures -------------
|
|
All parameter structures are defined inside FileServiceTypes.h.
|
|
]]>
|
|
</File>
|
|
</wsdcodegen> |