IRobot.ice.C

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 `IRobot.ice'
00012 
00013 #include <IRobot.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 __Robots__IRobot__getSpeed_name = "getSpeed";
00033 
00034 static const ::std::string __Robots__IRobot__setSpeed_name = "setSpeed";
00035 
00036 static const ::std::string __Robots__IRobot__getSteering_name = "getSteering";
00037 
00038 static const ::std::string __Robots__IRobot__setSteering_name = "setSteering";
00039 
00040 static const ::std::string __Robots__IRobot__getImageSensor_name = "getImageSensor";
00041 
00042 static const ::std::string __Robots__IRobot__getImageSensorDims_name = "getImageSensorDims";
00043 
00044 static const ::std::string __Robots__IRobot__getSensorValue_name = "getSensorValue";
00045 
00046 static const ::std::string __Robots__IRobot__getSensors_name = "getSensors";
00047 
00048 static const ::std::string __Robots__IRobot__getDistanceAngle_name = "getDistanceAngle";
00049 
00050 static const ::std::string __Robots__IRobot__motorsOff_name = "motorsOff";
00051 
00052 static const ::std::string __Robots__IRobot__setMotor_name = "setMotor";
00053 
00054 static const ::std::string __Robots__IRobot__sendRawCmd_name = "sendRawCmd";
00055 
00056 static const ::std::string __Robots__IRobot__playSong_name = "playSong";
00057 
00058 static const ::std::string __Robots__IRobot__sendStart_name = "sendStart";
00059 
00060 static const ::std::string __Robots__IRobot__setMode_name = "setMode";
00061 
00062 static const ::std::string __Robots__IRobot__setDemo_name = "setDemo";
00063 
00064 static const ::std::string __Robots__IRobot__setLED_name = "setLED";
00065 
00066 static const ::std::string __Robots__IRobot__shutdown_name = "shutdown";
00067 
00068 ::Ice::Object* IceInternal::upCast(::Robots::IRobot* p) { return p; }
00069 ::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy::Robots::IRobot* p) { return p; }
00070 
00071 void
00072 Robots::__read(::IceInternal::BasicStream* __is, ::Robots::IRobotPrx& v)
00073 {
00074     ::Ice::ObjectPrx proxy;
00075     __is->read(proxy);
00076     if(!proxy)
00077     {
00078         v = 0;
00079     }
00080     else
00081     {
00082         v = new ::IceProxy::Robots::IRobot;
00083         v->__copyFrom(proxy);
00084     }
00085 }
00086 
00087 void
00088 Robots::__write(::IceInternal::BasicStream* __os, ::Robots::IRobotModes v)
00089 {
00090     __os->write(static_cast< ::Ice::Byte>(v), 5);
00091 }
00092 
00093 void
00094 Robots::__read(::IceInternal::BasicStream* __is, ::Robots::IRobotModes& v)
00095 {
00096     ::Ice::Byte val;
00097     __is->read(val, 5);
00098     v = static_cast< ::Robots::IRobotModes>(val);
00099 }
00100 
00101 ::Ice::Float
00102 IceProxy::Robots::IRobot::getSpeed(const ::Ice::Context* __ctx)
00103 {
00104     int __cnt = 0;
00105     while(true)
00106     {
00107         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00108         try
00109         {
00110 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00111             IceUtil::DummyBCC dummy;
00112 #endif
00113             __checkTwowayOnly(__Robots__IRobot__getSpeed_name);
00114             __delBase = __getDelegate(false);
00115             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00116             return __del->getSpeed(__ctx);
00117         }
00118         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00119         {
00120             __handleExceptionWrapper(__delBase, __ex, 0);
00121         }
00122         catch(const ::Ice::LocalException& __ex)
00123         {
00124             __handleException(__delBase, __ex, 0, __cnt);
00125         }
00126     }
00127 }
00128 
00129 ::Ice::Short
00130 IceProxy::Robots::IRobot::setSpeed(::Ice::Float speed, const ::Ice::Context* __ctx)
00131 {
00132     int __cnt = 0;
00133     while(true)
00134     {
00135         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00136         try
00137         {
00138 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00139             IceUtil::DummyBCC dummy;
00140 #endif
00141             __checkTwowayOnly(__Robots__IRobot__setSpeed_name);
00142             __delBase = __getDelegate(false);
00143             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00144             return __del->setSpeed(speed, __ctx);
00145         }
00146         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00147         {
00148             __handleExceptionWrapper(__delBase, __ex, 0);
00149         }
00150         catch(const ::Ice::LocalException& __ex)
00151         {
00152             __handleException(__delBase, __ex, 0, __cnt);
00153         }
00154     }
00155 }
00156 
00157 ::Ice::Float
00158 IceProxy::Robots::IRobot::getSteering(const ::Ice::Context* __ctx)
00159 {
00160     int __cnt = 0;
00161     while(true)
00162     {
00163         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00164         try
00165         {
00166 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00167             IceUtil::DummyBCC dummy;
00168 #endif
00169             __checkTwowayOnly(__Robots__IRobot__getSteering_name);
00170             __delBase = __getDelegate(false);
00171             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00172             return __del->getSteering(__ctx);
00173         }
00174         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00175         {
00176             __handleExceptionWrapper(__delBase, __ex, 0);
00177         }
00178         catch(const ::Ice::LocalException& __ex)
00179         {
00180             __handleException(__delBase, __ex, 0, __cnt);
00181         }
00182     }
00183 }
00184 
00185 ::Ice::Short
00186 IceProxy::Robots::IRobot::setSteering(::Ice::Float steeringPos, const ::Ice::Context* __ctx)
00187 {
00188     int __cnt = 0;
00189     while(true)
00190     {
00191         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00192         try
00193         {
00194 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00195             IceUtil::DummyBCC dummy;
00196 #endif
00197             __checkTwowayOnly(__Robots__IRobot__setSteering_name);
00198             __delBase = __getDelegate(false);
00199             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00200             return __del->setSteering(steeringPos, __ctx);
00201         }
00202         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00203         {
00204             __handleExceptionWrapper(__delBase, __ex, 0);
00205         }
00206         catch(const ::Ice::LocalException& __ex)
00207         {
00208             __handleException(__delBase, __ex, 0, __cnt);
00209         }
00210     }
00211 }
00212 
00213 ::ImageIceMod::ImageIce
00214 IceProxy::Robots::IRobot::getImageSensor(::Ice::Short i, bool useColor, const ::Ice::Context* __ctx)
00215 {
00216     int __cnt = 0;
00217     while(true)
00218     {
00219         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00220         try
00221         {
00222 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00223             IceUtil::DummyBCC dummy;
00224 #endif
00225             __checkTwowayOnly(__Robots__IRobot__getImageSensor_name);
00226             __delBase = __getDelegate(false);
00227             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00228             return __del->getImageSensor(i, useColor, __ctx);
00229         }
00230         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00231         {
00232             __handleExceptionWrapper(__delBase, __ex, 0);
00233         }
00234         catch(const ::Ice::LocalException& __ex)
00235         {
00236             __handleException(__delBase, __ex, 0, __cnt);
00237         }
00238     }
00239 }
00240 
00241 ::ImageIceMod::DimsIce
00242 IceProxy::Robots::IRobot::getImageSensorDims(::Ice::Short i, const ::Ice::Context* __ctx)
00243 {
00244     int __cnt = 0;
00245     while(true)
00246     {
00247         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00248         try
00249         {
00250 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00251             IceUtil::DummyBCC dummy;
00252 #endif
00253             __checkTwowayOnly(__Robots__IRobot__getImageSensorDims_name);
00254             __delBase = __getDelegate(false);
00255             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00256             return __del->getImageSensorDims(i, __ctx);
00257         }
00258         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00259         {
00260             __handleExceptionWrapper(__delBase, __ex, 0);
00261         }
00262         catch(const ::Ice::LocalException& __ex)
00263         {
00264             __handleException(__delBase, __ex, 0, __cnt);
00265         }
00266     }
00267 }
00268 
00269 ::Ice::Float
00270 IceProxy::Robots::IRobot::getSensorValue(::Ice::Short i, const ::Ice::Context* __ctx)
00271 {
00272     int __cnt = 0;
00273     while(true)
00274     {
00275         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00276         try
00277         {
00278 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00279             IceUtil::DummyBCC dummy;
00280 #endif
00281             __checkTwowayOnly(__Robots__IRobot__getSensorValue_name);
00282             __delBase = __getDelegate(false);
00283             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00284             return __del->getSensorValue(i, __ctx);
00285         }
00286         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00287         {
00288             __handleExceptionWrapper(__delBase, __ex, 0);
00289         }
00290         catch(const ::Ice::LocalException& __ex)
00291         {
00292             __handleException(__delBase, __ex, 0, __cnt);
00293         }
00294     }
00295 }
00296 
00297 bool
00298 IceProxy::Robots::IRobot::getSensors(::Ice::Float& xPos, ::Ice::Float& yPos, ::Ice::Float& ori, const ::Ice::Context* __ctx)
00299 {
00300     int __cnt = 0;
00301     while(true)
00302     {
00303         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00304         try
00305         {
00306 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00307             IceUtil::DummyBCC dummy;
00308 #endif
00309             __checkTwowayOnly(__Robots__IRobot__getSensors_name);
00310             __delBase = __getDelegate(false);
00311             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00312             return __del->getSensors(xPos, yPos, ori, __ctx);
00313         }
00314         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00315         {
00316             __handleExceptionWrapper(__delBase, __ex, 0);
00317         }
00318         catch(const ::Ice::LocalException& __ex)
00319         {
00320             __handleException(__delBase, __ex, 0, __cnt);
00321         }
00322     }
00323 }
00324 
00325 bool
00326 IceProxy::Robots::IRobot::getDistanceAngle(::Ice::Float& dist, ::Ice::Float& ang, const ::Ice::Context* __ctx)
00327 {
00328     int __cnt = 0;
00329     while(true)
00330     {
00331         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00332         try
00333         {
00334 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00335             IceUtil::DummyBCC dummy;
00336 #endif
00337             __checkTwowayOnly(__Robots__IRobot__getDistanceAngle_name);
00338             __delBase = __getDelegate(false);
00339             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00340             return __del->getDistanceAngle(dist, ang, __ctx);
00341         }
00342         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00343         {
00344             __handleExceptionWrapper(__delBase, __ex, 0);
00345         }
00346         catch(const ::Ice::LocalException& __ex)
00347         {
00348             __handleException(__delBase, __ex, 0, __cnt);
00349         }
00350     }
00351 }
00352 
00353 void
00354 IceProxy::Robots::IRobot::motorsOff(::Ice::Short i, const ::Ice::Context* __ctx)
00355 {
00356     int __cnt = 0;
00357     while(true)
00358     {
00359         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00360         try
00361         {
00362 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00363             IceUtil::DummyBCC dummy;
00364 #endif
00365             __delBase = __getDelegate(false);
00366             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00367             __del->motorsOff(i, __ctx);
00368             return;
00369         }
00370         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00371         {
00372             __handleExceptionWrapper(__delBase, __ex, 0);
00373         }
00374         catch(const ::Ice::LocalException& __ex)
00375         {
00376             __handleException(__delBase, __ex, 0, __cnt);
00377         }
00378     }
00379 }
00380 
00381 void
00382 IceProxy::Robots::IRobot::setMotor(::Ice::Short i, ::Ice::Float val, const ::Ice::Context* __ctx)
00383 {
00384     int __cnt = 0;
00385     while(true)
00386     {
00387         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00388         try
00389         {
00390 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00391             IceUtil::DummyBCC dummy;
00392 #endif
00393             __delBase = __getDelegate(false);
00394             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00395             __del->setMotor(i, val, __ctx);
00396             return;
00397         }
00398         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00399         {
00400             __handleExceptionWrapper(__delBase, __ex, 0);
00401         }
00402         catch(const ::Ice::LocalException& __ex)
00403         {
00404             __handleException(__delBase, __ex, 0, __cnt);
00405         }
00406     }
00407 }
00408 
00409 ::Ice::Short
00410 IceProxy::Robots::IRobot::sendRawCmd(const ::std::string& data, const ::Ice::Context* __ctx)
00411 {
00412     int __cnt = 0;
00413     while(true)
00414     {
00415         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00416         try
00417         {
00418 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00419             IceUtil::DummyBCC dummy;
00420 #endif
00421             __checkTwowayOnly(__Robots__IRobot__sendRawCmd_name);
00422             __delBase = __getDelegate(false);
00423             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00424             return __del->sendRawCmd(data, __ctx);
00425         }
00426         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00427         {
00428             __handleExceptionWrapper(__delBase, __ex, 0);
00429         }
00430         catch(const ::Ice::LocalException& __ex)
00431         {
00432             __handleException(__delBase, __ex, 0, __cnt);
00433         }
00434     }
00435 }
00436 
00437 void
00438 IceProxy::Robots::IRobot::playSong(::Ice::Short song, const ::Ice::Context* __ctx)
00439 {
00440     int __cnt = 0;
00441     while(true)
00442     {
00443         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00444         try
00445         {
00446 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00447             IceUtil::DummyBCC dummy;
00448 #endif
00449             __delBase = __getDelegate(false);
00450             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00451             __del->playSong(song, __ctx);
00452             return;
00453         }
00454         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00455         {
00456             __handleExceptionWrapper(__delBase, __ex, 0);
00457         }
00458         catch(const ::Ice::LocalException& __ex)
00459         {
00460             __handleException(__delBase, __ex, 0, __cnt);
00461         }
00462     }
00463 }
00464 
00465 void
00466 IceProxy::Robots::IRobot::sendStart(const ::Ice::Context* __ctx)
00467 {
00468     int __cnt = 0;
00469     while(true)
00470     {
00471         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00472         try
00473         {
00474 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00475             IceUtil::DummyBCC dummy;
00476 #endif
00477             __delBase = __getDelegate(false);
00478             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00479             __del->sendStart(__ctx);
00480             return;
00481         }
00482         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00483         {
00484             __handleExceptionWrapper(__delBase, __ex, 0);
00485         }
00486         catch(const ::Ice::LocalException& __ex)
00487         {
00488             __handleException(__delBase, __ex, 0, __cnt);
00489         }
00490     }
00491 }
00492 
00493 void
00494 IceProxy::Robots::IRobot::setMode(::Robots::IRobotModes mode, const ::Ice::Context* __ctx)
00495 {
00496     int __cnt = 0;
00497     while(true)
00498     {
00499         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00500         try
00501         {
00502 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00503             IceUtil::DummyBCC dummy;
00504 #endif
00505             __delBase = __getDelegate(false);
00506             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00507             __del->setMode(mode, __ctx);
00508             return;
00509         }
00510         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00511         {
00512             __handleExceptionWrapper(__delBase, __ex, 0);
00513         }
00514         catch(const ::Ice::LocalException& __ex)
00515         {
00516             __handleException(__delBase, __ex, 0, __cnt);
00517         }
00518     }
00519 }
00520 
00521 void
00522 IceProxy::Robots::IRobot::setDemo(::Ice::Short demo, const ::Ice::Context* __ctx)
00523 {
00524     int __cnt = 0;
00525     while(true)
00526     {
00527         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00528         try
00529         {
00530 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00531             IceUtil::DummyBCC dummy;
00532 #endif
00533             __delBase = __getDelegate(false);
00534             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00535             __del->setDemo(demo, __ctx);
00536             return;
00537         }
00538         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00539         {
00540             __handleExceptionWrapper(__delBase, __ex, 0);
00541         }
00542         catch(const ::Ice::LocalException& __ex)
00543         {
00544             __handleException(__delBase, __ex, 0, __cnt);
00545         }
00546     }
00547 }
00548 
00549 void
00550 IceProxy::Robots::IRobot::setLED(::Ice::Short led, ::Ice::Short color, ::Ice::Short intensity, const ::Ice::Context* __ctx)
00551 {
00552     int __cnt = 0;
00553     while(true)
00554     {
00555         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00556         try
00557         {
00558 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00559             IceUtil::DummyBCC dummy;
00560 #endif
00561             __delBase = __getDelegate(false);
00562             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00563             __del->setLED(led, color, intensity, __ctx);
00564             return;
00565         }
00566         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00567         {
00568             __handleExceptionWrapper(__delBase, __ex, 0);
00569         }
00570         catch(const ::Ice::LocalException& __ex)
00571         {
00572             __handleException(__delBase, __ex, 0, __cnt);
00573         }
00574     }
00575 }
00576 
00577 void
00578 IceProxy::Robots::IRobot::shutdown(const ::Ice::Context* __ctx)
00579 {
00580     int __cnt = 0;
00581     while(true)
00582     {
00583         ::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase;
00584         try
00585         {
00586 #if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) // C++Builder 2009 compiler bug
00587             IceUtil::DummyBCC dummy;
00588 #endif
00589             __delBase = __getDelegate(false);
00590             ::IceDelegate::Robots::IRobot* __del = dynamic_cast< ::IceDelegate::Robots::IRobot*>(__delBase.get());
00591             __del->shutdown(__ctx);
00592             return;
00593         }
00594         catch(const ::IceInternal::LocalExceptionWrapper& __ex)
00595         {
00596             __handleExceptionWrapper(__delBase, __ex, 0);
00597         }
00598         catch(const ::Ice::LocalException& __ex)
00599         {
00600             __handleException(__delBase, __ex, 0, __cnt);
00601         }
00602     }
00603 }
00604 
00605 const ::std::string&
00606 IceProxy::Robots::IRobot::ice_staticId()
00607 {
00608     return ::Robots::IRobot::ice_staticId();
00609 }
00610 
00611 ::IceInternal::Handle< ::IceDelegateM::Ice::Object>
00612 IceProxy::Robots::IRobot::__createDelegateM()
00613 {
00614     return ::IceInternal::Handle< ::IceDelegateM::Ice::Object>(new ::IceDelegateM::Robots::IRobot);
00615 }
00616 
00617 ::IceInternal::Handle< ::IceDelegateD::Ice::Object>
00618 IceProxy::Robots::IRobot::__createDelegateD()
00619 {
00620     return ::IceInternal::Handle< ::IceDelegateD::Ice::Object>(new ::IceDelegateD::Robots::IRobot);
00621 }
00622 
00623 ::IceProxy::Ice::Object*
00624 IceProxy::Robots::IRobot::__newInstance() const
00625 {
00626     return new IRobot;
00627 }
00628 
00629 ::Ice::Float
00630 IceDelegateM::Robots::IRobot::getSpeed(const ::Ice::Context* __context)
00631 {
00632     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getSpeed_name, ::Ice::Normal, __context);
00633     bool __ok = __og.invoke();
00634     ::Ice::Float __ret;
00635     try
00636     {
00637         if(!__ok)
00638         {
00639             try
00640             {
00641                 __og.throwUserException();
00642             }
00643             catch(const ::Ice::UserException& __ex)
00644             {
00645                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00646                 throw __uue;
00647             }
00648         }
00649         ::IceInternal::BasicStream* __is = __og.is();
00650         __is->startReadEncaps();
00651         __is->read(__ret);
00652         __is->endReadEncaps();
00653         return __ret;
00654     }
00655     catch(const ::Ice::LocalException& __ex)
00656     {
00657         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00658     }
00659 }
00660 
00661 ::Ice::Short
00662 IceDelegateM::Robots::IRobot::setSpeed(::Ice::Float speed, const ::Ice::Context* __context)
00663 {
00664     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setSpeed_name, ::Ice::Normal, __context);
00665     try
00666     {
00667         ::IceInternal::BasicStream* __os = __og.os();
00668         __os->write(speed);
00669     }
00670     catch(const ::Ice::LocalException& __ex)
00671     {
00672         __og.abort(__ex);
00673     }
00674     bool __ok = __og.invoke();
00675     ::Ice::Short __ret;
00676     try
00677     {
00678         if(!__ok)
00679         {
00680             try
00681             {
00682                 __og.throwUserException();
00683             }
00684             catch(const ::Ice::UserException& __ex)
00685             {
00686                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00687                 throw __uue;
00688             }
00689         }
00690         ::IceInternal::BasicStream* __is = __og.is();
00691         __is->startReadEncaps();
00692         __is->read(__ret);
00693         __is->endReadEncaps();
00694         return __ret;
00695     }
00696     catch(const ::Ice::LocalException& __ex)
00697     {
00698         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00699     }
00700 }
00701 
00702 ::Ice::Float
00703 IceDelegateM::Robots::IRobot::getSteering(const ::Ice::Context* __context)
00704 {
00705     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getSteering_name, ::Ice::Normal, __context);
00706     bool __ok = __og.invoke();
00707     ::Ice::Float __ret;
00708     try
00709     {
00710         if(!__ok)
00711         {
00712             try
00713             {
00714                 __og.throwUserException();
00715             }
00716             catch(const ::Ice::UserException& __ex)
00717             {
00718                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00719                 throw __uue;
00720             }
00721         }
00722         ::IceInternal::BasicStream* __is = __og.is();
00723         __is->startReadEncaps();
00724         __is->read(__ret);
00725         __is->endReadEncaps();
00726         return __ret;
00727     }
00728     catch(const ::Ice::LocalException& __ex)
00729     {
00730         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00731     }
00732 }
00733 
00734 ::Ice::Short
00735 IceDelegateM::Robots::IRobot::setSteering(::Ice::Float steeringPos, const ::Ice::Context* __context)
00736 {
00737     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setSteering_name, ::Ice::Normal, __context);
00738     try
00739     {
00740         ::IceInternal::BasicStream* __os = __og.os();
00741         __os->write(steeringPos);
00742     }
00743     catch(const ::Ice::LocalException& __ex)
00744     {
00745         __og.abort(__ex);
00746     }
00747     bool __ok = __og.invoke();
00748     ::Ice::Short __ret;
00749     try
00750     {
00751         if(!__ok)
00752         {
00753             try
00754             {
00755                 __og.throwUserException();
00756             }
00757             catch(const ::Ice::UserException& __ex)
00758             {
00759                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00760                 throw __uue;
00761             }
00762         }
00763         ::IceInternal::BasicStream* __is = __og.is();
00764         __is->startReadEncaps();
00765         __is->read(__ret);
00766         __is->endReadEncaps();
00767         return __ret;
00768     }
00769     catch(const ::Ice::LocalException& __ex)
00770     {
00771         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00772     }
00773 }
00774 
00775 ::ImageIceMod::ImageIce
00776 IceDelegateM::Robots::IRobot::getImageSensor(::Ice::Short i, bool useColor, const ::Ice::Context* __context)
00777 {
00778     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getImageSensor_name, ::Ice::Normal, __context);
00779     try
00780     {
00781         ::IceInternal::BasicStream* __os = __og.os();
00782         __os->write(i);
00783         __os->write(useColor);
00784     }
00785     catch(const ::Ice::LocalException& __ex)
00786     {
00787         __og.abort(__ex);
00788     }
00789     bool __ok = __og.invoke();
00790     ::ImageIceMod::ImageIce __ret;
00791     try
00792     {
00793         if(!__ok)
00794         {
00795             try
00796             {
00797                 __og.throwUserException();
00798             }
00799             catch(const ::Ice::UserException& __ex)
00800             {
00801                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00802                 throw __uue;
00803             }
00804         }
00805         ::IceInternal::BasicStream* __is = __og.is();
00806         __is->startReadEncaps();
00807         __ret.__read(__is);
00808         __is->endReadEncaps();
00809         return __ret;
00810     }
00811     catch(const ::Ice::LocalException& __ex)
00812     {
00813         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00814     }
00815 }
00816 
00817 ::ImageIceMod::DimsIce
00818 IceDelegateM::Robots::IRobot::getImageSensorDims(::Ice::Short i, const ::Ice::Context* __context)
00819 {
00820     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getImageSensorDims_name, ::Ice::Normal, __context);
00821     try
00822     {
00823         ::IceInternal::BasicStream* __os = __og.os();
00824         __os->write(i);
00825     }
00826     catch(const ::Ice::LocalException& __ex)
00827     {
00828         __og.abort(__ex);
00829     }
00830     bool __ok = __og.invoke();
00831     ::ImageIceMod::DimsIce __ret;
00832     try
00833     {
00834         if(!__ok)
00835         {
00836             try
00837             {
00838                 __og.throwUserException();
00839             }
00840             catch(const ::Ice::UserException& __ex)
00841             {
00842                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00843                 throw __uue;
00844             }
00845         }
00846         ::IceInternal::BasicStream* __is = __og.is();
00847         __is->startReadEncaps();
00848         __ret.__read(__is);
00849         __is->endReadEncaps();
00850         return __ret;
00851     }
00852     catch(const ::Ice::LocalException& __ex)
00853     {
00854         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00855     }
00856 }
00857 
00858 ::Ice::Float
00859 IceDelegateM::Robots::IRobot::getSensorValue(::Ice::Short i, const ::Ice::Context* __context)
00860 {
00861     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getSensorValue_name, ::Ice::Normal, __context);
00862     try
00863     {
00864         ::IceInternal::BasicStream* __os = __og.os();
00865         __os->write(i);
00866     }
00867     catch(const ::Ice::LocalException& __ex)
00868     {
00869         __og.abort(__ex);
00870     }
00871     bool __ok = __og.invoke();
00872     ::Ice::Float __ret;
00873     try
00874     {
00875         if(!__ok)
00876         {
00877             try
00878             {
00879                 __og.throwUserException();
00880             }
00881             catch(const ::Ice::UserException& __ex)
00882             {
00883                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00884                 throw __uue;
00885             }
00886         }
00887         ::IceInternal::BasicStream* __is = __og.is();
00888         __is->startReadEncaps();
00889         __is->read(__ret);
00890         __is->endReadEncaps();
00891         return __ret;
00892     }
00893     catch(const ::Ice::LocalException& __ex)
00894     {
00895         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00896     }
00897 }
00898 
00899 bool
00900 IceDelegateM::Robots::IRobot::getSensors(::Ice::Float& xPos, ::Ice::Float& yPos, ::Ice::Float& ori, const ::Ice::Context* __context)
00901 {
00902     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getSensors_name, ::Ice::Normal, __context);
00903     bool __ok = __og.invoke();
00904     bool __ret;
00905     try
00906     {
00907         if(!__ok)
00908         {
00909             try
00910             {
00911                 __og.throwUserException();
00912             }
00913             catch(const ::Ice::UserException& __ex)
00914             {
00915                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00916                 throw __uue;
00917             }
00918         }
00919         ::IceInternal::BasicStream* __is = __og.is();
00920         __is->startReadEncaps();
00921         __is->read(xPos);
00922         __is->read(yPos);
00923         __is->read(ori);
00924         __is->read(__ret);
00925         __is->endReadEncaps();
00926         return __ret;
00927     }
00928     catch(const ::Ice::LocalException& __ex)
00929     {
00930         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00931     }
00932 }
00933 
00934 bool
00935 IceDelegateM::Robots::IRobot::getDistanceAngle(::Ice::Float& dist, ::Ice::Float& ang, const ::Ice::Context* __context)
00936 {
00937     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__getDistanceAngle_name, ::Ice::Normal, __context);
00938     bool __ok = __og.invoke();
00939     bool __ret;
00940     try
00941     {
00942         if(!__ok)
00943         {
00944             try
00945             {
00946                 __og.throwUserException();
00947             }
00948             catch(const ::Ice::UserException& __ex)
00949             {
00950                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00951                 throw __uue;
00952             }
00953         }
00954         ::IceInternal::BasicStream* __is = __og.is();
00955         __is->startReadEncaps();
00956         __is->read(dist);
00957         __is->read(ang);
00958         __is->read(__ret);
00959         __is->endReadEncaps();
00960         return __ret;
00961     }
00962     catch(const ::Ice::LocalException& __ex)
00963     {
00964         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
00965     }
00966 }
00967 
00968 void
00969 IceDelegateM::Robots::IRobot::motorsOff(::Ice::Short i, const ::Ice::Context* __context)
00970 {
00971     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__motorsOff_name, ::Ice::Normal, __context);
00972     try
00973     {
00974         ::IceInternal::BasicStream* __os = __og.os();
00975         __os->write(i);
00976     }
00977     catch(const ::Ice::LocalException& __ex)
00978     {
00979         __og.abort(__ex);
00980     }
00981     bool __ok = __og.invoke();
00982     if(!__og.is()->b.empty())
00983     {
00984         try
00985         {
00986             if(!__ok)
00987             {
00988                 try
00989                 {
00990                     __og.throwUserException();
00991                 }
00992                 catch(const ::Ice::UserException& __ex)
00993                 {
00994                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
00995                     throw __uue;
00996                 }
00997             }
00998             __og.is()->skipEmptyEncaps();
00999         }
01000         catch(const ::Ice::LocalException& __ex)
01001         {
01002             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01003         }
01004     }
01005 }
01006 
01007 void
01008 IceDelegateM::Robots::IRobot::setMotor(::Ice::Short i, ::Ice::Float val, const ::Ice::Context* __context)
01009 {
01010     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setMotor_name, ::Ice::Normal, __context);
01011     try
01012     {
01013         ::IceInternal::BasicStream* __os = __og.os();
01014         __os->write(i);
01015         __os->write(val);
01016     }
01017     catch(const ::Ice::LocalException& __ex)
01018     {
01019         __og.abort(__ex);
01020     }
01021     bool __ok = __og.invoke();
01022     if(!__og.is()->b.empty())
01023     {
01024         try
01025         {
01026             if(!__ok)
01027             {
01028                 try
01029                 {
01030                     __og.throwUserException();
01031                 }
01032                 catch(const ::Ice::UserException& __ex)
01033                 {
01034                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01035                     throw __uue;
01036                 }
01037             }
01038             __og.is()->skipEmptyEncaps();
01039         }
01040         catch(const ::Ice::LocalException& __ex)
01041         {
01042             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01043         }
01044     }
01045 }
01046 
01047 ::Ice::Short
01048 IceDelegateM::Robots::IRobot::sendRawCmd(const ::std::string& data, const ::Ice::Context* __context)
01049 {
01050     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__sendRawCmd_name, ::Ice::Normal, __context);
01051     try
01052     {
01053         ::IceInternal::BasicStream* __os = __og.os();
01054         __os->write(data);
01055     }
01056     catch(const ::Ice::LocalException& __ex)
01057     {
01058         __og.abort(__ex);
01059     }
01060     bool __ok = __og.invoke();
01061     ::Ice::Short __ret;
01062     try
01063     {
01064         if(!__ok)
01065         {
01066             try
01067             {
01068                 __og.throwUserException();
01069             }
01070             catch(const ::Ice::UserException& __ex)
01071             {
01072                 ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01073                 throw __uue;
01074             }
01075         }
01076         ::IceInternal::BasicStream* __is = __og.is();
01077         __is->startReadEncaps();
01078         __is->read(__ret);
01079         __is->endReadEncaps();
01080         return __ret;
01081     }
01082     catch(const ::Ice::LocalException& __ex)
01083     {
01084         throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01085     }
01086 }
01087 
01088 void
01089 IceDelegateM::Robots::IRobot::playSong(::Ice::Short song, const ::Ice::Context* __context)
01090 {
01091     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__playSong_name, ::Ice::Normal, __context);
01092     try
01093     {
01094         ::IceInternal::BasicStream* __os = __og.os();
01095         __os->write(song);
01096     }
01097     catch(const ::Ice::LocalException& __ex)
01098     {
01099         __og.abort(__ex);
01100     }
01101     bool __ok = __og.invoke();
01102     if(!__og.is()->b.empty())
01103     {
01104         try
01105         {
01106             if(!__ok)
01107             {
01108                 try
01109                 {
01110                     __og.throwUserException();
01111                 }
01112                 catch(const ::Ice::UserException& __ex)
01113                 {
01114                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01115                     throw __uue;
01116                 }
01117             }
01118             __og.is()->skipEmptyEncaps();
01119         }
01120         catch(const ::Ice::LocalException& __ex)
01121         {
01122             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01123         }
01124     }
01125 }
01126 
01127 void
01128 IceDelegateM::Robots::IRobot::sendStart(const ::Ice::Context* __context)
01129 {
01130     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__sendStart_name, ::Ice::Normal, __context);
01131     bool __ok = __og.invoke();
01132     if(!__og.is()->b.empty())
01133     {
01134         try
01135         {
01136             if(!__ok)
01137             {
01138                 try
01139                 {
01140                     __og.throwUserException();
01141                 }
01142                 catch(const ::Ice::UserException& __ex)
01143                 {
01144                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01145                     throw __uue;
01146                 }
01147             }
01148             __og.is()->skipEmptyEncaps();
01149         }
01150         catch(const ::Ice::LocalException& __ex)
01151         {
01152             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01153         }
01154     }
01155 }
01156 
01157 void
01158 IceDelegateM::Robots::IRobot::setMode(::Robots::IRobotModes mode, const ::Ice::Context* __context)
01159 {
01160     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setMode_name, ::Ice::Normal, __context);
01161     try
01162     {
01163         ::IceInternal::BasicStream* __os = __og.os();
01164         ::Robots::__write(__os, mode);
01165     }
01166     catch(const ::Ice::LocalException& __ex)
01167     {
01168         __og.abort(__ex);
01169     }
01170     bool __ok = __og.invoke();
01171     if(!__og.is()->b.empty())
01172     {
01173         try
01174         {
01175             if(!__ok)
01176             {
01177                 try
01178                 {
01179                     __og.throwUserException();
01180                 }
01181                 catch(const ::Ice::UserException& __ex)
01182                 {
01183                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01184                     throw __uue;
01185                 }
01186             }
01187             __og.is()->skipEmptyEncaps();
01188         }
01189         catch(const ::Ice::LocalException& __ex)
01190         {
01191             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01192         }
01193     }
01194 }
01195 
01196 void
01197 IceDelegateM::Robots::IRobot::setDemo(::Ice::Short demo, const ::Ice::Context* __context)
01198 {
01199     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setDemo_name, ::Ice::Normal, __context);
01200     try
01201     {
01202         ::IceInternal::BasicStream* __os = __og.os();
01203         __os->write(demo);
01204     }
01205     catch(const ::Ice::LocalException& __ex)
01206     {
01207         __og.abort(__ex);
01208     }
01209     bool __ok = __og.invoke();
01210     if(!__og.is()->b.empty())
01211     {
01212         try
01213         {
01214             if(!__ok)
01215             {
01216                 try
01217                 {
01218                     __og.throwUserException();
01219                 }
01220                 catch(const ::Ice::UserException& __ex)
01221                 {
01222                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01223                     throw __uue;
01224                 }
01225             }
01226             __og.is()->skipEmptyEncaps();
01227         }
01228         catch(const ::Ice::LocalException& __ex)
01229         {
01230             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01231         }
01232     }
01233 }
01234 
01235 void
01236 IceDelegateM::Robots::IRobot::setLED(::Ice::Short led, ::Ice::Short color, ::Ice::Short intensity, const ::Ice::Context* __context)
01237 {
01238     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__setLED_name, ::Ice::Normal, __context);
01239     try
01240     {
01241         ::IceInternal::BasicStream* __os = __og.os();
01242         __os->write(led);
01243         __os->write(color);
01244         __os->write(intensity);
01245     }
01246     catch(const ::Ice::LocalException& __ex)
01247     {
01248         __og.abort(__ex);
01249     }
01250     bool __ok = __og.invoke();
01251     if(!__og.is()->b.empty())
01252     {
01253         try
01254         {
01255             if(!__ok)
01256             {
01257                 try
01258                 {
01259                     __og.throwUserException();
01260                 }
01261                 catch(const ::Ice::UserException& __ex)
01262                 {
01263                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01264                     throw __uue;
01265                 }
01266             }
01267             __og.is()->skipEmptyEncaps();
01268         }
01269         catch(const ::Ice::LocalException& __ex)
01270         {
01271             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01272         }
01273     }
01274 }
01275 
01276 void
01277 IceDelegateM::Robots::IRobot::shutdown(const ::Ice::Context* __context)
01278 {
01279     ::IceInternal::Outgoing __og(__handler.get(), __Robots__IRobot__shutdown_name, ::Ice::Normal, __context);
01280     bool __ok = __og.invoke();
01281     if(!__og.is()->b.empty())
01282     {
01283         try
01284         {
01285             if(!__ok)
01286             {
01287                 try
01288                 {
01289                     __og.throwUserException();
01290                 }
01291                 catch(const ::Ice::UserException& __ex)
01292                 {
01293                     ::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());
01294                     throw __uue;
01295                 }
01296             }
01297             __og.is()->skipEmptyEncaps();
01298         }
01299         catch(const ::Ice::LocalException& __ex)
01300         {
01301             throw ::IceInternal::LocalExceptionWrapper(__ex, false);
01302         }
01303     }
01304 }
01305 
01306 ::Ice::Float
01307 IceDelegateD::Robots::IRobot::getSpeed(const ::Ice::Context* __context)
01308 {
01309     class _DirectI : public ::IceInternal::Direct
01310     {
01311     public:
01312 
01313         _DirectI(::Ice::Float& __result, const ::Ice::Current& __current) :
01314             ::IceInternal::Direct(__current),
01315             _result(__result)
01316         {
01317         }
01318 
01319         virtual ::Ice::DispatchStatus
01320         run(::Ice::Object* object)
01321         {
01322             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01323             if(!servant)
01324             {
01325                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01326             }
01327             _result = servant->getSpeed(_current);
01328             return ::Ice::DispatchOK;
01329         }
01330 
01331     private:
01332 
01333         ::Ice::Float& _result;
01334     };
01335 
01336     ::Ice::Current __current;
01337     __initCurrent(__current, __Robots__IRobot__getSpeed_name, ::Ice::Normal, __context);
01338     ::Ice::Float __result;
01339     try
01340     {
01341         _DirectI __direct(__result, __current);
01342         try
01343         {
01344             __direct.servant()->__collocDispatch(__direct);
01345         }
01346         catch(...)
01347         {
01348             __direct.destroy();
01349             throw;
01350         }
01351         __direct.destroy();
01352     }
01353     catch(const ::Ice::SystemException&)
01354     {
01355         throw;
01356     }
01357     catch(const ::IceInternal::LocalExceptionWrapper&)
01358     {
01359         throw;
01360     }
01361     catch(const ::std::exception& __ex)
01362     {
01363         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01364     }
01365     catch(...)
01366     {
01367         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01368     }
01369     return __result;
01370 }
01371 
01372 ::Ice::Short
01373 IceDelegateD::Robots::IRobot::setSpeed(::Ice::Float speed, const ::Ice::Context* __context)
01374 {
01375     class _DirectI : public ::IceInternal::Direct
01376     {
01377     public:
01378 
01379         _DirectI(::Ice::Short& __result, ::Ice::Float speed, const ::Ice::Current& __current) :
01380             ::IceInternal::Direct(__current),
01381             _result(__result),
01382             _m_speed(speed)
01383         {
01384         }
01385 
01386         virtual ::Ice::DispatchStatus
01387         run(::Ice::Object* object)
01388         {
01389             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01390             if(!servant)
01391             {
01392                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01393             }
01394             _result = servant->setSpeed(_m_speed, _current);
01395             return ::Ice::DispatchOK;
01396         }
01397 
01398     private:
01399 
01400         ::Ice::Short& _result;
01401         ::Ice::Float _m_speed;
01402     };
01403 
01404     ::Ice::Current __current;
01405     __initCurrent(__current, __Robots__IRobot__setSpeed_name, ::Ice::Normal, __context);
01406     ::Ice::Short __result;
01407     try
01408     {
01409         _DirectI __direct(__result, speed, __current);
01410         try
01411         {
01412             __direct.servant()->__collocDispatch(__direct);
01413         }
01414         catch(...)
01415         {
01416             __direct.destroy();
01417             throw;
01418         }
01419         __direct.destroy();
01420     }
01421     catch(const ::Ice::SystemException&)
01422     {
01423         throw;
01424     }
01425     catch(const ::IceInternal::LocalExceptionWrapper&)
01426     {
01427         throw;
01428     }
01429     catch(const ::std::exception& __ex)
01430     {
01431         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01432     }
01433     catch(...)
01434     {
01435         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01436     }
01437     return __result;
01438 }
01439 
01440 ::Ice::Float
01441 IceDelegateD::Robots::IRobot::getSteering(const ::Ice::Context* __context)
01442 {
01443     class _DirectI : public ::IceInternal::Direct
01444     {
01445     public:
01446 
01447         _DirectI(::Ice::Float& __result, const ::Ice::Current& __current) :
01448             ::IceInternal::Direct(__current),
01449             _result(__result)
01450         {
01451         }
01452 
01453         virtual ::Ice::DispatchStatus
01454         run(::Ice::Object* object)
01455         {
01456             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01457             if(!servant)
01458             {
01459                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01460             }
01461             _result = servant->getSteering(_current);
01462             return ::Ice::DispatchOK;
01463         }
01464 
01465     private:
01466 
01467         ::Ice::Float& _result;
01468     };
01469 
01470     ::Ice::Current __current;
01471     __initCurrent(__current, __Robots__IRobot__getSteering_name, ::Ice::Normal, __context);
01472     ::Ice::Float __result;
01473     try
01474     {
01475         _DirectI __direct(__result, __current);
01476         try
01477         {
01478             __direct.servant()->__collocDispatch(__direct);
01479         }
01480         catch(...)
01481         {
01482             __direct.destroy();
01483             throw;
01484         }
01485         __direct.destroy();
01486     }
01487     catch(const ::Ice::SystemException&)
01488     {
01489         throw;
01490     }
01491     catch(const ::IceInternal::LocalExceptionWrapper&)
01492     {
01493         throw;
01494     }
01495     catch(const ::std::exception& __ex)
01496     {
01497         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01498     }
01499     catch(...)
01500     {
01501         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01502     }
01503     return __result;
01504 }
01505 
01506 ::Ice::Short
01507 IceDelegateD::Robots::IRobot::setSteering(::Ice::Float steeringPos, const ::Ice::Context* __context)
01508 {
01509     class _DirectI : public ::IceInternal::Direct
01510     {
01511     public:
01512 
01513         _DirectI(::Ice::Short& __result, ::Ice::Float steeringPos, const ::Ice::Current& __current) :
01514             ::IceInternal::Direct(__current),
01515             _result(__result),
01516             _m_steeringPos(steeringPos)
01517         {
01518         }
01519 
01520         virtual ::Ice::DispatchStatus
01521         run(::Ice::Object* object)
01522         {
01523             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01524             if(!servant)
01525             {
01526                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01527             }
01528             _result = servant->setSteering(_m_steeringPos, _current);
01529             return ::Ice::DispatchOK;
01530         }
01531 
01532     private:
01533 
01534         ::Ice::Short& _result;
01535         ::Ice::Float _m_steeringPos;
01536     };
01537 
01538     ::Ice::Current __current;
01539     __initCurrent(__current, __Robots__IRobot__setSteering_name, ::Ice::Normal, __context);
01540     ::Ice::Short __result;
01541     try
01542     {
01543         _DirectI __direct(__result, steeringPos, __current);
01544         try
01545         {
01546             __direct.servant()->__collocDispatch(__direct);
01547         }
01548         catch(...)
01549         {
01550             __direct.destroy();
01551             throw;
01552         }
01553         __direct.destroy();
01554     }
01555     catch(const ::Ice::SystemException&)
01556     {
01557         throw;
01558     }
01559     catch(const ::IceInternal::LocalExceptionWrapper&)
01560     {
01561         throw;
01562     }
01563     catch(const ::std::exception& __ex)
01564     {
01565         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01566     }
01567     catch(...)
01568     {
01569         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01570     }
01571     return __result;
01572 }
01573 
01574 ::ImageIceMod::ImageIce
01575 IceDelegateD::Robots::IRobot::getImageSensor(::Ice::Short i, bool useColor, const ::Ice::Context* __context)
01576 {
01577     class _DirectI : public ::IceInternal::Direct
01578     {
01579     public:
01580 
01581         _DirectI(::ImageIceMod::ImageIce& __result, ::Ice::Short i, bool useColor, const ::Ice::Current& __current) :
01582             ::IceInternal::Direct(__current),
01583             _result(__result),
01584             _m_i(i),
01585             _m_useColor(useColor)
01586         {
01587         }
01588 
01589         virtual ::Ice::DispatchStatus
01590         run(::Ice::Object* object)
01591         {
01592             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01593             if(!servant)
01594             {
01595                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01596             }
01597             _result = servant->getImageSensor(_m_i, _m_useColor, _current);
01598             return ::Ice::DispatchOK;
01599         }
01600 
01601     private:
01602 
01603         ::ImageIceMod::ImageIce& _result;
01604         ::Ice::Short _m_i;
01605         bool _m_useColor;
01606     };
01607 
01608     ::Ice::Current __current;
01609     __initCurrent(__current, __Robots__IRobot__getImageSensor_name, ::Ice::Normal, __context);
01610     ::ImageIceMod::ImageIce __result;
01611     try
01612     {
01613         _DirectI __direct(__result, i, useColor, __current);
01614         try
01615         {
01616             __direct.servant()->__collocDispatch(__direct);
01617         }
01618         catch(...)
01619         {
01620             __direct.destroy();
01621             throw;
01622         }
01623         __direct.destroy();
01624     }
01625     catch(const ::Ice::SystemException&)
01626     {
01627         throw;
01628     }
01629     catch(const ::IceInternal::LocalExceptionWrapper&)
01630     {
01631         throw;
01632     }
01633     catch(const ::std::exception& __ex)
01634     {
01635         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01636     }
01637     catch(...)
01638     {
01639         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01640     }
01641     return __result;
01642 }
01643 
01644 ::ImageIceMod::DimsIce
01645 IceDelegateD::Robots::IRobot::getImageSensorDims(::Ice::Short i, const ::Ice::Context* __context)
01646 {
01647     class _DirectI : public ::IceInternal::Direct
01648     {
01649     public:
01650 
01651         _DirectI(::ImageIceMod::DimsIce& __result, ::Ice::Short i, const ::Ice::Current& __current) :
01652             ::IceInternal::Direct(__current),
01653             _result(__result),
01654             _m_i(i)
01655         {
01656         }
01657 
01658         virtual ::Ice::DispatchStatus
01659         run(::Ice::Object* object)
01660         {
01661             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01662             if(!servant)
01663             {
01664                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01665             }
01666             _result = servant->getImageSensorDims(_m_i, _current);
01667             return ::Ice::DispatchOK;
01668         }
01669 
01670     private:
01671 
01672         ::ImageIceMod::DimsIce& _result;
01673         ::Ice::Short _m_i;
01674     };
01675 
01676     ::Ice::Current __current;
01677     __initCurrent(__current, __Robots__IRobot__getImageSensorDims_name, ::Ice::Normal, __context);
01678     ::ImageIceMod::DimsIce __result;
01679     try
01680     {
01681         _DirectI __direct(__result, i, __current);
01682         try
01683         {
01684             __direct.servant()->__collocDispatch(__direct);
01685         }
01686         catch(...)
01687         {
01688             __direct.destroy();
01689             throw;
01690         }
01691         __direct.destroy();
01692     }
01693     catch(const ::Ice::SystemException&)
01694     {
01695         throw;
01696     }
01697     catch(const ::IceInternal::LocalExceptionWrapper&)
01698     {
01699         throw;
01700     }
01701     catch(const ::std::exception& __ex)
01702     {
01703         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01704     }
01705     catch(...)
01706     {
01707         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01708     }
01709     return __result;
01710 }
01711 
01712 ::Ice::Float
01713 IceDelegateD::Robots::IRobot::getSensorValue(::Ice::Short i, const ::Ice::Context* __context)
01714 {
01715     class _DirectI : public ::IceInternal::Direct
01716     {
01717     public:
01718 
01719         _DirectI(::Ice::Float& __result, ::Ice::Short i, const ::Ice::Current& __current) :
01720             ::IceInternal::Direct(__current),
01721             _result(__result),
01722             _m_i(i)
01723         {
01724         }
01725 
01726         virtual ::Ice::DispatchStatus
01727         run(::Ice::Object* object)
01728         {
01729             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01730             if(!servant)
01731             {
01732                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01733             }
01734             _result = servant->getSensorValue(_m_i, _current);
01735             return ::Ice::DispatchOK;
01736         }
01737 
01738     private:
01739 
01740         ::Ice::Float& _result;
01741         ::Ice::Short _m_i;
01742     };
01743 
01744     ::Ice::Current __current;
01745     __initCurrent(__current, __Robots__IRobot__getSensorValue_name, ::Ice::Normal, __context);
01746     ::Ice::Float __result;
01747     try
01748     {
01749         _DirectI __direct(__result, i, __current);
01750         try
01751         {
01752             __direct.servant()->__collocDispatch(__direct);
01753         }
01754         catch(...)
01755         {
01756             __direct.destroy();
01757             throw;
01758         }
01759         __direct.destroy();
01760     }
01761     catch(const ::Ice::SystemException&)
01762     {
01763         throw;
01764     }
01765     catch(const ::IceInternal::LocalExceptionWrapper&)
01766     {
01767         throw;
01768     }
01769     catch(const ::std::exception& __ex)
01770     {
01771         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01772     }
01773     catch(...)
01774     {
01775         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01776     }
01777     return __result;
01778 }
01779 
01780 bool
01781 IceDelegateD::Robots::IRobot::getSensors(::Ice::Float& xPos, ::Ice::Float& yPos, ::Ice::Float& ori, const ::Ice::Context* __context)
01782 {
01783     class _DirectI : public ::IceInternal::Direct
01784     {
01785     public:
01786 
01787         _DirectI(bool& __result, ::Ice::Float& xPos, ::Ice::Float& yPos, ::Ice::Float& ori, const ::Ice::Current& __current) :
01788             ::IceInternal::Direct(__current),
01789             _result(__result),
01790             _m_xPos(xPos),
01791             _m_yPos(yPos),
01792             _m_ori(ori)
01793         {
01794         }
01795 
01796         virtual ::Ice::DispatchStatus
01797         run(::Ice::Object* object)
01798         {
01799             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01800             if(!servant)
01801             {
01802                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01803             }
01804             _result = servant->getSensors(_m_xPos, _m_yPos, _m_ori, _current);
01805             return ::Ice::DispatchOK;
01806         }
01807 
01808     private:
01809 
01810         bool& _result;
01811         ::Ice::Float& _m_xPos;
01812         ::Ice::Float& _m_yPos;
01813         ::Ice::Float& _m_ori;
01814     };
01815 
01816     ::Ice::Current __current;
01817     __initCurrent(__current, __Robots__IRobot__getSensors_name, ::Ice::Normal, __context);
01818     bool __result;
01819     try
01820     {
01821         _DirectI __direct(__result, xPos, yPos, ori, __current);
01822         try
01823         {
01824             __direct.servant()->__collocDispatch(__direct);
01825         }
01826         catch(...)
01827         {
01828             __direct.destroy();
01829             throw;
01830         }
01831         __direct.destroy();
01832     }
01833     catch(const ::Ice::SystemException&)
01834     {
01835         throw;
01836     }
01837     catch(const ::IceInternal::LocalExceptionWrapper&)
01838     {
01839         throw;
01840     }
01841     catch(const ::std::exception& __ex)
01842     {
01843         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01844     }
01845     catch(...)
01846     {
01847         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01848     }
01849     return __result;
01850 }
01851 
01852 bool
01853 IceDelegateD::Robots::IRobot::getDistanceAngle(::Ice::Float& dist, ::Ice::Float& ang, const ::Ice::Context* __context)
01854 {
01855     class _DirectI : public ::IceInternal::Direct
01856     {
01857     public:
01858 
01859         _DirectI(bool& __result, ::Ice::Float& dist, ::Ice::Float& ang, const ::Ice::Current& __current) :
01860             ::IceInternal::Direct(__current),
01861             _result(__result),
01862             _m_dist(dist),
01863             _m_ang(ang)
01864         {
01865         }
01866 
01867         virtual ::Ice::DispatchStatus
01868         run(::Ice::Object* object)
01869         {
01870             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01871             if(!servant)
01872             {
01873                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01874             }
01875             _result = servant->getDistanceAngle(_m_dist, _m_ang, _current);
01876             return ::Ice::DispatchOK;
01877         }
01878 
01879     private:
01880 
01881         bool& _result;
01882         ::Ice::Float& _m_dist;
01883         ::Ice::Float& _m_ang;
01884     };
01885 
01886     ::Ice::Current __current;
01887     __initCurrent(__current, __Robots__IRobot__getDistanceAngle_name, ::Ice::Normal, __context);
01888     bool __result;
01889     try
01890     {
01891         _DirectI __direct(__result, dist, ang, __current);
01892         try
01893         {
01894             __direct.servant()->__collocDispatch(__direct);
01895         }
01896         catch(...)
01897         {
01898             __direct.destroy();
01899             throw;
01900         }
01901         __direct.destroy();
01902     }
01903     catch(const ::Ice::SystemException&)
01904     {
01905         throw;
01906     }
01907     catch(const ::IceInternal::LocalExceptionWrapper&)
01908     {
01909         throw;
01910     }
01911     catch(const ::std::exception& __ex)
01912     {
01913         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01914     }
01915     catch(...)
01916     {
01917         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01918     }
01919     return __result;
01920 }
01921 
01922 void
01923 IceDelegateD::Robots::IRobot::motorsOff(::Ice::Short i, const ::Ice::Context* __context)
01924 {
01925     class _DirectI : public ::IceInternal::Direct
01926     {
01927     public:
01928 
01929         _DirectI(::Ice::Short i, const ::Ice::Current& __current) :
01930             ::IceInternal::Direct(__current),
01931             _m_i(i)
01932         {
01933         }
01934 
01935         virtual ::Ice::DispatchStatus
01936         run(::Ice::Object* object)
01937         {
01938             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
01939             if(!servant)
01940             {
01941                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
01942             }
01943             servant->motorsOff(_m_i, _current);
01944             return ::Ice::DispatchOK;
01945         }
01946 
01947     private:
01948 
01949         ::Ice::Short _m_i;
01950     };
01951 
01952     ::Ice::Current __current;
01953     __initCurrent(__current, __Robots__IRobot__motorsOff_name, ::Ice::Normal, __context);
01954     try
01955     {
01956         _DirectI __direct(i, __current);
01957         try
01958         {
01959             __direct.servant()->__collocDispatch(__direct);
01960         }
01961         catch(...)
01962         {
01963             __direct.destroy();
01964             throw;
01965         }
01966         __direct.destroy();
01967     }
01968     catch(const ::Ice::SystemException&)
01969     {
01970         throw;
01971     }
01972     catch(const ::IceInternal::LocalExceptionWrapper&)
01973     {
01974         throw;
01975     }
01976     catch(const ::std::exception& __ex)
01977     {
01978         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
01979     }
01980     catch(...)
01981     {
01982         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
01983     }
01984 }
01985 
01986 void
01987 IceDelegateD::Robots::IRobot::setMotor(::Ice::Short i, ::Ice::Float val, const ::Ice::Context* __context)
01988 {
01989     class _DirectI : public ::IceInternal::Direct
01990     {
01991     public:
01992 
01993         _DirectI(::Ice::Short i, ::Ice::Float val, const ::Ice::Current& __current) :
01994             ::IceInternal::Direct(__current),
01995             _m_i(i),
01996             _m_val(val)
01997         {
01998         }
01999 
02000         virtual ::Ice::DispatchStatus
02001         run(::Ice::Object* object)
02002         {
02003             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02004             if(!servant)
02005             {
02006                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02007             }
02008             servant->setMotor(_m_i, _m_val, _current);
02009             return ::Ice::DispatchOK;
02010         }
02011 
02012     private:
02013 
02014         ::Ice::Short _m_i;
02015         ::Ice::Float _m_val;
02016     };
02017 
02018     ::Ice::Current __current;
02019     __initCurrent(__current, __Robots__IRobot__setMotor_name, ::Ice::Normal, __context);
02020     try
02021     {
02022         _DirectI __direct(i, val, __current);
02023         try
02024         {
02025             __direct.servant()->__collocDispatch(__direct);
02026         }
02027         catch(...)
02028         {
02029             __direct.destroy();
02030             throw;
02031         }
02032         __direct.destroy();
02033     }
02034     catch(const ::Ice::SystemException&)
02035     {
02036         throw;
02037     }
02038     catch(const ::IceInternal::LocalExceptionWrapper&)
02039     {
02040         throw;
02041     }
02042     catch(const ::std::exception& __ex)
02043     {
02044         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02045     }
02046     catch(...)
02047     {
02048         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02049     }
02050 }
02051 
02052 ::Ice::Short
02053 IceDelegateD::Robots::IRobot::sendRawCmd(const ::std::string& data, const ::Ice::Context* __context)
02054 {
02055     class _DirectI : public ::IceInternal::Direct
02056     {
02057     public:
02058 
02059         _DirectI(::Ice::Short& __result, const ::std::string& data, const ::Ice::Current& __current) :
02060             ::IceInternal::Direct(__current),
02061             _result(__result),
02062             _m_data(data)
02063         {
02064         }
02065 
02066         virtual ::Ice::DispatchStatus
02067         run(::Ice::Object* object)
02068         {
02069             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02070             if(!servant)
02071             {
02072                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02073             }
02074             _result = servant->sendRawCmd(_m_data, _current);
02075             return ::Ice::DispatchOK;
02076         }
02077 
02078     private:
02079 
02080         ::Ice::Short& _result;
02081         const ::std::string& _m_data;
02082     };
02083 
02084     ::Ice::Current __current;
02085     __initCurrent(__current, __Robots__IRobot__sendRawCmd_name, ::Ice::Normal, __context);
02086     ::Ice::Short __result;
02087     try
02088     {
02089         _DirectI __direct(__result, data, __current);
02090         try
02091         {
02092             __direct.servant()->__collocDispatch(__direct);
02093         }
02094         catch(...)
02095         {
02096             __direct.destroy();
02097             throw;
02098         }
02099         __direct.destroy();
02100     }
02101     catch(const ::Ice::SystemException&)
02102     {
02103         throw;
02104     }
02105     catch(const ::IceInternal::LocalExceptionWrapper&)
02106     {
02107         throw;
02108     }
02109     catch(const ::std::exception& __ex)
02110     {
02111         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02112     }
02113     catch(...)
02114     {
02115         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02116     }
02117     return __result;
02118 }
02119 
02120 void
02121 IceDelegateD::Robots::IRobot::playSong(::Ice::Short song, const ::Ice::Context* __context)
02122 {
02123     class _DirectI : public ::IceInternal::Direct
02124     {
02125     public:
02126 
02127         _DirectI(::Ice::Short song, const ::Ice::Current& __current) :
02128             ::IceInternal::Direct(__current),
02129             _m_song(song)
02130         {
02131         }
02132 
02133         virtual ::Ice::DispatchStatus
02134         run(::Ice::Object* object)
02135         {
02136             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02137             if(!servant)
02138             {
02139                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02140             }
02141             servant->playSong(_m_song, _current);
02142             return ::Ice::DispatchOK;
02143         }
02144 
02145     private:
02146 
02147         ::Ice::Short _m_song;
02148     };
02149 
02150     ::Ice::Current __current;
02151     __initCurrent(__current, __Robots__IRobot__playSong_name, ::Ice::Normal, __context);
02152     try
02153     {
02154         _DirectI __direct(song, __current);
02155         try
02156         {
02157             __direct.servant()->__collocDispatch(__direct);
02158         }
02159         catch(...)
02160         {
02161             __direct.destroy();
02162             throw;
02163         }
02164         __direct.destroy();
02165     }
02166     catch(const ::Ice::SystemException&)
02167     {
02168         throw;
02169     }
02170     catch(const ::IceInternal::LocalExceptionWrapper&)
02171     {
02172         throw;
02173     }
02174     catch(const ::std::exception& __ex)
02175     {
02176         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02177     }
02178     catch(...)
02179     {
02180         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02181     }
02182 }
02183 
02184 void
02185 IceDelegateD::Robots::IRobot::sendStart(const ::Ice::Context* __context)
02186 {
02187     class _DirectI : public ::IceInternal::Direct
02188     {
02189     public:
02190 
02191         _DirectI(const ::Ice::Current& __current) :
02192             ::IceInternal::Direct(__current)
02193         {
02194         }
02195 
02196         virtual ::Ice::DispatchStatus
02197         run(::Ice::Object* object)
02198         {
02199             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02200             if(!servant)
02201             {
02202                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02203             }
02204             servant->sendStart(_current);
02205             return ::Ice::DispatchOK;
02206         }
02207 
02208     private:
02209 
02210     };
02211 
02212     ::Ice::Current __current;
02213     __initCurrent(__current, __Robots__IRobot__sendStart_name, ::Ice::Normal, __context);
02214     try
02215     {
02216         _DirectI __direct(__current);
02217         try
02218         {
02219             __direct.servant()->__collocDispatch(__direct);
02220         }
02221         catch(...)
02222         {
02223             __direct.destroy();
02224             throw;
02225         }
02226         __direct.destroy();
02227     }
02228     catch(const ::Ice::SystemException&)
02229     {
02230         throw;
02231     }
02232     catch(const ::IceInternal::LocalExceptionWrapper&)
02233     {
02234         throw;
02235     }
02236     catch(const ::std::exception& __ex)
02237     {
02238         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02239     }
02240     catch(...)
02241     {
02242         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02243     }
02244 }
02245 
02246 void
02247 IceDelegateD::Robots::IRobot::setMode(::Robots::IRobotModes mode, const ::Ice::Context* __context)
02248 {
02249     class _DirectI : public ::IceInternal::Direct
02250     {
02251     public:
02252 
02253         _DirectI(::Robots::IRobotModes mode, const ::Ice::Current& __current) :
02254             ::IceInternal::Direct(__current),
02255             _m_mode(mode)
02256         {
02257         }
02258 
02259         virtual ::Ice::DispatchStatus
02260         run(::Ice::Object* object)
02261         {
02262             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02263             if(!servant)
02264             {
02265                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02266             }
02267             servant->setMode(_m_mode, _current);
02268             return ::Ice::DispatchOK;
02269         }
02270 
02271     private:
02272 
02273         ::Robots::IRobotModes _m_mode;
02274     };
02275 
02276     ::Ice::Current __current;
02277     __initCurrent(__current, __Robots__IRobot__setMode_name, ::Ice::Normal, __context);
02278     try
02279     {
02280         _DirectI __direct(mode, __current);
02281         try
02282         {
02283             __direct.servant()->__collocDispatch(__direct);
02284         }
02285         catch(...)
02286         {
02287             __direct.destroy();
02288             throw;
02289         }
02290         __direct.destroy();
02291     }
02292     catch(const ::Ice::SystemException&)
02293     {
02294         throw;
02295     }
02296     catch(const ::IceInternal::LocalExceptionWrapper&)
02297     {
02298         throw;
02299     }
02300     catch(const ::std::exception& __ex)
02301     {
02302         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02303     }
02304     catch(...)
02305     {
02306         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02307     }
02308 }
02309 
02310 void
02311 IceDelegateD::Robots::IRobot::setDemo(::Ice::Short demo, const ::Ice::Context* __context)
02312 {
02313     class _DirectI : public ::IceInternal::Direct
02314     {
02315     public:
02316 
02317         _DirectI(::Ice::Short demo, const ::Ice::Current& __current) :
02318             ::IceInternal::Direct(__current),
02319             _m_demo(demo)
02320         {
02321         }
02322 
02323         virtual ::Ice::DispatchStatus
02324         run(::Ice::Object* object)
02325         {
02326             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02327             if(!servant)
02328             {
02329                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02330             }
02331             servant->setDemo(_m_demo, _current);
02332             return ::Ice::DispatchOK;
02333         }
02334 
02335     private:
02336 
02337         ::Ice::Short _m_demo;
02338     };
02339 
02340     ::Ice::Current __current;
02341     __initCurrent(__current, __Robots__IRobot__setDemo_name, ::Ice::Normal, __context);
02342     try
02343     {
02344         _DirectI __direct(demo, __current);
02345         try
02346         {
02347             __direct.servant()->__collocDispatch(__direct);
02348         }
02349         catch(...)
02350         {
02351             __direct.destroy();
02352             throw;
02353         }
02354         __direct.destroy();
02355     }
02356     catch(const ::Ice::SystemException&)
02357     {
02358         throw;
02359     }
02360     catch(const ::IceInternal::LocalExceptionWrapper&)
02361     {
02362         throw;
02363     }
02364     catch(const ::std::exception& __ex)
02365     {
02366         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02367     }
02368     catch(...)
02369     {
02370         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02371     }
02372 }
02373 
02374 void
02375 IceDelegateD::Robots::IRobot::setLED(::Ice::Short led, ::Ice::Short color, ::Ice::Short intensity, const ::Ice::Context* __context)
02376 {
02377     class _DirectI : public ::IceInternal::Direct
02378     {
02379     public:
02380 
02381         _DirectI(::Ice::Short led, ::Ice::Short color, ::Ice::Short intensity, const ::Ice::Current& __current) :
02382             ::IceInternal::Direct(__current),
02383             _m_led(led),
02384             _m_color(color),
02385             _m_intensity(intensity)
02386         {
02387         }
02388 
02389         virtual ::Ice::DispatchStatus
02390         run(::Ice::Object* object)
02391         {
02392             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02393             if(!servant)
02394             {
02395                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02396             }
02397             servant->setLED(_m_led, _m_color, _m_intensity, _current);
02398             return ::Ice::DispatchOK;
02399         }
02400 
02401     private:
02402 
02403         ::Ice::Short _m_led;
02404         ::Ice::Short _m_color;
02405         ::Ice::Short _m_intensity;
02406     };
02407 
02408     ::Ice::Current __current;
02409     __initCurrent(__current, __Robots__IRobot__setLED_name, ::Ice::Normal, __context);
02410     try
02411     {
02412         _DirectI __direct(led, color, intensity, __current);
02413         try
02414         {
02415             __direct.servant()->__collocDispatch(__direct);
02416         }
02417         catch(...)
02418         {
02419             __direct.destroy();
02420             throw;
02421         }
02422         __direct.destroy();
02423     }
02424     catch(const ::Ice::SystemException&)
02425     {
02426         throw;
02427     }
02428     catch(const ::IceInternal::LocalExceptionWrapper&)
02429     {
02430         throw;
02431     }
02432     catch(const ::std::exception& __ex)
02433     {
02434         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02435     }
02436     catch(...)
02437     {
02438         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02439     }
02440 }
02441 
02442 void
02443 IceDelegateD::Robots::IRobot::shutdown(const ::Ice::Context* __context)
02444 {
02445     class _DirectI : public ::IceInternal::Direct
02446     {
02447     public:
02448 
02449         _DirectI(const ::Ice::Current& __current) :
02450             ::IceInternal::Direct(__current)
02451         {
02452         }
02453 
02454         virtual ::Ice::DispatchStatus
02455         run(::Ice::Object* object)
02456         {
02457             ::Robots::IRobot* servant = dynamic_cast< ::Robots::IRobot*>(object);
02458             if(!servant)
02459             {
02460                 throw ::Ice::OperationNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
02461             }
02462             servant->shutdown(_current);
02463             return ::Ice::DispatchOK;
02464         }
02465 
02466     private:
02467 
02468     };
02469 
02470     ::Ice::Current __current;
02471     __initCurrent(__current, __Robots__IRobot__shutdown_name, ::Ice::Normal, __context);
02472     try
02473     {
02474         _DirectI __direct(__current);
02475         try
02476         {
02477             __direct.servant()->__collocDispatch(__direct);
02478         }
02479         catch(...)
02480         {
02481             __direct.destroy();
02482             throw;
02483         }
02484         __direct.destroy();
02485     }
02486     catch(const ::Ice::SystemException&)
02487     {
02488         throw;
02489     }
02490     catch(const ::IceInternal::LocalExceptionWrapper&)
02491     {
02492         throw;
02493     }
02494     catch(const ::std::exception& __ex)
02495     {
02496         ::IceInternal::LocalExceptionWrapper::throwWrapper(__ex);
02497     }
02498     catch(...)
02499     {
02500         throw ::IceInternal::LocalExceptionWrapper(::Ice::UnknownException(__FILE__, __LINE__, "unknown c++ exception"), false);
02501     }
02502 }
02503 
02504 ::Ice::ObjectPtr
02505 Robots::IRobot::ice_clone() const
02506 {
02507     throw ::Ice::CloneNotImplementedException(__FILE__, __LINE__);
02508     return 0; // to avoid a warning with some compilers
02509 }
02510 
02511 static const ::std::string __Robots__IRobot_ids[2] =
02512 {
02513     "::Ice::Object",
02514     "::Robots::IRobot"
02515 };
02516 
02517 bool
02518 Robots::IRobot::ice_isA(const ::std::string& _s, const ::Ice::Current&) const
02519 {
02520     return ::std::binary_search(__Robots__IRobot_ids, __Robots__IRobot_ids + 2, _s);
02521 }
02522 
02523 ::std::vector< ::std::string>
02524 Robots::IRobot::ice_ids(const ::Ice::Current&) const
02525 {
02526     return ::std::vector< ::std::string>(&__Robots__IRobot_ids[0], &__Robots__IRobot_ids[2]);
02527 }
02528 
02529 const ::std::string&
02530 Robots::IRobot::ice_id(const ::Ice::Current&) const
02531 {
02532     return __Robots__IRobot_ids[1];
02533 }
02534 
02535 const ::std::string&
02536 Robots::IRobot::ice_staticId()
02537 {
02538     return __Robots__IRobot_ids[1];
02539 }
02540 
02541 ::Ice::DispatchStatus
02542 Robots::IRobot::___getSpeed(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02543 {
02544     __checkMode(::Ice::Normal, __current.mode);
02545     __inS.is()->skipEmptyEncaps();
02546     ::IceInternal::BasicStream* __os = __inS.os();
02547     ::Ice::Float __ret = getSpeed(__current);
02548     __os->write(__ret);
02549     return ::Ice::DispatchOK;
02550 }
02551 
02552 ::Ice::DispatchStatus
02553 Robots::IRobot::___setSpeed(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02554 {
02555     __checkMode(::Ice::Normal, __current.mode);
02556     ::IceInternal::BasicStream* __is = __inS.is();
02557     __is->startReadEncaps();
02558     ::Ice::Float speed;
02559     __is->read(speed);
02560     __is->endReadEncaps();
02561     ::IceInternal::BasicStream* __os = __inS.os();
02562     ::Ice::Short __ret = setSpeed(speed, __current);
02563     __os->write(__ret);
02564     return ::Ice::DispatchOK;
02565 }
02566 
02567 ::Ice::DispatchStatus
02568 Robots::IRobot::___getSteering(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02569 {
02570     __checkMode(::Ice::Normal, __current.mode);
02571     __inS.is()->skipEmptyEncaps();
02572     ::IceInternal::BasicStream* __os = __inS.os();
02573     ::Ice::Float __ret = getSteering(__current);
02574     __os->write(__ret);
02575     return ::Ice::DispatchOK;
02576 }
02577 
02578 ::Ice::DispatchStatus
02579 Robots::IRobot::___setSteering(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02580 {
02581     __checkMode(::Ice::Normal, __current.mode);
02582     ::IceInternal::BasicStream* __is = __inS.is();
02583     __is->startReadEncaps();
02584     ::Ice::Float steeringPos;
02585     __is->read(steeringPos);
02586     __is->endReadEncaps();
02587     ::IceInternal::BasicStream* __os = __inS.os();
02588     ::Ice::Short __ret = setSteering(steeringPos, __current);
02589     __os->write(__ret);
02590     return ::Ice::DispatchOK;
02591 }
02592 
02593 ::Ice::DispatchStatus
02594 Robots::IRobot::___getImageSensor(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02595 {
02596     __checkMode(::Ice::Normal, __current.mode);
02597     ::IceInternal::BasicStream* __is = __inS.is();
02598     __is->startReadEncaps();
02599     ::Ice::Short i;
02600     bool useColor;
02601     __is->read(i);
02602     __is->read(useColor);
02603     __is->endReadEncaps();
02604     ::IceInternal::BasicStream* __os = __inS.os();
02605     ::ImageIceMod::ImageIce __ret = getImageSensor(i, useColor, __current);
02606     __ret.__write(__os);
02607     return ::Ice::DispatchOK;
02608 }
02609 
02610 ::Ice::DispatchStatus
02611 Robots::IRobot::___getImageSensorDims(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02612 {
02613     __checkMode(::Ice::Normal, __current.mode);
02614     ::IceInternal::BasicStream* __is = __inS.is();
02615     __is->startReadEncaps();
02616     ::Ice::Short i;
02617     __is->read(i);
02618     __is->endReadEncaps();
02619     ::IceInternal::BasicStream* __os = __inS.os();
02620     ::ImageIceMod::DimsIce __ret = getImageSensorDims(i, __current);
02621     __ret.__write(__os);
02622     return ::Ice::DispatchOK;
02623 }
02624 
02625 ::Ice::DispatchStatus
02626 Robots::IRobot::___getSensorValue(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02627 {
02628     __checkMode(::Ice::Normal, __current.mode);
02629     ::IceInternal::BasicStream* __is = __inS.is();
02630     __is->startReadEncaps();
02631     ::Ice::Short i;
02632     __is->read(i);
02633     __is->endReadEncaps();
02634     ::IceInternal::BasicStream* __os = __inS.os();
02635     ::Ice::Float __ret = getSensorValue(i, __current);
02636     __os->write(__ret);
02637     return ::Ice::DispatchOK;
02638 }
02639 
02640 ::Ice::DispatchStatus
02641 Robots::IRobot::___getSensors(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02642 {
02643     __checkMode(::Ice::Normal, __current.mode);
02644     __inS.is()->skipEmptyEncaps();
02645     ::IceInternal::BasicStream* __os = __inS.os();
02646     ::Ice::Float xPos;
02647     ::Ice::Float yPos;
02648     ::Ice::Float ori;
02649     bool __ret = getSensors(xPos, yPos, ori, __current);
02650     __os->write(xPos);
02651     __os->write(yPos);
02652     __os->write(ori);
02653     __os->write(__ret);
02654     return ::Ice::DispatchOK;
02655 }
02656 
02657 ::Ice::DispatchStatus
02658 Robots::IRobot::___getDistanceAngle(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02659 {
02660     __checkMode(::Ice::Normal, __current.mode);
02661     __inS.is()->skipEmptyEncaps();
02662     ::IceInternal::BasicStream* __os = __inS.os();
02663     ::Ice::Float dist;
02664     ::Ice::Float ang;
02665     bool __ret = getDistanceAngle(dist, ang, __current);
02666     __os->write(dist);
02667     __os->write(ang);
02668     __os->write(__ret);
02669     return ::Ice::DispatchOK;
02670 }
02671 
02672 ::Ice::DispatchStatus
02673 Robots::IRobot::___motorsOff(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02674 {
02675     __checkMode(::Ice::Normal, __current.mode);
02676     ::IceInternal::BasicStream* __is = __inS.is();
02677     __is->startReadEncaps();
02678     ::Ice::Short i;
02679     __is->read(i);
02680     __is->endReadEncaps();
02681     motorsOff(i, __current);
02682     return ::Ice::DispatchOK;
02683 }
02684 
02685 ::Ice::DispatchStatus
02686 Robots::IRobot::___setMotor(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02687 {
02688     __checkMode(::Ice::Normal, __current.mode);
02689     ::IceInternal::BasicStream* __is = __inS.is();
02690     __is->startReadEncaps();
02691     ::Ice::Short i;
02692     ::Ice::Float val;
02693     __is->read(i);
02694     __is->read(val);
02695     __is->endReadEncaps();
02696     setMotor(i, val, __current);
02697     return ::Ice::DispatchOK;
02698 }
02699 
02700 ::Ice::DispatchStatus
02701 Robots::IRobot::___sendRawCmd(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02702 {
02703     __checkMode(::Ice::Normal, __current.mode);
02704     ::IceInternal::BasicStream* __is = __inS.is();
02705     __is->startReadEncaps();
02706     ::std::string data;
02707     __is->read(data);
02708     __is->endReadEncaps();
02709     ::IceInternal::BasicStream* __os = __inS.os();
02710     ::Ice::Short __ret = sendRawCmd(data, __current);
02711     __os->write(__ret);
02712     return ::Ice::DispatchOK;
02713 }
02714 
02715 ::Ice::DispatchStatus
02716 Robots::IRobot::___playSong(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02717 {
02718     __checkMode(::Ice::Normal, __current.mode);
02719     ::IceInternal::BasicStream* __is = __inS.is();
02720     __is->startReadEncaps();
02721     ::Ice::Short song;
02722     __is->read(song);
02723     __is->endReadEncaps();
02724     playSong(song, __current);
02725     return ::Ice::DispatchOK;
02726 }
02727 
02728 ::Ice::DispatchStatus
02729 Robots::IRobot::___sendStart(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02730 {
02731     __checkMode(::Ice::Normal, __current.mode);
02732     __inS.is()->skipEmptyEncaps();
02733     sendStart(__current);
02734     return ::Ice::DispatchOK;
02735 }
02736 
02737 ::Ice::DispatchStatus
02738 Robots::IRobot::___setMode(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02739 {
02740     __checkMode(::Ice::Normal, __current.mode);
02741     ::IceInternal::BasicStream* __is = __inS.is();
02742     __is->startReadEncaps();
02743     ::Robots::IRobotModes mode;
02744     ::Robots::__read(__is, mode);
02745     __is->endReadEncaps();
02746     setMode(mode, __current);
02747     return ::Ice::DispatchOK;
02748 }
02749 
02750 ::Ice::DispatchStatus
02751 Robots::IRobot::___setDemo(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02752 {
02753     __checkMode(::Ice::Normal, __current.mode);
02754     ::IceInternal::BasicStream* __is = __inS.is();
02755     __is->startReadEncaps();
02756     ::Ice::Short demo;
02757     __is->read(demo);
02758     __is->endReadEncaps();
02759     setDemo(demo, __current);
02760     return ::Ice::DispatchOK;
02761 }
02762 
02763 ::Ice::DispatchStatus
02764 Robots::IRobot::___setLED(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02765 {
02766     __checkMode(::Ice::Normal, __current.mode);
02767     ::IceInternal::BasicStream* __is = __inS.is();
02768     __is->startReadEncaps();
02769     ::Ice::Short led;
02770     ::Ice::Short color;
02771     ::Ice::Short intensity;
02772     __is->read(led);
02773     __is->read(color);
02774     __is->read(intensity);
02775     __is->endReadEncaps();
02776     setLED(led, color, intensity, __current);
02777     return ::Ice::DispatchOK;
02778 }
02779 
02780 ::Ice::DispatchStatus
02781 Robots::IRobot::___shutdown(::IceInternal::Incoming& __inS, const ::Ice::Current& __current)
02782 {
02783     __checkMode(::Ice::Normal, __current.mode);
02784     __inS.is()->skipEmptyEncaps();
02785     shutdown(__current);
02786     return ::Ice::DispatchOK;
02787 }
02788 
02789 static ::std::string __Robots__IRobot_all[] =
02790 {
02791     "getDistanceAngle",
02792     "getImageSensor",
02793     "getImageSensorDims",
02794     "getSensorValue",
02795     "getSensors",
02796     "getSpeed",
02797     "getSteering",
02798     "ice_id",
02799     "ice_ids",
02800     "ice_isA",
02801     "ice_ping",
02802     "motorsOff",
02803     "playSong",
02804     "sendRawCmd",
02805     "sendStart",
02806     "setDemo",
02807     "setLED",
02808     "setMode",
02809     "setMotor",
02810     "setSpeed",
02811     "setSteering",
02812     "shutdown"
02813 };
02814 
02815 ::Ice::DispatchStatus
02816 Robots::IRobot::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
02817 {
02818     ::std::pair< ::std::string*, ::std::string*> r = ::std::equal_range(__Robots__IRobot_all, __Robots__IRobot_all + 22, current.operation);
02819     if(r.first == r.second)
02820     {
02821         throw ::Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
02822     }
02823 
02824     switch(r.first - __Robots__IRobot_all)
02825     {
02826         case 0:
02827         {
02828             return ___getDistanceAngle(in, current);
02829         }
02830         case 1:
02831         {
02832             return ___getImageSensor(in, current);
02833         }
02834         case 2:
02835         {
02836             return ___getImageSensorDims(in, current);
02837         }
02838         case 3:
02839         {
02840             return ___getSensorValue(in, current);
02841         }
02842         case 4:
02843         {
02844             return ___getSensors(in, current);
02845         }
02846         case 5:
02847         {
02848             return ___getSpeed(in, current);
02849         }
02850         case 6:
02851         {
02852             return ___getSteering(in, current);
02853         }
02854         case 7:
02855         {
02856             return ___ice_id(in, current);
02857         }
02858         case 8:
02859         {
02860             return ___ice_ids(in, current);
02861         }
02862         case 9:
02863         {
02864             return ___ice_isA(in, current);
02865         }
02866         case 10:
02867         {
02868             return ___ice_ping(in, current);
02869         }
02870         case 11:
02871         {
02872             return ___motorsOff(in, current);
02873         }
02874         case 12:
02875         {
02876             return ___playSong(in, current);
02877         }
02878         case 13:
02879         {
02880             return ___sendRawCmd(in, current);
02881         }
02882         case 14:
02883         {
02884             return ___sendStart(in, current);
02885         }
02886         case 15:
02887         {
02888             return ___setDemo(in, current);
02889         }
02890         case 16:
02891         {
02892             return ___setLED(in, current);
02893         }
02894         case 17:
02895         {
02896             return ___setMode(in, current);
02897         }
02898         case 18:
02899         {
02900             return ___setMotor(in, current);
02901         }
02902         case 19:
02903         {
02904             return ___setSpeed(in, current);
02905         }
02906         case 20:
02907         {
02908             return ___setSteering(in, current);
02909         }
02910         case 21:
02911         {
02912             return ___shutdown(in, current);
02913         }
02914     }
02915 
02916     assert(false);
02917     throw ::Ice::OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
02918 }
02919 
02920 void
02921 Robots::IRobot::__write(::IceInternal::BasicStream* __os) const
02922 {
02923     __os->writeTypeId(ice_staticId());
02924     __os->startWriteSlice();
02925     __os->endWriteSlice();
02926 #if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
02927     Object::__write(__os);
02928 #else
02929     ::Ice::Object::__write(__os);
02930 #endif
02931 }
02932 
02933 void
02934 Robots::IRobot::__read(::IceInternal::BasicStream* __is, bool __rid)
02935 {
02936     if(__rid)
02937     {
02938         ::std::string myId;
02939         __is->readTypeId(myId);
02940     }
02941     __is->startReadSlice();
02942     __is->endReadSlice();
02943 #if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
02944     Object::__read(__is, true);
02945 #else
02946     ::Ice::Object::__read(__is, true);
02947 #endif
02948 }
02949 
02950 void
02951 Robots::IRobot::__write(const ::Ice::OutputStreamPtr&) const
02952 {
02953     Ice::MarshalException ex(__FILE__, __LINE__);
02954     ex.reason = "type Robots::IRobot was not generated with stream support";
02955     throw ex;
02956 }
02957 
02958 void
02959 Robots::IRobot::__read(const ::Ice::InputStreamPtr&, bool)
02960 {
02961     Ice::MarshalException ex(__FILE__, __LINE__);
02962     ex.reason = "type Robots::IRobot was not generated with stream support";
02963     throw ex;
02964 }
02965 
02966 void
02967 Robots::__patch__IRobotPtr(void* __addr, ::Ice::ObjectPtr& v)
02968 {
02969     ::Robots::IRobotPtr* p = static_cast< ::Robots::IRobotPtr*>(__addr);
02970     assert(p);
02971     *p = ::Robots::IRobotPtr::dynamicCast(v);
02972     if(v && !*p)
02973     {
02974         IceInternal::Ex::throwUOE(::Robots::IRobot::ice_staticId(), v->ice_id());
02975     }
02976 }
02977 
02978 bool
02979 Robots::operator==(const ::Robots::IRobot& l, const ::Robots::IRobot& r)
02980 {
02981     return static_cast<const ::Ice::Object&>(l) == static_cast<const ::Ice::Object&>(r);
02982 }
02983 
02984 bool
02985 Robots::operator<(const ::Robots::IRobot& l, const ::Robots::IRobot& r)
02986 {
02987     return static_cast<const ::Ice::Object&>(l) < static_cast<const ::Ice::Object&>(r);
02988 }
Generated on Sun May 8 08:40:45 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3