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

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


Generated for Orca Robotics by  doxygen 1.4.5