MythTV  master
v2myth.h
Go to the documentation of this file.
1 #ifndef V2MYTH_H
2 #define V2MYTH_H
3 
5 #include "v2connectionInfo.h"
7 #include "v2timeZoneInfo.h"
8 #include "v2logMessageList.h"
9 #include "v2frontendList.h"
10 #include "v2settingList.h"
11 #include "v2backendInfo.h"
12 #include "v2buildInfo.h"
13 #include "v2envInfo.h"
14 #include "v2logInfo.h"
15 
16 #define MYTH_SERVICE QString("/Myth/")
17 #define MYTH_HANDLE QString("Myth")
18 
19 class V2Myth : public MythHTTPService
20 {
21  Q_OBJECT
22  Q_CLASSINFO( "Version" , "5.2" )
23  Q_CLASSINFO( "GetHostName", "methods=GET;name=String" )
24  Q_CLASSINFO( "GetHosts", "methods=GET;name=StringList" )
25  Q_CLASSINFO( "GetKeys", "methods=GET;name=StringList" )
26  Q_CLASSINFO( "AddStorageGroupDir", "methods=POST" )
27  Q_CLASSINFO( "RemoveStorageGroupDir", "methods=POST" )
28  Q_CLASSINFO( "GetFormatDate", "methods=GET;name=String" )
29  Q_CLASSINFO( "GetFormatDateTime", "methods=GET;name=String" )
30  Q_CLASSINFO( "GetFormatTime", "methods=GET;name=String" )
31  Q_CLASSINFO( "ParseISODateString", "methods=GET" )
32  Q_CLASSINFO( "GetSetting", "methods=GET;name=String" )
33  Q_CLASSINFO( "PutSetting", "methods=POST" )
34  Q_CLASSINFO( "DeleteSetting", "methods=POST" )
35  Q_CLASSINFO( "TestDBSettings", "methods=POST" )
36  Q_CLASSINFO( "SendMessage", "methods=POST" )
37  Q_CLASSINFO( "SendNotification", "methods=POST" )
38  Q_CLASSINFO( "BackupDatabase", "methods=POST" )
39  Q_CLASSINFO( "CheckDatabase", "methods=POST" )
40  Q_CLASSINFO( "DelayShutdown", "methods=POST" )
41  Q_CLASSINFO( "ProfileSubmit", "methods=POST" )
42  Q_CLASSINFO( "ProfileDelete", "methods=POST" )
43  Q_CLASSINFO( "ProfileURL", "methods=GET" )
44  Q_CLASSINFO( "ProfileUpdated", "methods=GET" )
45  Q_CLASSINFO( "ProfileText", "methods=GET" )
46  Q_CLASSINFO( "ManageDigestUser", "methods=POST" )
47  Q_CLASSINFO( "ManageUrlProtection", "methods=POST" )
48  Q_CLASSINFO( "SetConnectionInfo", "methods=POST" )
49  Q_CLASSINFO("ManageScheduler", "methods=POST")
50  Q_CLASSINFO("Shutdown", "methods=POST")
51 
52 
53  public:
54  V2Myth();
55  ~V2Myth() override = default;
56  static void RegisterCustomTypes();
57 
58  public slots:
59 
60  static V2ConnectionInfo* GetConnectionInfo ( const QString &Pin );
61 
62  static bool SetConnectionInfo ( const QString &Host,
63  const QString &UserName,
64  const QString &Password,
65  const QString &Name,
66  int Port,
67  bool DoTest);
68 
69  static QString GetHostName ( );
70 
71  static QStringList GetHosts ( );
72 
73  static QStringList GetKeys ( );
74 
75  static QStringList GetDirListing ( const QString &DirName );
76 
77  static V2StorageGroupDirList* GetStorageGroupDirs ( const QString &GroupName,
78  const QString &HostName );
79 
80  static bool AddStorageGroupDir ( const QString &GroupName,
81  const QString &DirName,
82  const QString &HostName );
83 
84  static bool RemoveStorageGroupDir( const QString &GroupName,
85  const QString &DirName,
86  const QString &HostName );
87 
88  static V2TimeZoneInfo* GetTimeZone ( );
89 
90  static QString GetFormatDate ( const QDateTime &Date,
91  bool ShortDate );
92 
93  static QString GetFormatDateTime ( const QDateTime &DateTime,
94  bool ShortDate );
95 
96  static QString GetFormatTime ( const QDateTime &Time );
97 
98  static QDateTime ParseISODateString ( const QString &DateTime );
99 
100  static V2LogMessageList* GetLogs ( const QString &HostName,
101  const QString &Application,
102  int PID,
103  int TID,
104  const QString &Thread,
105  const QString &Filename,
106  int Line,
107  const QString &Function,
108  const QDateTime &FromTime,
109  const QDateTime &ToTime,
110  const QString &Level,
111  const QString &MsgContains
112  );
113 
114 
115  static V2FrontendList* GetFrontends ( bool OnLine );
116  static QString GetSetting ( const QString &HostName,
117  const QString &Key,
118  const QString &Default );
119  static V2SettingList* GetSettingList ( const QString &HostName );
120 
121  static bool PutSetting ( const QString &HostName,
122  const QString &Key,
123  const QString &Value );
124 
125  static bool DeleteSetting ( const QString &HostName,
126  const QString &Key);
127 
128  static bool TestDBSettings ( const QString &HostName,
129  const QString &UserName,
130  const QString &Password,
131  const QString &DBName,
132  int dbPort);
133 
134  static bool SendMessage ( const QString &Message,
135  const QString &Address,
136  int udpPort,
137  int Timeout);
138 
139  static bool SendNotification ( bool Error,
140  const QString &Type,
141  const QString &Message,
142  const QString &Origin,
143  const QString &Description,
144  const QString &Image,
145  const QString &Extra,
146  const QString &ProgressText,
147  float Progress,
148  int Timeout,
149  bool Fullscreen,
150  uint Visibility,
151  uint Priority,
152  const QString &Address,
153  int udpPort );
154 
155  static bool BackupDatabase ( void );
156 
157  static bool CheckDatabase ( bool Repair );
158 
159  static bool DelayShutdown ( void );
160 
161  static bool ProfileSubmit ( void );
162 
163  static bool ProfileDelete ( void );
164 
165  static QString ProfileURL ( void );
166 
167  static QString ProfileUpdated ( void );
168 
169  static QString ProfileText ( void );
170 
171  static V2BackendInfo* GetBackendInfo ( void );
172 
173  static bool ManageDigestUser ( const QString &Action,
174  const QString &UserName,
175  const QString &Password,
176  const QString &NewPassword,
177  const QString &AdminPassword );
178 
179  static bool ManageUrlProtection ( const QString &Services,
180  const QString &AdminPassword );
181 
182  static bool ManageScheduler ( bool Enable,
183  bool Disable );
184 
185  static bool Shutdown ( int Retcode, bool Restart);
186 
187  private:
188  Q_DISABLE_COPY(V2Myth)
189 
190 };
191 
192 #endif // V2MYTH_H
Password
static StandardSetting * Password(bool enabled)
Setting for changing password.
Definition: galleryconfig.cpp:245
V2Myth::GetHostName
static QString GetHostName()
Definition: v2myth.cpp:185
v2storageGroupDirList.h
V2Myth::DeleteSetting
static bool DeleteSetting(const QString &HostName, const QString &Key)
Definition: v2myth.cpp:780
V2Myth::GetKeys
static QStringList GetKeys()
Definition: v2myth.cpp:232
V2Myth::ProfileUpdated
static QString ProfileUpdated(void)
Definition: v2myth.cpp:1062
V2Myth::GetFormatDate
static QString GetFormatDate(const QDateTime &Date, bool ShortDate)
Definition: v2myth.cpp:474
V2Myth::PutSetting
static bool PutSetting(const QString &HostName, const QString &Key, const QString &Value)
Definition: v2myth.cpp:759
V2ConnectionInfo
Definition: v2connectionInfo.h:9
V2Myth::ProfileText
static QString ProfileText(void)
Definition: v2myth.cpp:1080
V2LogMessageList
Definition: v2logMessageList.h:10
V2Myth::DelayShutdown
static bool DelayShutdown(void)
Definition: v2myth.cpp:1000
v2frontendList.h
V2TimeZoneInfo
Definition: v2timeZoneInfo.h:8
Image
Definition: image.h:33
V2BackendInfo
Definition: v2backendInfo.h:19
Action
An action (for this plugin) consists of a description, and a set of key sequences.
Definition: action.h:40
V2Myth::ManageScheduler
static bool ManageScheduler(bool Enable, bool Disable)
Definition: v2myth.cpp:1249
V2Myth::SetConnectionInfo
static bool SetConnectionInfo(const QString &Host, const QString &UserName, const QString &Password, const QString &Name, int Port, bool DoTest)
Definition: v2myth.cpp:147
v2buildInfo.h
V2Myth
Definition: v2myth.h:19
v2envInfo.h
v2logMessageList.h
V2Myth::GetLogs
static V2LogMessageList * GetLogs(const QString &HostName, const QString &Application, int PID, int TID, const QString &Thread, const QString &Filename, int Line, const QString &Function, const QDateTime &FromTime, const QDateTime &ToTime, const QString &Level, const QString &MsgContains)
Definition: v2myth.cpp:523
V2Myth::ManageUrlProtection
static bool ManageUrlProtection(const QString &Services, const QString &AdminPassword)
Definition: v2myth.cpp:1191
V2Myth::~V2Myth
~V2Myth() override=default
V2Myth::GetFormatTime
static QString GetFormatTime(const QDateTime &Time)
Definition: v2myth.cpp:500
v2logInfo.h
V2Myth::GetFormatDateTime
static QString GetFormatDateTime(const QDateTime &DateTime, bool ShortDate)
Definition: v2myth.cpp:487
V2StorageGroupDirList
Definition: v2storageGroupDirList.h:9
PID
Contains Packet Identifier numeric values.
Definition: mpegtables.h:206
uint
unsigned int uint
Definition: compat.h:81
V2Myth::BackupDatabase
static bool BackupDatabase(void)
Definition: v2myth.cpp:959
MythHTTPService
Definition: mythhttpservice.h:19
V2Myth::GetDirListing
static QStringList GetDirListing(const QString &DirName)
Definition: v2myth.cpp:266
V2Myth::GetFrontends
static V2FrontendList * GetFrontends(bool OnLine)
Definition: v2myth.cpp:656
V2Myth::GetSetting
static QString GetSetting(const QString &HostName, const QString &Key, const QString &Default)
Definition: v2myth.cpp:669
V2Myth::AddStorageGroupDir
static bool AddStorageGroupDir(const QString &GroupName, const QString &DirName, const QString &HostName)
Definition: v2myth.cpp:356
mythhttpservice.h
V2Myth::GetConnectionInfo
static V2ConnectionInfo * GetConnectionInfo(const QString &Pin)
Definition: v2myth.cpp:67
V2Myth::ParseISODateString
static QDateTime ParseISODateString(const QString &DateTime)
Definition: v2myth.cpp:509
V2Myth::GetStorageGroupDirs
static V2StorageGroupDirList * GetStorageGroupDirs(const QString &GroupName, const QString &HostName)
Definition: v2myth.cpp:276
v2backendInfo.h
V2Myth::GetHosts
static QStringList GetHosts()
Definition: v2myth.cpp:197
Name
Definition: channelsettings.cpp:71
V2Myth::CheckDatabase
static bool CheckDatabase(bool Repair)
Definition: v2myth.cpp:986
v2timeZoneInfo.h
V2Myth::Shutdown
static bool Shutdown(int Retcode, bool Restart)
Definition: v2myth.cpp:1272
V2SettingList
Definition: v2settingList.h:16
v2connectionInfo.h
V2Myth::ProfileSubmit
static bool ProfileSubmit(void)
Definition: v2myth.cpp:1014
V2Myth::GetBackendInfo
static V2BackendInfo * GetBackendInfo(void)
Definition: v2myth.cpp:1094
V2Myth::TestDBSettings
static bool TestDBSettings(const QString &HostName, const QString &UserName, const QString &Password, const QString &DBName, int dbPort)
Definition: v2myth.cpp:801
V2Myth::RegisterCustomTypes
static void RegisterCustomTypes()
V2FrontendList
Definition: v2frontendList.h:18
V2Myth::ProfileURL
static QString ProfileURL(void)
Definition: v2myth.cpp:1046
V2Myth::ManageDigestUser
static bool ManageDigestUser(const QString &Action, const QString &UserName, const QString &Password, const QString &NewPassword, const QString &AdminPassword)
Definition: v2myth.cpp:1159
v2settingList.h
V2Myth::SendMessage
static bool SendMessage(const QString &Message, const QString &Address, int udpPort, int Timeout)
Definition: v2myth.cpp:827
V2Myth::SendNotification
static bool SendNotification(bool Error, const QString &Type, const QString &Message, const QString &Origin, const QString &Description, const QString &Image, const QString &Extra, const QString &ProgressText, float Progress, int Timeout, bool Fullscreen, uint Visibility, uint Priority, const QString &Address, int udpPort)
Definition: v2myth.cpp:881
Priority
Definition: channelsettings.cpp:216
V2Myth::RemoveStorageGroupDir
static bool RemoveStorageGroupDir(const QString &GroupName, const QString &DirName, const QString &HostName)
Definition: v2myth.cpp:418
V2Myth::V2Myth
V2Myth()
Definition: v2myth.cpp:58
V2Myth::GetTimeZone
static V2TimeZoneInfo * GetTimeZone()
Definition: v2myth.cpp:459
V2Myth::ProfileDelete
static bool ProfileDelete(void)
Definition: v2myth.cpp:1030
V2Myth::GetSettingList
static V2SettingList * GetSettingList(const QString &HostName)
Definition: v2myth.cpp:707