13 #ifndef MITKIGTLMESSAGEFACTORYH_HEADER_INCLUDED_ 14 #define MITKIGTLMESSAGEFACTORYH_HEADER_INCLUDED_ 16 #include "MitkOpenIGTLinkExports.h" 19 #include "igtlMessageBase.h" 20 #include "igtlMessageHeader.h" 37 itkFactorylessNewMacro(Self);
44 typedef igtl::MessageBase::Pointer (*PointerToMessageBaseNew)();
54 void AddMessageType(std::string messageTypeName,
56 mitk::IGTLMessageCloneHandler::Pointer cloneHandler);
66 virtual void AddMessageNewMethod(std::string messageTypeName,
76 std::string messageTypeName);
85 igtl::MessageBase::Pointer CreateInstance(std::string messageTypeName);
93 igtl::MessageBase::Pointer CreateInstance(igtl::MessageHeader::Pointer msg);
101 virtual void AddMessageCloneHandler(std::string msgTypeName,
102 mitk::IGTLMessageCloneHandler::Pointer msgCloneHandler);
112 virtual mitk::IGTLMessageCloneHandler::Pointer
113 GetCloneHandler(std::string messageTypeName);
121 igtl::MessageBase::Pointer
Clone(igtl::MessageBase::Pointer msg);
126 std::list<std::string> GetAvailableMessageRequestTypes();
std::map< std::string, mitk::IGTLMessageCloneHandler::Pointer > m_CloneHandlers
Map igt message types and the Clone() methods.
std::map< std::string, PointerToMessageBaseNew > m_NewMethods
Map igt message types and the New() static methods of igtl::MessageBase classes.
DataCollection - Class to facilitate loading/accessing structured data.
igtl::MessageBase::Pointer(* PointerToMessageBaseNew)()
Function pointer for storing New() static methods of igtl::MessageBase classes.
#define mitkClassMacroItkParent(className, SuperClassName)
Factory class of supported OpenIGTLink message types.