00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <ImageIce.ice.H>
00014 #include <Ice/LocalException.h>
00015 #include <Ice/ObjectFactory.h>
00016 #include <Ice/BasicStream.h>
00017 #include <IceUtil/Iterator.h>
00018 #include <IceUtil/ScopedArray.h>
00019
00020 #ifndef ICE_IGNORE_VERSION
00021 # if ICE_INT_VERSION / 100 != 303
00022 # error Ice version mismatch!
00023 # endif
00024 # if ICE_INT_VERSION % 100 > 50
00025 # error Beta header file detected
00026 # endif
00027 # if ICE_INT_VERSION % 100 < 1
00028 # error Ice patch level mismatch!
00029 # endif
00030 #endif
00031
00032 static const ::std::string __ImageIceMod__ImageShuttle__transferImage_name = "transferImage";
00033
00034 ::Ice::Object* IceInternal::upCast(::ImageIceMod::ImageShuttle* p) { return p; }
00035 ::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy::ImageIceMod::ImageShuttle* p) { return p; }
00036
00037 void
00038 ImageIceMod::__read(::IceInternal::BasicStream* __is, ::ImageIceMod::ImageShuttlePrx& v)
00039 {
00040 ::Ice::ObjectPrx proxy;
00041 __is->read(proxy);
00042 if(!proxy)
00043 {
00044 v = 0;
00045 }
00046 else
00047 {
00048 v = new ::IceProxy::ImageIceMod::ImageShuttle;
00049 v->__copyFrom(proxy);
00050 }
00051 }
00052
00053 bool
00054 ImageIceMod::DimsIce::operator==(const DimsIce& __rhs) const
00055 {
00056 if(this == &__rhs)
00057 {
00058 return true;
00059 }
00060 if(w != __rhs.w)
00061 {
00062 return false;
00063 }
00064 if(h != __rhs.h)
00065 {
00066 return false;
00067 }
00068 return true;
00069 }
00070
00071 bool
00072 ImageIceMod::DimsIce::operator<(const DimsIce& __rhs) const
00073 {
00074 if(this == &__rhs)
00075 {
00076 return false;
00077 }
00078 if(w < __rhs.w)
00079 {
00080 return true;
00081 }
00082 else if(__rhs.w < w)
00083 {
00084 return false;
00085 }
00086 if(h < __rhs.h)
00087 {
00088 return true;
00089 }
00090 else if(__rhs.h < h)
00091 {
00092 return false;
00093 }
00094 return false;
00095 }
00096
00097 void
00098 ImageIceMod::DimsIce::__write(::IceInternal::BasicStream* __os) const
00099 {
00100 __os->write(w);
00101 __os->write(h);
00102 }
00103
00104 void
00105 ImageIceMod::DimsIce::__read(::IceInternal::BasicStream* __is)
00106 {
00107 __is->read(w);
00108 __is->read(h);
00109 }
00110
00111 bool
00112 ImageIceMod::SensorPose::operator==(const SensorPose& __rhs) const
00113 {
00114 if(this == &__rhs)
00115 {
00116 return true;
00117 }
00118 if(val != __rhs.val)
00119 {
00120 return false;
00121 }
00122 if(weight != __rhs.weight)
00123 {
00124 return false;
00125 }
00126 if(decay != __rhs.decay)
00127 {
00128 return false;
00129 }
00130 return true;
00131 }
00132
00133 bool
00134 ImageIceMod::SensorPose::operator<(const SensorPose& __rhs) const
00135 {
00136 if(this == &__rhs)
00137 {
00138 return false;
00139 }
00140 if(val < __rhs.val)
00141 {
00142 return true;
00143 }
00144 else if(__rhs.val < val)
00145 {
00146 return false;
00147 }
00148 if(weight < __rhs.weight)
00149 {
00150 return true;
00151 }
00152 else if(__rhs.weight < weight)
00153 {
00154 return false;
00155 }
00156 if(decay < __rhs.decay)
00157 {
00158 return true;
00159 }
00160 else if(__rhs.decay < decay)
00161 {
00162 return false;
00163 }
00164 return false;
00165 }
00166
00167 void
00168 ImageIceMod::SensorPose::__write(::IceInternal::BasicStream* __os) const
00169 {
00170 __os->write(val);
00171 __os->write(weight);
00172 __os->write(decay);
00173 }
00174
00175 void
00176 ImageIceMod::SensorPose::__read(::IceInternal::BasicStream* __is)
00177 {
00178 __is->read(val);
00179 __is->read(weight);
00180 __is->read(decay);
00181 }
00182
00183 void
00184 ImageIceMod::__write(::IceInternal::BasicStream* __os, ::ImageIceMod::SensorType v)
00185 {
00186 __os->write(static_cast< ::Ice::Byte>(v), 4);
00187 }
00188
00189 void
00190 ImageIceMod::__read(::IceInternal::BasicStream* __is, ::ImageIceMod::SensorType& v)
00191 {
00192 ::Ice::Byte val;
00193 __is->read(val, 4);
00194 v = static_cast< ::ImageIceMod::SensorType>(val);
00195 }
00196
00197 bool
00198 ImageIceMod::SensorVote::operator==(const SensorVote& __rhs) const
00199 {
00200 if(this == &__rhs)
00201 {
00202 return true;
00203 }
00204 if(type != __rhs.type)
00205 {
00206 return false;
00207 }
00208 if(heading != __rhs.heading)
00209 {
00210 return false;
00211 }
00212 if(depth != __rhs.depth)
00213 {
00214 return false;
00215 }
00216 return true;
00217 }
00218
00219 bool
00220 ImageIceMod::SensorVote::operator<(const SensorVote& __rhs) const
00221 {
00222 if(this == &__rhs)
00223 {
00224 return false;
00225 }
00226 if(type < __rhs.type)
00227 {
00228 return true;
00229 }
00230 else if(__rhs.type < type)
00231 {
00232 return false;
00233 }
00234 if(heading < __rhs.heading)
00235 {
00236 return true;
00237 }
00238 else if(__rhs.heading < heading)
00239 {
00240 return false;
00241 }
00242 if(depth < __rhs.depth)
00243 {
00244 return true;
00245 }
00246 else if(__rhs.depth < depth)
00247 {
00248 return false;
00249 }
00250 return false;
00251 }
00252
00253 void
00254 ImageIceMod::SensorVote::__write(::IceInternal::BasicStream* __os) const
00255 {
00256 ::ImageIceMod::__write(__os, type);
00257 heading.__write(__os);
00258 depth.__write(__os);
00259 }
00260
00261 void
00262 ImageIceMod::SensorVote::__read(::IceInternal::BasicStream* __is)
00263 {
00264 ::ImageIceMod::__read(__is, type);
00265 heading.__read(__is);
00266 depth.__read(__is);
00267 }
00268
00269 bool
00270 ImageIceMod::WaypointIce::operator==(const WaypointIce& __rhs) const
00271 {
00272 if(this == &__rhs)
00273 {
00274 return true;
00275 }
00276 if(x != __rhs.x)
00277 {
00278 return false;
00279 }
00280 if(y != __rhs.y)
00281 {
00282 return false;
00283 }
00284 if(depth != __rhs.depth)
00285 {
00286 return false;
00287 }
00288 if(heading != __rhs.heading)
00289 {
00290 return false;
00291 }
00292 return true;
00293 }
00294
00295 bool
00296 ImageIceMod::WaypointIce::operator<(const WaypointIce& __rhs) const
00297 {
00298 if(this == &__rhs)
00299 {
00300 return false;
00301 }
00302 if(x < __rhs.x)
00303 {
00304 return true;
00305 }
00306 else if(__rhs.x < x)
00307 {
00308 return false;
00309 }
00310 if(y < __rhs.y)
00311 {
00312 return true;
00313 }
00314 else if(__rhs.y < y)
00315 {
00316 return false;
00317 }
00318 if(depth < __rhs.depth)
00319 {
00320 return true;
00321 }
00322 else if(__rhs.depth < depth)
00323 {
00324 return false;
00325 }
00326 if(heading < __rhs.heading)
00327 {
00328 return true;
00329 }
00330 else if(__rhs.heading < heading)
00331 {
00332 return false;
00333 }
00334 return false;
00335 }
00336
00337 void
00338 ImageIceMod::WaypointIce::__write(::IceInternal::BasicStream* __os) const
00339 {
00340 __os->write(x);
00341 __os->write(y);
00342 __os->write(depth);
00343 __os->write(heading);
00344 }
00345
00346 void
00347 ImageIceMod::WaypointIce::__read(::IceInternal::BasicStream* __is)
00348 {
00349 __is->read(x);
00350 __is->read(y);
00351 __is->read(depth);
00352 __is->read(heading);
00353 }
00354
00355 bool
00356 ImageIceMod::Point2DIce::operator==(const Point2DIce& __rhs) const
00357 {
00358 if(this == &__rhs)
00359 {
00360 return true;
00361 }
00362 if(i != __rhs.i)
00363 {
00364 return false;
00365 }
00366 if(j != __rhs.j)
00367 {
00368 return false;
00369 }
00370 return true;
00371 }
00372
00373 bool
00374 ImageIceMod::Point2DIce::operator<(const Point2DIce& __rhs) const
00375 {
00376 if(this == &__rhs)
00377 {
00378 return false;
00379 }
00380 if(i < __rhs.i)
00381 {
00382 return true;
00383 }
00384 else if(__rhs.i < i)
00385 {
00386 return false;
00387 }
00388 if(j < __rhs.j)
00389 {
00390 return true;
00391 }
00392 else if(__rhs.j < j)
00393 {
00394 return false;
00395 }
00396 return false;
00397 }
00398
00399 void
00400 ImageIceMod::Point2DIce::__write(::IceInternal::BasicStream* __os) const
00401 {
00402 __os->write(i);
00403 __os->write(j);
00404 }
00405
00406 void
00407 ImageIceMod::Point2DIce::__read(::IceInternal::BasicStream* __is)
00408 {
00409 __is->read(i);
00410 __is->read(j);
00411 }
00412
00413 bool
00414 ImageIceMod::Point3DIce::operator==(const Point3DIce& __rhs) const
00415 {
00416 if(this == &__rhs)
00417 {
00418 return true;
00419 }
00420 if(x != __rhs.x)
00421 {
00422 return false;
00423 }
00424 if(y != __rhs.y)
00425 {
00426 return false;
00427 }
00428 if(z != __rhs.z)
00429 {
00430 return false;
00431 }
00432 return true;
00433 }
00434
00435 bool
00436 ImageIceMod::Point3DIce::operator<(const Point3DIce& __rhs) const
00437 {
00438 if(this == &__rhs)
00439 {
00440 return false;
00441 }
00442 if(x < __rhs.x)
00443 {
00444 return true;
00445 }
00446 else if(__rhs.x < x)
00447 {
00448 return false;
00449 }
00450 if(y < __rhs.y)
00451 {
00452 return true;
00453 }
00454 else if(__rhs.y < y)
00455 {
00456 return false;
00457 }
00458 if(z < __rhs.z)
00459 {
00460 return true;
00461 }
00462 else if(__rhs.z < z)
00463 {
00464 return false;
00465 }
00466 return false;
00467 }
00468
00469 void
00470 ImageIceMod::Point3DIce::__write(::IceInternal::BasicStream* __os) const
00471 {
00472 __os->write(x);
00473 __os->write(y);
00474 __os->write(z);
00475 }
00476
00477 void
00478 ImageIceMod::Point3DIce::__read(::IceInternal::BasicStream* __is)
00479 {
00480 __is->read(x);
00481 __is->read(y);
00482 __is->read(z);
00483 }
00484
00485 bool
00486 ImageIceMod::RectangleIce::operator==(const RectangleIce& __rhs) const
00487 {
00488 if(this == &__rhs)
00489 {
00490 return true;
00491 }
00492 if(tl != __rhs.tl)
00493 {
00494 return false;
00495 }
00496 if(br != __rhs.br)
00497 {
00498 return false;
00499 }
00500 return true;
00501 }
00502
00503 bool
00504 ImageIceMod::RectangleIce::operator<(const RectangleIce& __rhs) const
00505 {
00506 if(this == &__rhs)
00507 {
00508 return false;
00509 }
00510 if(tl < __rhs.tl)
00511 {
00512 return true;
00513 }
00514 else if(__rhs.tl < tl)
00515 {
00516 return false;
00517 }
00518 if(br < __rhs.br)
00519 {
00520 return true;
00521 }
00522 else if(__rhs.br < br)
00523 {
00524 return false;
00525 }
00526 return false;
00527 }
00528
00529 void
00530 ImageIceMod::RectangleIce::__write(::IceInternal::BasicStream* __os) const
00531 {
00532 tl.__write(__os);
00533 br.__write(__os);
00534 }
00535
00536 void
00537 ImageIceMod::RectangleIce::__read(::IceInternal::BasicStream* __is)
00538 {
00539 tl.__read(__is);
00540 br.__read(__is);
00541 }
00542
00543 bool
00544 ImageIceMod::QuadrilateralIce::operator==(const QuadrilateralIce& __rhs) const
00545 {
00546 if(this == &__rhs)
00547 {
00548 return true;
00549 }
00550 if(tl != __rhs.tl)
00551 {
00552 return false;
00553 }
00554 if(tr != __rhs.tr)
00555 {
00556 return false;
00557 }
00558 if(bl != __rhs.bl)
00559 {
00560 return false;
00561 }
00562 if(br != __rhs.br)
00563 {
00564 return false;
00565 }
00566 if(center != __rhs.center)
00567 {
00568 return false;
00569 }
00570 if(ratio != __rhs.ratio)
00571 {
00572 return false;
00573 }
00574 if(angle != __rhs.angle)
00575 {
00576 return false;
00577 }
00578 return true;
00579 }
00580
00581 bool
00582 ImageIceMod::QuadrilateralIce::operator<(const QuadrilateralIce& __rhs) const
00583 {
00584 if(this == &__rhs)
00585 {
00586 return false;
00587 }
00588 if(tl < __rhs.tl)
00589 {
00590 return true;
00591 }
00592 else if(__rhs.tl < tl)
00593 {
00594 return false;
00595 }
00596 if(tr < __rhs.tr)
00597 {
00598 return true;
00599 }
00600 else if(__rhs.tr < tr)
00601 {
00602 return false;
00603 }
00604 if(bl < __rhs.bl)
00605 {
00606 return true;
00607 }
00608 else if(__rhs.bl < bl)
00609 {
00610 return false;
00611 }
00612 if(br < __rhs.br)
00613 {
00614 return true;
00615 }
00616 else if(__rhs.br < br)
00617 {
00618 return false;
00619 }
00620 if(center < __rhs.center)
00621 {
00622 return true;
00623 }
00624 else if(__rhs.center < center)
00625 {
00626 return false;
00627 }
00628 if(ratio < __rhs.ratio)
00629 {
00630 return true;
00631 }
00632 else if(__rhs.ratio < ratio)
00633 {
00634 return false;
00635 }
00636 if(angle < __rhs.angle)
00637 {
00638 return true;
00639 }
00640 else if(__rhs.angle < angle)
00641 {
00642 return false;
00643 }
00644 return false;
00645 }
00646
00647 void
00648 ImageIceMod::QuadrilateralIce::__write(::IceInternal::BasicStream* __os) const
00649 {
00650 tl.__write(__os);
00651 tr.__write(__os);
00652 bl.__write(__os);
00653 br.__write(__os);
00654 center.__write(__os);
00655 __os->write(ratio);
00656 __os->write(angle);
00657 }
00658
00659 void
00660 ImageIceMod::QuadrilateralIce::__read(::IceInternal::BasicStream* __is)
00661 {
00662 tl.__read(__is);
00663 tr.__read(__is);
00664 bl.__read(__is);
00665 br.__read(__is);
00666 center.__read(__is);
00667 __is->read(ratio);
00668 __is->read(angle);
00669 }
00670
00671 bool
00672 ImageIceMod::LineIce::operator==(const LineIce& __rhs) const
00673 {
00674 if(this == &__rhs)
00675 {
00676 return true;
00677 }
00678 if(pt1 != __rhs.pt1)
00679 {
00680 return false;
00681 }
00682 if(pt2 != __rhs.pt2)
00683 {
00684 return false;
00685 }
00686 if(angle != __rhs.angle)
00687 {
00688 return false;
00689 }
00690 return true;
00691 }
00692
00693 bool
00694 ImageIceMod::LineIce::operator<(const LineIce& __rhs) const
00695 {
00696 if(this == &__rhs)
00697 {
00698 return false;
00699 }
00700 if(pt1 < __rhs.pt1)
00701 {
00702 return true;
00703 }
00704 else if(__rhs.pt1 < pt1)
00705 {
00706 return false;
00707 }
00708 if(pt2 < __rhs.pt2)
00709 {
00710 return true;
00711 }
00712 else if(__rhs.pt2 < pt2)
00713 {
00714 return false;
00715 }
00716 if(angle < __rhs.angle)
00717 {
00718 return true;
00719 }
00720 else if(__rhs.angle < angle)
00721 {
00722 return false;
00723 }
00724 return false;
00725 }
00726
00727 void
00728 ImageIceMod::LineIce::__write(::IceInternal::BasicStream* __os) const
00729 {
00730 pt1.__write(__os);
00731 pt2.__write(__os);
00732 __os->write(angle);
00733 }
00734
00735 void
00736 ImageIceMod::LineIce::__read(::IceInternal::BasicStream* __is)
00737 {
00738 pt1.__read(__is);
00739 pt2.__read(__is);
00740 __is->read(angle);
00741 }
00742
00743 bool
00744 ImageIceMod::ImageIce::operator==(const ImageIce& __rhs) const
00745 {
00746 if(this == &__rhs)
00747 {
00748 return true;
00749 }
00750 if(data != __rhs.data)
00751 {
00752 return false;
00753 }
00754 if(width != __rhs.width)
00755 {
00756 return false;
00757 }
00758 if(height != __rhs.height)
00759 {
00760 return false;
00761 }
00762 if(pixSize != __rhs.pixSize)
00763 {
00764 return false;
00765 }
00766 return true;
00767 }
00768
00769 bool
00770 ImageIceMod::ImageIce::operator<(const ImageIce& __rhs) const
00771 {
00772 if(this == &__rhs)
00773 {
00774 return false;
00775 }
00776 if(data < __rhs.data)
00777 {
00778 return true;
00779 }
00780 else if(__rhs.data < data)
00781 {
00782 return false;
00783 }
00784 if(width < __rhs.width)
00785 {
00786 return true;
00787 }
00788 else if(__rhs.width < width)
00789 {
00790 return false;
00791 }
00792 if(height < __rhs.height)
00793 {
00794 return true;
00795 }
00796 else if(__rhs.height < height)
00797 {
00798 return false;
00799 }
00800 if(pixSize < __rhs.pixSize)
00801 {
00802 return true;
00803 }
00804 else if(__rhs.pixSize < pixSize)
00805 {
00806 return false;
00807 }
00808 return false;
00809 }
00810
00811 void
00812 ImageIceMod::ImageIce::__write(::IceInternal::BasicStream* __os) const
00813 {
00814 if(data.size() == 0)
00815 {
00816 __os->writeSize(0);
00817 }
00818 else
00819 {
00820 __os->write(&data[0], &data[0] + data.size());
00821 }
00822 __os->write(width);
00823 __os->write(height);
00824 __os->write(pixSize);
00825 }
00826
00827 void
00828 ImageIceMod::ImageIce::__read(::IceInternal::BasicStream* __is)
00829 {
00830 ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*> ___data;
00831 __is->read(___data);
00832 ::std::vector< ::Ice::Byte>(___data.first, ___data.second).swap(data);
00833 __is->read(width);
00834 __is->read(height);
00835 __is->read(pixSize);
00836 }
00837
00838 void
00839 ImageIceMod::__writeImageIceSeq(::IceInternal::BasicStream* __os, const ::ImageIceMod::ImageIce* begin, const ::ImageIceMod::ImageIce* end)
00840 {
00841 ::Ice::Int size = static_cast< ::Ice::Int>(end - begin);
00842 __os->writeSize(size);
00843 for(int i = 0; i < size; ++i)
00844 {
00845 begin[i].__write(__os);
00846 }
00847 }
00848
00849 void
00850 ImageIceMod::__readImageIceSeq(::IceInternal::BasicStream* __is, ::ImageIceMod::ImageIceSeq& v)
00851 {
00852 ::Ice::Int sz;
00853 __is->readSize(sz);
00854 __is->startSeq(sz, 13);
00855 v.resize(sz);
00856 for(int i = 0; i < sz; ++i)
00857 {
00858 v[i].__read(__is);
00859 __is->checkSeq();
00860 __is->endElement();
00861 }
00862 __is->endSeq(sz);
00863 }
00864
00865 void
00866 IceProxy::ImageIceMod::ImageShuttle::transferImage(const ::ImageIceMod::ImageIce& i, const ::Ice::Context* __ctx)
00867 {
00868 int __cnt = 0;
00869 while(true)
00870 {
00871 ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00872 try
00873 {
00874 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00875 IceUtil::DummyBCC dummy;
00876 #endif
00877 __delBase = __getDelegate(false);
00878 ::IceDelegate::ImageIceMod::ImageShuttle* __del = dynamic_cast< ::IceDelegate::ImageIceMod::ImageShuttle*>(__delBase.get());
00879 __del->transferImage(i, __ctx);
00880 return;
00881 }
00882 catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00883 {
00884 __handleExceptionWrapper(__delBase, __ex, 0);
00885 }
00886 catch(const ::Ice::LocalException& __ex)
00887 {
00888 __handleException(__delBase, __ex, 0, __cnt);
00889 }
00890 }
00891 }
00892
00893 const ::std::string&
00894 IceProxy::ImageIceMod::ImageShuttle::ice_staticId()
00895 {
00896 return ::ImageIceMod::ImageShuttle::ice_staticId();
00897 }
00898
00899 ::IceInternal::Handle< ::IceDelegateM::Ice::Object>
00900 IceProxy::ImageIceMod::ImageShuttle::__createDelegateM()
00901 {
00902 return ::IceInternal::Handle< ::IceDelegateM::Ice::Object>(new ::IceDelegateM::ImageIceMod::ImageShuttle);
00903 }
00904
00905 ::IceInternal::Handle< ::IceDelegateD::Ice::Object>
00906 IceProxy::ImageIceMod::ImageShuttle::__createDelegateD()
00907 {
00908 return ::IceInternal::Handle< ::IceDelegateD::Ice::Object>(new ::IceDelegateD::ImageIceMod::ImageShuttle);
00909 }
00910
00911 ::IceProxy::Ice::Object*
00912 IceProxy::ImageIceMod::ImageShuttle::__newInstance() const
00913 {
00914 return new ImageShuttle;
00915 }
00916
00917 void
00918 IceDelegateM::ImageIceMod::ImageShuttle::transferImage(const ::ImageIceMod::ImageIce& i, const ::Ice::Context* __context)
00919 {
00920 ::IceInternal::Outgoing __og(__handler.get(), __ImageIceMod__ImageShuttle__transferImage_name, ::Ice::Normal, __context);
00921 try
00922 {
00923 ::IceInternal::BasicStream* __os = __og.os();
00924 i.__write(__os);
00925 }
00926 catch(const ::Ice::LocalException& __ex)
00927 {
00928 __og.abort(__ex);
00929 }
00930 bool __ok = __og.invoke();
00931 if(!__og.is()->b.empty())
00932 {
00933 try
00934 {
00935 if(!__ok)
00936 {
00937 try
00938 {
00939 __og.throwUserException();
00940 }
00941 catch(const ::Ice::UserException& __ex)
00942 {
00943 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00944 throw __uue;
00945 }
00946 }
00947 __og.is()->skipEmptyEncaps();
00948 }
00949 catch(const ::Ice::LocalException& __ex)
00950 {
00951 throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00952 }
00953 }
00954 }
00955
00956 void
00957 IceDelegateD::ImageIceMod::ImageShuttle::transferImage(const ::ImageIceMod::ImageIce& i, const ::Ice::Context* __context)
00958 {
00959 class _DirectI : public ::IceInternal::Direct
00960 {
00961 public:
00962
00963 _DirectI(const ::ImageIceMod::ImageIce& i, const ::Ice::Current& __current) :
00964 ::IceInternal::Direct(__current),
00965 _m_i(i)
00966 {
00967 }
00968
00969 virtual ::Ice::DispatchStatus
00970 run(::Ice::Object* object)
00971 {
00972 ::ImageIceMod::ImageShuttle* servant = dynamic_cast< ::ImageIceMod::ImageShuttle*>(object);
00973 if(!servant)
00974 {
00975 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
00976 }
00977 servant->transferImage(_m_i, _current);
00978 return ::Ice::DispatchOK;
00979 }
00980
00981 private:
00982
00983 const ::ImageIceMod::ImageIce& _m_i;
00984 };
00985
00986 ::Ice::Current __current;
00987 __initCurrent(__current, __ImageIceMod__ImageShuttle__transferImage_name, ::Ice::Normal, __context);
00988 try
00989 {
00990 _DirectI __direct(i, __current);
00991 try
00992 {
00993 __direct.servant()->__collocDispatch(__direct);
00994 }
00995 catch(...)
00996 {
00997 __direct.destroy();
00998 throw;
00999 }
01000 __direct.destroy();
01001 }
01002 catch(const ::Ice::SystemException&)
01003 {
01004 throw;
01005 }
01006 catch(const ::IceInternal::LocalExceptionWrapper&)
01007 {
01008 throw;
01009 }
01010 catch(const ::std::exception& __ex)
01011 {
01012 ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01013 }
01014 catch(...)
01015 {
01016 throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01017 }
01018 }
01019
01020 ::Ice::ObjectPtr
01021 ImageIceMod::ImageShuttle::ice_clone() const
01022 {
01023 throw ::Ice::CloneNotImplementedException(__FILE__, __LINE__);
01024 return 0;
01025 }
01026
01027 static const ::std::string __ImageIceMod__ImageShuttle_ids[2] =
01028 {
01029 "::Ice::Object",
01030 "::ImageIceMod::ImageShuttle"
01031 };
01032
01033 bool
01034 ImageIceMod::ImageShuttle::ice_isA(const ::std::string& _s, const ::Ice::Current&) const
01035 {
01036 return ::std::binary_search(__ImageIceMod__ImageShuttle_ids, __ImageIceMod__ImageShuttle_ids + 2, _s);
01037 }
01038
01039 ::std::vector< ::std::string>
01040 ImageIceMod::ImageShuttle::ice_ids(const ::Ice::Current&) const
01041 {
01042 return ::std::vector< ::std::string>(&__ImageIceMod__ImageShuttle_ids[0], &__ImageIceMod__ImageShuttle_ids[2]);
01043 }
01044
01045 const ::std::string&
01046 ImageIceMod::ImageShuttle::ice_id(const ::Ice::Current&) const
01047 {
01048 return __ImageIceMod__ImageShuttle_ids[1];
01049 }
01050
01051 const ::std::string&
01052 ImageIceMod::ImageShuttle::ice_staticId()
01053 {
01054 return __ImageIceMod__ImageShuttle_ids[1];
01055 }
01056
01057 ::Ice::DispatchStatus
01058 ImageIceMod::ImageShuttle::___transferImage(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
01059 {
01060 __checkMode(::Ice::Normal, __current.mode);
01061 ::IceInternal::BasicStream* __is = __inS.is();
01062 __is->startReadEncaps();
01063 ::ImageIceMod::ImageIce i;
01064 i.__read(__is);
01065 __is->endReadEncaps();
01066 transferImage(i, __current);
01067 return ::Ice::DispatchOK;
01068 }
01069
01070 static ::std::string __ImageIceMod__ImageShuttle_all[] =
01071 {
01072 "ice_id",
01073 "ice_ids",
01074 "ice_isA",
01075 "ice_ping",
01076 "transferImage"
01077 };
01078
01079 ::Ice::DispatchStatus
01080 ImageIceMod::ImageShuttle::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
01081 {
01082 ::std::pair< ::std::string*, ::std::string*> r = ::std::equal_range(__ImageIceMod__ImageShuttle_all, __ImageIceMod__ImageShuttle_all + 5, current.operation);
01083 if(r.first == r.second)
01084 {
01085 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01086 }
01087
01088 switch(r.first - __ImageIceMod__ImageShuttle_all)
01089 {
01090 case 0:
01091 {
01092 return ___ice_id(in, current);
01093 }
01094 case 1:
01095 {
01096 return ___ice_ids(in, current);
01097 }
01098 case 2:
01099 {
01100 return ___ice_isA(in, current);
01101 }
01102 case 3:
01103 {
01104 return ___ice_ping(in, current);
01105 }
01106 case 4:
01107 {
01108 return ___transferImage(in, current);
01109 }
01110 }
01111
01112 assert(false);
01113 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
01114 }
01115
01116 void
01117 ImageIceMod::ImageShuttle::__write(::IceInternal::BasicStream* __os) const
01118 {
01119 __os->writeTypeId(ice_staticId());
01120 __os->startWriteSlice();
01121 __os->endWriteSlice();
01122 #if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
01123 Object::__write(__os);
01124 #else
01125 ::Ice::Object::__write(__os);
01126 #endif
01127 }
01128
01129 void
01130 ImageIceMod::ImageShuttle::__read(::IceInternal::BasicStream* __is, bool __rid)
01131 {
01132 if(__rid)
01133 {
01134 ::std::string myId;
01135 __is->readTypeId(myId);
01136 }
01137 __is->startReadSlice();
01138 __is->endReadSlice();
01139 #if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
01140 Object::__read(__is, true);
01141 #else
01142 ::Ice::Object::__read(__is, true);
01143 #endif
01144 }
01145
01146 void
01147 ImageIceMod::ImageShuttle::__write(const ::Ice::OutputStreamPtr&) const
01148 {
01149 Ice::MarshalException ex(__FILE__, __LINE__);
01150 ex.reason = "type ImageIceMod::ImageShuttle was not generated with stream support";
01151 throw ex;
01152 }
01153
01154 void
01155 ImageIceMod::ImageShuttle::__read(const ::Ice::InputStreamPtr&, bool)
01156 {
01157 Ice::MarshalException ex(__FILE__, __LINE__);
01158 ex.reason = "type ImageIceMod::ImageShuttle was not generated with stream support";
01159 throw ex;
01160 }
01161
01162 void
01163 ImageIceMod::__patch__ImageShuttlePtr(void* __addr, ::Ice::ObjectPtr& v)
01164 {
01165 ::ImageIceMod::ImageShuttlePtr* p = static_cast< ::ImageIceMod::ImageShuttlePtr*>(__addr);
01166 assert(p);
01167 *p = ::ImageIceMod::ImageShuttlePtr::dynamicCast(v);
01168 if(v && !*p)
01169 {
01170 IceInternal::Ex::throwUOE(::ImageIceMod::ImageShuttle::ice_staticId(), v->ice_id());
01171 }
01172 }
01173
01174 bool
01175 ImageIceMod::operator==(const ::ImageIceMod::ImageShuttle& l, const ::ImageIceMod::ImageShuttle& r)
01176 {
01177 return static_cast<const ::Ice::Object&>(l) == static_cast<const ::Ice::Object&>(r);
01178 }
01179
01180 bool
01181 ImageIceMod::operator<(const ::ImageIceMod::ImageShuttle& l, const ::ImageIceMod::ImageShuttle& r)
01182 {
01183 return static_cast<const ::Ice::Object&>(l) < static_cast<const ::Ice::Object&>(r);
01184 }