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 
50 
51  public:
52  V2Myth();
53  ~V2Myth() override = default;
54  static void RegisterCustomTypes();
55 
56  public slots:
57 
58  static V2ConnectionInfo* GetConnectionInfo ( const QString &Pin );
59 
60  static bool SetConnectionInfo ( const QString &Host,
61  const QString &UserName,
62  const QString &Password,
63  const QString &Name,
64  int Port,
65  bool DoTest);
66 
67  static QString GetHostName ( );
68 
69  static QStringList GetHosts ( );
70 
71  static QStringList GetKeys ( );
72 
73  static QStringList GetDirListing ( const QString &DirName );
74 
75  static V2StorageGroupDirList* GetStorageGroupDirs ( const QString &GroupName,
76  const QString &HostName );
77 
78  static bool AddStorageGroupDir ( const QString &GroupName,
79  const QString &DirName,
80  const QString &HostName );
81 
82  static bool RemoveStorageGroupDir( const QString &GroupName,
83  const QString &DirName,
84  const QString &HostName );
85 
86  static V2TimeZoneInfo* GetTimeZone ( );
87 
88  static QString GetFormatDate ( const QDateTime &Date,
89  bool ShortDate );
90 
91  static QString GetFormatDateTime ( const QDateTime &DateTime,
92  bool ShortDate );
93 
94  static QString GetFormatTime ( const QDateTime &Time );
95 
96  static QDateTime ParseISODateString ( const QString &DateTime );
97 
98  static V2LogMessageList* GetLogs ( const QString &HostName,
99  const QString &Application,
100  int PID,
101  int TID,
102  const QString &Thread,
103  const QString &Filename,
104  int Line,
105  const QString &Function,
106  const QDateTime &FromTime,
107  const QDateTime &ToTime,
108  const QString &Level,
109  const QString &MsgContains
110  );
111 
112 
113  static V2FrontendList* GetFrontends ( bool OnLine );
114  static QString GetSetting ( const QString &HostName,
115  const QString &Key,
116  const QString &Default );
117  static V2SettingList* GetSettingList ( const QString &HostName );
118 
119  static bool PutSetting ( const QString &HostName,
120  const QString &Key,
121  const QString &Value );
122 
123  static bool DeleteSetting ( const QString &HostName,
124  const QString &Key);
125 
126  static bool TestDBSettings ( const QString &HostName,
127  const QString &UserName,
128  const QString &Password,
129  const QString &DBName,
130  int dbPort);
131 
132  static bool SendMessage ( const QString &Message,
133  const QString &Address,
134  int udpPort,
135  int Timeout);
136 
137  static bool SendNotification ( bool Error,
138  const QString &Type,
139  const QString &Message,
140  const QString &Origin,
141  const QString &Description,
142  const QString &Image,
143  const QString &Extra,
144  const QString &ProgressText,
145  float Progress,
146  int Timeout,
147  bool Fullscreen,
148  uint Visibility,
149  uint Priority,
150  const QString &Address,
151  int udpPort );
152 
153  static bool BackupDatabase ( void );
154 
155  static bool CheckDatabase ( bool Repair );
156 
157  static bool DelayShutdown ( void );
158 
159  static bool ProfileSubmit ( void );
160 
161  static bool ProfileDelete ( void );
162 
163  static QString ProfileURL ( void );
164 
165  static QString ProfileUpdated ( void );
166 
167  static QString ProfileText ( void );
168 
169  static V2BackendInfo* GetBackendInfo ( void );
170 
171  static bool ManageDigestUser ( const QString &Action,
172  const QString &UserName,
173  const QString &Password,
174  const QString &NewPassword,
175  const QString &AdminPassword );
176 
177  static bool ManageUrlProtection ( const QString &Services,
178  const QString &AdminPassword );
179 
180  private:
181  Q_DISABLE_COPY(V2Myth)
182 
183 };
184 
185 #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:184
v2storageGroupDirList.h
V2Myth::DeleteSetting
static bool DeleteSetting(const QString &HostName, const QString &Key)
Definition: v2myth.cpp:779
V2Myth::GetKeys
static QStringList GetKeys()
Definition: v2myth.cpp:231
V2Myth::ProfileUpdated
static QString ProfileUpdated(void)
Definition: v2myth.cpp:1061
V2Myth::GetFormatDate
static QString GetFormatDate(const QDateTime &Date, bool ShortDate)
Definition: v2myth.cpp:473
V2Myth::PutSetting
static bool PutSetting(const QString &HostName, const QString &Key, const QString &Value)
Definition: v2myth.cpp:758
V2ConnectionInfo
Definition: v2connectionInfo.h:9
V2Myth::ProfileText
static QString ProfileText(void)
Definition: v2myth.cpp:1079
V2LogMessageList
Definition: v2logMessageList.h:10
V2Myth::DelayShutdown
static bool DelayShutdown(void)
Definition: v2myth.cpp:999
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::SetConnectionInfo
static bool SetConnectionInfo(const QString &Host, const QString &UserName, const QString &Password, const QString &Name, int Port, bool DoTest)
Definition: v2myth.cpp:146
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:522
V2Myth::ManageUrlProtection
static bool ManageUrlProtection(const QString &Services, const QString &AdminPassword)
Definition: v2myth.cpp:1165
V2Myth::~V2Myth
~V2Myth() override=default
V2Myth::GetFormatTime
static QString GetFormatTime(const QDateTime &Time)
Definition: v2myth.cpp:499
v2logInfo.h
V2Myth::GetFormatDateTime
static QString GetFormatDateTime(const QDateTime &DateTime, bool ShortDate)
Definition: v2myth.cpp:486
V2StorageGroupDirList
Definition: v2storageGroupDirList.h:9
PID
Contains Packet Identifier numeric values.
Definition: mpegtables.h:206
uint
unsigned int uint
Definition: compat.h:79
V2Myth::BackupDatabase
static bool BackupDatabase(void)
Definition: v2myth.cpp:958
MythHTTPService
Definition: mythhttpservice.h:19
V2Myth::GetDirListing
static QStringList GetDirListing(const QString &DirName)
Definition: v2myth.cpp:265
V2Myth::GetFrontends
static V2FrontendList * GetFrontends(bool OnLine)
Definition: v2myth.cpp:655
V2Myth::GetSetting
static QString GetSetting(const QString &HostName, const QString &Key, const QString &Default)
Definition: v2myth.cpp:668
V2Myth::AddStorageGroupDir
static bool AddStorageGroupDir(const QString &GroupName, const QString &DirName, const QString &HostName)
Definition: v2myth.cpp:355
mythhttpservice.h
V2Myth::GetConnectionInfo
static V2ConnectionInfo * GetConnectionInfo(const QString &Pin)
Definition: v2myth.cpp:66
V2Myth::ParseISODateString
static QDateTime ParseISODateString(const QString &DateTime)
Definition: v2myth.cpp:508
V2Myth::GetStorageGroupDirs
static V2StorageGroupDirList * GetStorageGroupDirs(const QString &GroupName, const QString &HostName)
Definition: v2myth.cpp:275
v2backendInfo.h
V2Myth::GetHosts
static QStringList GetHosts()
Definition: v2myth.cpp:196
Name
Definition: channelsettings.cpp:47
V2Myth::CheckDatabase
static bool CheckDatabase(bool Repair)
Definition: v2myth.cpp:985
v2timeZoneInfo.h
V2SettingList
Definition: v2settingList.h:16
v2connectionInfo.h
V2Myth::ProfileSubmit
static bool ProfileSubmit(void)
Definition: v2myth.cpp:1013
V2Myth::GetBackendInfo
static V2BackendInfo * GetBackendInfo(void)
Definition: v2myth.cpp:1093
V2Myth::TestDBSettings
static bool TestDBSettings(const QString &HostName, const QString &UserName, const QString &Password, const QString &DBName, int dbPort)
Definition: v2myth.cpp:800
V2Myth::RegisterCustomTypes
static void RegisterCustomTypes()
V2FrontendList
Definition: v2frontendList.h:18
V2Myth::ProfileURL
static QString ProfileURL(void)
Definition: v2myth.cpp:1045
V2Myth::ManageDigestUser
static bool ManageDigestUser(const QString &Action, const QString &UserName, const QString &Password, const QString &NewPassword, const QString &AdminPassword)
Definition: v2myth.cpp:1133
v2settingList.h
V2Myth::SendMessage
static bool SendMessage(const QString &Message, const QString &Address, int udpPort, int Timeout)
Definition: v2myth.cpp:826
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:880
Priority
Definition: channelsettings.cpp:192
V2Myth::RemoveStorageGroupDir
static bool RemoveStorageGroupDir(const QString &GroupName, const QString &DirName, const QString &HostName)
Definition: v2myth.cpp:417
V2Myth::V2Myth
V2Myth()
Definition: v2myth.cpp:57
V2Myth::GetTimeZone
static V2TimeZoneInfo * GetTimeZone()
Definition: v2myth.cpp:458
V2Myth::ProfileDelete
static bool ProfileDelete(void)
Definition: v2myth.cpp:1029
V2Myth::GetSettingList
static V2SettingList * GetSettingList(const QString &HostName)
Definition: v2myth.cpp:706