// ********************************************************************** // // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef ICE_COMMUNICATOR_ASYNC_H #define ICE_COMMUNICATOR_ASYNC_H #include namespace Ice { template class CallbackNC_Communicator_flushBatchRequests : public Callback_Communicator_flushBatchRequests_Base, public ::IceInternal::OnewayCallbackNC { public: typedef IceUtil::Handle TPtr; typedef void (T::*Exception)(const ::Ice::Exception&); typedef void (T::*Sent)(bool); CallbackNC_Communicator_flushBatchRequests(const TPtr& obj, Exception excb, Sent sentcb) : ::IceInternal::OnewayCallbackNC(obj, 0, excb, sentcb) { } virtual void completed(const ::Ice::AsyncResultPtr& __result) const { ::Ice::CommunicatorPtr __com = __result->getCommunicator(); assert(__com); try { __com->end_flushBatchRequests(__result); assert(false); } catch(const ::Ice::Exception& ex) { ::IceInternal::CallbackNC::exception(__result, ex); } } }; template Callback_Communicator_flushBatchRequestsPtr newCallback_Communicator_flushBatchRequests(const IceUtil::Handle& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0) { return new CallbackNC_Communicator_flushBatchRequests(instance, excb, sentcb); } template Callback_Communicator_flushBatchRequestsPtr newCallback_Communicator_flushBatchRequests(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0) { return new CallbackNC_Communicator_flushBatchRequests(instance, excb, sentcb); } template class Callback_Communicator_flushBatchRequests : public Callback_Communicator_flushBatchRequests_Base, public ::IceInternal::OnewayCallback { public: typedef IceUtil::Handle TPtr; typedef void (T::*Exception)(const ::Ice::Exception& , const CT&); typedef void (T::*Sent)(bool , const CT&); Callback_Communicator_flushBatchRequests(const TPtr& obj, Exception excb, Sent sentcb) : ::IceInternal::OnewayCallback(obj, 0, excb, sentcb) { } virtual void completed(const ::Ice::AsyncResultPtr& __result) const { ::Ice::CommunicatorPtr __com = __result->getCommunicator(); assert(__com); try { __com->end_flushBatchRequests(__result); assert(false); } catch(const ::Ice::Exception& ex) { ::IceInternal::Callback::exception(__result, ex); } } }; template Callback_Communicator_flushBatchRequestsPtr newCallback_Communicator_flushBatchRequests(const IceUtil::Handle& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0) { return new Callback_Communicator_flushBatchRequests(instance, excb, sentcb); } template Callback_Communicator_flushBatchRequestsPtr newCallback_Communicator_flushBatchRequests(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0) { return new Callback_Communicator_flushBatchRequests(instance, excb, sentcb); } } #endif