IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RemoteActionProvider.h
1 // RemoteActionProvider.h:
3 // -----------------------
4 //
14 
15 #ifndef __IPSDKCORE_REMOTEACTIONPROVIDER_H__
16 #define __IPSDKCORE_REMOTEACTIONPROVIDER_H__
17 
18 #include <IPSDKCore/Processing/ActionProvider/BaseActionProvider.h>
19 #include <IPSDKUtil/Tools/Guid.h>
20 #include <IPSDKComm/TcpIp/Types.h>
21 
22 namespace ipsdk {
23 namespace core {
24 
27 
29 {
30 public:
36 
37 // methods
38 public:
41  BoolResult init(const Guid& socketGuid,
42  const ePriority& actionPriority,
43  const Guid& sourceProviderGuid);
44 
47  const Guid& getSocketGuid() const;
48 
49 protected:
56  QueryResult queryNextAction(const BaseRequestOrigin& requestOrigin,
57  ActionRequestPtr& pActionRequest,
58  bool& bProcessCompletionCheck,
59  SerializationObjectPtr& pCbAdditionalData);
60 
63  bool hasPendingAction() const;
64 
68  BoolResult notifyDerived(const ActionRequestPtr& pActionRequest,
69  const SerializationObjectConstPtr& pCbAdditionalData,
70  bool& bRestartProvider);
71 
72 // attributes
73 protected:
76 
79 };
80 
83 
84 } // end of namespace core
85 } // end of namespace ipsdk
86 
87 #endif // __IPSDKCORE_REMOTEACTIONPROVIDER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< const BaseSerializationObject > SerializationObjectConstPtr
shared pointer to a const base serialization object
Definition: SerializationTypes.h:32
bool _bNoMoreActionDetected
flag indicating whether a no more action case has been detected
Definition: RemoteActionProvider.h:78
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
ePriority
Enumerate describing priority.
Definition: PriorityTypes.h:32
boost::shared_ptr< BaseActionRequest > ActionRequestPtr
shared pointer for action requests
Definition: ActionRequestTypes.h:52
Class allowing to provide actions from a remote machine.
Definition: RemoteActionProvider.h:28
boost::shared_ptr< BaseSerializationObject > SerializationObjectPtr
shared pointer to a base serialization object
Definition: SerializationTypes.h:23
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
Predefined types for ip addresses management.
Guid _socketGuid
socket guid used to ask for pending actions
Definition: RemoteActionProvider.h:75