orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
wifiImpl.h00001 #ifndef ORCA_WIFI_IMPL_H 00002 #define ORCA_WIFI_IMPL_H 00003 00004 // include defnition of Ice runtime 00005 #include <Ice/Ice.h> 00006 #include <IceStorm/IceStorm.h> 00007 00008 // include provided interfaces 00009 #include <orca/wifi.h> 00010 00011 // utilities 00012 #include <gbxsickacfr/gbxiceutilacfr/store.h> 00013 #include <orcaice/context.h> 00014 00015 namespace gbxsickacfr { namespace gbxiceutilacfr { class Thread; } } 00016 00017 namespace orcaifaceimpl 00018 { 00019 00023 class WifiImpl : public IceUtil::Shared 00024 { 00025 friend class WifiI; 00026 00027 public: 00029 WifiImpl( const std::string &interfaceTag, 00030 const orcaice::Context &context ); 00032 WifiImpl( const orcaice::Context &context, 00033 const std::string &interfaceName ); 00034 ~WifiImpl(); 00035 00036 // local functions 00038 void initInterface(); 00039 00042 void initInterface( gbxsickacfr::gbxiceutilacfr::Thread* thread, const std::string& subsysName="", int retryInterval=2 ); 00043 00046 void localSetAndSend( const orca::WifiData &data ); 00047 00048 private: 00049 // remote call implementations, mimic (but do not inherit) the orca interface 00050 ::orca::WifiData internalGetData() const; 00051 void internalSubscribe(const ::orca::WifiConsumerPrx&); 00052 void internalUnsubscribe(const ::orca::WifiConsumerPrx& ); 00053 00054 gbxsickacfr::gbxiceutilacfr::Store<orca::WifiData> dataStore_; 00055 00056 orca::WifiConsumerPrx consumerPrx_; 00057 IceStorm::TopicPrx topicPrx_; 00058 00059 // Hang onto this so we can remove from the adapter and control when things get deleted 00060 Ice::ObjectPtr ptr_; 00061 00062 const std::string interfaceName_; 00063 const std::string topicName_; 00064 orcaice::Context context_; 00065 }; 00066 typedef IceUtil::Handle<WifiImpl> WifiImplPtr; 00067 00068 } 00069 00070 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)