IceStorm.cpp

00001 // **********************************************************************
00002 //
00003 // Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
00004 //
00005 // This copy of Ice-E is licensed to you under the terms described in the
00006 // ICEE_LICENSE file included in this distribution.
00007 //
00008 // **********************************************************************
00009 
00010 // Ice-E version 1.3.0
00011 // Generated from file `IceStorm.ice'
00012 
00013 #include <IceStorm.h>
00014 #include <IceE/LocalException.h>
00015 #include <IceE/ObjectFactory.h>
00016 #include <IceE/BasicStream.h>
00017 #include <IceE/LocalException.h>
00018 #include <IceE/Iterator.h>
00019 #include <IceE/DisableWarnings.h>
00020 
00021 #ifndef ICEE_IGNORE_VERSION
00022 #   if ICEE_INT_VERSION / 100 != 103
00023 #       error IceE version mismatch!
00024 #   endif
00025 #   if ICEE_INT_VERSION % 100 < 0
00026 #       error IceE patch level mismatch!
00027 #   endif
00028 #endif
00029 
00030 static const ::std::string __IceStorm__Topic__getName_name = "getName";
00031 
00032 static const ::std::string __IceStorm__Topic__getPublisher_name = "getPublisher";
00033 
00034 static const ::std::string __IceStorm__Topic__getNonReplicatedPublisher_name = "getNonReplicatedPublisher";
00035 
00036 static const ::std::string __IceStorm__Topic__subscribe_name = "subscribe";
00037 
00038 static const ::std::string __IceStorm__Topic__subscribeAndGetPublisher_name = "subscribeAndGetPublisher";
00039 
00040 static const ::std::string __IceStorm__Topic__unsubscribe_name = "unsubscribe";
00041 
00042 static const ::std::string __IceStorm__Topic__link_name = "link";
00043 
00044 static const ::std::string __IceStorm__Topic__unlink_name = "unlink";
00045 
00046 static const ::std::string __IceStorm__Topic__getLinkInfoSeq_name = "getLinkInfoSeq";
00047 
00048 static const ::std::string __IceStorm__Topic__destroy_name = "destroy";
00049 
00050 static const ::std::string __IceStorm__TopicManager__create_name = "create";
00051 
00052 static const ::std::string __IceStorm__TopicManager__retrieve_name = "retrieve";
00053 
00054 static const ::std::string __IceStorm__TopicManager__retrieveAll_name = "retrieveAll";
00055 
00056 static const ::std::string __IceStorm__TopicManager__getSliceChecksums_name = "getSliceChecksums";
00057 
00058 ::Ice::Object* IceInternal::upCast(::IceStorm::Topic* p) { return p; }
00059 ::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy::IceStorm::Topic* p) { return p; }
00060 
00061 ::Ice::Object* IceInternal::upCast(::IceStorm::TopicManager* p) { return p; }
00062 ::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy::IceStorm::TopicManager* p) { return p; }
00063 
00064 void
00065 IceStorm::__read(::IceInternal::BasicStream* __is, ::IceStorm::TopicPrx& v)
00066 {
00067     ::Ice::ObjectPrx proxy;
00068     __is->read(proxy);
00069     if(!proxy)
00070     {
00071         v = 0;
00072     }
00073     else
00074     {
00075         v = new ::IceProxy::IceStorm::Topic;
00076         v->__copyFrom(proxy);
00077     }
00078 }
00079 
00080 void
00081 IceStorm::__read(::IceInternal::BasicStream* __is, ::IceStorm::TopicManagerPrx& v)
00082 {
00083     ::Ice::ObjectPrx proxy;
00084     __is->read(proxy);
00085     if(!proxy)
00086     {
00087         v = 0;
00088     }
00089     else
00090     {
00091         v = new ::IceProxy::IceStorm::TopicManager;
00092         v->__copyFrom(proxy);
00093     }
00094 }
00095 
00096 void
00097 Ice::__writeSliceChecksumDict(::IceInternal::BasicStream* __os, const ::Ice::SliceChecksumDict& v)
00098 {
00099     __os->writeSize(::Ice::Int(v.size()));
00100     ::Ice::SliceChecksumDict::const_iterator p;
00101     for(p = v.begin(); p != v.end(); ++p)
00102     {
00103         __os->write(p->first);
00104         __os->write(p->second);
00105     }
00106 }
00107 
00108 void
00109 Ice::__readSliceChecksumDict(::IceInternal::BasicStream* __is, ::Ice::SliceChecksumDict& v)
00110 {
00111     ::Ice::Int sz;
00112     __is->readSize(sz);
00113     while(sz--)
00114     {
00115         ::std::pair<const  ::std::string, ::std::string> pair;
00116         __is->read(const_cast< ::std::string&>(pair.first));
00117         ::Ice::SliceChecksumDict::iterator __i = v.insert(v.end(), pair);
00118         __is->read(__i->second);
00119     }
00120 }
00121 
00122 bool
00123 IceStorm::LinkInfo::operator==(const LinkInfo& __rhs) const
00124 {
00125     if(this == &__rhs)
00126     {
00127         return true;
00128     }
00129     if(theTopic != __rhs.theTopic)
00130     {
00131         return false;
00132     }
00133     if(name != __rhs.name)
00134     {
00135         return false;
00136     }
00137     if(cost != __rhs.cost)
00138     {
00139         return false;
00140     }
00141     return true;
00142 }
00143 
00144 bool
00145 IceStorm::LinkInfo::operator<(const LinkInfo& __rhs) const
00146 {
00147     if(this == &__rhs)
00148     {
00149         return false;
00150     }
00151     if(theTopic < __rhs.theTopic)
00152     {
00153         return true;
00154     }
00155     else if(__rhs.theTopic < theTopic)
00156     {
00157         return false;
00158     }
00159     if(name < __rhs.name)
00160     {
00161         return true;
00162     }
00163     else if(__rhs.name < name)
00164     {
00165         return false;
00166     }
00167     if(cost < __rhs.cost)
00168     {
00169         return true;
00170     }
00171     else if(__rhs.cost < cost)
00172     {
00173         return false;
00174     }
00175     return false;
00176 }
00177 
00178 void
00179 IceStorm::LinkInfo::__write(::IceInternal::BasicStream* __os) const
00180 {
00181     __os->write(::Ice::ObjectPrx(::IceInternal::upCast(theTopic.get())));
00182     __os->write(name);
00183     __os->write(cost);
00184 }
00185 
00186 void
00187 IceStorm::LinkInfo::__read(::IceInternal::BasicStream* __is)
00188 {
00189     ::IceStorm::__read(__is, theTopic);
00190     __is->read(name);
00191     __is->read(cost);
00192 }
00193 
00194 void
00195 IceStorm::__writeLinkInfoSeq(::IceInternal::BasicStream* __os, const ::IceStorm::LinkInfo* begin, const ::IceStorm::LinkInfo* end)
00196 {
00197     ::Ice::Int size = static_cast< ::Ice::Int>(end - begin);
00198     __os->writeSize(size);
00199     for(int i = 0; i < size; ++i)
00200     {
00201         begin[i].__write(__os);
00202     }
00203 }
00204 
00205 void
00206 IceStorm::__readLinkInfoSeq(::IceInternal::BasicStream* __is, ::IceStorm::LinkInfoSeq& v)
00207 {
00208     ::Ice::Int sz;
00209     __is->readSize(sz);
00210     __is->startSeq(sz, 7);
00211     v.resize(sz);
00212     for(int i = 0; i < sz; ++i)
00213     {
00214         v[i].__read(__is);
00215         __is->checkSeq();
00216         __is->endElement();
00217     }
00218     __is->endSeq(sz);
00219 }
00220 
00221 void
00222 IceStorm::__writeQoS(::IceInternal::BasicStream* __os, const ::IceStorm::QoS& v)
00223 {
00224     __os->writeSize(::Ice::Int(v.size()));
00225     ::IceStorm::QoS::const_iterator p;
00226     for(p = v.begin(); p != v.end(); ++p)
00227     {
00228         __os->write(p->first);
00229         __os->write(p->second);
00230     }
00231 }
00232 
00233 void
00234 IceStorm::__readQoS(::IceInternal::BasicStream* __is, ::IceStorm::QoS& v)
00235 {
00236     ::Ice::Int sz;
00237     __is->readSize(sz);
00238     while(sz--)
00239     {
00240         ::std::pair<const  ::std::string, ::std::string> pair;
00241         __is->read(const_cast< ::std::string&>(pair.first));
00242         ::IceStorm::QoS::iterator __i = v.insert(v.end(), pair);
00243         __is->read(__i->second);
00244     }
00245 }
00246 
00247 IceStorm::LinkExists::LinkExists(const ::std::string& __ice_name) :
00248     ::Ice::UserException(),
00249     name(__ice_name)
00250 {
00251 }
00252 
00253 IceStorm::LinkExists::~LinkExists() throw()
00254 {
00255 }
00256 
00257 static const char* __IceStorm__LinkExists_name = "IceStorm::LinkExists";
00258 
00259 ::std::string
00260 IceStorm::LinkExists::ice_name() const
00261 {
00262     return __IceStorm__LinkExists_name;
00263 }
00264 
00265 ::Ice::Exception*
00266 IceStorm::LinkExists::ice_clone() const
00267 {
00268     return new LinkExists(*this);
00269 }
00270 
00271 void
00272 IceStorm::LinkExists::ice_throw() const
00273 {
00274     throw *this;
00275 }
00276 
00277 void
00278 IceStorm::LinkExists::__write(::IceInternal::BasicStream* __os) const
00279 {
00280     __os->write(::std::string("::IceStorm::LinkExists"), false);
00281     __os->startWriteSlice();
00282     __os->write(name);
00283     __os->endWriteSlice();
00284 }
00285 
00286 void
00287 IceStorm::LinkExists::__read(::IceInternal::BasicStream* __is, bool __rid)
00288 {
00289     if(__rid)
00290     {
00291         ::std::string myId;
00292         __is->read(myId, false);
00293     }
00294     __is->startReadSlice();
00295     __is->read(name);
00296     __is->endReadSlice();
00297 }
00298 
00299 struct __F__IceStorm__LinkExists : public ::IceInternal::UserExceptionFactory
00300 {
00301     virtual void
00302     createAndThrow()
00303     {
00304         throw ::IceStorm::LinkExists();
00305     }
00306 };
00307 
00308 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__LinkExists__Ptr = new __F__IceStorm__LinkExists;
00309 
00310 const ::IceInternal::UserExceptionFactoryPtr&
00311 IceStorm::LinkExists::ice_factory()
00312 {
00313     return __F__IceStorm__LinkExists__Ptr;
00314 }
00315 
00316 class __F__IceStorm__LinkExists__Init
00317 {
00318 public:
00319 
00320     __F__IceStorm__LinkExists__Init()
00321     {
00322         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::LinkExists", ::IceStorm::LinkExists::ice_factory());
00323     }
00324 
00325     ~__F__IceStorm__LinkExists__Init()
00326     {
00327         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::LinkExists");
00328     }
00329 };
00330 
00331 static __F__IceStorm__LinkExists__Init __F__IceStorm__LinkExists__i;
00332 
00333 #ifdef __APPLE__
00334 extern "C" { void __F__IceStorm__LinkExists__initializer() {} }
00335 #endif
00336 
00337 IceStorm::NoSuchLink::NoSuchLink(const ::std::string& __ice_name) :
00338     ::Ice::UserException(),
00339     name(__ice_name)
00340 {
00341 }
00342 
00343 IceStorm::NoSuchLink::~NoSuchLink() throw()
00344 {
00345 }
00346 
00347 static const char* __IceStorm__NoSuchLink_name = "IceStorm::NoSuchLink";
00348 
00349 ::std::string
00350 IceStorm::NoSuchLink::ice_name() const
00351 {
00352     return __IceStorm__NoSuchLink_name;
00353 }
00354 
00355 ::Ice::Exception*
00356 IceStorm::NoSuchLink::ice_clone() const
00357 {
00358     return new NoSuchLink(*this);
00359 }
00360 
00361 void
00362 IceStorm::NoSuchLink::ice_throw() const
00363 {
00364     throw *this;
00365 }
00366 
00367 void
00368 IceStorm::NoSuchLink::__write(::IceInternal::BasicStream* __os) const
00369 {
00370     __os->write(::std::string("::IceStorm::NoSuchLink"), false);
00371     __os->startWriteSlice();
00372     __os->write(name);
00373     __os->endWriteSlice();
00374 }
00375 
00376 void
00377 IceStorm::NoSuchLink::__read(::IceInternal::BasicStream* __is, bool __rid)
00378 {
00379     if(__rid)
00380     {
00381         ::std::string myId;
00382         __is->read(myId, false);
00383     }
00384     __is->startReadSlice();
00385     __is->read(name);
00386     __is->endReadSlice();
00387 }
00388 
00389 struct __F__IceStorm__NoSuchLink : public ::IceInternal::UserExceptionFactory
00390 {
00391     virtual void
00392     createAndThrow()
00393     {
00394         throw ::IceStorm::NoSuchLink();
00395     }
00396 };
00397 
00398 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__NoSuchLink__Ptr = new __F__IceStorm__NoSuchLink;
00399 
00400 const ::IceInternal::UserExceptionFactoryPtr&
00401 IceStorm::NoSuchLink::ice_factory()
00402 {
00403     return __F__IceStorm__NoSuchLink__Ptr;
00404 }
00405 
00406 class __F__IceStorm__NoSuchLink__Init
00407 {
00408 public:
00409 
00410     __F__IceStorm__NoSuchLink__Init()
00411     {
00412         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::NoSuchLink", ::IceStorm::NoSuchLink::ice_factory());
00413     }
00414 
00415     ~__F__IceStorm__NoSuchLink__Init()
00416     {
00417         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::NoSuchLink");
00418     }
00419 };
00420 
00421 static __F__IceStorm__NoSuchLink__Init __F__IceStorm__NoSuchLink__i;
00422 
00423 #ifdef __APPLE__
00424 extern "C" { void __F__IceStorm__NoSuchLink__initializer() {} }
00425 #endif
00426 
00427 IceStorm::AlreadySubscribed::~AlreadySubscribed() throw()
00428 {
00429 }
00430 
00431 static const char* __IceStorm__AlreadySubscribed_name = "IceStorm::AlreadySubscribed";
00432 
00433 ::std::string
00434 IceStorm::AlreadySubscribed::ice_name() const
00435 {
00436     return __IceStorm__AlreadySubscribed_name;
00437 }
00438 
00439 ::Ice::Exception*
00440 IceStorm::AlreadySubscribed::ice_clone() const
00441 {
00442     return new AlreadySubscribed(*this);
00443 }
00444 
00445 void
00446 IceStorm::AlreadySubscribed::ice_throw() const
00447 {
00448     throw *this;
00449 }
00450 
00451 void
00452 IceStorm::AlreadySubscribed::__write(::IceInternal::BasicStream* __os) const
00453 {
00454     __os->write(::std::string("::IceStorm::AlreadySubscribed"), false);
00455     __os->startWriteSlice();
00456     __os->endWriteSlice();
00457 }
00458 
00459 void
00460 IceStorm::AlreadySubscribed::__read(::IceInternal::BasicStream* __is, bool __rid)
00461 {
00462     if(__rid)
00463     {
00464         ::std::string myId;
00465         __is->read(myId, false);
00466     }
00467     __is->startReadSlice();
00468     __is->endReadSlice();
00469 }
00470 
00471 struct __F__IceStorm__AlreadySubscribed : public ::IceInternal::UserExceptionFactory
00472 {
00473     virtual void
00474     createAndThrow()
00475     {
00476         throw ::IceStorm::AlreadySubscribed();
00477     }
00478 };
00479 
00480 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__AlreadySubscribed__Ptr = new __F__IceStorm__AlreadySubscribed;
00481 
00482 const ::IceInternal::UserExceptionFactoryPtr&
00483 IceStorm::AlreadySubscribed::ice_factory()
00484 {
00485     return __F__IceStorm__AlreadySubscribed__Ptr;
00486 }
00487 
00488 class __F__IceStorm__AlreadySubscribed__Init
00489 {
00490 public:
00491 
00492     __F__IceStorm__AlreadySubscribed__Init()
00493     {
00494         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::AlreadySubscribed", ::IceStorm::AlreadySubscribed::ice_factory());
00495     }
00496 
00497     ~__F__IceStorm__AlreadySubscribed__Init()
00498     {
00499         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::AlreadySubscribed");
00500     }
00501 };
00502 
00503 static __F__IceStorm__AlreadySubscribed__Init __F__IceStorm__AlreadySubscribed__i;
00504 
00505 #ifdef __APPLE__
00506 extern "C" { void __F__IceStorm__AlreadySubscribed__initializer() {} }
00507 #endif
00508 
00509 IceStorm::BadQoS::BadQoS(const ::std::string& __ice_reason) :
00510     ::Ice::UserException(),
00511     reason(__ice_reason)
00512 {
00513 }
00514 
00515 IceStorm::BadQoS::~BadQoS() throw()
00516 {
00517 }
00518 
00519 static const char* __IceStorm__BadQoS_name = "IceStorm::BadQoS";
00520 
00521 ::std::string
00522 IceStorm::BadQoS::ice_name() const
00523 {
00524     return __IceStorm__BadQoS_name;
00525 }
00526 
00527 ::Ice::Exception*
00528 IceStorm::BadQoS::ice_clone() const
00529 {
00530     return new BadQoS(*this);
00531 }
00532 
00533 void
00534 IceStorm::BadQoS::ice_throw() const
00535 {
00536     throw *this;
00537 }
00538 
00539 void
00540 IceStorm::BadQoS::__write(::IceInternal::BasicStream* __os) const
00541 {
00542     __os->write(::std::string("::IceStorm::BadQoS"), false);
00543     __os->startWriteSlice();
00544     __os->write(reason);
00545     __os->endWriteSlice();
00546 }
00547 
00548 void
00549 IceStorm::BadQoS::__read(::IceInternal::BasicStream* __is, bool __rid)
00550 {
00551     if(__rid)
00552     {
00553         ::std::string myId;
00554         __is->read(myId, false);
00555     }
00556     __is->startReadSlice();
00557     __is->read(reason);
00558     __is->endReadSlice();
00559 }
00560 
00561 struct __F__IceStorm__BadQoS : public ::IceInternal::UserExceptionFactory
00562 {
00563     virtual void
00564     createAndThrow()
00565     {
00566         throw ::IceStorm::BadQoS();
00567     }
00568 };
00569 
00570 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__BadQoS__Ptr = new __F__IceStorm__BadQoS;
00571 
00572 const ::IceInternal::UserExceptionFactoryPtr&
00573 IceStorm::BadQoS::ice_factory()
00574 {
00575     return __F__IceStorm__BadQoS__Ptr;
00576 }
00577 
00578 class __F__IceStorm__BadQoS__Init
00579 {
00580 public:
00581 
00582     __F__IceStorm__BadQoS__Init()
00583     {
00584         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::BadQoS", ::IceStorm::BadQoS::ice_factory());
00585     }
00586 
00587     ~__F__IceStorm__BadQoS__Init()
00588     {
00589         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::BadQoS");
00590     }
00591 };
00592 
00593 static __F__IceStorm__BadQoS__Init __F__IceStorm__BadQoS__i;
00594 
00595 #ifdef __APPLE__
00596 extern "C" { void __F__IceStorm__BadQoS__initializer() {} }
00597 #endif
00598 
00599 void
00600 IceStorm::__writeTopicDict(::IceInternal::BasicStream* __os, const ::IceStorm::TopicDict& v)
00601 {
00602     __os->writeSize(::Ice::Int(v.size()));
00603     ::IceStorm::TopicDict::const_iterator p;
00604     for(p = v.begin(); p != v.end(); ++p)
00605     {
00606         __os->write(p->first);
00607         __os->write(::Ice::ObjectPrx(::IceInternal::upCast(p->second.get())));
00608     }
00609 }
00610 
00611 void
00612 IceStorm::__readTopicDict(::IceInternal::BasicStream* __is, ::IceStorm::TopicDict& v)
00613 {
00614     ::Ice::Int sz;
00615     __is->readSize(sz);
00616     while(sz--)
00617     {
00618         ::std::pair<const  ::std::string, ::IceStorm::TopicPrx> pair;
00619         __is->read(const_cast< ::std::string&>(pair.first));
00620         ::IceStorm::TopicDict::iterator __i = v.insert(v.end(), pair);
00621         ::IceStorm::__read(__is, __i->second);
00622     }
00623 }
00624 
00625 IceStorm::TopicExists::TopicExists(const ::std::string& __ice_name) :
00626     ::Ice::UserException(),
00627     name(__ice_name)
00628 {
00629 }
00630 
00631 IceStorm::TopicExists::~TopicExists() throw()
00632 {
00633 }
00634 
00635 static const char* __IceStorm__TopicExists_name = "IceStorm::TopicExists";
00636 
00637 ::std::string
00638 IceStorm::TopicExists::ice_name() const
00639 {
00640     return __IceStorm__TopicExists_name;
00641 }
00642 
00643 ::Ice::Exception*
00644 IceStorm::TopicExists::ice_clone() const
00645 {
00646     return new TopicExists(*this);
00647 }
00648 
00649 void
00650 IceStorm::TopicExists::ice_throw() const
00651 {
00652     throw *this;
00653 }
00654 
00655 void
00656 IceStorm::TopicExists::__write(::IceInternal::BasicStream* __os) const
00657 {
00658     __os->write(::std::string("::IceStorm::TopicExists"), false);
00659     __os->startWriteSlice();
00660     __os->write(name);
00661     __os->endWriteSlice();
00662 }
00663 
00664 void
00665 IceStorm::TopicExists::__read(::IceInternal::BasicStream* __is, bool __rid)
00666 {
00667     if(__rid)
00668     {
00669         ::std::string myId;
00670         __is->read(myId, false);
00671     }
00672     __is->startReadSlice();
00673     __is->read(name);
00674     __is->endReadSlice();
00675 }
00676 
00677 struct __F__IceStorm__TopicExists : public ::IceInternal::UserExceptionFactory
00678 {
00679     virtual void
00680     createAndThrow()
00681     {
00682         throw ::IceStorm::TopicExists();
00683     }
00684 };
00685 
00686 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__TopicExists__Ptr = new __F__IceStorm__TopicExists;
00687 
00688 const ::IceInternal::UserExceptionFactoryPtr&
00689 IceStorm::TopicExists::ice_factory()
00690 {
00691     return __F__IceStorm__TopicExists__Ptr;
00692 }
00693 
00694 class __F__IceStorm__TopicExists__Init
00695 {
00696 public:
00697 
00698     __F__IceStorm__TopicExists__Init()
00699     {
00700         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::TopicExists", ::IceStorm::TopicExists::ice_factory());
00701     }
00702 
00703     ~__F__IceStorm__TopicExists__Init()
00704     {
00705         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::TopicExists");
00706     }
00707 };
00708 
00709 static __F__IceStorm__TopicExists__Init __F__IceStorm__TopicExists__i;
00710 
00711 #ifdef __APPLE__
00712 extern "C" { void __F__IceStorm__TopicExists__initializer() {} }
00713 #endif
00714 
00715 IceStorm::NoSuchTopic::NoSuchTopic(const ::std::string& __ice_name) :
00716     ::Ice::UserException(),
00717     name(__ice_name)
00718 {
00719 }
00720 
00721 IceStorm::NoSuchTopic::~NoSuchTopic() throw()
00722 {
00723 }
00724 
00725 static const char* __IceStorm__NoSuchTopic_name = "IceStorm::NoSuchTopic";
00726 
00727 ::std::string
00728 IceStorm::NoSuchTopic::ice_name() const
00729 {
00730     return __IceStorm__NoSuchTopic_name;
00731 }
00732 
00733 ::Ice::Exception*
00734 IceStorm::NoSuchTopic::ice_clone() const
00735 {
00736     return new NoSuchTopic(*this);
00737 }
00738 
00739 void
00740 IceStorm::NoSuchTopic::ice_throw() const
00741 {
00742     throw *this;
00743 }
00744 
00745 void
00746 IceStorm::NoSuchTopic::__write(::IceInternal::BasicStream* __os) const
00747 {
00748     __os->write(::std::string("::IceStorm::NoSuchTopic"), false);
00749     __os->startWriteSlice();
00750     __os->write(name);
00751     __os->endWriteSlice();
00752 }
00753 
00754 void
00755 IceStorm::NoSuchTopic::__read(::IceInternal::BasicStream* __is, bool __rid)
00756 {
00757     if(__rid)
00758     {
00759         ::std::string myId;
00760         __is->read(myId, false);
00761     }
00762     __is->startReadSlice();
00763     __is->read(name);
00764     __is->endReadSlice();
00765 }
00766 
00767 struct __F__IceStorm__NoSuchTopic : public ::IceInternal::UserExceptionFactory
00768 {
00769     virtual void
00770     createAndThrow()
00771     {
00772         throw ::IceStorm::NoSuchTopic();
00773     }
00774 };
00775 
00776 static ::IceInternal::UserExceptionFactoryPtr __F__IceStorm__NoSuchTopic__Ptr = new __F__IceStorm__NoSuchTopic;
00777 
00778 const ::IceInternal::UserExceptionFactoryPtr&
00779 IceStorm::NoSuchTopic::ice_factory()
00780 {
00781     return __F__IceStorm__NoSuchTopic__Ptr;
00782 }
00783 
00784 class __F__IceStorm__NoSuchTopic__Init
00785 {
00786 public:
00787 
00788     __F__IceStorm__NoSuchTopic__Init()
00789     {
00790         ::IceInternal::factoryTable->addExceptionFactory("::IceStorm::NoSuchTopic", ::IceStorm::NoSuchTopic::ice_factory());
00791     }
00792 
00793     ~__F__IceStorm__NoSuchTopic__Init()
00794     {
00795         ::IceInternal::factoryTable->removeExceptionFactory("::IceStorm::NoSuchTopic");
00796     }
00797 };
00798 
00799 static __F__IceStorm__NoSuchTopic__Init __F__IceStorm__NoSuchTopic__i;
00800 
00801 #ifdef __APPLE__
00802 extern "C" { void __F__IceStorm__NoSuchTopic__initializer() {} }
00803 #endif
00804 
00805 static const ::std::string __IceStorm__Topic_ids[2] =
00806 {
00807     "::Ice::Object",
00808     "::IceStorm::Topic"
00809 };
00810 
00811 bool
00812 IceStorm::Topic::ice_isA(const ::std::string& _s, const ::Ice::Current&) const
00813 {
00814     return ::std::binary_search(__IceStorm__Topic_ids, __IceStorm__Topic_ids + 2, _s);
00815 }
00816 
00817 ::std::vector< ::std::string>
00818 IceStorm::Topic::ice_ids(const ::Ice::Current&) const
00819 {
00820     return ::std::vector< ::std::string>(&__IceStorm__Topic_ids[0], &__IceStorm__Topic_ids[2]);
00821 }
00822 
00823 const ::std::string&
00824 IceStorm::Topic::ice_id(const ::Ice::Current&) const
00825 {
00826     return __IceStorm__Topic_ids[1];
00827 }
00828 
00829 const ::std::string&
00830 IceStorm::Topic::ice_staticId()
00831 {
00832     return __IceStorm__Topic_ids[1];
00833 }
00834 
00835 #ifndef ICEE_PURE_CLIENT
00836 ::Ice::DispatchStatus
00837 IceStorm::Topic::___getName(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
00838 {
00839     __checkMode(::Ice::Idempotent, __current.mode);
00840     ::IceInternal::BasicStream* __os = __inS.os();
00841     ::std::string __ret = getName(__current);
00842     __os->write(__ret);
00843     return ::Ice::DispatchOK;
00844 }
00845 #endif // ICEE_PURE_CLIENT
00846 
00847 #ifndef ICEE_PURE_CLIENT
00848 ::Ice::DispatchStatus
00849 IceStorm::Topic::___getPublisher(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
00850 {
00851     __checkMode(::Ice::Idempotent, __current.mode);
00852     ::IceInternal::BasicStream* __os = __inS.os();
00853     ::Ice::ObjectPrx __ret = getPublisher(__current);
00854     __os->write(__ret);
00855     return ::Ice::DispatchOK;
00856 }
00857 #endif // ICEE_PURE_CLIENT
00858 
00859 #ifndef ICEE_PURE_CLIENT
00860 ::Ice::DispatchStatus
00861 IceStorm::Topic::___getNonReplicatedPublisher(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
00862 {
00863     __checkMode(::Ice::Idempotent, __current.mode);
00864     ::IceInternal::BasicStream* __os = __inS.os();
00865     ::Ice::ObjectPrx __ret = getNonReplicatedPublisher(__current);
00866     __os->write(__ret);
00867     return ::Ice::DispatchOK;
00868 }
00869 #endif // ICEE_PURE_CLIENT
00870 
00871 #ifndef ICEE_PURE_CLIENT
00872 ::Ice::DispatchStatus
00873 IceStorm::Topic::___subscribe(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00874 {
00875     __checkMode(::Ice::Normal, __current.mode);
00876     ::IceInternal::BasicStream* __is = __inS.is();
00877     ::IceStorm::QoS theQoS;
00878     ::Ice::ObjectPrx subscriber;
00879     ::IceStorm::__readQoS(__is, theQoS);
00880     __is->read(subscriber);
00881     subscribe(theQoS, subscriber, __current);
00882     return ::Ice::DispatchOK;
00883 }
00884 #endif // ICEE_PURE_CLIENT
00885 
00886 #ifndef ICEE_PURE_CLIENT
00887 ::Ice::DispatchStatus
00888 IceStorm::Topic::___subscribeAndGetPublisher(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00889 {
00890     __checkMode(::Ice::Normal, __current.mode);
00891     ::IceInternal::BasicStream* __is = __inS.is();
00892     ::IceStorm::QoS theQoS;
00893     ::Ice::ObjectPrx subscriber;
00894     ::IceStorm::__readQoS(__is, theQoS);
00895     __is->read(subscriber);
00896     ::IceInternal::BasicStream* __os = __inS.os();
00897     try
00898     {
00899         ::Ice::ObjectPrx __ret = subscribeAndGetPublisher(theQoS, subscriber, __current);
00900         __os->write(__ret);
00901     }
00902     catch(const ::IceStorm::AlreadySubscribed& __ex)
00903     {
00904         __os->write(__ex);
00905         return ::Ice::DispatchUserException;
00906     }
00907     catch(const ::IceStorm::BadQoS& __ex)
00908     {
00909         __os->write(__ex);
00910         return ::Ice::DispatchUserException;
00911     }
00912     return ::Ice::DispatchOK;
00913 }
00914 #endif // ICEE_PURE_CLIENT
00915 
00916 #ifndef ICEE_PURE_CLIENT
00917 ::Ice::DispatchStatus
00918 IceStorm::Topic::___unsubscribe(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00919 {
00920     __checkMode(::Ice::Idempotent, __current.mode);
00921     ::IceInternal::BasicStream* __is = __inS.is();
00922     ::Ice::ObjectPrx subscriber;
00923     __is->read(subscriber);
00924     unsubscribe(subscriber, __current);
00925     return ::Ice::DispatchOK;
00926 }
00927 #endif // ICEE_PURE_CLIENT
00928 
00929 #ifndef ICEE_PURE_CLIENT
00930 ::Ice::DispatchStatus
00931 IceStorm::Topic::___link(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00932 {
00933     __checkMode(::Ice::Normal, __current.mode);
00934     ::IceInternal::BasicStream* __is = __inS.is();
00935     ::IceStorm::TopicPrx linkTo;
00936     ::Ice::Int cost;
00937     ::IceStorm::__read(__is, linkTo);
00938     __is->read(cost);
00939     ::IceInternal::BasicStream* __os = __inS.os();
00940     try
00941     {
00942         link(linkTo, cost, __current);
00943     }
00944     catch(const ::IceStorm::LinkExists& __ex)
00945     {
00946         __os->write(__ex);
00947         return ::Ice::DispatchUserException;
00948     }
00949     return ::Ice::DispatchOK;
00950 }
00951 #endif // ICEE_PURE_CLIENT
00952 
00953 #ifndef ICEE_PURE_CLIENT
00954 ::Ice::DispatchStatus
00955 IceStorm::Topic::___unlink(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00956 {
00957     __checkMode(::Ice::Normal, __current.mode);
00958     ::IceInternal::BasicStream* __is = __inS.is();
00959     ::IceStorm::TopicPrx linkTo;
00960     ::IceStorm::__read(__is, linkTo);
00961     ::IceInternal::BasicStream* __os = __inS.os();
00962     try
00963     {
00964         unlink(linkTo, __current);
00965     }
00966     catch(const ::IceStorm::NoSuchLink& __ex)
00967     {
00968         __os->write(__ex);
00969         return ::Ice::DispatchUserException;
00970     }
00971     return ::Ice::DispatchOK;
00972 }
00973 #endif // ICEE_PURE_CLIENT
00974 
00975 #ifndef ICEE_PURE_CLIENT
00976 ::Ice::DispatchStatus
00977 IceStorm::Topic::___getLinkInfoSeq(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
00978 {
00979     __checkMode(::Ice::Idempotent, __current.mode);
00980     ::IceInternal::BasicStream* __os = __inS.os();
00981     ::IceStorm::LinkInfoSeq __ret = getLinkInfoSeq(__current);
00982     if(__ret.size() == 0)
00983     {
00984         __os->writeSize(0);
00985     }
00986     else
00987     {
00988         ::IceStorm::__writeLinkInfoSeq(__os, &__ret[0], &__ret[0] + __ret.size());
00989     }
00990     return ::Ice::DispatchOK;
00991 }
00992 #endif // ICEE_PURE_CLIENT
00993 
00994 #ifndef ICEE_PURE_CLIENT
00995 ::Ice::DispatchStatus
00996 IceStorm::Topic::___destroy(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
00997 {
00998     __checkMode(::Ice::Normal, __current.mode);
00999     destroy(__current);
01000     return ::Ice::DispatchOK;
01001 }
01002 #endif // ICEE_PURE_CLIENT
01003 
01004 #ifndef ICEE_PURE_CLIENT
01005 static ::std::string __IceStorm__Topic_all[] =
01006 {
01007     "destroy",
01008     "getLinkInfoSeq",
01009     "getName",
01010     "getNonReplicatedPublisher",
01011     "getPublisher",
01012     "ice_id",
01013     "ice_ids",
01014     "ice_isA",
01015     "ice_ping",
01016     "link",
01017     "subscribe",
01018     "subscribeAndGetPublisher",
01019     "unlink",
01020     "unsubscribe"
01021 };
01022 
01023 ::Ice::DispatchStatus
01024 IceStorm::Topic::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
01025 {
01026     ::std::pair< ::std::string*, ::std::string*> r = ::std::equal_range(__IceStorm__Topic_all, __IceStorm__Topic_all + 14, current.operation);
01027     if(r.first == r.second)
01028     {
01029         throw Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01030     }
01031 
01032     switch(r.first - __IceStorm__Topic_all)
01033     {
01034         case 0:
01035         {
01036             return ___destroy(in, current);
01037         }
01038         case 1:
01039         {
01040             return ___getLinkInfoSeq(in, current);
01041         }
01042         case 2:
01043         {
01044             return ___getName(in, current);
01045         }
01046         case 3:
01047         {
01048             return ___getNonReplicatedPublisher(in, current);
01049         }
01050         case 4:
01051         {
01052             return ___getPublisher(in, current);
01053         }
01054         case 5:
01055         {
01056             return ___ice_id(in, current);
01057         }
01058         case 6:
01059         {
01060             return ___ice_ids(in, current);
01061         }
01062         case 7:
01063         {
01064             return ___ice_isA(in, current);
01065         }
01066         case 8:
01067         {
01068             return ___ice_ping(in, current);
01069         }
01070         case 9:
01071         {
01072             return ___link(in, current);
01073         }
01074         case 10:
01075         {
01076             return ___subscribe(in, current);
01077         }
01078         case 11:
01079         {
01080             return ___subscribeAndGetPublisher(in, current);
01081         }
01082         case 12:
01083         {
01084             return ___unlink(in, current);
01085         }
01086         case 13:
01087         {
01088             return ___unsubscribe(in, current);
01089         }
01090     }
01091 
01092     assert(false);
01093     throw Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01094 }
01095 #endif // ICEE_PURE_CLIENT
01096 
01097 void
01098 IceStorm::Topic::__write(::IceInternal::BasicStream* __os) const
01099 {
01100     __os->writeTypeId(ice_staticId());
01101     __os->startWriteSlice();
01102     __os->endWriteSlice();
01103     ::Ice::Object::__write(__os);
01104 }
01105 
01106 void
01107 IceStorm::Topic::__read(::IceInternal::BasicStream* __is, bool __rid)
01108 {
01109     if(__rid)
01110     {
01111         ::std::string myId;
01112         __is->readTypeId(myId);
01113     }
01114     __is->startReadSlice();
01115     __is->endReadSlice();
01116     ::Ice::Object::__read(__is, true);
01117 }
01118 
01119 
01120 bool
01121 IceStorm::operator==(const ::IceStorm::Topic& l, const ::IceStorm::Topic& r)
01122 {
01123     return static_cast<const ::Ice::Object&>(l) == static_cast<const ::Ice::Object&>(r);
01124 }
01125 
01126 bool
01127 IceStorm::operator<(const ::IceStorm::Topic& l, const ::IceStorm::Topic& r)
01128 {
01129     return static_cast<const ::Ice::Object&>(l) < static_cast<const ::Ice::Object&>(r);
01130 }
01131 
01132 void
01133 IceStorm::__patch__TopicPtr(void* __addr, ::Ice::ObjectPtr& v)
01134 {
01135     ::IceStorm::TopicPtr* p = static_cast< ::IceStorm::TopicPtr*>(__addr);
01136     assert(p);
01137     *p = ::IceStorm::TopicPtr::dynamicCast(v);
01138     if(v && !*p)
01139     {
01140         IceInternal::Ex::throwUOE(::IceStorm::Topic::ice_staticId(), v->ice_id());
01141     }
01142 }
01143 
01144 static const ::std::string __IceStorm__TopicManager_ids[2] =
01145 {
01146     "::Ice::Object",
01147     "::IceStorm::TopicManager"
01148 };
01149 
01150 bool
01151 IceStorm::TopicManager::ice_isA(const ::std::string& _s, const ::Ice::Current&) const
01152 {
01153     return ::std::binary_search(__IceStorm__TopicManager_ids, __IceStorm__TopicManager_ids + 2, _s);
01154 }
01155 
01156 ::std::vector< ::std::string>
01157 IceStorm::TopicManager::ice_ids(const ::Ice::Current&) const
01158 {
01159     return ::std::vector< ::std::string>(&__IceStorm__TopicManager_ids[0], &__IceStorm__TopicManager_ids[2]);
01160 }
01161 
01162 const ::std::string&
01163 IceStorm::TopicManager::ice_id(const ::Ice::Current&) const
01164 {
01165     return __IceStorm__TopicManager_ids[1];
01166 }
01167 
01168 const ::std::string&
01169 IceStorm::TopicManager::ice_staticId()
01170 {
01171     return __IceStorm__TopicManager_ids[1];
01172 }
01173 
01174 #ifndef ICEE_PURE_CLIENT
01175 ::Ice::DispatchStatus
01176 IceStorm::TopicManager::___create(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
01177 {
01178     __checkMode(::Ice::Normal, __current.mode);
01179     ::IceInternal::BasicStream* __is = __inS.is();
01180     ::std::string name;
01181     __is->read(name);
01182     ::IceInternal::BasicStream* __os = __inS.os();
01183     try
01184     {
01185         ::IceStorm::TopicPrx __ret = create(name, __current);
01186         __os->write(::Ice::ObjectPrx(::IceInternal::upCast(__ret.get())));
01187     }
01188     catch(const ::IceStorm::TopicExists& __ex)
01189     {
01190         __os->write(__ex);
01191         return ::Ice::DispatchUserException;
01192     }
01193     return ::Ice::DispatchOK;
01194 }
01195 #endif // ICEE_PURE_CLIENT
01196 
01197 #ifndef ICEE_PURE_CLIENT
01198 ::Ice::DispatchStatus
01199 IceStorm::TopicManager::___retrieve(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
01200 {
01201     __checkMode(::Ice::Idempotent, __current.mode);
01202     ::IceInternal::BasicStream* __is = __inS.is();
01203     ::std::string name;
01204     __is->read(name);
01205     ::IceInternal::BasicStream* __os = __inS.os();
01206     try
01207     {
01208         ::IceStorm::TopicPrx __ret = retrieve(name, __current);
01209         __os->write(::Ice::ObjectPrx(::IceInternal::upCast(__ret.get())));
01210     }
01211     catch(const ::IceStorm::NoSuchTopic& __ex)
01212     {
01213         __os->write(__ex);
01214         return ::Ice::DispatchUserException;
01215     }
01216     return ::Ice::DispatchOK;
01217 }
01218 #endif // ICEE_PURE_CLIENT
01219 
01220 #ifndef ICEE_PURE_CLIENT
01221 ::Ice::DispatchStatus
01222 IceStorm::TopicManager::___retrieveAll(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
01223 {
01224     __checkMode(::Ice::Idempotent, __current.mode);
01225     ::IceInternal::BasicStream* __os = __inS.os();
01226     ::IceStorm::TopicDict __ret = retrieveAll(__current);
01227     ::IceStorm::__writeTopicDict(__os, __ret);
01228     return ::Ice::DispatchOK;
01229 }
01230 #endif // ICEE_PURE_CLIENT
01231 
01232 #ifndef ICEE_PURE_CLIENT
01233 ::Ice::DispatchStatus
01234 IceStorm::TopicManager::___getSliceChecksums(::IceInternal::Incoming& __inS, const ::Ice::Current& __current) const
01235 {
01236     __checkMode(::Ice::Idempotent, __current.mode);
01237     ::IceInternal::BasicStream* __os = __inS.os();
01238     ::Ice::SliceChecksumDict __ret = getSliceChecksums(__current);
01239     ::Ice::__writeSliceChecksumDict(__os, __ret);
01240     return ::Ice::DispatchOK;
01241 }
01242 #endif // ICEE_PURE_CLIENT
01243 
01244 #ifndef ICEE_PURE_CLIENT
01245 static ::std::string __IceStorm__TopicManager_all[] =
01246 {
01247     "create",
01248     "getSliceChecksums",
01249     "ice_id",
01250     "ice_ids",
01251     "ice_isA",
01252     "ice_ping",
01253     "retrieve",
01254     "retrieveAll"
01255 };
01256 
01257 ::Ice::DispatchStatus
01258 IceStorm::TopicManager::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
01259 {
01260     ::std::pair< ::std::string*, ::std::string*> r = ::std::equal_range(__IceStorm__TopicManager_all, __IceStorm__TopicManager_all + 8, current.operation);
01261     if(r.first == r.second)
01262     {
01263         throw Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01264     }
01265 
01266     switch(r.first - __IceStorm__TopicManager_all)
01267     {
01268         case 0:
01269         {
01270             return ___create(in, current);
01271         }
01272         case 1:
01273         {
01274             return ___getSliceChecksums(in, current);
01275         }
01276         case 2:
01277         {
01278             return ___ice_id(in, current);
01279         }
01280         case 3:
01281         {
01282             return ___ice_ids(in, current);
01283         }
01284         case 4:
01285         {
01286             return ___ice_isA(in, current);
01287         }
01288         case 5:
01289         {
01290             return ___ice_ping(in, current);
01291         }
01292         case 6:
01293         {
01294             return ___retrieve(in, current);
01295         }
01296         case 7:
01297         {
01298             return ___retrieveAll(in, current);
01299         }
01300     }
01301 
01302     assert(false);
01303     throw Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01304 }
01305 #endif // ICEE_PURE_CLIENT
01306 
01307 void
01308 IceStorm::TopicManager::__write(::IceInternal::BasicStream* __os) const
01309 {
01310     __os->writeTypeId(ice_staticId());
01311     __os->startWriteSlice();
01312     __os->endWriteSlice();
01313     ::Ice::Object::__write(__os);
01314 }
01315 
01316 void
01317 IceStorm::TopicManager::__read(::IceInternal::BasicStream* __is, bool __rid)
01318 {
01319     if(__rid)
01320     {
01321         ::std::string myId;
01322         __is->readTypeId(myId);
01323     }
01324     __is->startReadSlice();
01325     __is->endReadSlice();
01326     ::Ice::Object::__read(__is, true);
01327 }
01328 
01329 
01330 bool
01331 IceStorm::operator==(const ::IceStorm::TopicManager& l, const ::IceStorm::TopicManager& r)
01332 {
01333     return static_cast<const ::Ice::Object&>(l) == static_cast<const ::Ice::Object&>(r);
01334 }
01335 
01336 bool
01337 IceStorm::operator<(const ::IceStorm::TopicManager& l, const ::IceStorm::TopicManager& r)
01338 {
01339     return static_cast<const ::Ice::Object&>(l) < static_cast<const ::Ice::Object&>(r);
01340 }
01341 
01342 void
01343 IceStorm::__patch__TopicManagerPtr(void* __addr, ::Ice::ObjectPtr& v)
01344 {
01345     ::IceStorm::TopicManagerPtr* p = static_cast< ::IceStorm::TopicManagerPtr*>(__addr);
01346     assert(p);
01347     *p = ::IceStorm::TopicManagerPtr::dynamicCast(v);
01348     if(v && !*p)
01349     {
01350         IceInternal::Ex::throwUOE(::IceStorm::TopicManager::ice_staticId(), v->ice_id());
01351     }
01352 }
01353 
01354 ::std::string
01355 IceProxy::IceStorm::Topic::getName(const ::Ice::Context* __ctx)
01356 {
01357     int __cnt = 0;
01358     while(true)
01359     {
01360         ::IceInternal::RequestHandlerPtr __handler;
01361         try
01362         {
01363             __checkTwowayOnly(__IceStorm__Topic__getName_name);
01364             __handler = __getRequestHandler();
01365             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__getName_name, ::Ice::Nonmutating, __ctx);
01366             bool __ok = __outS.invoke();
01367             try
01368             {
01369                 if(!__ok)
01370                 {
01371                     __outS.is()->throwUnknownUserException();
01372                 }
01373                 ::std::string __ret;
01374                 ::IceInternal::BasicStream* __is = __outS.is();
01375                 __is->read(__ret);
01376                 return __ret;
01377             }
01378             catch(const ::Ice::LocalException& __ex)
01379             {
01380                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01381             }
01382 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01383             catch(...)
01384             {
01385                 throw;
01386             }
01387 #endif
01388         }
01389         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01390         {
01391             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
01392         }
01393         catch(const ::Ice::LocalException& __ex)
01394         {
01395             __handleException(__handler, __ex, __cnt);
01396         }
01397 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01398         catch(...)
01399         {
01400             throw;
01401         }
01402 #endif
01403     }
01404 }
01405 
01406 ::Ice::ObjectPrx
01407 IceProxy::IceStorm::Topic::getPublisher(const ::Ice::Context* __ctx)
01408 {
01409     int __cnt = 0;
01410     while(true)
01411     {
01412         ::IceInternal::RequestHandlerPtr __handler;
01413         try
01414         {
01415             __checkTwowayOnly(__IceStorm__Topic__getPublisher_name);
01416             __handler = __getRequestHandler();
01417             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__getPublisher_name, ::Ice::Nonmutating, __ctx);
01418             bool __ok = __outS.invoke();
01419             try
01420             {
01421                 if(!__ok)
01422                 {
01423                     __outS.is()->throwUnknownUserException();
01424                 }
01425                 ::Ice::ObjectPrx __ret;
01426                 ::IceInternal::BasicStream* __is = __outS.is();
01427                 __is->read(__ret);
01428                 return __ret;
01429             }
01430             catch(const ::Ice::LocalException& __ex)
01431             {
01432                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01433             }
01434 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01435             catch(...)
01436             {
01437                 throw;
01438             }
01439 #endif
01440         }
01441         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01442         {
01443             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
01444         }
01445         catch(const ::Ice::LocalException& __ex)
01446         {
01447             __handleException(__handler, __ex, __cnt);
01448         }
01449 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01450         catch(...)
01451         {
01452             throw;
01453         }
01454 #endif
01455     }
01456 }
01457 
01458 ::Ice::ObjectPrx
01459 IceProxy::IceStorm::Topic::getNonReplicatedPublisher(const ::Ice::Context* __ctx)
01460 {
01461     int __cnt = 0;
01462     while(true)
01463     {
01464         ::IceInternal::RequestHandlerPtr __handler;
01465         try
01466         {
01467             __checkTwowayOnly(__IceStorm__Topic__getNonReplicatedPublisher_name);
01468             __handler = __getRequestHandler();
01469             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__getNonReplicatedPublisher_name, ::Ice::Nonmutating, __ctx);
01470             bool __ok = __outS.invoke();
01471             try
01472             {
01473                 if(!__ok)
01474                 {
01475                     __outS.is()->throwUnknownUserException();
01476                 }
01477                 ::Ice::ObjectPrx __ret;
01478                 ::IceInternal::BasicStream* __is = __outS.is();
01479                 __is->read(__ret);
01480                 return __ret;
01481             }
01482             catch(const ::Ice::LocalException& __ex)
01483             {
01484                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01485             }
01486 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01487             catch(...)
01488             {
01489                 throw;
01490             }
01491 #endif
01492         }
01493         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01494         {
01495             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
01496         }
01497         catch(const ::Ice::LocalException& __ex)
01498         {
01499             __handleException(__handler, __ex, __cnt);
01500         }
01501 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01502         catch(...)
01503         {
01504             throw;
01505         }
01506 #endif
01507     }
01508 }
01509 
01510 void
01511 IceProxy::IceStorm::Topic::subscribe(const ::IceStorm::QoS& theQoS, const ::Ice::ObjectPrx& subscriber, const ::Ice::Context* __ctx)
01512 {
01513     int __cnt = 0;
01514     while(true)
01515     {
01516         ::IceInternal::RequestHandlerPtr __handler;
01517         try
01518         {
01519             __handler = __getRequestHandler();
01520             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__subscribe_name, ::Ice::Normal, __ctx);
01521             try
01522             {
01523                 ::IceInternal::BasicStream* __os = __outS.os();
01524                 ::IceStorm::__writeQoS(__os, theQoS);
01525                 __os->write(subscriber);
01526             }
01527             catch(const ::Ice::LocalException& __ex)
01528             {
01529                 __outS.abort(__ex);
01530             }
01531             bool __ok = __outS.invoke();
01532             try
01533             {
01534                 if(!__ok)
01535                 {
01536                     __outS.is()->throwUnknownUserException();
01537                 }
01538             }
01539             catch(const ::Ice::LocalException& __ex)
01540             {
01541                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01542             }
01543 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01544             catch(...)
01545             {
01546                 throw;
01547             }
01548 #endif
01549             return;
01550         }
01551         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01552         {
01553             __handleExceptionWrapper(__handler, __ex);
01554         }
01555         catch(const ::Ice::LocalException& __ex)
01556         {
01557             __handleException(__handler, __ex, __cnt);
01558         }
01559 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01560         catch(...)
01561         {
01562             throw;
01563         }
01564 #endif
01565     }
01566 }
01567 
01568 ::Ice::ObjectPrx
01569 IceProxy::IceStorm::Topic::subscribeAndGetPublisher(const ::IceStorm::QoS& theQoS, const ::Ice::ObjectPrx& subscriber, const ::Ice::Context* __ctx)
01570 {
01571     int __cnt = 0;
01572     while(true)
01573     {
01574         ::IceInternal::RequestHandlerPtr __handler;
01575         try
01576         {
01577             __checkTwowayOnly(__IceStorm__Topic__subscribeAndGetPublisher_name);
01578             __handler = __getRequestHandler();
01579             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__subscribeAndGetPublisher_name, ::Ice::Normal, __ctx);
01580             try
01581             {
01582                 ::IceInternal::BasicStream* __os = __outS.os();
01583                 ::IceStorm::__writeQoS(__os, theQoS);
01584                 __os->write(subscriber);
01585             }
01586             catch(const ::Ice::LocalException& __ex)
01587             {
01588                 __outS.abort(__ex);
01589             }
01590             bool __ok = __outS.invoke();
01591             try
01592             {
01593                 if(!__ok)
01594                 {
01595                     try
01596                     {
01597                         __outS.is()->throwException();
01598                     }
01599                     catch(const ::IceStorm::AlreadySubscribed&)
01600                     {
01601                         throw;
01602                     }
01603                     catch(const ::IceStorm::BadQoS&)
01604                     {
01605                         throw;
01606                     }
01607                     catch(const ::Ice::UserException& __ex)
01608                     {
01609                         ::Ice::UnknownUserException __uex(__FILE__, __LINE__);
01610                         __uex.unknown = __ex.ice_name();
01611                         throw __uex;
01612                     }
01613                 }
01614                 ::Ice::ObjectPrx __ret;
01615                 ::IceInternal::BasicStream* __is = __outS.is();
01616                 __is->read(__ret);
01617                 return __ret;
01618             }
01619             catch(const ::Ice::LocalException& __ex)
01620             {
01621                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01622             }
01623 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01624             catch(...)
01625             {
01626                 throw;
01627             }
01628 #endif
01629         }
01630         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01631         {
01632             __handleExceptionWrapper(__handler, __ex);
01633         }
01634         catch(const ::Ice::LocalException& __ex)
01635         {
01636             __handleException(__handler, __ex, __cnt);
01637         }
01638 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01639         catch(...)
01640         {
01641             throw;
01642         }
01643 #endif
01644     }
01645 }
01646 
01647 void
01648 IceProxy::IceStorm::Topic::unsubscribe(const ::Ice::ObjectPrx& subscriber, const ::Ice::Context* __ctx)
01649 {
01650     int __cnt = 0;
01651     while(true)
01652     {
01653         ::IceInternal::RequestHandlerPtr __handler;
01654         try
01655         {
01656             __handler = __getRequestHandler();
01657             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__unsubscribe_name, ::Ice::Idempotent, __ctx);
01658             try
01659             {
01660                 ::IceInternal::BasicStream* __os = __outS.os();
01661                 __os->write(subscriber);
01662             }
01663             catch(const ::Ice::LocalException& __ex)
01664             {
01665                 __outS.abort(__ex);
01666             }
01667             bool __ok = __outS.invoke();
01668             try
01669             {
01670                 if(!__ok)
01671                 {
01672                     __outS.is()->throwUnknownUserException();
01673                 }
01674             }
01675             catch(const ::Ice::LocalException& __ex)
01676             {
01677                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01678             }
01679 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01680             catch(...)
01681             {
01682                 throw;
01683             }
01684 #endif
01685             return;
01686         }
01687         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01688         {
01689             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
01690         }
01691         catch(const ::Ice::LocalException& __ex)
01692         {
01693             __handleException(__handler, __ex, __cnt);
01694         }
01695 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01696         catch(...)
01697         {
01698             throw;
01699         }
01700 #endif
01701     }
01702 }
01703 
01704 void
01705 IceProxy::IceStorm::Topic::link(const ::IceStorm::TopicPrx& linkTo, ::Ice::Int cost, const ::Ice::Context* __ctx)
01706 {
01707     int __cnt = 0;
01708     while(true)
01709     {
01710         ::IceInternal::RequestHandlerPtr __handler;
01711         try
01712         {
01713             __checkTwowayOnly(__IceStorm__Topic__link_name);
01714             __handler = __getRequestHandler();
01715             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__link_name, ::Ice::Normal, __ctx);
01716             try
01717             {
01718                 ::IceInternal::BasicStream* __os = __outS.os();
01719                 __os->write(::Ice::ObjectPrx(::IceInternal::upCast(linkTo.get())));
01720                 __os->write(cost);
01721             }
01722             catch(const ::Ice::LocalException& __ex)
01723             {
01724                 __outS.abort(__ex);
01725             }
01726             bool __ok = __outS.invoke();
01727             try
01728             {
01729                 if(!__ok)
01730                 {
01731                     try
01732                     {
01733                         __outS.is()->throwException();
01734                     }
01735                     catch(const ::IceStorm::LinkExists&)
01736                     {
01737                         throw;
01738                     }
01739                     catch(const ::Ice::UserException& __ex)
01740                     {
01741                         ::Ice::UnknownUserException __uex(__FILE__, __LINE__);
01742                         __uex.unknown = __ex.ice_name();
01743                         throw __uex;
01744                     }
01745                 }
01746             }
01747             catch(const ::Ice::LocalException& __ex)
01748             {
01749                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01750             }
01751 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01752             catch(...)
01753             {
01754                 throw;
01755             }
01756 #endif
01757             return;
01758         }
01759         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01760         {
01761             __handleExceptionWrapper(__handler, __ex);
01762         }
01763         catch(const ::Ice::LocalException& __ex)
01764         {
01765             __handleException(__handler, __ex, __cnt);
01766         }
01767 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01768         catch(...)
01769         {
01770             throw;
01771         }
01772 #endif
01773     }
01774 }
01775 
01776 void
01777 IceProxy::IceStorm::Topic::unlink(const ::IceStorm::TopicPrx& linkTo, const ::Ice::Context* __ctx)
01778 {
01779     int __cnt = 0;
01780     while(true)
01781     {
01782         ::IceInternal::RequestHandlerPtr __handler;
01783         try
01784         {
01785             __checkTwowayOnly(__IceStorm__Topic__unlink_name);
01786             __handler = __getRequestHandler();
01787             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__unlink_name, ::Ice::Normal, __ctx);
01788             try
01789             {
01790                 ::IceInternal::BasicStream* __os = __outS.os();
01791                 __os->write(::Ice::ObjectPrx(::IceInternal::upCast(linkTo.get())));
01792             }
01793             catch(const ::Ice::LocalException& __ex)
01794             {
01795                 __outS.abort(__ex);
01796             }
01797             bool __ok = __outS.invoke();
01798             try
01799             {
01800                 if(!__ok)
01801                 {
01802                     try
01803                     {
01804                         __outS.is()->throwException();
01805                     }
01806                     catch(const ::IceStorm::NoSuchLink&)
01807                     {
01808                         throw;
01809                     }
01810                     catch(const ::Ice::UserException& __ex)
01811                     {
01812                         ::Ice::UnknownUserException __uex(__FILE__, __LINE__);
01813                         __uex.unknown = __ex.ice_name();
01814                         throw __uex;
01815                     }
01816                 }
01817             }
01818             catch(const ::Ice::LocalException& __ex)
01819             {
01820                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01821             }
01822 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01823             catch(...)
01824             {
01825                 throw;
01826             }
01827 #endif
01828             return;
01829         }
01830         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01831         {
01832             __handleExceptionWrapper(__handler, __ex);
01833         }
01834         catch(const ::Ice::LocalException& __ex)
01835         {
01836             __handleException(__handler, __ex, __cnt);
01837         }
01838 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01839         catch(...)
01840         {
01841             throw;
01842         }
01843 #endif
01844     }
01845 }
01846 
01847 ::IceStorm::LinkInfoSeq
01848 IceProxy::IceStorm::Topic::getLinkInfoSeq(const ::Ice::Context* __ctx)
01849 {
01850     int __cnt = 0;
01851     while(true)
01852     {
01853         ::IceInternal::RequestHandlerPtr __handler;
01854         try
01855         {
01856             __checkTwowayOnly(__IceStorm__Topic__getLinkInfoSeq_name);
01857             __handler = __getRequestHandler();
01858             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__getLinkInfoSeq_name, ::Ice::Nonmutating, __ctx);
01859             bool __ok = __outS.invoke();
01860             try
01861             {
01862                 if(!__ok)
01863                 {
01864                     __outS.is()->throwUnknownUserException();
01865                 }
01866                 ::IceStorm::LinkInfoSeq __ret;
01867                 ::IceInternal::BasicStream* __is = __outS.is();
01868                 ::IceStorm::__readLinkInfoSeq(__is, __ret);
01869                 return __ret;
01870             }
01871             catch(const ::Ice::LocalException& __ex)
01872             {
01873                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01874             }
01875 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01876             catch(...)
01877             {
01878                 throw;
01879             }
01880 #endif
01881         }
01882         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01883         {
01884             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
01885         }
01886         catch(const ::Ice::LocalException& __ex)
01887         {
01888             __handleException(__handler, __ex, __cnt);
01889         }
01890 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01891         catch(...)
01892         {
01893             throw;
01894         }
01895 #endif
01896     }
01897 }
01898 
01899 void
01900 IceProxy::IceStorm::Topic::destroy(const ::Ice::Context* __ctx)
01901 {
01902     int __cnt = 0;
01903     while(true)
01904     {
01905         ::IceInternal::RequestHandlerPtr __handler;
01906         try
01907         {
01908             __handler = __getRequestHandler();
01909             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__Topic__destroy_name, ::Ice::Normal, __ctx);
01910             bool __ok = __outS.invoke();
01911             try
01912             {
01913                 if(!__ok)
01914                 {
01915                     __outS.is()->throwUnknownUserException();
01916                 }
01917             }
01918             catch(const ::Ice::LocalException& __ex)
01919             {
01920                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01921             }
01922 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01923             catch(...)
01924             {
01925                 throw;
01926             }
01927 #endif
01928             return;
01929         }
01930         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
01931         {
01932             __handleExceptionWrapper(__handler, __ex);
01933         }
01934         catch(const ::Ice::LocalException& __ex)
01935         {
01936             __handleException(__handler, __ex, __cnt);
01937         }
01938 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
01939         catch(...)
01940         {
01941             throw;
01942         }
01943 #endif
01944     }
01945 }
01946 
01947 const ::std::string&
01948 IceProxy::IceStorm::Topic::ice_staticId()
01949 {
01950     return __IceStorm__Topic_ids[1];
01951 }
01952 
01953 ::IceProxy::Ice::Object*
01954 IceProxy::IceStorm::Topic::__newInstance() const
01955 {
01956     return new Topic;
01957 }
01958 
01959 ::IceStorm::TopicPrx
01960 IceProxy::IceStorm::TopicManager::create(const ::std::string& name, const ::Ice::Context* __ctx)
01961 {
01962     int __cnt = 0;
01963     while(true)
01964     {
01965         ::IceInternal::RequestHandlerPtr __handler;
01966         try
01967         {
01968             __checkTwowayOnly(__IceStorm__TopicManager__create_name);
01969             __handler = __getRequestHandler();
01970             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__TopicManager__create_name, ::Ice::Normal, __ctx);
01971             try
01972             {
01973                 ::IceInternal::BasicStream* __os = __outS.os();
01974                 __os->write(name);
01975             }
01976             catch(const ::Ice::LocalException& __ex)
01977             {
01978                 __outS.abort(__ex);
01979             }
01980             bool __ok = __outS.invoke();
01981             try
01982             {
01983                 if(!__ok)
01984                 {
01985                     try
01986                     {
01987                         __outS.is()->throwException();
01988                     }
01989                     catch(const ::IceStorm::TopicExists&)
01990                     {
01991                         throw;
01992                     }
01993                     catch(const ::Ice::UserException& __ex)
01994                     {
01995                         ::Ice::UnknownUserException __uex(__FILE__, __LINE__);
01996                         __uex.unknown = __ex.ice_name();
01997                         throw __uex;
01998                     }
01999                 }
02000                 ::IceStorm::TopicPrx __ret;
02001                 ::IceInternal::BasicStream* __is = __outS.is();
02002                 ::IceStorm::__read(__is, __ret);
02003                 return __ret;
02004             }
02005             catch(const ::Ice::LocalException& __ex)
02006             {
02007                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
02008             }
02009 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02010             catch(...)
02011             {
02012                 throw;
02013             }
02014 #endif
02015         }
02016         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
02017         {
02018             __handleExceptionWrapper(__handler, __ex);
02019         }
02020         catch(const ::Ice::LocalException& __ex)
02021         {
02022             __handleException(__handler, __ex, __cnt);
02023         }
02024 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02025         catch(...)
02026         {
02027             throw;
02028         }
02029 #endif
02030     }
02031 }
02032 
02033 ::IceStorm::TopicPrx
02034 IceProxy::IceStorm::TopicManager::retrieve(const ::std::string& name, const ::Ice::Context* __ctx)
02035 {
02036     int __cnt = 0;
02037     while(true)
02038     {
02039         ::IceInternal::RequestHandlerPtr __handler;
02040         try
02041         {
02042             __checkTwowayOnly(__IceStorm__TopicManager__retrieve_name);
02043             __handler = __getRequestHandler();
02044             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__TopicManager__retrieve_name, ::Ice::Nonmutating, __ctx);
02045             try
02046             {
02047                 ::IceInternal::BasicStream* __os = __outS.os();
02048                 __os->write(name);
02049             }
02050             catch(const ::Ice::LocalException& __ex)
02051             {
02052                 __outS.abort(__ex);
02053             }
02054             bool __ok = __outS.invoke();
02055             try
02056             {
02057                 if(!__ok)
02058                 {
02059                     try
02060                     {
02061                         __outS.is()->throwException();
02062                     }
02063                     catch(const ::IceStorm::NoSuchTopic&)
02064                     {
02065                         throw;
02066                     }
02067                     catch(const ::Ice::UserException& __ex)
02068                     {
02069                         ::Ice::UnknownUserException __uex(__FILE__, __LINE__);
02070                         __uex.unknown = __ex.ice_name();
02071                         throw __uex;
02072                     }
02073                 }
02074                 ::IceStorm::TopicPrx __ret;
02075                 ::IceInternal::BasicStream* __is = __outS.is();
02076                 ::IceStorm::__read(__is, __ret);
02077                 return __ret;
02078             }
02079             catch(const ::Ice::LocalException& __ex)
02080             {
02081                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
02082             }
02083 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02084             catch(...)
02085             {
02086                 throw;
02087             }
02088 #endif
02089         }
02090         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
02091         {
02092             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
02093         }
02094         catch(const ::Ice::LocalException& __ex)
02095         {
02096             __handleException(__handler, __ex, __cnt);
02097         }
02098 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02099         catch(...)
02100         {
02101             throw;
02102         }
02103 #endif
02104     }
02105 }
02106 
02107 ::IceStorm::TopicDict
02108 IceProxy::IceStorm::TopicManager::retrieveAll(const ::Ice::Context* __ctx)
02109 {
02110     int __cnt = 0;
02111     while(true)
02112     {
02113         ::IceInternal::RequestHandlerPtr __handler;
02114         try
02115         {
02116             __checkTwowayOnly(__IceStorm__TopicManager__retrieveAll_name);
02117             __handler = __getRequestHandler();
02118             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__TopicManager__retrieveAll_name, ::Ice::Nonmutating, __ctx);
02119             bool __ok = __outS.invoke();
02120             try
02121             {
02122                 if(!__ok)
02123                 {
02124                     __outS.is()->throwUnknownUserException();
02125                 }
02126                 ::IceStorm::TopicDict __ret;
02127                 ::IceInternal::BasicStream* __is = __outS.is();
02128                 ::IceStorm::__readTopicDict(__is, __ret);
02129                 return __ret;
02130             }
02131             catch(const ::Ice::LocalException& __ex)
02132             {
02133                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
02134             }
02135 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02136             catch(...)
02137             {
02138                 throw;
02139             }
02140 #endif
02141         }
02142         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
02143         {
02144             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
02145         }
02146         catch(const ::Ice::LocalException& __ex)
02147         {
02148             __handleException(__handler, __ex, __cnt);
02149         }
02150 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02151         catch(...)
02152         {
02153             throw;
02154         }
02155 #endif
02156     }
02157 }
02158 
02159 ::Ice::SliceChecksumDict
02160 IceProxy::IceStorm::TopicManager::getSliceChecksums(const ::Ice::Context* __ctx)
02161 {
02162     int __cnt = 0;
02163     while(true)
02164     {
02165         ::IceInternal::RequestHandlerPtr __handler;
02166         try
02167         {
02168             __checkTwowayOnly(__IceStorm__TopicManager__getSliceChecksums_name);
02169             __handler = __getRequestHandler();
02170             ::IceInternal::Outgoing __outS(__handler.get(), _reference.get(), __IceStorm__TopicManager__getSliceChecksums_name, ::Ice::Nonmutating, __ctx);
02171             bool __ok = __outS.invoke();
02172             try
02173             {
02174                 if(!__ok)
02175                 {
02176                     __outS.is()->throwUnknownUserException();
02177                 }
02178                 ::Ice::SliceChecksumDict __ret;
02179                 ::IceInternal::BasicStream* __is = __outS.is();
02180                 ::Ice::__readSliceChecksumDict(__is, __ret);
02181                 return __ret;
02182             }
02183             catch(const ::Ice::LocalException& __ex)
02184             {
02185                 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
02186             }
02187 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02188             catch(...)
02189             {
02190                 throw;
02191             }
02192 #endif
02193         }
02194         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
02195         {
02196             __handleExceptionWrapperRelaxed(__handler, __ex, __cnt);
02197         }
02198         catch(const ::Ice::LocalException& __ex)
02199         {
02200             __handleException(__handler, __ex, __cnt);
02201         }
02202 #if defined(_MSC_VER) && defined(_M_ARM) // ARM bug.
02203         catch(...)
02204         {
02205             throw;
02206         }
02207 #endif
02208     }
02209 }
02210 
02211 const ::std::string&
02212 IceProxy::IceStorm::TopicManager::ice_staticId()
02213 {
02214     return __IceStorm__TopicManager_ids[1];
02215 }
02216 
02217 ::IceProxy::Ice::Object*
02218 IceProxy::IceStorm::TopicManager::__newInstance() const
02219 {
02220     return new TopicManager;
02221 }
Generated on Sun May 8 08:05:39 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3