19 #ifndef INCLUDE_RCF_STUBFACTORY_HPP
20 #define INCLUDE_RCF_STUBFACTORY_HPP
22 #include <boost/shared_ptr.hpp>
24 #include <RCF/RcfClient.hpp>
25 #include <RCF/ServerStub.hpp>
26 #include <RCF/Tools.hpp>
31 typedef boost::shared_ptr<I_RcfClient> RcfClientPtr;
36 virtual ~StubFactory()
39 virtual RcfClientPtr makeServerStub() = 0;
42 template<
typename T,
typename I1>
43 class StubFactory_1 :
public StubFactory
46 RcfClientPtr makeServerStub()
48 boost::shared_ptr<T> tPtr(
new T );
50 boost::shared_ptr< RCF::I_Deref<T> > derefPtr(
51 new RCF::DerefSharedPtr<T>(tPtr) );
53 RcfClientPtr rcfClientPtr =
54 createServerStub( (I1 *) NULL, (T *) NULL, derefPtr);
62 #endif // ! INCLUDE_RCF_STUBFACTORY_HPP