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

 

         

browserthread.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2006-2007 Alexei Makarenko
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 BROWSER_HANDLER_H
00012 #define BROWSER_HANDLER_H
00013 
00014 #include <vector>
00015 #include <hydroiceutil/eventqueue.h>
00016 #include <orcaice/context.h>
00017 #include <orcacm/types.h>
00018 #include <gbxsickacfr/gbxiceutilacfr/safethread.h>
00019 #include "browserfsm.h"
00020 #include <orcaprobe/ibrowser.h>
00021 
00022 namespace probe
00023 {
00024 
00025 class ProbeFactory;
00026 class InterfaceProbe;
00027 
00028 class BrowserThread : public orcaprobe::IBrowser, public gbxiceutilacfr::SafeThread, public BrowserFsm
00029 {
00030 
00031 public:
00032     BrowserThread( orcaprobe::AbstractDisplay & display,
00033                     std::vector<orcaprobe::Factory*> &factories,
00034                     const orcaice::Context & context );
00035 
00036     // from orcaprobe::IBrowser
00037     virtual void chooseActivate();
00038     virtual void chooseReload();
00039     virtual void chooseUp();
00040     virtual void chooseTop();
00041     virtual void choosePick( int );
00042     virtual void chooseFilter( const std::string & );
00043     virtual void chooseDeactivate();
00044 
00045 private:
00046 
00047     // from SafeThread
00048     virtual void walk();
00049 
00050     // from BrowserFsm
00051     virtual void loadRegistry();
00052     virtual void filterRegistry();
00053     virtual void showRegistry();
00054     virtual void loadPlatform();
00055     virtual void showPlatform();
00056     virtual void loadComponent();
00057     virtual void showComponent();
00058     virtual void loadInterface();
00059     virtual void showInterface();
00060     virtual void loadOperation();
00061     virtual void showOperation();
00062     
00063     virtual void pickLastPlatform()  { pick_=lastPlatformPick_;};
00064     virtual void pickLastComponent() { pick_=lastComponentPick_;};
00065     virtual void pickLastInterface() { pick_=lastInterfacePick_;};
00066     virtual void pickLastOperation() { pick_=lastOperationPick_;};
00067     
00068     virtual void quit();
00069 
00070     std::vector<orcaprobe::Factory*> &factories_;
00071 
00072     orcaprobe::AbstractDisplay & display_;
00073 
00074     hydroiceutil::EventQueuePtr events_;
00075  
00076     orcaprobe::InterfaceProbePtr ifaceProbe_;
00077 
00078     orcaice::Context context_;
00079 
00080     // user's last choice
00081     int pick_;
00082     int lastPlatformPick_;
00083     int lastComponentPick_;
00084     int lastInterfacePick_;
00085     int lastOperationPick_;
00086 
00087     orcacm::RegistryHomeData registryHomeData_;
00088 
00089     orcacm::RegistryHierarchicalData1 registryData_;
00090     orcacm::RegistryHierarchicalData2 platformData_;
00091     orcacm::ComponentData componentData_;
00092     orcacm::InterfaceData interfaceData_;
00093     orcacm::OperationData operationData_;
00094 
00095     // user's last filter
00096     std::string filter_;
00097 };
00098 
00099 } // namespace
00100 
00101 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5