RCFProto
 All Classes Functions Typedefs
Win32NamedPipeEndpoint.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2013, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 2.0
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
20 #define INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
21 
22 #include <RCF/Endpoint.hpp>
23 #include <RCF/Export.hpp>
24 #include <RCF/ClientTransport.hpp>
25 #include <RCF/ServerTransport.hpp>
26 
27 #include <SF/SerializeParent.hpp>
28 
29 #include <RCF/util/Tchar.hpp>
30 #include <tchar.h>
31 
32 namespace RCF {
33 
35  class RCF_EXPORT Win32NamedPipeEndpoint : public Endpoint
36  {
37  public:
38 
39  Win32NamedPipeEndpoint();
40 
41  // *** SWIG BEGIN ***
42 
44  Win32NamedPipeEndpoint(const tstring & pipeName);
45 
46  // *** SWIG END ***
47 
48  ServerTransportAutoPtr createServerTransport() const;
49  ClientTransportAutoPtr createClientTransport() const;
50  EndpointPtr clone() const;
51 
52  std::string asString() const;
53 
54  tstring getPipeName();
55 
56  private:
57  tstring mPipeName;
58  };
59 
60  RCF_EXPORT std::pair<tstring, HANDLE> generateNewPipeName();
61 
62 } // namespace RCF
63 
64 #endif // ! INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP