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 }