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

 

         

buttonImpl.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 ORCA_ORCAIFACEIMPL_BUTTON_IMPL_H
00012 #define ORCA_ORCAIFACEIMPL_BUTTON_IMPL_H
00013 
00014 #include <orca/button.h>
00015 #include <gbxsickacfr/gbxiceutilacfr/notify.h>
00016 #include <orcaice/context.h>
00017 
00018 namespace gbxutilacfr { class Stoppable; }
00019 
00020 namespace orcaifaceimpl {
00021 
00025 class ButtonImpl : public IceUtil::Shared,
00026                    public gbxiceutilacfr::Notify<bool> // Note: the 'bool' here is meaningless.
00027 {
00028 friend class ButtonI;
00029 
00030 public:
00032     ButtonImpl( const std::string& interfaceTag,
00033                 const orcaice::Context& context );
00035     ButtonImpl( const orcaice::Context& context,
00036                 const std::string& interfaceName );
00037     ~ButtonImpl();
00038 
00040     void initInterface();
00041 
00044     void initInterface( gbxutilacfr::Stoppable* activity, const std::string& subsysName="", int retryInterval=2 );
00045 
00046 private:
00047 
00048     // remote call implementations, mimic (but do not inherit) the orca interface
00049     void internalPress();
00050 
00051     Ice::ObjectPtr ptr_;
00052     const std::string interfaceName_;
00053     orcaice::Context context_;
00054 };
00055 typedef IceUtil::Handle<ButtonImpl> ButtonImplPtr;
00056 
00057 } // namespace
00058 
00059 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5