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

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

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


Generated for Orca Robotics by  doxygen 1.4.5