00001 // ********************************************************************** 00002 // 00003 // Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved. 00004 // 00005 // This copy of Ice is licensed to you under the terms described in the 00006 // ICE_LICENSE file included in this distribution. 00007 // 00008 // ********************************************************************** 00009 00010 // Ice version 3.3.1 00011 // Generated from file `ImageIce.ice' 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; // to avoid a warning with some compilers 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 }