|
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::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)
1.4.5