CPPMyth
Library to interoperate with MythTV server
mythwsapi.h
1 /*
2  * Copyright (C) 2014 Jean-Luc Barriere
3  *
4  * This Program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2, or (at your option)
7  * any later version.
8  *
9  * This Program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; see the file COPYING. If not, write to
16  * the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
17  * MA 02110-1301 USA
18  * http://www.gnu.org/copyleft/gpl.html
19  *
20  */
21 
22 #ifndef MYTHWSAPI_H
23 #define MYTHWSAPI_H
24 
25 #include "mythtypes.h"
26 #include "mythwsstream.h"
27 
28 #define MYTH_API_VERSION_MIN_RANKING 0x00020000
29 #define MYTH_API_VERSION_MAX_RANKING 0x0005FFFF
30 
31 namespace Myth
32 {
33 
34  namespace OS
35  {
36  class CMutex;
37  }
38 
39  typedef enum
40  {
41  WS_Myth = 0,
42  WS_Capture = 1,
43  WS_Channel,
44  WS_Guide,
45  WS_Content,
46  WS_Dvr,
47  WS_INVALID, // Keep at last
48  } WSServiceId_t;
49 
50  typedef struct
51  {
52  unsigned major;
53  unsigned minor;
54  unsigned ranking;
56 
57  class WSAPI
58  {
59  public:
60  WSAPI(const std::string& server, unsigned port, const std::string& securityPin);
61  ~WSAPI();
62 
63  unsigned CheckService();
64  WSServiceVersion_t CheckService(WSServiceId_t id);
65  void InvalidateService();
66  std::string GetServerHostName();
67  VersionPtr GetVersion();
68  std::string ResolveHostName(const std::string& hostname);
69 
73  SettingPtr GetSetting(const std::string& key, const std::string& hostname)
74  {
75  WSServiceVersion_t wsv = CheckService(WS_Myth);
76  if (wsv.ranking >= 0x00050000) return GetSetting5_0(key, hostname);
77  if (wsv.ranking >= 0x00020000) return GetSetting2_0(key, hostname);
78  return SettingPtr();
79  }
80 
84  SettingPtr GetSetting(const std::string& key, bool myhost);
85 
89  SettingMapPtr GetSettings(const std::string& hostname)
90  {
91  WSServiceVersion_t wsv = CheckService(WS_Myth);
92  if (wsv.ranking >= 0x00050000) return GetSettings5_0(hostname);
93  if (wsv.ranking >= 0x00020000) return GetSettings2_0(hostname);
94  return SettingMapPtr(new SettingMap);
95  }
96 
100  SettingMapPtr GetSettings(bool myhost);
101 
105  bool PutSetting(const std::string& key, const std::string& value, bool myhost)
106  {
107  WSServiceVersion_t wsv = CheckService(WS_Myth);
108  if (wsv.ranking >= 0x00020000) return PutSetting2_0(key, value, myhost);
109  return false;
110  }
111 
115  CaptureCardListPtr GetCaptureCardList()
116  {
117  WSServiceVersion_t wsv = CheckService(WS_Capture);
118  if (wsv.ranking >= 0x00010004) return GetCaptureCardList1_4();
119  return CaptureCardListPtr(new CaptureCardList);
120  }
121 
125  VideoSourceListPtr GetVideoSourceList()
126  {
127  WSServiceVersion_t wsv = CheckService(WS_Channel);
128  if (wsv.ranking >= 0x00010002) return GetVideoSourceList1_2();
129  return VideoSourceListPtr(new VideoSourceList);
130  }
131 
135  ChannelListPtr GetChannelList(uint32_t sourceid, bool onlyVisible = true)
136  {
137  WSServiceVersion_t wsv = CheckService(WS_Channel);
138  if (wsv.ranking >= 0x00010005) return GetChannelList1_5(sourceid, onlyVisible);
139  if (wsv.ranking >= 0x00010002) return GetChannelList1_2(sourceid, onlyVisible);
140  return ChannelListPtr(new ChannelList);
141  };
142 
146  ChannelPtr GetChannel(uint32_t chanid)
147  {
148  WSServiceVersion_t wsv = CheckService(WS_Channel);
149  if (wsv.ranking >= 0x00010002) return GetChannel1_2(chanid);
150  return ChannelPtr();
151  };
152 
156  ProgramMapPtr GetProgramGuide(uint32_t chanid, time_t starttime, time_t endtime)
157  {
158  WSServiceVersion_t wsv = CheckService(WS_Guide);
159  if (wsv.ranking >= 0x00020002) return GetProgramList2_2(chanid, starttime, endtime);
160  if (wsv.ranking >= 0x00010000) return GetProgramGuide1_0(chanid, starttime, endtime);
161  return ProgramMapPtr(new ProgramMap);
162  }
163 
167  std::map<uint32_t, ProgramMapPtr> GetProgramGuide(time_t starttime, time_t endtime)
168  {
169  WSServiceVersion_t wsv = CheckService(WS_Guide);
170  if (wsv.ranking >= 0x00020002) return GetProgramGuide2_2(starttime, endtime);
171  if (wsv.ranking >= 0x00010000) return GetProgramGuide1_0(starttime, endtime);
172  return std::map<uint32_t, ProgramMapPtr>();
173  }
174 
178  ProgramListPtr GetRecordedList(unsigned n = 0, bool descending = false)
179  {
180  WSServiceVersion_t wsv = CheckService(WS_Dvr);
181  if (wsv.ranking >= 0x00010005) return GetRecordedList1_5(n, descending);
182  return ProgramListPtr(new ProgramList);
183  }
184 
188  ProgramPtr GetRecorded(uint32_t chanid, time_t recstartts)
189  {
190  WSServiceVersion_t wsv = CheckService(WS_Dvr);
191  if (wsv.ranking >= 0x00010005) return GetRecorded1_5(chanid, recstartts);
192  return ProgramPtr();
193  }
194 
198  ProgramPtr GetRecorded(uint32_t recordedid)
199  {
200  WSServiceVersion_t wsv = CheckService(WS_Dvr);
201  if (wsv.ranking >= 0x00060000) return GetRecorded6_0(recordedid);
202  return ProgramPtr();
203  }
204 
208  bool UpdateRecordedWatchedStatus(uint32_t chanid, time_t recstartts, bool watched)
209  {
210  WSServiceVersion_t wsv = CheckService(WS_Dvr);
211  if (wsv.ranking >= 0x00040005) return UpdateRecordedWatchedStatus4_5(chanid, recstartts, watched);
212  return false;
213  }
214 
218  bool UpdateRecordedWatchedStatus(uint32_t recordedid, bool watched)
219  {
220  WSServiceVersion_t wsv = CheckService(WS_Dvr);
221  if (wsv.ranking >= 0x00060000) return UpdateRecordedWatchedStatus6_0(recordedid, watched);
222  return false;
223  }
224 
228  bool DeleteRecording(uint32_t chanid, time_t recstartts, bool forceDelete = false, bool allowRerecord = false)
229  {
230  WSServiceVersion_t wsv = CheckService(WS_Dvr);
231  if (wsv.ranking >= 0x00020001) return DeleteRecording2_1(chanid, recstartts, forceDelete, allowRerecord);
232  return false;
233  }
234 
238  bool DeleteRecording(uint32_t recordedid, bool forceDelete = false, bool allowRerecord = false)
239  {
240  WSServiceVersion_t wsv = CheckService(WS_Dvr);
241  if (wsv.ranking >= 0x00060000) return DeleteRecording6_0(recordedid, forceDelete, allowRerecord);
242  return false;
243  }
244 
248  bool UnDeleteRecording(uint32_t chanid, time_t recstartts)
249  {
250  WSServiceVersion_t wsv = CheckService(WS_Dvr);
251  if (wsv.ranking >= 0x00020001) return UnDeleteRecording2_1(chanid, recstartts);
252  return false;
253  }
254 
258  bool UnDeleteRecording(uint32_t recordedid)
259  {
260  WSServiceVersion_t wsv = CheckService(WS_Dvr);
261  if (wsv.ranking >= 0x00060000) return UnDeleteRecording6_0(recordedid);
262  return false;
263  }
264 
268  RecordScheduleListPtr GetRecordScheduleList()
269  {
270  WSServiceVersion_t wsv = CheckService(WS_Dvr);
271  if (wsv.ranking >= 0x00010005) return GetRecordScheduleList1_5();
272  return RecordScheduleListPtr(new RecordScheduleList);
273  }
274 
278  RecordSchedulePtr GetRecordSchedule(uint32_t recordid)
279  {
280  WSServiceVersion_t wsv = CheckService(WS_Dvr);
281  if (wsv.ranking >= 0x00010005) return GetRecordSchedule1_5(recordid);
282  return RecordSchedulePtr();
283  }
284 
289  {
290  WSServiceVersion_t wsv = CheckService(WS_Dvr);
291  if (wsv.ranking >= 0x00010007) return AddRecordSchedule1_7(record);
292  if (wsv.ranking >= 0x00010005) return AddRecordSchedule1_5(record);
293  return false;
294  }
295 
300  {
301  WSServiceVersion_t wsv = CheckService(WS_Dvr);
302  if (wsv.ranking >= 0x00010007) return UpdateRecordSchedule1_7(record);
303  return false;
304  }
305 
309  bool DisableRecordSchedule(uint32_t recordid)
310  {
311  WSServiceVersion_t wsv = CheckService(WS_Dvr);
312  if (wsv.ranking >= 0x00010005) return DisableRecordSchedule1_5(recordid);
313  return false;
314  }
315 
319  bool EnableRecordSchedule(uint32_t recordid)
320  {
321  WSServiceVersion_t wsv = CheckService(WS_Dvr);
322  if (wsv.ranking >= 0x00010005) return EnableRecordSchedule1_5(recordid);
323  return false;
324  }
325 
329  bool RemoveRecordSchedule(uint32_t recordid)
330  {
331  WSServiceVersion_t wsv = CheckService(WS_Dvr);
332  if (wsv.ranking >= 0x00010005) return RemoveRecordSchedule1_5(recordid);
333  return false;
334  }
335 
339  ProgramListPtr GetUpcomingList()
340  {
341  WSServiceVersion_t wsv = CheckService(WS_Dvr);
342  if (wsv.ranking >= 0x00020002) return GetUpcomingList2_2();
343  if (wsv.ranking >= 0x00010005) return GetUpcomingList1_5();
344  return ProgramListPtr(new ProgramList);
345  }
346 
350  ProgramListPtr GetConflictList()
351  {
352  WSServiceVersion_t wsv = CheckService(WS_Dvr);
353  if (wsv.ranking >= 0x00010005) return GetConflictList1_5();
354  return ProgramListPtr(new ProgramList);
355  }
356 
360  ProgramListPtr GetExpiringList()
361  {
362  WSServiceVersion_t wsv = CheckService(WS_Dvr);
363  if (wsv.ranking >= 0x00010005) return GetExpiringList1_5();
364  return ProgramListPtr(new ProgramList);
365  }
366 
370  StringListPtr GetRecGroupList()
371  {
372  WSServiceVersion_t wsv = CheckService(WS_Dvr);
373  if (wsv.ranking >= 0x00010005) return GetRecGroupList1_5();
374  return StringListPtr(new StringList);
375  }
376 
380  WSStreamPtr GetFile(const std::string& filename, const std::string& sgname)
381  {
382  WSServiceVersion_t wsv = CheckService(WS_Content);
383  if (wsv.ranking >= 0x00010020) return GetFile1_32(filename, sgname);
384  return WSStreamPtr();
385  }
386 
390  WSStreamPtr GetChannelIcon(uint32_t chanid, unsigned width = 0, unsigned height = 0)
391  {
392  WSServiceVersion_t wsv = CheckService(WS_Content);
393  if (wsv.ranking >= 0x00010020) return GetChannelIcon1_32(chanid, width, height);
394  return WSStreamPtr();
395  }
396 
400  std::string GetChannelIconUrl(uint32_t chanid, unsigned width = 0, unsigned height = 0)
401  {
402  WSServiceVersion_t wsv = CheckService(WS_Content);
403  if (wsv.ranking >= 0x00010020) return GetChannelIconUrl1_32(chanid, width, height);
404  return "";
405  }
406 
410  WSStreamPtr GetPreviewImage(uint32_t chanid, time_t recstartts, unsigned width = 0, unsigned height = 0)
411  {
412  WSServiceVersion_t wsv = CheckService(WS_Content);
413  if (wsv.ranking >= 0x00010020) return GetPreviewImage1_32(chanid, recstartts, width, height);
414  return WSStreamPtr();
415  }
416 
420  std::string GetPreviewImageUrl(uint32_t chanid, time_t recstartts, unsigned width = 0, unsigned height = 0)
421  {
422  WSServiceVersion_t wsv = CheckService(WS_Content);
423  if (wsv.ranking >= 0x00010020) return GetPreviewImageUrl1_32(chanid, recstartts, width, height);
424  return "";
425  }
426 
430  WSStreamPtr GetRecordingArtwork(const std::string& type, const std::string& inetref, uint16_t season, unsigned width = 0, unsigned height = 0)
431  {
432  WSServiceVersion_t wsv = CheckService(WS_Content);
433  if (wsv.ranking >= 0x00010020) return GetRecordingArtwork1_32(type, inetref, season, width, height);
434  return WSStreamPtr();
435  }
436 
440  std::string GetRecordingArtworkUrl(const std::string& type, const std::string& inetref, uint16_t season, unsigned width = 0, unsigned height = 0)
441  {
442  WSServiceVersion_t wsv = CheckService(WS_Content);
443  if (wsv.ranking >= 0x00010020) return GetRecordingArtworkUrl1_32(type, inetref, season, width, height);
444  return "";
445  }
446 
450  ArtworkListPtr GetRecordingArtworkList(uint32_t chanid, time_t recstartts)
451  {
452  WSServiceVersion_t wsv = CheckService(WS_Content);
453  if (wsv.ranking >= 0x00010020) return GetRecordingArtworkList1_32(chanid, recstartts);
454  return ArtworkListPtr(new ArtworkList);
455  }
456 
463  MarkListPtr GetRecordedCommBreak(uint32_t recordedid, int unit)
464  {
465  WSServiceVersion_t wsv = CheckService(WS_Dvr);
466  if (wsv.ranking >= 0x00060001) return GetRecordedCommBreak6_1(recordedid, unit);
467  return MarkListPtr(new MarkList);
468  }
469 
476  MarkListPtr GetRecordedCutList(uint32_t recordedid, int unit)
477  {
478  WSServiceVersion_t wsv = CheckService(WS_Dvr);
479  if (wsv.ranking >= 0x00060001) return GetRecordedCutList6_1(recordedid, unit);
480  return MarkListPtr(new MarkList);
481  }
482 
490  bool SetSavedBookmark(uint32_t recordedid, int unit, int64_t value)
491  {
492  WSServiceVersion_t wsv = CheckService(WS_Dvr);
493  if (wsv.ranking >= 0x00060002) return SetSavedBookmark6_2(recordedid, unit, value);
494  return false;
495  }
496 
497 
504  int64_t GetSavedBookmark(uint32_t recordedid, int unit)
505  {
506  WSServiceVersion_t wsv = CheckService(WS_Dvr);
507  if (wsv.ranking >= 0x00060002) return GetSavedBookmark6_2(recordedid, unit);
508  return 0;
509  }
510 
511  private:
512  OS::CMutex *m_mutex;
513  std::string m_server;
514  unsigned m_port;
515  std::string m_securityPin;
516  bool m_checked;
517  Version m_version;
518  std::string m_serverHostName;
519  WSServiceVersion_t m_serviceVersion[WS_INVALID + 1];
520  std::map<std::string, std::string> m_namedCache;
521 
522  // prevent copy
523  WSAPI(const WSAPI&);
524  WSAPI& operator=(const WSAPI&);
525 
526  bool InitWSAPI();
527  bool GetServiceVersion(WSServiceId_t id, WSServiceVersion_t& version);
528  bool CheckServerHostName2_0();
529  bool CheckVersion2_0();
530 
531  SettingPtr GetSetting2_0(const std::string& key, const std::string& hostname);
532  SettingPtr GetSetting5_0(const std::string& key, const std::string& hostname);
533  SettingMapPtr GetSettings2_0(const std::string& hostname);
534  SettingMapPtr GetSettings5_0(const std::string& hostname);
535  bool PutSetting2_0(const std::string& key, const std::string& value, bool myhost);
536 
537  CaptureCardListPtr GetCaptureCardList1_4();
538 
539  VideoSourceListPtr GetVideoSourceList1_2();
540  ChannelListPtr GetChannelList1_2(uint32_t sourceid, bool onlyVisible);
541  ChannelListPtr GetChannelList1_5(uint32_t sourceid, bool onlyVisible);
542  ChannelPtr GetChannel1_2(uint32_t chanid);
543 
544  std::map<uint32_t, ProgramMapPtr> GetProgramGuide1_0(time_t starttime, time_t endtime);
545  ProgramMapPtr GetProgramGuide1_0(uint32_t chanid, time_t starttime, time_t endtime);
546  std::map<uint32_t, ProgramMapPtr> GetProgramGuide2_2(time_t starttime, time_t endtime);
547  ProgramMapPtr GetProgramList2_2(uint32_t chanid, time_t starttime, time_t endtime);
548 
549  ProgramListPtr GetRecordedList1_5(unsigned n, bool descending);
550  ProgramPtr GetRecorded1_5(uint32_t chanid, time_t recstartts);
551  ProgramPtr GetRecorded6_0(uint32_t recordedid);
552  bool DeleteRecording2_1(uint32_t chanid, time_t recstartts, bool forceDelete, bool allowRerecord);
553  bool DeleteRecording6_0(uint32_t recordedid, bool forceDelete, bool allowRerecord);
554  bool UnDeleteRecording2_1(uint32_t chanid, time_t recstartts);
555  bool UnDeleteRecording6_0(uint32_t recordedid);
556  bool UpdateRecordedWatchedStatus4_5(uint32_t chanid, time_t recstartts, bool watched);
557  bool UpdateRecordedWatchedStatus6_0(uint32_t recordedid, bool watched);
558  MarkListPtr GetRecordedCommBreak6_1(uint32_t recordedid, int unit);
559  MarkListPtr GetRecordedCutList6_1(uint32_t recordedid, int unit);
560  bool SetSavedBookmark6_2(uint32_t recordedid, int unit, int64_t value);
561  int64_t GetSavedBookmark6_2(uint32_t recordedid, int unit);
562 
563  RecordScheduleListPtr GetRecordScheduleList1_5();
564  RecordSchedulePtr GetRecordSchedule1_5(uint32_t recordid);
565  bool AddRecordSchedule1_5(RecordSchedule& record);
566  bool AddRecordSchedule1_7(RecordSchedule& record);
567  bool UpdateRecordSchedule1_7(RecordSchedule& record);
568  bool DisableRecordSchedule1_5(uint32_t recordid);
569  bool EnableRecordSchedule1_5(uint32_t recordid);
570  bool RemoveRecordSchedule1_5(uint32_t recordid);
571  ProgramListPtr GetUpcomingList1_5();
572  ProgramListPtr GetUpcomingList2_2();
573  ProgramListPtr GetConflictList1_5();
574  ProgramListPtr GetExpiringList1_5();
575  StringListPtr GetRecGroupList1_5();
576 
577  WSStreamPtr GetFile1_32(const std::string& filename, const std::string& sgname);
578  WSStreamPtr GetChannelIcon1_32(uint32_t chanid, unsigned width, unsigned height);
579  std::string GetChannelIconUrl1_32(uint32_t chanid, unsigned width, unsigned height);
580  WSStreamPtr GetPreviewImage1_32(uint32_t chanid, time_t recstartts, unsigned width, unsigned height);
581  std::string GetPreviewImageUrl1_32(uint32_t chanid, time_t recstartts, unsigned width, unsigned height);
582  WSStreamPtr GetRecordingArtwork1_32(const std::string& type, const std::string& inetref, uint16_t season, unsigned width, unsigned height);
583  std::string GetRecordingArtworkUrl1_32(const std::string& type, const std::string& inetref, uint16_t season, unsigned width, unsigned height);
584  ArtworkListPtr GetRecordingArtworkList1_32(uint32_t chanid, time_t recstartts);
585  };
586 
587 }
588 
589 #endif /* MYTHWSAPI_H */
590 
ChannelPtr GetChannel(uint32_t chanid)
GET Channel/GetChannelInfo.
Definition: mythwsapi.h:146
bool DeleteRecording(uint32_t recordedid, bool forceDelete=false, bool allowRerecord=false)
POST Dvr/DeleteRecording.
Definition: mythwsapi.h:238
WSStreamPtr GetPreviewImage(uint32_t chanid, time_t recstartts, unsigned width=0, unsigned height=0)
GET Content/GetPreviewImage.
Definition: mythwsapi.h:410
bool AddRecordSchedule(RecordSchedule &record)
POST Dvr/AddRecordSchedule.
Definition: mythwsapi.h:288
SettingMapPtr GetSettings(const std::string &hostname)
GET Myth/GetSetting.
Definition: mythwsapi.h:89
CaptureCardListPtr GetCaptureCardList()
GET Capture/GetCaptureCardList.
Definition: mythwsapi.h:115
std::string GetChannelIconUrl(uint32_t chanid, unsigned width=0, unsigned height=0)
Returns URL for channel icon.
Definition: mythwsapi.h:400
ProgramListPtr GetConflictList()
GET Dvr/GetConflictList.
Definition: mythwsapi.h:350
ChannelListPtr GetChannelList(uint32_t sourceid, bool onlyVisible=true)
GET Channel/GetChannelInfoList.
Definition: mythwsapi.h:135
bool UnDeleteRecording(uint32_t recordedid)
POST Dvr/UnDeleteRecording.
Definition: mythwsapi.h:258
ProgramListPtr GetExpiringList()
GET Dvr/GetExpiringList.
Definition: mythwsapi.h:360
StringListPtr GetRecGroupList()
GET Dvr/GetRecGroupList.
Definition: mythwsapi.h:370
WSStreamPtr GetRecordingArtwork(const std::string &type, const std::string &inetref, uint16_t season, unsigned width=0, unsigned height=0)
GET Content/GetRecordingArtwork.
Definition: mythwsapi.h:430
bool DisableRecordSchedule(uint32_t recordid)
POST Dvr/DisableRecordSchedule.
Definition: mythwsapi.h:309
std::string GetRecordingArtworkUrl(const std::string &type, const std::string &inetref, uint16_t season, unsigned width=0, unsigned height=0)
Returns URL for recording artwork.
Definition: mythwsapi.h:440
ProgramListPtr GetRecordedList(unsigned n=0, bool descending=false)
GET Dvr/GetRecordedList.
Definition: mythwsapi.h:178
RecordSchedulePtr GetRecordSchedule(uint32_t recordid)
GET Dvr/GetRecordSchedule.
Definition: mythwsapi.h:278
std::map< uint32_t, ProgramMapPtr > GetProgramGuide(time_t starttime, time_t endtime)
GET Guide/GetProgramGuide.
Definition: mythwsapi.h:167
bool UpdateRecordedWatchedStatus(uint32_t chanid, time_t recstartts, bool watched)
POST Dvr/UpdateRecordedWatchedStatus.
Definition: mythwsapi.h:208
std::string GetPreviewImageUrl(uint32_t chanid, time_t recstartts, unsigned width=0, unsigned height=0)
Returns URL for preview image.
Definition: mythwsapi.h:420
MarkListPtr GetRecordedCommBreak(uint32_t recordedid, int unit)
GET Dvr/GetRecordedCommBreak.
Definition: mythwsapi.h:463
bool UpdateRecordedWatchedStatus(uint32_t recordedid, bool watched)
POST Dvr/UpdateRecordedWatchedStatus.
Definition: mythwsapi.h:218
VideoSourceListPtr GetVideoSourceList()
GET Channel/GetVideoSourceList.
Definition: mythwsapi.h:125
WSStreamPtr GetChannelIcon(uint32_t chanid, unsigned width=0, unsigned height=0)
GET Guide/GetChannelIcon.
Definition: mythwsapi.h:390
RecordScheduleListPtr GetRecordScheduleList()
GET Dvr/GetRecordScheduleList.
Definition: mythwsapi.h:268
WSStreamPtr GetFile(const std::string &filename, const std::string &sgname)
GET Content/GetFile.
Definition: mythwsapi.h:380
ProgramPtr GetRecorded(uint32_t chanid, time_t recstartts)
GET Dvr/GetRecorded.
Definition: mythwsapi.h:188
ArtworkListPtr GetRecordingArtworkList(uint32_t chanid, time_t recstartts)
GET Content/GetRecordingArtworkList.
Definition: mythwsapi.h:450
bool EnableRecordSchedule(uint32_t recordid)
POST Dvr/EnableRecordSchedule.
Definition: mythwsapi.h:319
bool UpdateRecordSchedule(RecordSchedule &record)
POST Dvr/UpdateRecordSchedule.
Definition: mythwsapi.h:299
This is the main namespace that encloses all public classes.
Definition: mythcontrol.h:29
bool SetSavedBookmark(uint32_t recordedid, int unit, int64_t value)
POST Dvr/SetSavedBookmark.
Definition: mythwsapi.h:490
bool RemoveRecordSchedule(uint32_t recordid)
POST Dvr/RemoveRecordSchedule.
Definition: mythwsapi.h:329
MarkListPtr GetRecordedCutList(uint32_t recordedid, int unit)
GET Dvr/GetRecordedCutList.
Definition: mythwsapi.h:476
bool DeleteRecording(uint32_t chanid, time_t recstartts, bool forceDelete=false, bool allowRerecord=false)
POST Dvr/DeleteRecording.
Definition: mythwsapi.h:228
int64_t GetSavedBookmark(uint32_t recordedid, int unit)
GET Dvr/GetSavedBookmark.
Definition: mythwsapi.h:504
ProgramListPtr GetUpcomingList()
GET Dvr/GetUpcomingList.
Definition: mythwsapi.h:339
ProgramPtr GetRecorded(uint32_t recordedid)
GET Dvr/GetRecorded.
Definition: mythwsapi.h:198
ProgramMapPtr GetProgramGuide(uint32_t chanid, time_t starttime, time_t endtime)
GET Guide/GetProgramGuide for the given channel.
Definition: mythwsapi.h:156
SettingPtr GetSetting(const std::string &key, const std::string &hostname)
GET Myth/GetSetting.
Definition: mythwsapi.h:73
bool UnDeleteRecording(uint32_t chanid, time_t recstartts)
POST Dvr/UnDeleteRecording.
Definition: mythwsapi.h:248
bool PutSetting(const std::string &key, const std::string &value, bool myhost)
POST Myth/PutSetting.
Definition: mythwsapi.h:105