00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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;
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 }