00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019
00020
00021 #ifndef __MX_IASYNCRETRIVECOMMIT_H__
00022 #define __MX_IASYNCRETRIVECOMMIT_H__
00023
00024
00025
00026 #define MX_IASYNCRETRIVECOMMIT_ID "IASyncRetriveCommit"
00027
00028
00029
00030 #include "IInterface.h"
00031
00032 #include <mx_types.h>
00033 #include <mx_error_codes.h>
00034
00035 #include <mxm/core/mxmStringList.h>
00036 #include <mxm/core/mxmQtSlot.h>
00037
00038
00039 namespace mx {
00040
00042
00045 class IAsyncRetrieveCommit : public virtual IInterface {
00046
00047 public:
00048 static const u32 NoTimeout = (u32)(-1);
00049
00069 virtual void retrieve(mxmStringList& supportedInterfaces,
00070 const mxmQtSlot& slot,
00071 void* context,
00072 u32 uTimeOutMs = 5000) = 0;
00073
00076 virtual bool isRetrieved(const mxmString& supportedInterface) = 0;
00079 virtual bool isRetrieving(const mxmString& supportedInterface) = 0;
00082 virtual bool isCommitting() = 0;
00085 virtual mx::EErrorCode cancelAsyncRequest() = 0;
00086
00093 virtual void commit(const mxmQtSlot& slot,
00094 void* context,
00095 u32 uTimeOutMs = 5000,
00096 bool bStorePermanent = false) = 0;
00097
00098 };
00099
00100
00101 };
00102
00103
00104 #endif // __MX_IASYNCRETRIVECOMMIT_H__