7 #ifndef __vtkPlusCommandProcessor_h 8 #define __vtkPlusCommandProcessor_h 10 #include "vtkPlusServerExport.h" 12 #include "vtkMultiThreader.h" 13 #include "vtkObject.h" 36 virtual void PrintSelf(ostream& os, vtkIndent indent)
VTK_OVERRIDE;
42 int ExecuteCommands();
51 virtual bool IsRunning();
60 virtual PlusStatus QueueCommand(
bool respondUsingIGTLCommand,
unsigned int clientId,
const std::string& commandName,
const std::string& commandString,
const std::string&
deviceName, uint32_t uid,
const igtl::MessageBase::MetaDataMap& metaData);
72 virtual PlusStatus QueueCommandResponse(
PlusStatus status,
const std::string&
deviceName,
unsigned int clientId,
const std::string& commandName, uint32_t uid,
const std::string& replyString,
const std::string&
errorString);
95 vtkPlusCommand* CreatePlusCommand(
const std::string& commandName,
const std::string& commandStr,
const igtl::MessageBase::MetaDataMap& metaData);
98 static void* CommandExecutionThread(vtkMultiThreader::ThreadInfo*
data);
108 vtkSmartPointer<vtkMultiThreader> Threader;
111 vtkSmartPointer<vtkIGSIORecursiveCriticalSection> Mutex;
114 std::pair<bool, bool> CommandExecutionActive;
117 int CommandExecutionThreadId;
120 std::map<std::string, vtkPlusCommand*> RegisteredCommands;
128 typedef std::list< vtkSmartPointer<vtkPlusCommand> > PlusCommandList;
129 PlusCommandList CommandQueue;
This is an abstract superclass for commands in the OpenIGTLink network interface for Plus.
const char ** errorString
Creates a PlusCommand from a string. If the commands are to be executed on the main thread then call ...
This class provides a network interface for data acquired by Plus as an OpenIGTLink server.
std::list< vtkSmartPointer< vtkPlusCommandResponse > > PlusCommandResponseList