IceStormInternal.h
Go to the documentation of this file.
1// **********************************************************************
2//
3// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
4//
5// This copy of Ice is licensed to you under the terms described in the
6// ICE_LICENSE file included in this distribution.
7//
8// **********************************************************************
9//
10// Ice version 3.7.0
11//
12// <auto-generated>
13//
14// Generated from file `IceStormInternal.ice'
15//
16// Warning: do not edit this file.
17//
18// </auto-generated>
19//
20
21#ifndef __IceStorm_IceStormInternal_h__
22#define __IceStorm_IceStormInternal_h__
23
24#include <deque>
25
26#include <Ice/Comparable.h>
27#include <Ice/Current.h>
28#include <Ice/Exception.h>
29#include <Ice/ExceptionHelpers.h>
30#include <Ice/FactoryTableInit.h>
31#include <Ice/GCObject.h>
32#include <Ice/Incoming.h>
33#include <Ice/LocalObject.h>
34#include <Ice/Object.h>
35#include <Ice/ObjectF.h>
36#include <Ice/Optional.h>
37#include <Ice/Proxy.h>
38#include <Ice/ProxyF.h>
39#include <Ice/StreamHelpers.h>
40#include <Ice/Value.h>
41#include <Ice/ValueF.h>
42#include <IceStorm/Election.h>
43#include <IceStorm/IceStorm.h>
44#include <IceUtil/PushDisableWarnings.h>
45#include <IceUtil/ScopedArray.h>
46#include <IceUtil/UndefSysMacros.h>
47
48#ifndef ICE_IGNORE_VERSION
49#if ICE_INT_VERSION / 100 != 307
50#error Ice version mismatch!
51#endif
52#if ICE_INT_VERSION % 100 > 50
53#error Beta header file detected
54#endif
55#if ICE_INT_VERSION % 100 < 0
56#error Ice patch level mismatch!
57#endif
58#endif
59
60#ifdef ICE_CPP11_MAPPING // C++11 mapping
61
62namespace IceStorm
63{
64
65 class TopicLink;
66 class TopicLinkPrx;
67 class TopicInternal;
68 class TopicInternalPrx;
71
72} // namespace IceStorm
73
74namespace IceStorm
75{
76
77 struct EventData
78 {
79 ::std::string op;
80 ::Ice::OperationMode mode;
81 ::Ice::ByteSeq data;
82 ::Ice::Context context;
83
84 std::tuple<const ::std::string&,
85 const ::Ice::OperationMode&,
86 const ::Ice::ByteSeq&,
87 const ::Ice::Context&>
88 ice_tuple() const
89 {
90 return std::tie(op, mode, data, context);
91 }
92 };
93
95 public ::Ice::LocalExceptionHelper<SendQueueSizeMaxReached, ::Ice::LocalException>
96 {
97 public:
99
101
102 SendQueueSizeMaxReached(const char* file_, int line_) :
103 ::Ice::LocalExceptionHelper<SendQueueSizeMaxReached, ::Ice::LocalException>(file_,
104 line_)
105 {
106 }
107
108 std::tuple<>
109 ice_tuple() const
110 {
111 return std::tie();
112 }
113
114 static const ::std::string& ice_staticId();
115 };
116
117 using EventDataSeq = std::deque<::IceStorm::EventDataPtr>;
118
119 class ReapWouldBlock : public ::Ice::UserExceptionHelper<ReapWouldBlock, ::Ice::UserException>
120 {
121 public:
122 virtual ~ReapWouldBlock();
123
124 ReapWouldBlock(const ReapWouldBlock&) = default;
125
126 ReapWouldBlock() = default;
127
128 std::tuple<>
129 ice_tuple() const
130 {
131 return std::tie();
132 }
133
134 static const ::std::string& ice_staticId();
135 };
136
137 static ReapWouldBlock _iceS_ReapWouldBlock_init;
138
139 using Ice::operator<;
140 using Ice::operator<=;
141 using Ice::operator>;
142 using Ice::operator>=;
143 using Ice::operator==;
144 using Ice::operator!=;
145
146} // namespace IceStorm
147
148namespace IceStorm
149{
150
151 class TopicLink : public virtual ::Ice::Object
152 {
153 public:
154 using ProxyType = TopicLinkPrx;
155
156 virtual bool ice_isA(::std::string, const ::Ice::Current&) const override;
157 virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current&) const override;
158 virtual ::std::string ice_id(const ::Ice::Current&) const override;
159
160 static const ::std::string& ice_staticId();
161
162 virtual void forward(::IceStorm::EventDataSeq, const ::Ice::Current&) = 0;
163 bool _iceD_forward(::IceInternal::Incoming&, const ::Ice::Current&);
164
165 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
166 };
167
168 class TopicInternal : public virtual ::IceStorm::Topic
169 {
170 public:
172
173 virtual bool ice_isA(::std::string, const ::Ice::Current&) const override;
174 virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current&) const override;
175 virtual ::std::string ice_id(const ::Ice::Current&) const override;
176
177 static const ::std::string& ice_staticId();
178
179 virtual ::std::shared_ptr<::IceStorm::TopicLinkPrx> getLinkProxy(const ::Ice::Current&) = 0;
180 bool _iceD_getLinkProxy(::IceInternal::Incoming&, const ::Ice::Current&);
181
182 virtual void reap(::Ice::IdentitySeq, const ::Ice::Current&) = 0;
183 bool _iceD_reap(::IceInternal::Incoming&, const ::Ice::Current&);
184
185 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
186 };
187
188 class TopicManagerInternal : public virtual ::IceStorm::TopicManager
189 {
190 public:
192
193 virtual bool ice_isA(::std::string, const ::Ice::Current&) const override;
194 virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current&) const override;
195 virtual ::std::string ice_id(const ::Ice::Current&) const override;
196
197 static const ::std::string& ice_staticId();
198
199 virtual ::std::shared_ptr<::IceStormElection::NodePrx>
200 getReplicaNode(const ::Ice::Current&) const = 0;
201 bool _iceD_getReplicaNode(::IceInternal::Incoming&, const ::Ice::Current&) const;
202
203 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
204 };
205
206} // namespace IceStorm
207
208namespace IceStorm
209{
210
211 class TopicLinkPrx : public virtual ::Ice::Proxy<TopicLinkPrx, ::Ice::ObjectPrx>
212 {
213 public:
214 void
215 forward(const ::IceStorm::EventDataSeq& iceP_events,
216 const ::Ice::Context& context = Ice::noExplicitContext)
217 {
218 _makePromiseOutgoing<void>(
219 true, this, &IceStorm::TopicLinkPrx::_iceI_forward, iceP_events, context)
220 .get();
221 }
222
223 template <template <typename> class P = ::std::promise>
224 auto
225 forwardAsync(const ::IceStorm::EventDataSeq& iceP_events,
226 const ::Ice::Context& context = Ice::noExplicitContext)
227 -> decltype(::std::declval<P<void>>().get_future())
228 {
229 return _makePromiseOutgoing<void, P>(
230 false, this, &IceStorm::TopicLinkPrx::_iceI_forward, iceP_events, context);
231 }
232
233 ::std::function<void()>
234 forwardAsync(const ::IceStorm::EventDataSeq& iceP_events,
235 ::std::function<void()> response,
236 ::std::function<void(::std::exception_ptr)> ex = nullptr,
237 ::std::function<void(bool)> sent = nullptr,
238 const ::Ice::Context& context = Ice::noExplicitContext)
239 {
240 return _makeLamdaOutgoing<void>(response,
241 ex,
242 sent,
243 this,
244 &IceStorm::TopicLinkPrx::_iceI_forward,
245 iceP_events,
246 context);
247 }
248
249 void _iceI_forward(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&,
250 const ::IceStorm::EventDataSeq&,
251 const ::Ice::Context&);
252
253 static const ::std::string& ice_staticId();
254
255 protected:
256 TopicLinkPrx() = default;
257 friend ::std::shared_ptr<TopicLinkPrx> IceInternal::createProxy<TopicLinkPrx>();
258
259 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
260 };
261
262 class TopicInternalPrx : public virtual ::Ice::Proxy<TopicInternalPrx, ::IceStorm::TopicPrx>
263 {
264 public:
265 ::std::shared_ptr<::IceStorm::TopicLinkPrx>
266 getLinkProxy(const ::Ice::Context& context = Ice::noExplicitContext)
267 {
268 return _makePromiseOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>>(
269 true, this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context)
270 .get();
271 }
272
273 template <template <typename> class P = ::std::promise>
274 auto
275 getLinkProxyAsync(const ::Ice::Context& context = Ice::noExplicitContext)
276 -> decltype(::std::declval<P<::std::shared_ptr<::IceStorm::TopicLinkPrx>>>()
277 .get_future())
278 {
279 return _makePromiseOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>, P>(
280 false, this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context);
281 }
282
283 ::std::function<void()>
284 getLinkProxyAsync(
285 ::std::function<void(::std::shared_ptr<::IceStorm::TopicLinkPrx>)> response,
286 ::std::function<void(::std::exception_ptr)> ex = nullptr,
287 ::std::function<void(bool)> sent = nullptr,
288 const ::Ice::Context& context = Ice::noExplicitContext)
289 {
290 return _makeLamdaOutgoing<::std::shared_ptr<::IceStorm::TopicLinkPrx>>(
291 response, ex, sent, this, &IceStorm::TopicInternalPrx::_iceI_getLinkProxy, context);
292 }
293
294 void _iceI_getLinkProxy(
295 const ::std::shared_ptr<
296 ::IceInternal::OutgoingAsyncT<::std::shared_ptr<::IceStorm::TopicLinkPrx>>>&,
297 const ::Ice::Context&);
298
299 void
300 reap(const ::Ice::IdentitySeq& iceP_id,
301 const ::Ice::Context& context = Ice::noExplicitContext)
302 {
303 _makePromiseOutgoing<void>(
304 true, this, &IceStorm::TopicInternalPrx::_iceI_reap, iceP_id, context)
305 .get();
306 }
307
308 template <template <typename> class P = ::std::promise>
309 auto
310 reapAsync(const ::Ice::IdentitySeq& iceP_id,
311 const ::Ice::Context& context = Ice::noExplicitContext)
312 -> decltype(::std::declval<P<void>>().get_future())
313 {
314 return _makePromiseOutgoing<void, P>(
315 false, this, &IceStorm::TopicInternalPrx::_iceI_reap, iceP_id, context);
316 }
317
318 ::std::function<void()>
319 reapAsync(const ::Ice::IdentitySeq& iceP_id,
320 ::std::function<void()> response,
321 ::std::function<void(::std::exception_ptr)> ex = nullptr,
322 ::std::function<void(bool)> sent = nullptr,
323 const ::Ice::Context& context = Ice::noExplicitContext)
324 {
325 return _makeLamdaOutgoing<void>(response,
326 ex,
327 sent,
328 this,
329 &IceStorm::TopicInternalPrx::_iceI_reap,
330 iceP_id,
331 context);
332 }
333
334 void _iceI_reap(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&,
335 const ::Ice::IdentitySeq&,
336 const ::Ice::Context&);
337
338 static const ::std::string& ice_staticId();
339
340 protected:
341 TopicInternalPrx() = default;
342 friend ::std::shared_ptr<TopicInternalPrx> IceInternal::createProxy<TopicInternalPrx>();
343
344 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
345 };
346
348 public virtual ::Ice::Proxy<TopicManagerInternalPrx, ::IceStorm::TopicManagerPrx>
349 {
350 public:
351 ::std::shared_ptr<::IceStormElection::NodePrx>
352 getReplicaNode(const ::Ice::Context& context = Ice::noExplicitContext)
353 {
354 return _makePromiseOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>>(
355 true,
356 this,
357 &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode,
358 context)
359 .get();
360 }
361
362 template <template <typename> class P = ::std::promise>
363 auto
364 getReplicaNodeAsync(const ::Ice::Context& context = Ice::noExplicitContext)
365 -> decltype(::std::declval<P<::std::shared_ptr<::IceStormElection::NodePrx>>>()
366 .get_future())
367 {
368 return _makePromiseOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>, P>(
369 false, this, &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode, context);
370 }
371
372 ::std::function<void()>
373 getReplicaNodeAsync(
374 ::std::function<void(::std::shared_ptr<::IceStormElection::NodePrx>)> response,
375 ::std::function<void(::std::exception_ptr)> ex = nullptr,
376 ::std::function<void(bool)> sent = nullptr,
377 const ::Ice::Context& context = Ice::noExplicitContext)
378 {
379 return _makeLamdaOutgoing<::std::shared_ptr<::IceStormElection::NodePrx>>(
380 response,
381 ex,
382 sent,
383 this,
384 &IceStorm::TopicManagerInternalPrx::_iceI_getReplicaNode,
385 context);
386 }
387
388 void _iceI_getReplicaNode(
389 const ::std::shared_ptr<
390 ::IceInternal::OutgoingAsyncT<::std::shared_ptr<::IceStormElection::NodePrx>>>&,
391 const ::Ice::Context&);
392
393 static const ::std::string& ice_staticId();
394
395 protected:
396 TopicManagerInternalPrx() = default;
397 friend ::std::shared_ptr<TopicManagerInternalPrx>
398 IceInternal::createProxy<TopicManagerInternalPrx>();
399
400 virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
401 };
402
403} // namespace IceStorm
404
405namespace Ice
406{
407
408 template <>
409 struct StreamableTraits<::IceStorm::EventData>
410 {
411 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
412 static const int minWireSize = 4;
413 static const bool fixedLength = false;
414 };
415
416 template <typename S>
417 struct StreamReader<::IceStorm::EventData, S>
418 {
419 static void
420 read(S* istr, ::IceStorm::EventData& v)
421 {
422 istr->readAll(v.op, v.mode, v.data, v.context);
423 }
424 };
425
426} // namespace Ice
427
428namespace IceStorm
429{
430
431 using TopicLinkPtr = ::std::shared_ptr<TopicLink>;
432 using TopicLinkPrxPtr = ::std::shared_ptr<TopicLinkPrx>;
433
434 using TopicInternalPtr = ::std::shared_ptr<TopicInternal>;
435 using TopicInternalPrxPtr = ::std::shared_ptr<TopicInternalPrx>;
436
437 using TopicManagerInternalPtr = ::std::shared_ptr<TopicManagerInternal>;
438 using TopicManagerInternalPrxPtr = ::std::shared_ptr<TopicManagerInternalPrx>;
439
440} // namespace IceStorm
441
442#else // C++98 mapping
443
445{
446
447 class TopicLink;
448 void _readProxy(::Ice::InputStream*,
450 ::IceProxy::Ice::Object* upCast(::IceProxy::IceStorm::TopicLink*);
451
452 class TopicInternal;
453 void _readProxy(::Ice::InputStream*,
455 ::IceProxy::Ice::Object* upCast(::IceProxy::IceStorm::TopicInternal*);
456
458 void _readProxy(::Ice::InputStream*,
460 ::IceProxy::Ice::Object* upCast(::IceProxy::IceStorm::TopicManagerInternal*);
461
462} // namespace IceProxy::IceStorm
463
464namespace IceStorm
465{
466
467 class TopicLink;
468 ::Ice::Object* upCast(::IceStorm::TopicLink*);
469 typedef ::IceInternal::Handle<::IceStorm::TopicLink> TopicLinkPtr;
470 typedef ::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicLink> TopicLinkPrx;
472 void _icePatchObjectPtr(TopicLinkPtr&, const ::Ice::ObjectPtr&);
473
474 class TopicInternal;
475 ::Ice::Object* upCast(::IceStorm::TopicInternal*);
476 typedef ::IceInternal::Handle<::IceStorm::TopicInternal> TopicInternalPtr;
477 typedef ::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicInternal> TopicInternalPrx;
479 void _icePatchObjectPtr(TopicInternalPtr&, const ::Ice::ObjectPtr&);
480
483 typedef ::IceInternal::Handle<::IceStorm::TopicManagerInternal> TopicManagerInternalPtr;
484 typedef ::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicManagerInternal>
487 void _icePatchObjectPtr(TopicManagerInternalPtr&, const ::Ice::ObjectPtr&);
488
489} // namespace IceStorm
490
491namespace IceStorm
492{
493
494 class EventData : public IceUtil::Shared
495 {
496 public:
498 {
499 }
500
501 EventData(const ::std::string& iceP_op,
502 ::Ice::OperationMode iceP_mode,
503 const ::Ice::ByteSeq& iceP_data,
504 const ::Ice::Context& iceP_context) :
505 op(iceP_op), mode(iceP_mode), data(iceP_data), context(iceP_context)
506 {
507 }
508
509 ::std::string op;
510 ::Ice::OperationMode mode;
511 ::Ice::ByteSeq data;
512 ::Ice::Context context;
513 };
514
515 typedef ::IceUtil::Handle<::IceStorm::EventData> EventDataPtr;
516
517 class SendQueueSizeMaxReached : public ::Ice::LocalException
518 {
519 public:
520 SendQueueSizeMaxReached(const char*, int);
521 virtual ~SendQueueSizeMaxReached() throw();
522
523 virtual ::std::string ice_id() const;
524 virtual SendQueueSizeMaxReached* ice_clone() const;
525 virtual void ice_throw() const;
526 };
527
528 typedef std::deque<::IceStorm::EventDataPtr> EventDataSeq;
529
530 class ReapWouldBlock : public ::Ice::UserException
531 {
532 public:
534 {
535 }
536
537 virtual ~ReapWouldBlock() throw();
538
539 virtual ::std::string ice_id() const;
540 virtual ReapWouldBlock* ice_clone() const;
541 virtual void ice_throw() const;
542
543 protected:
544 virtual void _writeImpl(::Ice::OutputStream*) const;
545 virtual void _readImpl(::Ice::InputStream*);
546 };
547
548 static ReapWouldBlock _iceS_ReapWouldBlock_init;
549
550} // namespace IceStorm
551
552namespace IceStorm
553{
554
555 class Callback_TopicLink_forward_Base : public virtual ::IceInternal::CallbackBase
556 {
557 };
558
559 typedef ::IceUtil::Handle<Callback_TopicLink_forward_Base> Callback_TopicLink_forwardPtr;
560
561 class Callback_TopicInternal_getLinkProxy_Base : public virtual ::IceInternal::CallbackBase
562 {
563 };
564
565 typedef ::IceUtil::Handle<Callback_TopicInternal_getLinkProxy_Base>
567
568 class Callback_TopicInternal_reap_Base : public virtual ::IceInternal::CallbackBase
569 {
570 };
571
572 typedef ::IceUtil::Handle<Callback_TopicInternal_reap_Base> Callback_TopicInternal_reapPtr;
573
575 public virtual ::IceInternal::CallbackBase
576 {
577 };
578
579 typedef ::IceUtil::Handle<Callback_TopicManagerInternal_getReplicaNode_Base>
581
582} // namespace IceStorm
583
584namespace IceProxy::IceStorm
585{
586
587 class TopicLink : public virtual ::Ice::Proxy<TopicLink, ::IceProxy::Ice::Object>
588 {
589 public:
590 void
591 forward(const ::IceStorm::EventDataSeq& iceP_events,
592 const ::Ice::Context& context = ::Ice::noExplicitContext)
593 {
595 _iceI_begin_forward(iceP_events, context, ::IceInternal::dummyCallback, 0, true));
596 }
597
598 ::Ice::AsyncResultPtr
599 begin_forward(const ::IceStorm::EventDataSeq& iceP_events,
600 const ::Ice::Context& context = ::Ice::noExplicitContext)
601 {
602 return _iceI_begin_forward(iceP_events, context, ::IceInternal::dummyCallback, 0);
603 }
604
605 ::Ice::AsyncResultPtr
606 begin_forward(const ::IceStorm::EventDataSeq& iceP_events,
607 const ::Ice::CallbackPtr& del,
608 const ::Ice::LocalObjectPtr& cookie = 0)
609 {
610 return _iceI_begin_forward(iceP_events, ::Ice::noExplicitContext, del, cookie);
611 }
612
613 ::Ice::AsyncResultPtr
614 begin_forward(const ::IceStorm::EventDataSeq& iceP_events,
615 const ::Ice::Context& context,
616 const ::Ice::CallbackPtr& del,
617 const ::Ice::LocalObjectPtr& cookie = 0)
618 {
619 return _iceI_begin_forward(iceP_events, context, del, cookie);
620 }
621
622 ::Ice::AsyncResultPtr
623 begin_forward(const ::IceStorm::EventDataSeq& iceP_events,
624 const ::IceStorm::Callback_TopicLink_forwardPtr& del,
625 const ::Ice::LocalObjectPtr& cookie = 0)
626 {
627 return _iceI_begin_forward(iceP_events, ::Ice::noExplicitContext, del, cookie);
628 }
629
630 ::Ice::AsyncResultPtr
631 begin_forward(const ::IceStorm::EventDataSeq& iceP_events,
632 const ::Ice::Context& context,
633 const ::IceStorm::Callback_TopicLink_forwardPtr& del,
634 const ::Ice::LocalObjectPtr& cookie = 0)
635 {
636 return _iceI_begin_forward(iceP_events, context, del, cookie);
637 }
638
639 void end_forward(const ::Ice::AsyncResultPtr&);
640
641 private:
642 ::Ice::AsyncResultPtr _iceI_begin_forward(const ::IceStorm::EventDataSeq&,
643 const ::Ice::Context&,
644 const ::IceInternal::CallbackBasePtr&,
645 const ::Ice::LocalObjectPtr& cookie = 0,
646 bool sync = false);
647
648 public:
649 static const ::std::string& ice_staticId();
650
651 protected:
652 virtual ::IceProxy::Ice::Object* _newInstance() const;
653 };
654
655 class TopicInternal : public virtual ::Ice::Proxy<TopicInternal, ::IceProxy::IceStorm::Topic>
656 {
657 public:
659 getLinkProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
660 {
661 return end_getLinkProxy(
662 _iceI_begin_getLinkProxy(context, ::IceInternal::dummyCallback, 0, true));
663 }
664
665 ::Ice::AsyncResultPtr
666 begin_getLinkProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
667 {
668 return _iceI_begin_getLinkProxy(context, ::IceInternal::dummyCallback, 0);
669 }
670
671 ::Ice::AsyncResultPtr
672 begin_getLinkProxy(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
673 {
674 return _iceI_begin_getLinkProxy(::Ice::noExplicitContext, del, cookie);
675 }
676
677 ::Ice::AsyncResultPtr
678 begin_getLinkProxy(const ::Ice::Context& context,
679 const ::Ice::CallbackPtr& del,
680 const ::Ice::LocalObjectPtr& cookie = 0)
681 {
682 return _iceI_begin_getLinkProxy(context, del, cookie);
683 }
684
685 ::Ice::AsyncResultPtr
686 begin_getLinkProxy(const ::IceStorm::Callback_TopicInternal_getLinkProxyPtr& del,
687 const ::Ice::LocalObjectPtr& cookie = 0)
688 {
689 return _iceI_begin_getLinkProxy(::Ice::noExplicitContext, del, cookie);
690 }
691
692 ::Ice::AsyncResultPtr
693 begin_getLinkProxy(const ::Ice::Context& context,
694 const ::IceStorm::Callback_TopicInternal_getLinkProxyPtr& del,
695 const ::Ice::LocalObjectPtr& cookie = 0)
696 {
697 return _iceI_begin_getLinkProxy(context, del, cookie);
698 }
699
700 ::IceStorm::TopicLinkPrx end_getLinkProxy(const ::Ice::AsyncResultPtr&);
701
702 private:
703 ::Ice::AsyncResultPtr _iceI_begin_getLinkProxy(const ::Ice::Context&,
704 const ::IceInternal::CallbackBasePtr&,
705 const ::Ice::LocalObjectPtr& cookie = 0,
706 bool sync = false);
707
708 public:
709 void
710 reap(const ::Ice::IdentitySeq& iceP_id,
711 const ::Ice::Context& context = ::Ice::noExplicitContext)
712 {
713 end_reap(_iceI_begin_reap(iceP_id, context, ::IceInternal::dummyCallback, 0, true));
714 }
715
716 ::Ice::AsyncResultPtr
717 begin_reap(const ::Ice::IdentitySeq& iceP_id,
718 const ::Ice::Context& context = ::Ice::noExplicitContext)
719 {
720 return _iceI_begin_reap(iceP_id, context, ::IceInternal::dummyCallback, 0);
721 }
722
723 ::Ice::AsyncResultPtr
724 begin_reap(const ::Ice::IdentitySeq& iceP_id,
725 const ::Ice::CallbackPtr& del,
726 const ::Ice::LocalObjectPtr& cookie = 0)
727 {
728 return _iceI_begin_reap(iceP_id, ::Ice::noExplicitContext, del, cookie);
729 }
730
731 ::Ice::AsyncResultPtr
732 begin_reap(const ::Ice::IdentitySeq& iceP_id,
733 const ::Ice::Context& context,
734 const ::Ice::CallbackPtr& del,
735 const ::Ice::LocalObjectPtr& cookie = 0)
736 {
737 return _iceI_begin_reap(iceP_id, context, del, cookie);
738 }
739
740 ::Ice::AsyncResultPtr
741 begin_reap(const ::Ice::IdentitySeq& iceP_id,
742 const ::IceStorm::Callback_TopicInternal_reapPtr& del,
743 const ::Ice::LocalObjectPtr& cookie = 0)
744 {
745 return _iceI_begin_reap(iceP_id, ::Ice::noExplicitContext, del, cookie);
746 }
747
748 ::Ice::AsyncResultPtr
749 begin_reap(const ::Ice::IdentitySeq& iceP_id,
750 const ::Ice::Context& context,
751 const ::IceStorm::Callback_TopicInternal_reapPtr& del,
752 const ::Ice::LocalObjectPtr& cookie = 0)
753 {
754 return _iceI_begin_reap(iceP_id, context, del, cookie);
755 }
756
757 void end_reap(const ::Ice::AsyncResultPtr&);
758
759 private:
760 ::Ice::AsyncResultPtr _iceI_begin_reap(const ::Ice::IdentitySeq&,
761 const ::Ice::Context&,
762 const ::IceInternal::CallbackBasePtr&,
763 const ::Ice::LocalObjectPtr& cookie = 0,
764 bool sync = false);
765
766 public:
767 static const ::std::string& ice_staticId();
768
769 protected:
770 virtual ::IceProxy::Ice::Object* _newInstance() const;
771 };
772
774 public virtual ::Ice::Proxy<TopicManagerInternal, ::IceProxy::IceStorm::TopicManager>
775 {
776 public:
778 getReplicaNode(const ::Ice::Context& context = ::Ice::noExplicitContext)
779 {
780 return end_getReplicaNode(
781 _iceI_begin_getReplicaNode(context, ::IceInternal::dummyCallback, 0, true));
782 }
783
784 ::Ice::AsyncResultPtr
785 begin_getReplicaNode(const ::Ice::Context& context = ::Ice::noExplicitContext)
786 {
787 return _iceI_begin_getReplicaNode(context, ::IceInternal::dummyCallback, 0);
788 }
789
790 ::Ice::AsyncResultPtr
791 begin_getReplicaNode(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
792 {
793 return _iceI_begin_getReplicaNode(::Ice::noExplicitContext, del, cookie);
794 }
795
796 ::Ice::AsyncResultPtr
797 begin_getReplicaNode(const ::Ice::Context& context,
798 const ::Ice::CallbackPtr& del,
799 const ::Ice::LocalObjectPtr& cookie = 0)
800 {
801 return _iceI_begin_getReplicaNode(context, del, cookie);
802 }
803
804 ::Ice::AsyncResultPtr
805 begin_getReplicaNode(const ::IceStorm::Callback_TopicManagerInternal_getReplicaNodePtr& del,
806 const ::Ice::LocalObjectPtr& cookie = 0)
807 {
808 return _iceI_begin_getReplicaNode(::Ice::noExplicitContext, del, cookie);
809 }
810
811 ::Ice::AsyncResultPtr
812 begin_getReplicaNode(const ::Ice::Context& context,
813 const ::IceStorm::Callback_TopicManagerInternal_getReplicaNodePtr& del,
814 const ::Ice::LocalObjectPtr& cookie = 0)
815 {
816 return _iceI_begin_getReplicaNode(context, del, cookie);
817 }
818
819 ::IceStormElection::NodePrx end_getReplicaNode(const ::Ice::AsyncResultPtr&);
820
821 private:
822 ::Ice::AsyncResultPtr _iceI_begin_getReplicaNode(const ::Ice::Context&,
823 const ::IceInternal::CallbackBasePtr&,
824 const ::Ice::LocalObjectPtr& cookie = 0,
825 bool sync = false);
826
827 public:
828 static const ::std::string& ice_staticId();
829
830 protected:
831 virtual ::IceProxy::Ice::Object* _newInstance() const;
832 };
833
834} // namespace IceProxy::IceStorm
835
836namespace IceStorm
837{
838
839 class TopicLink : public virtual ::Ice::Object
840 {
841 public:
844
845 virtual ~TopicLink();
846
847 virtual bool ice_isA(const ::std::string&,
848 const ::Ice::Current& = ::Ice::emptyCurrent) const;
849 virtual ::std::vector<::std::string>
850 ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent) const;
851 virtual const ::std::string& ice_id(const ::Ice::Current& = ::Ice::emptyCurrent) const;
852
853 static const ::std::string& ice_staticId();
854
855 virtual void forward(const ::IceStorm::EventDataSeq&,
856 const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
857 bool _iceD_forward(::IceInternal::Incoming&, const ::Ice::Current&);
858
859 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
860
861 protected:
862 virtual void _iceWriteImpl(::Ice::OutputStream*) const;
863 virtual void _iceReadImpl(::Ice::InputStream*);
864 };
865
866 inline bool
867 operator==(const TopicLink& lhs, const TopicLink& rhs)
868 {
869 return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
870 }
871
872 inline bool
873 operator<(const TopicLink& lhs, const TopicLink& rhs)
874 {
875 return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
876 }
877
878 class TopicInternal : virtual public ::IceStorm::Topic
879 {
880 public:
883
884 virtual ~TopicInternal();
885
886 virtual bool ice_isA(const ::std::string&,
887 const ::Ice::Current& = ::Ice::emptyCurrent) const;
888 virtual ::std::vector<::std::string>
889 ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent) const;
890 virtual const ::std::string& ice_id(const ::Ice::Current& = ::Ice::emptyCurrent) const;
891
892 static const ::std::string& ice_staticId();
893
894 virtual ::IceStorm::TopicLinkPrx
895 getLinkProxy(const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
896 bool _iceD_getLinkProxy(::IceInternal::Incoming&, const ::Ice::Current&);
897
898 virtual void reap(const ::Ice::IdentitySeq&,
899 const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
900 bool _iceD_reap(::IceInternal::Incoming&, const ::Ice::Current&);
901
902 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
903
904 protected:
905 virtual void _iceWriteImpl(::Ice::OutputStream*) const;
906 virtual void _iceReadImpl(::Ice::InputStream*);
907 };
908
909 inline bool
910 operator==(const TopicInternal& lhs, const TopicInternal& rhs)
911 {
912 return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
913 }
914
915 inline bool
916 operator<(const TopicInternal& lhs, const TopicInternal& rhs)
917 {
918 return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
919 }
920
921 class TopicManagerInternal : virtual public ::IceStorm::TopicManager
922 {
923 public:
926
927 virtual ~TopicManagerInternal();
928
929 virtual bool ice_isA(const ::std::string&,
930 const ::Ice::Current& = ::Ice::emptyCurrent) const;
931 virtual ::std::vector<::std::string>
932 ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent) const;
933 virtual const ::std::string& ice_id(const ::Ice::Current& = ::Ice::emptyCurrent) const;
934
935 static const ::std::string& ice_staticId();
936
937 virtual ::IceStormElection::NodePrx
938 getReplicaNode(const ::Ice::Current& = ::Ice::emptyCurrent) const = 0;
939 bool _iceD_getReplicaNode(::IceInternal::Incoming&, const ::Ice::Current&) const;
940
941 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
942
943 protected:
944 virtual void _iceWriteImpl(::Ice::OutputStream*) const;
945 virtual void _iceReadImpl(::Ice::InputStream*);
946 };
947
948 inline bool
950 {
951 return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
952 }
953
954 inline bool
956 {
957 return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
958 }
959
960} // namespace IceStorm
961
962namespace Ice
963{
964
965 template <>
966 struct StreamableTraits<::IceStorm::EventDataPtr>
967 {
968 static const StreamHelperCategory helper = StreamHelperCategoryStructClass;
969 static const int minWireSize = 4;
970 static const bool fixedLength = false;
971 };
972
973 template <typename S>
974 struct StreamWriter<::IceStorm::EventDataPtr, S>
975 {
976 static void
977 write(S* ostr, const ::IceStorm::EventDataPtr& v)
978 {
979 ostr->write(v->op);
980 ostr->write(v->mode);
981 ostr->write(v->data);
982 ostr->write(v->context);
983 }
984 };
985
986 template <typename S>
987 struct StreamReader<::IceStorm::EventDataPtr, S>
988 {
989 static void
991 {
992 istr->read(v->op);
993 istr->read(v->mode);
994 istr->read(v->data);
995 istr->read(v->context);
996 }
997 };
998
999 template <>
1000 struct StreamableTraits<::IceStorm::ReapWouldBlock>
1001 {
1002 static const StreamHelperCategory helper = StreamHelperCategoryUserException;
1003 };
1004
1005} // namespace Ice
1006
1007namespace IceStorm
1008{
1009
1010 template <class T>
1013 public ::IceInternal::OnewayCallbackNC<T>
1014 {
1015 public:
1017
1018 typedef void (T::*Exception)(const ::Ice::Exception&);
1019 typedef void (T::*Sent)(bool);
1020 typedef void (T::*Response)();
1021
1023 ::IceInternal::OnewayCallbackNC<T>(obj, cb, excb, sentcb)
1024 {
1025 }
1026 };
1027
1028 template <class T>
1029 Callback_TopicLink_forwardPtr
1031 void (T::*cb)(),
1032 void (T::*excb)(const ::Ice::Exception&),
1033 void (T::*sentcb)(bool) = 0)
1034 {
1035 return new CallbackNC_TopicLink_forward<T>(instance, cb, excb, sentcb);
1036 }
1037
1038 template <class T>
1039 Callback_TopicLink_forwardPtr
1041 void (T::*excb)(const ::Ice::Exception&),
1042 void (T::*sentcb)(bool) = 0)
1043 {
1044 return new CallbackNC_TopicLink_forward<T>(instance, 0, excb, sentcb);
1045 }
1046
1047 template <class T>
1048 Callback_TopicLink_forwardPtr
1050 void (T::*cb)(),
1051 void (T::*excb)(const ::Ice::Exception&),
1052 void (T::*sentcb)(bool) = 0)
1053 {
1054 return new CallbackNC_TopicLink_forward<T>(instance, cb, excb, sentcb);
1055 }
1056
1057 template <class T>
1058 Callback_TopicLink_forwardPtr
1060 void (T::*excb)(const ::Ice::Exception&),
1061 void (T::*sentcb)(bool) = 0)
1062 {
1063 return new CallbackNC_TopicLink_forward<T>(instance, 0, excb, sentcb);
1064 }
1065
1066 template <class T, typename CT>
1069 public ::IceInternal::OnewayCallback<T, CT>
1070 {
1071 public:
1073
1074 typedef void (T::*Exception)(const ::Ice::Exception&, const CT&);
1075 typedef void (T::*Sent)(bool, const CT&);
1076 typedef void (T::*Response)(const CT&);
1077
1079 ::IceInternal::OnewayCallback<T, CT>(obj, cb, excb, sentcb)
1080 {
1081 }
1082 };
1083
1084 template <class T, typename CT>
1085 Callback_TopicLink_forwardPtr
1087 void (T::*cb)(const CT&),
1088 void (T::*excb)(const ::Ice::Exception&, const CT&),
1089 void (T::*sentcb)(bool, const CT&) = 0)
1090 {
1091 return new Callback_TopicLink_forward<T, CT>(instance, cb, excb, sentcb);
1092 }
1093
1094 template <class T, typename CT>
1095 Callback_TopicLink_forwardPtr
1097 void (T::*excb)(const ::Ice::Exception&, const CT&),
1098 void (T::*sentcb)(bool, const CT&) = 0)
1099 {
1100 return new Callback_TopicLink_forward<T, CT>(instance, 0, excb, sentcb);
1101 }
1102
1103 template <class T, typename CT>
1104 Callback_TopicLink_forwardPtr
1106 void (T::*cb)(const CT&),
1107 void (T::*excb)(const ::Ice::Exception&, const CT&),
1108 void (T::*sentcb)(bool, const CT&) = 0)
1109 {
1110 return new Callback_TopicLink_forward<T, CT>(instance, cb, excb, sentcb);
1111 }
1112
1113 template <class T, typename CT>
1114 Callback_TopicLink_forwardPtr
1116 void (T::*excb)(const ::Ice::Exception&, const CT&),
1117 void (T::*sentcb)(bool, const CT&) = 0)
1118 {
1119 return new Callback_TopicLink_forward<T, CT>(instance, 0, excb, sentcb);
1120 }
1121
1122 template <class T>
1125 public ::IceInternal::TwowayCallbackNC<T>
1126 {
1127 public:
1129
1130 typedef void (T::*Exception)(const ::Ice::Exception&);
1131 typedef void (T::*Sent)(bool);
1132 typedef void (T::*Response)(const ::IceStorm::TopicLinkPrx&);
1133
1135 Response cb,
1136 Exception excb,
1137 Sent sentcb) :
1138 ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1139 {
1140 }
1141
1142 virtual void
1143 completed(const ::Ice::AsyncResultPtr& result) const
1144 {
1146 ::IceStorm::TopicInternalPrx::uncheckedCast(result->getProxy());
1148 try
1149 {
1150 ret = proxy->end_getLinkProxy(result);
1151 }
1152 catch (const ::Ice::Exception& ex)
1153 {
1154 ::IceInternal::CallbackNC<T>::exception(result, ex);
1155 return;
1156 }
1157 if (_response)
1158 {
1159 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1160 }
1161 }
1162
1163 private:
1164 Response _response;
1165 };
1166
1167 template <class T>
1168 Callback_TopicInternal_getLinkProxyPtr
1170 void (T::*cb)(const ::IceStorm::TopicLinkPrx&),
1171 void (T::*excb)(const ::Ice::Exception&),
1172 void (T::*sentcb)(bool) = 0)
1173 {
1174 return new CallbackNC_TopicInternal_getLinkProxy<T>(instance, cb, excb, sentcb);
1175 }
1176
1177 template <class T>
1178 Callback_TopicInternal_getLinkProxyPtr
1180 void (T::*cb)(const ::IceStorm::TopicLinkPrx&),
1181 void (T::*excb)(const ::Ice::Exception&),
1182 void (T::*sentcb)(bool) = 0)
1183 {
1184 return new CallbackNC_TopicInternal_getLinkProxy<T>(instance, cb, excb, sentcb);
1185 }
1186
1187 template <class T, typename CT>
1190 public ::IceInternal::TwowayCallback<T, CT>
1191 {
1192 public:
1194
1195 typedef void (T::*Exception)(const ::Ice::Exception&, const CT&);
1196 typedef void (T::*Sent)(bool, const CT&);
1197 typedef void (T::*Response)(const ::IceStorm::TopicLinkPrx&, const CT&);
1198
1200 Response cb,
1201 Exception excb,
1202 Sent sentcb) :
1203 ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1204 {
1205 }
1206
1207 virtual void
1208 completed(const ::Ice::AsyncResultPtr& result) const
1209 {
1211 ::IceStorm::TopicInternalPrx::uncheckedCast(result->getProxy());
1213 try
1214 {
1215 ret = proxy->end_getLinkProxy(result);
1216 }
1217 catch (const ::Ice::Exception& ex)
1218 {
1219 ::IceInternal::Callback<T, CT>::exception(result, ex);
1220 return;
1221 }
1222 if (_response)
1223 {
1224 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(
1225 ret, CT::dynamicCast(result->getCookie()));
1226 }
1227 }
1228
1229 private:
1230 Response _response;
1231 };
1232
1233 template <class T, typename CT>
1234 Callback_TopicInternal_getLinkProxyPtr
1236 void (T::*cb)(const ::IceStorm::TopicLinkPrx&,
1237 const CT&),
1238 void (T::*excb)(const ::Ice::Exception&, const CT&),
1239 void (T::*sentcb)(bool, const CT&) = 0)
1240 {
1241 return new Callback_TopicInternal_getLinkProxy<T, CT>(instance, cb, excb, sentcb);
1242 }
1243
1244 template <class T, typename CT>
1245 Callback_TopicInternal_getLinkProxyPtr
1247 void (T::*cb)(const ::IceStorm::TopicLinkPrx&,
1248 const CT&),
1249 void (T::*excb)(const ::Ice::Exception&, const CT&),
1250 void (T::*sentcb)(bool, const CT&) = 0)
1251 {
1252 return new Callback_TopicInternal_getLinkProxy<T, CT>(instance, cb, excb, sentcb);
1253 }
1254
1255 template <class T>
1258 public ::IceInternal::TwowayCallbackNC<T>
1259 {
1260 public:
1262
1263 typedef void (T::*Exception)(const ::Ice::Exception&);
1264 typedef void (T::*Sent)(bool);
1265 typedef void (T::*Response)();
1266
1268 ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1269 {
1270 }
1271
1272 virtual void
1273 completed(const ::Ice::AsyncResultPtr& result) const
1274 {
1276 ::IceStorm::TopicInternalPrx::uncheckedCast(result->getProxy());
1277 try
1278 {
1279 proxy->end_reap(result);
1280 }
1281 catch (const ::Ice::Exception& ex)
1282 {
1283 ::IceInternal::CallbackNC<T>::exception(result, ex);
1284 return;
1285 }
1286 if (_response)
1287 {
1288 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)();
1289 }
1290 }
1291
1292 private:
1293 Response _response;
1294 };
1295
1296 template <class T>
1297 Callback_TopicInternal_reapPtr
1299 void (T::*cb)(),
1300 void (T::*excb)(const ::Ice::Exception&),
1301 void (T::*sentcb)(bool) = 0)
1302 {
1303 return new CallbackNC_TopicInternal_reap<T>(instance, cb, excb, sentcb);
1304 }
1305
1306 template <class T>
1307 Callback_TopicInternal_reapPtr
1309 void (T::*excb)(const ::Ice::Exception&),
1310 void (T::*sentcb)(bool) = 0)
1311 {
1312 return new CallbackNC_TopicInternal_reap<T>(instance, 0, excb, sentcb);
1313 }
1314
1315 template <class T>
1316 Callback_TopicInternal_reapPtr
1318 void (T::*cb)(),
1319 void (T::*excb)(const ::Ice::Exception&),
1320 void (T::*sentcb)(bool) = 0)
1321 {
1322 return new CallbackNC_TopicInternal_reap<T>(instance, cb, excb, sentcb);
1323 }
1324
1325 template <class T>
1326 Callback_TopicInternal_reapPtr
1328 void (T::*excb)(const ::Ice::Exception&),
1329 void (T::*sentcb)(bool) = 0)
1330 {
1331 return new CallbackNC_TopicInternal_reap<T>(instance, 0, excb, sentcb);
1332 }
1333
1334 template <class T, typename CT>
1337 public ::IceInternal::TwowayCallback<T, CT>
1338 {
1339 public:
1341
1342 typedef void (T::*Exception)(const ::Ice::Exception&, const CT&);
1343 typedef void (T::*Sent)(bool, const CT&);
1344 typedef void (T::*Response)(const CT&);
1345
1347 ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1348 {
1349 }
1350
1351 virtual void
1352 completed(const ::Ice::AsyncResultPtr& result) const
1353 {
1355 ::IceStorm::TopicInternalPrx::uncheckedCast(result->getProxy());
1356 try
1357 {
1358 proxy->end_reap(result);
1359 }
1360 catch (const ::Ice::Exception& ex)
1361 {
1362 ::IceInternal::Callback<T, CT>::exception(result, ex);
1363 return;
1364 }
1365 if (_response)
1366 {
1367 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(
1368 CT::dynamicCast(result->getCookie()));
1369 }
1370 }
1371
1372 private:
1373 Response _response;
1374 };
1375
1376 template <class T, typename CT>
1377 Callback_TopicInternal_reapPtr
1379 void (T::*cb)(const CT&),
1380 void (T::*excb)(const ::Ice::Exception&, const CT&),
1381 void (T::*sentcb)(bool, const CT&) = 0)
1382 {
1383 return new Callback_TopicInternal_reap<T, CT>(instance, cb, excb, sentcb);
1384 }
1385
1386 template <class T, typename CT>
1387 Callback_TopicInternal_reapPtr
1389 void (T::*excb)(const ::Ice::Exception&, const CT&),
1390 void (T::*sentcb)(bool, const CT&) = 0)
1391 {
1392 return new Callback_TopicInternal_reap<T, CT>(instance, 0, excb, sentcb);
1393 }
1394
1395 template <class T, typename CT>
1396 Callback_TopicInternal_reapPtr
1398 void (T::*cb)(const CT&),
1399 void (T::*excb)(const ::Ice::Exception&, const CT&),
1400 void (T::*sentcb)(bool, const CT&) = 0)
1401 {
1402 return new Callback_TopicInternal_reap<T, CT>(instance, cb, excb, sentcb);
1403 }
1404
1405 template <class T, typename CT>
1406 Callback_TopicInternal_reapPtr
1408 void (T::*excb)(const ::Ice::Exception&, const CT&),
1409 void (T::*sentcb)(bool, const CT&) = 0)
1410 {
1411 return new Callback_TopicInternal_reap<T, CT>(instance, 0, excb, sentcb);
1412 }
1413
1414 template <class T>
1417 public ::IceInternal::TwowayCallbackNC<T>
1418 {
1419 public:
1421
1422 typedef void (T::*Exception)(const ::Ice::Exception&);
1423 typedef void (T::*Sent)(bool);
1424 typedef void (T::*Response)(const ::IceStormElection::NodePrx&);
1425
1427 Response cb,
1428 Exception excb,
1429 Sent sentcb) :
1430 ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1431 {
1432 }
1433
1434 virtual void
1435 completed(const ::Ice::AsyncResultPtr& result) const
1436 {
1438 ::IceStorm::TopicManagerInternalPrx::uncheckedCast(result->getProxy());
1440 try
1441 {
1442 ret = proxy->end_getReplicaNode(result);
1443 }
1444 catch (const ::Ice::Exception& ex)
1445 {
1446 ::IceInternal::CallbackNC<T>::exception(result, ex);
1447 return;
1448 }
1449 if (_response)
1450 {
1451 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1452 }
1453 }
1454
1455 private:
1456 Response _response;
1457 };
1458
1459 template <class T>
1460 Callback_TopicManagerInternal_getReplicaNodePtr
1462 const IceUtil::Handle<T>& instance,
1463 void (T::*cb)(const ::IceStormElection::NodePrx&),
1464 void (T::*excb)(const ::Ice::Exception&),
1465 void (T::*sentcb)(bool) = 0)
1466 {
1467 return new CallbackNC_TopicManagerInternal_getReplicaNode<T>(instance, cb, excb, sentcb);
1468 }
1469
1470 template <class T>
1471 Callback_TopicManagerInternal_getReplicaNodePtr
1473 T* instance,
1474 void (T::*cb)(const ::IceStormElection::NodePrx&),
1475 void (T::*excb)(const ::Ice::Exception&),
1476 void (T::*sentcb)(bool) = 0)
1477 {
1478 return new CallbackNC_TopicManagerInternal_getReplicaNode<T>(instance, cb, excb, sentcb);
1479 }
1480
1481 template <class T, typename CT>
1484 public ::IceInternal::TwowayCallback<T, CT>
1485 {
1486 public:
1488
1489 typedef void (T::*Exception)(const ::Ice::Exception&, const CT&);
1490 typedef void (T::*Sent)(bool, const CT&);
1491 typedef void (T::*Response)(const ::IceStormElection::NodePrx&, const CT&);
1492
1494 Response cb,
1495 Exception excb,
1496 Sent sentcb) :
1497 ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1498 {
1499 }
1500
1501 virtual void
1502 completed(const ::Ice::AsyncResultPtr& result) const
1503 {
1505 ::IceStorm::TopicManagerInternalPrx::uncheckedCast(result->getProxy());
1507 try
1508 {
1509 ret = proxy->end_getReplicaNode(result);
1510 }
1511 catch (const ::Ice::Exception& ex)
1512 {
1513 ::IceInternal::Callback<T, CT>::exception(result, ex);
1514 return;
1515 }
1516 if (_response)
1517 {
1518 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(
1519 ret, CT::dynamicCast(result->getCookie()));
1520 }
1521 }
1522
1523 private:
1524 Response _response;
1525 };
1526
1527 template <class T, typename CT>
1528 Callback_TopicManagerInternal_getReplicaNodePtr
1530 const IceUtil::Handle<T>& instance,
1531 void (T::*cb)(const ::IceStormElection::NodePrx&, const CT&),
1532 void (T::*excb)(const ::Ice::Exception&, const CT&),
1533 void (T::*sentcb)(bool, const CT&) = 0)
1534 {
1535 return new Callback_TopicManagerInternal_getReplicaNode<T, CT>(instance, cb, excb, sentcb);
1536 }
1537
1538 template <class T, typename CT>
1539 Callback_TopicManagerInternal_getReplicaNodePtr
1541 T* instance,
1542 void (T::*cb)(const ::IceStormElection::NodePrx&, const CT&),
1543 void (T::*excb)(const ::Ice::Exception&, const CT&),
1544 void (T::*sentcb)(bool, const CT&) = 0)
1545 {
1546 return new Callback_TopicManagerInternal_getReplicaNode<T, CT>(instance, cb, excb, sentcb);
1547 }
1548
1549} // namespace IceStorm
1550
1551#endif
1552
1553#include <IceUtil/PopDisableWarnings.h>
1554#endif
::Ice::AsyncResultPtr begin_reap(const ::Ice::IdentitySeq &iceP_id, const ::Ice::Context &context, const ::IceStorm::Callback_TopicInternal_reapPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_getLinkProxy(const ::IceStorm::Callback_TopicInternal_getLinkProxyPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_reap(const ::Ice::IdentitySeq &iceP_id, const ::Ice::Context &context=::Ice::noExplicitContext)
::Ice::AsyncResultPtr begin_reap(const ::Ice::IdentitySeq &iceP_id, const ::IceStorm::Callback_TopicInternal_reapPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
void reap(const ::Ice::IdentitySeq &iceP_id, const ::Ice::Context &context=::Ice::noExplicitContext)
::Ice::AsyncResultPtr begin_getLinkProxy(const ::Ice::Context &context, const ::IceStorm::Callback_TopicInternal_getLinkProxyPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::IceStorm::TopicLinkPrx end_getLinkProxy(const ::Ice::AsyncResultPtr &)
::Ice::AsyncResultPtr begin_getLinkProxy(const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
void end_reap(const ::Ice::AsyncResultPtr &)
::Ice::AsyncResultPtr begin_getLinkProxy(const ::Ice::Context &context=::Ice::noExplicitContext)
::Ice::AsyncResultPtr begin_getLinkProxy(const ::Ice::Context &context, const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_reap(const ::Ice::IdentitySeq &iceP_id, const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_reap(const ::Ice::IdentitySeq &iceP_id, const ::Ice::Context &context, const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::IceStorm::TopicLinkPrx getLinkProxy(const ::Ice::Context &context=::Ice::noExplicitContext)
::IceStormElection::NodePrx end_getReplicaNode(const ::Ice::AsyncResultPtr &)
::Ice::AsyncResultPtr begin_getReplicaNode(const ::Ice::Context &context, const ::IceStorm::Callback_TopicManagerInternal_getReplicaNodePtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::IceStormElection::NodePrx getReplicaNode(const ::Ice::Context &context=::Ice::noExplicitContext)
::Ice::AsyncResultPtr begin_getReplicaNode(const ::Ice::Context &context, const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_getReplicaNode(const ::Ice::CallbackPtr &del, const ::Ice::LocalObjectPtr &cookie=0)
::Ice::AsyncResultPtr begin_getReplicaNode(const ::Ice::Context &context=::Ice::noExplicitContext)
::Ice::AsyncResultPtr begin_getReplicaNode(const ::IceStorm::Callback_TopicManagerInternal_getReplicaNodePtr &del, const ::Ice::LocalObjectPtr &cookie=0)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
CallbackNC_TopicInternal_getLinkProxy(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
void(T::* Exception)(const ::Ice::Exception &)
void(T::* Response)(const ::IceStorm::TopicLinkPrx &)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
void(T::* Exception)(const ::Ice::Exception &)
CallbackNC_TopicInternal_reap(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
CallbackNC_TopicManagerInternal_getReplicaNode(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
void(T::* Response)(const ::IceStormElection::NodePrx &)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
Callback_TopicInternal_getLinkProxy(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
void(T::* Exception)(const ::Ice::Exception &, const CT &)
void(T::* Response)(const ::IceStorm::TopicLinkPrx &, const CT &)
void(T::* Sent)(bool, const CT &)
Callback_TopicInternal_reap(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
void(T::* Exception)(const ::Ice::Exception &, const CT &)
virtual void completed(const ::Ice::AsyncResultPtr &result) const
void(T::* Exception)(const ::Ice::Exception &, const CT &)
Callback_TopicManagerInternal_getReplicaNode(const TPtr &obj, Response cb, Exception excb, Sent sentcb)
void(T::* Response)(const ::IceStormElection::NodePrx &, const CT &)
EventData(const ::std::string &iceP_op, ::Ice::OperationMode iceP_mode, const ::Ice::ByteSeq &iceP_data, const ::Ice::Context &iceP_context)
::Ice::OperationMode mode
Thrown if the reap call would block.
virtual::std::string ice_id() const
virtual ReapWouldBlock * ice_clone() const
virtual void _writeImpl(::Ice::OutputStream *) const
virtual void ice_throw() const
virtual void _readImpl(::Ice::InputStream *)
virtual::std::string ice_id() const
virtual SendQueueSizeMaxReached * ice_clone() const
Internal operations for a topic.
bool _iceD_reap(::IceInternal::Incoming &, const ::Ice::Current &)
virtual const ::std::string & ice_id(const ::Ice::Current &=::Ice::emptyCurrent) const
virtual bool _iceDispatch(::IceInternal::Incoming &, const ::Ice::Current &)
virtual void reap(const ::Ice::IdentitySeq &, const ::Ice::Current &=::Ice::emptyCurrent)=0
virtual void _iceWriteImpl(::Ice::OutputStream *) const
virtual::IceStorm::TopicLinkPrx getLinkProxy(const ::Ice::Current &=::Ice::emptyCurrent)=0
TopicInternalPtr PointerType
virtual ::std::vector<::std::string > ice_ids(const ::Ice::Current &=::Ice::emptyCurrent) const
virtual void _iceReadImpl(::Ice::InputStream *)
bool _iceD_getLinkProxy(::IceInternal::Incoming &, const ::Ice::Current &)
idempotent TopicLink * getLinkProxy()
Retrieve a proxy to the TopicLink interface.
virtual bool ice_isA(const ::std::string &, const ::Ice::Current &=::Ice::emptyCurrent) const
static const ::std::string & ice_staticId()
Internal operations for a topic manager.
virtual const ::std::string & ice_id(const ::Ice::Current &=::Ice::emptyCurrent) const
virtual bool _iceDispatch(::IceInternal::Incoming &, const ::Ice::Current &)
TopicManagerInternalPrx ProxyType
virtual void _iceWriteImpl(::Ice::OutputStream *) const
idempotent IceStormElection::Node * getReplicaNode()
Return the replica node proxy for this topic manager.
bool _iceD_getReplicaNode(::IceInternal::Incoming &, const ::Ice::Current &) const
virtual ::std::vector<::std::string > ice_ids(const ::Ice::Current &=::Ice::emptyCurrent) const
virtual void _iceReadImpl(::Ice::InputStream *)
TopicManagerInternalPtr PointerType
virtual::IceStormElection::NodePrx getReplicaNode(const ::Ice::Current &=::Ice::emptyCurrent) const =0
virtual bool ice_isA(const ::std::string &, const ::Ice::Current &=::Ice::emptyCurrent) const
static const ::std::string & ice_staticId()
This file is part of ArmarX.
::IceProxy::Ice::Object * upCast(::IceProxy::IceStorm::TopicLink *)
void _readProxy(::Ice::InputStream *, ::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicLink > &)
::IceInternal::ProxyHandle<::IceProxy::IceStormElection::Node > NodePrx
Definition Election.h:1210
TopicLinkPrx TopicLinkPrxPtr
void _icePatchObjectPtr(TopicLinkPtr &, const ::Ice::ObjectPtr &)
Callback_TopicLink_forwardPtr newCallback_TopicLink_forward(const IceUtil::Handle< T > &instance, void(T::*cb)(), void(T::*excb)(const ::Ice::Exception &), void(T::*sentcb)(bool)=0)
::IceUtil::Handle< Callback_TopicLink_forward_Base > Callback_TopicLink_forwardPtr
TopicManagerInternalPrx TopicManagerInternalPrxPtr
TopicInternalPrx TopicInternalPrxPtr
Callback_TopicInternal_getLinkProxyPtr newCallback_TopicInternal_getLinkProxy(const IceUtil::Handle< T > &instance, void(T::*cb)(const ::IceStorm::TopicLinkPrx &), void(T::*excb)(const ::Ice::Exception &), void(T::*sentcb)(bool)=0)
::IceUtil::Handle< Callback_TopicInternal_getLinkProxy_Base > Callback_TopicInternal_getLinkProxyPtr
::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicManagerInternal > TopicManagerInternalPrx
::IceInternal::Handle<::IceStorm::TopicManagerInternal > TopicManagerInternalPtr
Callback_TopicInternal_reapPtr newCallback_TopicInternal_reap(const IceUtil::Handle< T > &instance, void(T::*cb)(), void(T::*excb)(const ::Ice::Exception &), void(T::*sentcb)(bool)=0)
::IceInternal::Handle<::IceStorm::TopicLink > TopicLinkPtr
std::deque<::IceStorm::EventDataPtr > EventDataSeq
A sequence of EventData.
::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicInternal > TopicInternalPrx
::IceUtil::Handle<::IceStorm::EventData > EventDataPtr
Callback_TopicManagerInternal_getReplicaNodePtr newCallback_TopicManagerInternal_getReplicaNode(const IceUtil::Handle< T > &instance, void(T::*cb)(const ::IceStormElection::NodePrx &), void(T::*excb)(const ::Ice::Exception &), void(T::*sentcb)(bool)=0)
bool operator<(const TopicLink &lhs, const TopicLink &rhs)
::IceUtil::Handle< Callback_TopicManagerInternal_getReplicaNode_Base > Callback_TopicManagerInternal_getReplicaNodePtr
::IceInternal::Handle<::IceStorm::TopicInternal > TopicInternalPtr
::Ice::Object * upCast(::IceStorm::TopicLink *)
::IceUtil::Handle< Callback_TopicInternal_reap_Base > Callback_TopicInternal_reapPtr
::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicLink > TopicLinkPrx
bool operator==(const TopicLink &lhs, const TopicLink &rhs)
double v(double t, double v0, double a0, double j)
Definition CtrlUtil.h:39
void read(auto &eigen, auto *table)
static void read(S *istr, ::IceStorm::EventDataPtr &v)
static void write(S *ostr, const ::IceStorm::EventDataPtr &v)