orca-robotics


INTRODUCTION
Overview
Download and Install
Documentation

REPOSITORY
Interfaces
Drivers
Libraries
Utilities
Software Map

DEVELOPER
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

platformfocusmanager.h

00001 #ifndef HYDROQGUI_PLATFORMFOCUSMANAGER_H
00002 #define HYDROQGUI_PLATFORMFOCUSMANAGER_H
00003 
00004 #include <QString>
00005 #include <vector>
00006 #include <hydroutil/uncopyable.h>
00007 #include <IceUtil/IceUtil.h>
00008 
00009 namespace hydroqgui {
00010 
00011 class PlatformFocusManager;
00012 
00019 class PlatformFocusChangeReceiver : public hydroutil::Uncopyable
00020 {
00021 public:
00022 
00023     PlatformFocusChangeReceiver( PlatformFocusManager &platformFocusManager );
00024     virtual ~PlatformFocusChangeReceiver();
00025 
00026     virtual void platformFocusChanged( const QString &newPlatformName )=0;
00027 
00028 private:
00029 
00030     PlatformFocusManager &platformFocusManager_;
00031 };
00032 
00040 class PlatformFocusManager : public hydroutil::Uncopyable
00041 {
00042 
00043 public: 
00044 
00045     PlatformFocusManager();
00046 
00047     const QString &platformInFocus() const { return platformInFocus_; }
00048 
00050     void setFocusPlatform( const QString &platformName, PlatformFocusChangeReceiver *receiver=NULL );
00051 
00052     void registerForPlatformFocusChanges( PlatformFocusChangeReceiver *receiver );
00053     void unRegisterForPlatformFocusChanges( PlatformFocusChangeReceiver *receiver );
00054 
00055 private: 
00056 
00057     QString platformInFocus_;
00058     std::vector<PlatformFocusChangeReceiver*> changeReceivers_;
00059 
00060     IceUtil::Mutex mutex_;
00061 };
00062 
00063 }
00064 
00065 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5