13 #ifndef mitkIGTLMessageFactory_h
14 #define mitkIGTLMessageFactory_h
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();