15 #ifndef __IPSDKCORE_BASEACTIONREQUEST_H__ 16 #define __IPSDKCORE_BASEACTIONREQUEST_H__ 21 #pragma warning (push) 22 #pragma warning (disable : 4275 4251) 27 #include <IPSDKUtil/Tools/ProcessingResult.h> 28 #include <IPSDKUtil/Tools/Guid.h> 29 #include <boost/enable_shared_from_this.hpp> 30 #include <boost/noncopyable.hpp> 31 #include <boost/thread/mutex.hpp> 32 #include <boost/thread/condition_variable.hpp> 41 public boost::enable_shared_from_this<BaseActionRequest>
64 const Guid& getGuid()
const;
84 void requestCancellation();
88 bool isCancellationRequested()
const;
92 void waitForCompletion();
117 virtual ExecResult executeActionDerived() = 0;
120 virtual void requestCancellationDerived() = 0;
128 void setStatusToWaiting();
134 void notifyCompletion(
const ExecResult& bResult);
138 void internalClear();
162 bool volatile _bCancellationRequested;
165 mutable boost::mutex _mutex;
168 boost::condition_variable _condition;
189 #pragma warning (pop) 191 #endif // __IPSDKCORE_BASEACTIONREQUEST_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
bool isInit() const
retrieve object initialization flag
Definition: BaseActionRequest.h:178
virtual void clearDerived()
clear of object data in derived class
Definition: BaseActionRequest.h:123
boost::function1< void, const ActionRequestPtr & > RequestCompletionCB
function callback used to notify of action request completion
Definition: ActionRequestTypes.h:58
Base class for action requests.
Definition: BaseActionRequest.h:40
Definition of import/export macro for library.
Base class for action providers.
Definition: BaseActionProvider.h:54
#define IPSDKCORE_API
Import/Export macro for library IPSDKCore.
Definition: IPSDKCoreExports.h:27
Class encapsulating an auto initialized uuid.
Definition: Guid.h:27
Predefined types for processing management.
eActionRequestType
Enumerate describing action request type.
Definition: ActionRequestTypes.h:38
Predefined types for action resquests management.
std::list< RequestCompletionCB > RequestCompletionCBColl
collection of functions callback used to notify of action request completion
Definition: ActionRequestTypes.h:61
eExecutionStatus
Enumerate describing an execution status.
Definition: ProcessingTypes.h:33
Action allowing to ask for a new action on a distant machine.
Definition: AskForRemoteAction.h:31