INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

homeImpl.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef ORCAICE_HOME_IMPL_H
00012 #define ORCAICE_HOME_IMPL_H
00013 
00014 #include <orcaice/home.h>
00015 
00016 #include <orca/home.h>
00017 #include <gbxsickacfr/gbxiceutilacfr/store.h>
00018 #include <orcaice/context.h>
00019 
00020 // class gbxiceutilacfr::Thread;
00021 
00022 namespace orcaice
00023 {
00024 namespace detail
00025 {
00026 
00027 class HomeImpl : public virtual orcaice::Home, public IceUtil::Shared
00028 {
00029 friend class HomeI;
00030 
00031 public:
00032     HomeImpl( const orcaice::Context& context );
00033     ~HomeImpl();
00034 
00035     void updateContext( const orcaice::Context& context ) { context_ = context; };
00036     void initInterface();
00037 //     void initInterface( gbxutilacfr::Stoppable* activity, const std::string& subsysName="", int retryInterval=2 );
00038 
00039     // orcaice::Home interface
00040     virtual void addProvidedInterface( const orca::ProvidedInterface& iface );
00041     virtual void addRequiredInterface( const orca::RequiredInterface& iface );
00042     virtual void removeProvidedInterface( const std::string& name );
00043     virtual void removeRequiredInterface( const std::string& name );
00044 
00045 private:
00046 
00047     // remote call implementations, mimic (but do not inherit) the orca interface
00048     orca::HomeData internalGetData();
00049 
00050     gbxiceutilacfr::Store<orca::HomeData> dataStore_;
00051 
00052     // Hang onto this so we can remove from the adapter and control when things get deleted
00053     Ice::ObjectPtr          ptr_;
00054 
00055     const std::string              interfaceName_;
00056     orcaice::Context               context_;
00057 };
00058 
00059 typedef IceUtil::Handle<HomeImpl> HomeImplPtr;
00060 
00061 } // namespace
00062 } // namespace
00063 
00064 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5