2025-11-28 00:35:46 +09:00

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>