30 #ifndef PT_REMOTING_SERVICEDEFINITION_H
31 #define PT_REMOTING_SERVICEDEFINITION_H
33 #include <Pt/Remoting/Api.h>
34 #include <Pt/Remoting/ServiceProcedure.h>
35 #include <Pt/System/Mutex.h>
36 #include <Pt/NonCopyable.h>
82 template <
typename R,
typename... As>
85 ServiceProcedureDef* proc =
new BasicProcedureDef<R, As...>(Pt::callable(func));
86 this->registerProcedure(name, proc);
96 template <
typename R,
class C,
typename... As>
99 ServiceProcedureDef* proc =
new BasicProcedureDef<R, As...>( callable(obj, mth) );
100 this->registerProcedure(name, proc);
110 template <
typename R,
typename... As>
113 ServiceProcedureDef* proc =
new BasicProcedureDef<R, As...>(cb);
114 this->registerProcedure(name, proc);
124 template <
typename A,
class C>
128 this->registerProcedure(name, proc);
139 template <
typename A,
class C>
143 this->registerProcedure(name, proc);
154 template <
typename A,
class C>
158 this->registerProcedure(name, proc);
162 void registerProcedure(
const std::string& name, ServiceProcedureDef* proc);
169 typedef std::map<std::string, ServiceProcedureDef*> ProcedureMap;
170 ProcedureMap _procedures;
180 #endif // PT_REMOTING_SERVICEDEFINITION_H