Main Page
Namespace List
Class Hierarchy
Alphabetical List
Compound List
File List
Namespace Members
Compound Members
File Members
Go to the documentation of this file.
15 #ifndef __igtlMessageHandlerMacro_h
16 #define __igtlMessageHandlerMacro_h
46 #define igtlMessageHandlerClassMacro(messagetype, classname, datatype) \
47 class classname : public ::igtl::MessageHandler \
50 typedef classname Self; \
51 typedef ::igtl::MessageHandler Superclass; \
52 typedef igtl::SmartPointer<Self> Pointer; \
53 typedef igtl::SmartPointer<const Self> ConstPointer; \
54 igtlTypeMacro(classname, ::igtl::MessageHandler); \
55 igtlNewMacro(classname); \
57 virtual const char* GetMessageType() \
59 return this->m_Message->GetDeviceType(); \
61 virtual int Process(messagetype*, datatype*); \
62 int ReceiveMessage(::igtl::Socket* socket, ::igtl::MessageBase* header, int pos) \
66 this->m_Message->SetMessageHeader(header); \
67 this->m_Message->AllocatePack(); \
69 int s = socket->Receive((void*)((char*)this->m_Message->GetPackBodyPointer()+pos), \
70 this->m_Message->GetPackBodySize()-pos); \
75 if (s+pos >= this->m_Message->GetPackBodySize()) \
77 int r = this->m_Message->Unpack(this->m_CheckCRC); \
80 Process(this->m_Message, this->m_Data); \
89 virtual void CheckCRC(int i) \
93 this->m_CheckCRC = 0; \
97 this->m_CheckCRC = 1; \
100 void SetData(datatype* p) \
104 datatype* GetData() \
106 return this->m_Data; \
111 this->m_Message = messagetype::New(); \
112 this->m_CheckCRC = 1; \
113 this->m_Data = NULL; \
118 messagetype::Pointer m_Message; \
122 #endif // __igtlMessageHandlerMacro_h
Generated at Tue Nov 3 2015 19:17:46 for OpenIGTLink by
1.8.9.1 written by Dimitri van Heesch,
© 1997-2012