MythTV  master
musicServices.h
Go to the documentation of this file.
1 // Program Name: musicServices.h
3 // Created : July 20, 2017
4 //
5 // Purpose - Imported Music Services API Interface definition
6 //
7 // Copyright (c) 2017 Paul Harrison <pharrison@mythtv.org>
8 //
9 // Licensed under the GPL v2 or later, see COPYING for details
10 //
12 
13 #ifndef MUSICSERVICES_H_
14 #define MUSICSERVICES_H_
15 
16 #include <QFileInfo>
17 #include <QStringList>
18 
19 #include "service.h"
20 
22 
25 //
26 // Notes -
27 //
28 // * This implementation can't handle declared default parameters
29 //
30 // * When called, any missing params are sent default values for its datatype
31 //
32 // * Q_CLASSINFO( "<methodName>_Method", ...) is used to determine HTTP method
33 // type. Defaults to "BOTH", available values:
34 // "GET", "POST" or "BOTH"
35 //
38 
39 class SERVICE_PUBLIC MusicServices : public Service //, public QScriptable ???
40 {
41  Q_OBJECT
42  Q_CLASSINFO( "version" , "1.0" );
43 
44  public:
45 
46  // Must call InitializeCustomTypes for each unique Custom Type used
47  // in public slots below.
48 
49  MusicServices( QObject *parent = nullptr ) : Service( parent )
50  {
52  }
53 
54  public slots:
55 
56  // Music Metadata
57 
58  virtual DTC::MusicMetadataInfoList* GetTrackList ( int StartIndex,
59  int Count ) = 0;
60 
61  virtual DTC::MusicMetadataInfo* GetTrack ( int Id ) = 0;
62 };
63 
64 #endif
unsigned int slots[4]
Definition: element.c:38
#define SERVICE_PUBLIC
Definition: serviceexp.h:9
MusicServices(QObject *parent=nullptr)
Definition: musicServices.h:49