21 #ifndef __IceStorm_IceStormInternal_h__
22 #define __IceStorm_IceStormInternal_h__
24 #include <IceUtil/PushDisableWarnings.h>
25 #include <Ice/ProxyF.h>
26 #include <Ice/ObjectF.h>
27 #include <Ice/ValueF.h>
28 #include <Ice/Exception.h>
29 #include <Ice/LocalObject.h>
30 #include <Ice/StreamHelpers.h>
31 #include <Ice/Comparable.h>
32 #include <Ice/Proxy.h>
33 #include <Ice/Object.h>
34 #include <Ice/GCObject.h>
35 #include <Ice/Value.h>
36 #include <Ice/Incoming.h>
37 #include <Ice/FactoryTableInit.h>
38 #include <IceUtil/ScopedArray.h>
39 #include <Ice/Optional.h>
40 #include <Ice/ExceptionHelpers.h>
41 #include <IceStorm/IceStorm.h>
43 #include <Ice/Current.h>
44 #include <IceUtil/UndefSysMacros.h>
47 #ifndef ICE_IGNORE_VERSION
48 # if ICE_INT_VERSION / 100 != 307
49 # error Ice version mismatch!
51 # if ICE_INT_VERSION % 100 > 50
52 # error Beta header file detected
54 # if ICE_INT_VERSION % 100 < 0
55 # error Ice patch level mismatch!
59 #ifdef ICE_CPP11_MAPPING // C++11 mapping
68 class TopicManagerInternal;
79 ::Ice::OperationMode
mode;
83 std::tuple<const ::std::string&, const ::Ice::OperationMode&, const ::Ice::ByteSeq&, const ::Ice::Context&> ice_tuple()
const
89 class SendQueueSizeMaxReached :
public ::Ice::LocalExceptionHelper<SendQueueSizeMaxReached, ::Ice::LocalException>
101 std::tuple<> ice_tuple()
const
106 static const ::std::string& ice_staticId();
109 using EventDataSeq = std::deque< ::IceStorm::EventDataPtr>;
111 class ReapWouldBlock :
public ::Ice::UserExceptionHelper<ReapWouldBlock, ::Ice::UserException>
121 std::tuple<> ice_tuple()
const
126 static const ::std::string& ice_staticId();
129 static ReapWouldBlock _iceS_ReapWouldBlock_init;
131 using Ice::operator<;
132 using Ice::operator<=;
133 using Ice::operator>;
134 using Ice::operator>=;
135 using Ice::operator==;
136 using Ice::operator!=;
143 class TopicLink :
public virtual ::Ice::Object
149 virtual bool ice_isA(::std::string, const ::Ice::Current&)
const override;
150 virtual ::std::vector<::std::string>
ice_ids(const ::Ice::Current&)
const override;
151 virtual ::std::string
ice_id(const ::Ice::Current&)
const override;
156 bool _iceD_forward(::IceInternal::Incoming&, const ::Ice::Current&);
158 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&)
override;
161 class TopicInternal :
public virtual ::IceStorm::Topic
167 virtual bool ice_isA(::std::string, const ::Ice::Current&)
const override;
168 virtual ::std::vector<::std::string>
ice_ids(const ::Ice::Current&)
const override;
169 virtual ::std::string
ice_id(const ::Ice::Current&)
const override;
173 virtual ::std::shared_ptr<::IceStorm::TopicLinkPrx>
getLinkProxy(const ::Ice::Current&) = 0;
176 virtual void reap(::Ice::IdentitySeq, const ::Ice::Current&) = 0;
177 bool _iceD_reap(::IceInternal::Incoming&, const ::Ice::Current&);
179 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&)
override;
182 class TopicManagerInternal :
public virtual ::IceStorm::TopicManager
188 virtual bool ice_isA(::std::string, const ::Ice::Current&)
const override;
189 virtual ::std::vector<::std::string>
ice_ids(const ::Ice::Current&)
const override;
190 virtual ::std::string
ice_id(const ::Ice::Current&)
const override;
194 virtual ::std::shared_ptr<::IceStormElection::NodePrx>
getReplicaNode(const ::Ice::Current&)
const = 0;
197 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&)
override;
205 class TopicLinkPrx :
public virtual ::Ice::Proxy<TopicLinkPrx, ::Ice::ObjectPrx>
211 _makePromiseOutgoing<void>(
true,
this, &IceStorm::TopicLinkPrx::_iceI_forward, iceP_events, context).get();
214 template<
template<
typename>
class P = ::std::promise>
216 -> decltype(::std::declval<P<void>>().get_future())
218 return _makePromiseOutgoing<void, P>(
false,
this, &IceStorm::TopicLinkPrx::_iceI_forward, iceP_events, context);
221 ::std::function<void()>
223 ::std::function<
void()> response,
224 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
225 ::std::function<
void(
bool)> sent =
nullptr,
226 const ::Ice::Context& context = Ice::noExplicitContext)
228 return _makeLamdaOutgoing<void>(response, ex, sent,
this, &IceStorm::TopicLinkPrx::_iceI_forward, iceP_events, context);
233 static const ::std::string& ice_staticId();
238 friend ::std::shared_ptr<TopicLinkPrx> IceInternal::createProxy<TopicLinkPrx>();
240 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance()
const override;
243 class TopicInternalPrx :
public virtual ::Ice::Proxy<TopicInternalPrx, ::IceStorm::TopicPrx>
247 ::std::shared_ptr<::IceStorm::TopicLinkPrx> getLinkProxy(const ::Ice::Context& context = Ice::noExplicitContext)
249 return _makePromiseOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>>(
true,
this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context).get();
252 template<
template<
typename>
class P = ::std::promise>
253 auto getLinkProxyAsync(const ::Ice::Context& context = Ice::noExplicitContext)
254 -> decltype(::std::declval<P<::std::shared_ptr<::IceStorm::TopicLinkPrx>>>().get_future())
256 return _makePromiseOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>, P>(
false,
this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context);
259 ::std::function<void()>
260 getLinkProxyAsync(::std::function<
void(::std::shared_ptr<::IceStorm::TopicLinkPrx>)> response,
261 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
262 ::std::function<
void(
bool)> sent =
nullptr,
263 const ::Ice::Context& context = Ice::noExplicitContext)
265 return _makeLamdaOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>>(response, ex, sent,
this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context);
268 void _iceI_getLinkProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::IceStorm::TopicLinkPrx>>>&, const ::Ice::Context&);
270 void reap(const ::Ice::IdentitySeq& iceP_id, const ::Ice::Context& context = Ice::noExplicitContext)
272 _makePromiseOutgoing<void>(
true,
this, &IceStorm::TopicInternalPrx::_iceI_reap, iceP_id, context).get();
275 template<
template<
typename>
class P = ::std::promise>
276 auto reapAsync(const ::Ice::IdentitySeq& iceP_id, const ::Ice::Context& context = Ice::noExplicitContext)
277 -> decltype(::std::declval<P<void>>().get_future())
279 return _makePromiseOutgoing<void, P>(
false,
this, &IceStorm::TopicInternalPrx::_iceI_reap, iceP_id, context);
282 ::std::function<void()>
283 reapAsync(const ::Ice::IdentitySeq& iceP_id,
284 ::std::function<
void()> response,
285 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
286 ::std::function<
void(
bool)> sent =
nullptr,
287 const ::Ice::Context& context = Ice::noExplicitContext)
289 return _makeLamdaOutgoing<void>(response, ex, sent,
this, &IceStorm::TopicInternalPrx::_iceI_reap, iceP_id, context);
292 void _iceI_reap(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::Ice::IdentitySeq&, const ::Ice::Context&);
294 static const ::std::string& ice_staticId();
299 friend ::std::shared_ptr<TopicInternalPrx> IceInternal::createProxy<TopicInternalPrx>();
301 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance()
const override;
304 class TopicManagerInternalPrx :
public virtual ::Ice::Proxy<TopicManagerInternalPrx, ::IceStorm::TopicManagerPrx>
308 ::std::shared_ptr<::IceStormElection::NodePrx> getReplicaNode(const ::Ice::Context& context = Ice::noExplicitContext)
310 return _makePromiseOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>>(
true,
this, &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode, context).get();
313 template<
template<
typename>
class P = ::std::promise>
314 auto getReplicaNodeAsync(const ::Ice::Context& context = Ice::noExplicitContext)
315 -> decltype(::std::declval<P<::std::shared_ptr<::IceStormElection::NodePrx>>>().get_future())
317 return _makePromiseOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>, P>(
false,
this, &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode, context);
320 ::std::function<void()>
321 getReplicaNodeAsync(::std::function<
void(::std::shared_ptr<::IceStormElection::NodePrx>)> response,
322 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
323 ::std::function<
void(
bool)> sent =
nullptr,
324 const ::Ice::Context& context = Ice::noExplicitContext)
326 return _makeLamdaOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>>(response, ex, sent,
this, &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode, context);
329 void _iceI_getReplicaNode(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::IceStormElection::NodePrx>>>&, const ::Ice::Context&);
331 static const ::std::string& ice_staticId();
336 friend ::std::shared_ptr<TopicManagerInternalPrx> IceInternal::createProxy<TopicManagerInternalPrx>();
338 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance()
const override;
349 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
350 static const int minWireSize = 4;
351 static const bool fixedLength =
false;
359 istr->readAll(
v.op,
v.mode,
v.data,
v.context);
379 #else // C++98 mapping
406 typedef ::IceInternal::ProxyHandle< ::IceProxy::IceStorm::TopicLink>
TopicLinkPrx;
434 EventData(const ::std::string& iceP_op, ::Ice::OperationMode iceP_mode, const ::Ice::ByteSeq& iceP_data, const ::Ice::Context& iceP_context) :
458 virtual ::std::string
ice_id()
const;
506 class TopicLink :
public virtual ::Ice::Proxy<TopicLink, ::IceProxy::Ice::Object>
512 end_forward(_iceI_begin_forward(iceP_events, context, ::IceInternal::dummyCallback, 0,
true));
517 return _iceI_begin_forward(iceP_events, context, ::IceInternal::dummyCallback, 0);
522 return _iceI_begin_forward(iceP_events, ::Ice::noExplicitContext, del, cookie);
527 return _iceI_begin_forward(iceP_events, context, del, cookie);
532 return _iceI_begin_forward(iceP_events, ::Ice::noExplicitContext, del, cookie);
537 return _iceI_begin_forward(iceP_events, context, del, cookie);
540 void end_forward(const ::Ice::AsyncResultPtr&);
544 ::Ice::AsyncResultPtr _iceI_begin_forward(
const ::IceStorm::EventDataSeq&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0,
bool sync =
false);
548 static const ::std::string& ice_staticId();
552 virtual ::IceProxy::Ice::Object* _newInstance()
const;
555 class TopicInternal :
public virtual ::Ice::Proxy<TopicInternal, ::IceProxy::IceStorm::Topic>
561 return end_getLinkProxy(_iceI_begin_getLinkProxy(context, ::IceInternal::dummyCallback, 0,
true));
566 return _iceI_begin_getLinkProxy(context, ::IceInternal::dummyCallback, 0);
569 ::Ice::AsyncResultPtr
begin_getLinkProxy(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
571 return _iceI_begin_getLinkProxy(::Ice::noExplicitContext, del, cookie);
574 ::Ice::AsyncResultPtr
begin_getLinkProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
576 return _iceI_begin_getLinkProxy(context, del, cookie);
581 return _iceI_begin_getLinkProxy(::Ice::noExplicitContext, del, cookie);
586 return _iceI_begin_getLinkProxy(context, del, cookie);
593 ::Ice::AsyncResultPtr _iceI_begin_getLinkProxy(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0,
bool sync =
false);
597 void reap(const ::Ice::IdentitySeq& iceP_id, const ::Ice::Context& context = ::Ice::noExplicitContext)
599 end_reap(_iceI_begin_reap(iceP_id, context, ::IceInternal::dummyCallback, 0,
true));
602 ::Ice::AsyncResultPtr
begin_reap(const ::Ice::IdentitySeq& iceP_id, const ::Ice::Context& context = ::Ice::noExplicitContext)
604 return _iceI_begin_reap(iceP_id, context, ::IceInternal::dummyCallback, 0);
607 ::Ice::AsyncResultPtr
begin_reap(const ::Ice::IdentitySeq& iceP_id, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
609 return _iceI_begin_reap(iceP_id, ::Ice::noExplicitContext, del, cookie);
612 ::Ice::AsyncResultPtr
begin_reap(const ::Ice::IdentitySeq& iceP_id, const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
614 return _iceI_begin_reap(iceP_id, context, del, cookie);
619 return _iceI_begin_reap(iceP_id, ::Ice::noExplicitContext, del, cookie);
624 return _iceI_begin_reap(iceP_id, context, del, cookie);
627 void end_reap(const ::Ice::AsyncResultPtr&);
631 ::Ice::AsyncResultPtr _iceI_begin_reap(const ::Ice::IdentitySeq&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0,
bool sync =
false);
635 static const ::std::string& ice_staticId();
639 virtual ::IceProxy::Ice::Object* _newInstance()
const;
642 class TopicManagerInternal :
public virtual ::Ice::Proxy<TopicManagerInternal, ::IceProxy::IceStorm::TopicManager>
648 return end_getReplicaNode(_iceI_begin_getReplicaNode(context, ::IceInternal::dummyCallback, 0,
true));
653 return _iceI_begin_getReplicaNode(context, ::IceInternal::dummyCallback, 0);
656 ::Ice::AsyncResultPtr
begin_getReplicaNode(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
658 return _iceI_begin_getReplicaNode(::Ice::noExplicitContext, del, cookie);
661 ::Ice::AsyncResultPtr
begin_getReplicaNode(const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
663 return _iceI_begin_getReplicaNode(context, del, cookie);
668 return _iceI_begin_getReplicaNode(::Ice::noExplicitContext, del, cookie);
673 return _iceI_begin_getReplicaNode(context, del, cookie);
680 ::Ice::AsyncResultPtr _iceI_begin_getReplicaNode(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0,
bool sync =
false);
684 static const ::std::string& ice_staticId();
688 virtual ::IceProxy::Ice::Object* _newInstance()
const;
707 virtual bool ice_isA(const ::std::string&, const ::Ice::Current& = ::Ice::emptyCurrent)
const;
708 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
709 virtual const ::std::string&
ice_id(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
711 static const ::std::string& ice_staticId();
714 bool _iceD_forward(::IceInternal::Incoming&, const ::Ice::Current&);
716 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
720 virtual void _iceWriteImpl(::Ice::OutputStream*)
const;
721 virtual void _iceReadImpl(::Ice::InputStream*);
726 return static_cast<const ::Ice::Object&
>(lhs) ==
static_cast<const ::Ice::Object&
>(rhs);
731 return static_cast<const ::Ice::Object&
>(lhs) <
static_cast<const ::Ice::Object&
>(rhs);
743 virtual bool ice_isA(const ::std::string&, const ::Ice::Current& = ::Ice::emptyCurrent)
const;
744 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
745 virtual const ::std::string&
ice_id(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
747 static const ::std::string& ice_staticId();
750 bool _iceD_getLinkProxy(::IceInternal::Incoming&, const ::Ice::Current&);
752 virtual void reap(const ::Ice::IdentitySeq&, const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
753 bool _iceD_reap(::IceInternal::Incoming&, const ::Ice::Current&);
755 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
759 virtual void _iceWriteImpl(::Ice::OutputStream*)
const;
760 virtual void _iceReadImpl(::Ice::InputStream*);
765 return static_cast<const ::Ice::Object&
>(lhs) ==
static_cast<const ::Ice::Object&
>(rhs);
770 return static_cast<const ::Ice::Object&
>(lhs) <
static_cast<const ::Ice::Object&
>(rhs);
782 virtual bool ice_isA(const ::std::string&, const ::Ice::Current& = ::Ice::emptyCurrent)
const;
783 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
784 virtual const ::std::string&
ice_id(const ::Ice::Current& = ::Ice::emptyCurrent)
const;
786 static const ::std::string& ice_staticId();
789 bool _iceD_getReplicaNode(::IceInternal::Incoming&, const ::Ice::Current&)
const;
791 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
795 virtual void _iceWriteImpl(::Ice::OutputStream*)
const;
796 virtual void _iceReadImpl(::Ice::InputStream*);
801 return static_cast<const ::Ice::Object&
>(lhs) ==
static_cast<const ::Ice::Object&
>(rhs);
806 return static_cast<const ::Ice::Object&
>(lhs) <
static_cast<const ::Ice::Object&
>(rhs);
817 static const StreamHelperCategory helper = StreamHelperCategoryStructClass;
818 static const int minWireSize = 4;
819 static const bool fixedLength =
false;
828 ostr->write(
v->mode);
829 ostr->write(
v->data);
830 ostr->write(
v->context);
842 istr->read(
v->context);
849 static const StreamHelperCategory helper = StreamHelperCategoryUserException;
864 typedef void (
T::*Exception)(const ::Ice::Exception&);
865 typedef void (
T::*Sent)(bool);
869 : ::
IceInternal::OnewayCallbackNC<
T>(obj, cb, excb, sentcb)
898 template<
class T,
typename CT>
905 typedef void (
T::*Exception)(const ::Ice::Exception&,
const CT&);
906 typedef void (
T::*Sent)(bool,
const CT&);
910 : ::
IceInternal::OnewayCallback<
T, CT>(obj, cb, excb, sentcb)
946 typedef void (
T::*Exception)(const ::Ice::Exception&);
947 typedef void (
T::*Sent)(bool);
951 : ::
IceInternal::TwowayCallbackNC<
T>(obj, cb != 0, excb, sentcb), _response(cb)
955 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
961 ret = proxy->end_getLinkProxy(result);
963 catch (const ::Ice::Exception& ex)
965 ::IceInternal::CallbackNC<T>::exception(result, ex);
970 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(
ret);
991 template<
class T,
typename CT>
998 typedef void (
T::*Exception)(const ::Ice::Exception&,
const CT&);
999 typedef void (
T::*Sent)(bool,
const CT&);
1003 : ::
IceInternal::TwowayCallback<
T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1007 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1013 ret = proxy->end_getLinkProxy(result);
1015 catch (const ::Ice::Exception& ex)
1017 ::IceInternal::Callback<T, CT>::exception(result, ex);
1022 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(
ret, CT::dynamicCast(result->getCookie()));
1050 typedef void (
T::*Exception)(const ::Ice::Exception&);
1051 typedef void (
T::*Sent)(bool);
1055 : ::
IceInternal::TwowayCallbackNC<
T>(obj, cb != 0, excb, sentcb), _response(cb)
1059 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1064 proxy->end_reap(result);
1066 catch (const ::Ice::Exception& ex)
1068 ::IceInternal::CallbackNC<T>::exception(result, ex);
1073 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)();
1106 template<
class T,
typename CT>
1113 typedef void (
T::*Exception)(const ::Ice::Exception&,
const CT&);
1114 typedef void (
T::*Sent)(bool,
const CT&);
1118 : ::
IceInternal::TwowayCallback<
T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1122 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1127 proxy->end_reap(result);
1129 catch (const ::Ice::Exception& ex)
1131 ::IceInternal::Callback<T, CT>::exception(result, ex);
1136 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(CT::dynamicCast(result->getCookie()));
1176 typedef void (
T::*Exception)(const ::Ice::Exception&);
1177 typedef void (
T::*Sent)(bool);
1181 : ::
IceInternal::TwowayCallbackNC<
T>(obj, cb != 0, excb, sentcb), _response(cb)
1185 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1191 ret = proxy->end_getReplicaNode(result);
1193 catch (const ::Ice::Exception& ex)
1195 ::IceInternal::CallbackNC<T>::exception(result, ex);
1200 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(
ret);
1221 template<
class T,
typename CT>
1228 typedef void (
T::*Exception)(const ::Ice::Exception&,
const CT&);
1229 typedef void (
T::*Sent)(bool,
const CT&);
1233 : ::
IceInternal::TwowayCallback<
T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1237 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1243 ret = proxy->end_getReplicaNode(result);
1245 catch (const ::Ice::Exception& ex)
1247 ::IceInternal::Callback<T, CT>::exception(result, ex);
1252 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(
ret, CT::dynamicCast(result->getCookie()));
1277 #include <IceUtil/PopDisableWarnings.h>