00001 #ifndef MYTHUISTATETRACKER_H
00002 #define MYTHUISTATETRACKER_H
00003
00004 #include <QVariantMap>
00005 #include <QMutex>
00006 #include <QTime>
00007
00008 #include "mythuiexp.h"
00009
00010 class MUI_PUBLIC MythUIStateTracker
00011 {
00012 public:
00013 static void SetState(QVariantMap &newstate);
00014 static void GetState(QVariantMap &state);
00015 static void GetFreshState(QVariantMap &state);
00016
00017 protected:
00018 static MythUIStateTracker* GetMythUIStateTracker(void);
00019 static int TimeSinceLastUpdate(void);
00020 static MythUIStateTracker *gUIState;
00021 static QMutex *gUIStateLock;
00022
00023 MythUIStateTracker(): m_lastUpdated(QTime::currentTime().addSecs(-1)) { }
00024
00025 QVariantMap m_state;
00026 QTime m_lastUpdated;
00027 };
00028
00029 #endif // MYTHUISTATETRACKER_H