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 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 #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)