RCFProto
 All Classes Functions Typedefs
SessionObjectFactoryService.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_SESSIONOBJECTFACTORYSERVICE_HPP
20 #define INCLUDE_RCF_SESSIONOBJECTFACTORYSERVICE_HPP
21 
22 #include <RCF/Config.hpp>
23 
24 #if RCF_FEATURE_LEGACY==0
25 #error This header is only supported in builds with RCF_FEATURE_LEGACY=1.
26 #endif
27 
28 #include <RCF/ObjectFactoryService.hpp>
29 
30 namespace RCF {
31 
32  class RCF_EXPORT SessionObjectFactoryService :
33  public I_Service,
34  public StubFactoryRegistry,
35  boost::noncopyable
36  {
37  public:
38  boost::int32_t CreateSessionObject(const std::string &objectName);
39  boost::int32_t DeleteSessionObject();
40 
41  private:
42  void onServiceAdded(RcfServer &server);
43  void onServiceRemoved(RcfServer &server);
44  };
45 
46  typedef boost::shared_ptr<SessionObjectFactoryService>
47  SessionObjectFactoryServicePtr;
48 
49 } // namespace RCF
50 
51 #endif // ! INCLUDE_RCF_SESSIONOBJECTFACTORYSERVICE_HPP