5#ifndef ICE_ASYNC_RESULT_H
6#define ICE_ASYNC_RESULT_H
8#ifndef ICE_CPP11_MAPPING
25class ICE_API AsyncResult :
private IceUtil::noncopyable,
public Ice::LocalObject
29 virtual ~AsyncResult();
37 virtual void cancel() = 0;
43 virtual Int getHash()
const = 0;
49 virtual CommunicatorPtr getCommunicator()
const = 0;
59 virtual ConnectionPtr getConnection()
const = 0;
66 virtual ObjectPrxPtr getProxy()
const = 0;
74 virtual bool isCompleted()
const = 0;
79 virtual void waitForCompleted() = 0;
87 virtual bool isSent()
const = 0;
93 virtual void waitForSent() = 0;
99 virtual void throwLocalException()
const = 0;
107 virtual bool sentSynchronously()
const = 0;
119 virtual const std::string& getOperation()
const = 0;
122 virtual bool _waitForResponse() = 0;
123 virtual Ice::InputStream* _startReadParams() = 0;
124 virtual void _endReadParams() = 0;
125 virtual void _readEmptyParams() = 0;
126 virtual void _readParamEncaps(const ::Ice::Byte*&,
::Ice::Int&) = 0;
127 virtual void _throwUserException() = 0;
129 static void _check(
const AsyncResultPtr&, const ::IceProxy::Ice::Object*, const ::std::string&);
130 static void _check(
const AsyncResultPtr&,
const Connection*, const ::std::string&);
131 static void _check(
const AsyncResultPtr&,
const Communicator*, const ::std::string&);
133 class Callback :
public IceUtil::Shared
137 virtual void run() = 0;
139 typedef IceUtil::Handle<Callback> CallbackPtr;
141 virtual void _scheduleCallback(
const CallbackPtr&) = 0;
147 static void check(
const AsyncResultPtr&, const ::std::string&);
#define ICE_API
Definition Config.h:197
Definition BuiltinSequences.h:56
int Int
The mapping for the Slice int type.
Definition Config.h:54
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition LocalObjectF.h:17