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