27 #ifndef _mtsSocketProxyServer_h
28 #define _mtsSocketProxyServer_h
35 class FunctionVoidProxy;
36 class FunctionReadProxy;
37 class FunctionWriteProxy;
38 class FunctionQualifiedReadProxy;
39 class FunctionVoidReturnProxy;
40 class FunctionWriteReturnProxy;
41 class mtsEventSenderVoid;
42 class mtsEventSenderWrite;
43 class mtsProxySerializer;
44 class FinishedEventList;
59 const std::string &providedInterfaceName,
unsigned short port) :
60 mtsGenericObject(), Name(name), ComponentName(componentName), ProvidedInterfaceName(providedInterfaceName), Port(port) {}
62 Name(other.Name), ComponentName(other.ComponentName), ProvidedInterfaceName(other.ProvidedInterfaceName), Port(other.Port) {}
68 void ToStream(std::ostream & outputStream)
const;
71 virtual void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
72 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const;
76 virtual bool FromStreamRaw(std::istream & inputStream,
const char delimiter =
' ');
124 bool Init(
const std::string &componentName,
const std::string &providedInterfaceName);
128 bool CreateServerProxy(
const std::string & requiredInterfaceName,
size_t providedMailboxSize);
131 bool GetHandleVoid(
const std::string &commandName, std::string &handleString)
const;
132 bool GetHandleRead(
const std::string &commandName, std::string &handleString)
const;
133 bool GetHandleWrite(
const std::string &commandName, std::string &handleString)
const;
134 bool GetHandleQualifiedRead(
const std::string &commandName, std::string &handleString)
const;
135 bool GetHandleVoidReturn(
const std::string &commandName, std::string &handleString)
const;
136 bool GetHandleWriteReturn(
const std::string &commandName, std::string &handleString)
const;
137 void EventEnable(
const std::string &eventHandleAndName);
138 void EventDisable(
const std::string &eventHandleAndName);
140 void AddSpecialCommands(
void);
141 mtsExecutionResult GetInitData(std::string &outputArgSerialized, mtsProxySerializer *serializer)
const;
151 const std::string & providedInterfaceName,
unsigned short port);
170 mtsProxySerializer *GetSerializerForClient(
const osaIPandPort &ip_port)
const;
175 mtsProxySerializer *GetSerializerForCurrentClient(
void)
const;
183 #endif // _mtsSocketProxyServer_h
FunctionReadProxyMapType FunctionReadProxyMap
Definition: mtsSocketProxyServer.h:109
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
~mtsSocketProxyServerConstructorArg()
Definition: mtsSocketProxyServer.h:63
std::string ComponentName
Definition: mtsSocketProxyServer.h:53
std::string ProvidedInterfaceName
Definition: mtsSocketProxyServer.h:54
mtsSocketProxyServerConstructorArg()
Definition: mtsSocketProxyServer.h:57
ClientMapType ClientMap
Definition: mtsSocketProxyServer.h:117
EventGeneratorWriteProxyMapType EventGeneratorWriteProxyMap
Definition: mtsSocketProxyServer.h:114
cmnNamedMap< FunctionVoidProxy > FunctionVoidProxyMapType
Definition: mtsSocketProxyServer.h:96
virtual void SerializeRaw(std::ostream &outputStream) const
mtsSocketProxyServerConstructorArg(const mtsSocketProxyServerConstructorArg &other)
Definition: mtsSocketProxyServer.h:61
virtual void DeSerializeRaw(std::istream &inputStream)
cmnNamedMap< FunctionQualifiedReadProxy > FunctionQualifiedReadProxyMapType
Definition: mtsSocketProxyServer.h:99
virtual void ToStream(std::ostream &outputStream) const
CMN_DECLARE_SERVICES_INSTANTIATION(mtsSocketProxyServerConstructorArg)
cmnNamedMap< FunctionReadProxy > FunctionReadProxyMapType
Definition: mtsSocketProxyServer.h:98
Base class for data object in cisstMultiTask.
Definition: mtsGenericObject.h:56
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
virtual bool FromStreamRaw(std::istream &inputStream, const char delimiter= ' ')
Defines a continuously executing task.
virtual void Startup(void)
Definition: mtsComponent.h:262
Definition: mtsSocketProxyServer.h:48
cmnNamedMap< FunctionWriteReturnProxy > FunctionWriteReturnProxyMapType
Definition: mtsSocketProxyServer.h:101
std::map< osaIPandPort, mtsProxySerializer * > ClientMapType
Definition: mtsSocketProxyServer.h:93
FunctionVoidProxyMapType FunctionVoidProxyMap
Definition: mtsSocketProxyServer.h:107
cmnNamedMap< mtsEventSenderVoid > EventGeneratorVoidProxyMapType
Definition: mtsSocketProxyServer.h:104
mtsSocketProxyServerConstructorArg(const std::string &name, const std::string &componentName, const std::string &providedInterfaceName, unsigned short port)
Definition: mtsSocketProxyServer.h:58
cmnNamedMap< FunctionWriteProxy > FunctionWriteProxyMapType
Definition: mtsSocketProxyServer.h:97
Definition: mtsCommandWriteBase.h:40
Definition: mtsInterfaceCommon.h:928
std::string Name
Definition: mtsSocketProxyServer.h:52
FinishedEventList * FinishedEvents
Definition: mtsSocketProxyServer.h:119
cmnNamedMap< FunctionVoidReturnProxy > FunctionVoidReturnProxyMapType
Definition: mtsSocketProxyServer.h:100
FunctionWriteProxyMapType FunctionWriteProxyMap
Definition: mtsSocketProxyServer.h:108
Forward declarations and #define for cisstMultiTask.
std::vector< mtsCommandBase * > SpecialCommands
Definition: mtsSocketProxyServer.h:122
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
FunctionWriteReturnProxyMapType FunctionWriteReturnProxyMap
Definition: mtsSocketProxyServer.h:112
unsigned short Port
Definition: mtsSocketProxyServer.h:55
Definition: mtsExecutionResult.h:34
FunctionQualifiedReadProxyMapType FunctionQualifiedReadProxyMap
Definition: mtsSocketProxyServer.h:110
EventGeneratorVoidProxyMapType EventGeneratorVoidProxyMap
Definition: mtsSocketProxyServer.h:113
Declaration of osaSocketThis is a cross-platform socket library with basic support for UDP (datagram)...
Definition: osaSocket.h:156
Definition: osaSocket.h:171
osaSocket Socket
Definition: mtsSocketProxyServer.h:87
void Configure(const std::string &)
Definition: mtsSocketProxyServer.h:158
Definition: mtsTaskContinuous.h:77
mtsInterfaceProvidedDescription InterfaceDescription
Definition: mtsSocketProxyServer.h:88
const int CMN_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:331
cmnNamedMap< mtsEventSenderWrite > EventGeneratorWriteProxyMapType
Definition: mtsSocketProxyServer.h:105
virtual void ToStreamRaw(std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
virtual void Cleanup(void)
Definition: mtsComponent.h:267
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
FunctionVoidReturnProxyMapType FunctionVoidReturnProxyMap
Definition: mtsSocketProxyServer.h:111
Definition: mtsSocketProxyServer.h:81