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 Project Download Mailing lists
|
browserthread.h00001 /* 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)