OperationCallerInterface.hpp
Go to the documentation of this file.
00001 #ifndef ORO_OPERATION_CALLER_INTERFACE_HPP
00002 #define ORO_OPERATION_CALLER_INTERFACE_HPP
00003 
00004 #include "../rtt-fwd.hpp"
00005 #include "DisposableInterface.hpp"
00006 #include "OperationBase.hpp"
00007 
00008 namespace RTT
00009 {
00010     namespace base
00011     {
00015         struct RTT_API OperationCallerInterface: public DisposableInterface
00016         {
00021             typedef boost::shared_ptr<OperationCallerInterface> shared_ptr;
00022 
00028             OperationCallerInterface();
00029 
00030             OperationCallerInterface(OperationCallerInterface const& orig);
00031 
00032             virtual ~OperationCallerInterface();
00033 
00038             virtual bool ready() const = 0;
00039 
00045             void setOwner(ExecutionEngine* ee);
00046 
00054             void setCaller(ExecutionEngine* ee);
00055 
00064             bool setThread(ExecutionThread et,
00065                            ExecutionEngine* executor);
00066 
00067             ExecutionThread getThread() const { return met; }
00068 
00074             void reportError();
00075 
00079             bool isSend() { return met == OwnThread && myengine != caller; }
00080 
00081             ExecutionEngine* getMessageProcessor() const;
00082 
00083         protected:
00084             ExecutionEngine* myengine;
00085             ExecutionEngine* caller;
00086             ExecutionThread met;
00087         };
00088     }
00089 }
00090 
00091 #endif


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:16