Skip to content

Commit

Permalink
Add /Dvr/GetTitleList and /Dvr/GetRecGroupList Service API calls
Browse files Browse the repository at this point in the history
  • Loading branch information
cpinkham committed Oct 10, 2012
1 parent 19e49f9 commit d837157
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 1 deletion.
6 changes: 5 additions & 1 deletion mythtv/libs/libmythservicecontracts/services/dvrServices.h
Expand Up @@ -38,7 +38,7 @@
class SERVICE_PUBLIC DvrServices : public Service //, public QScriptable ???
{
Q_OBJECT
Q_CLASSINFO( "version" , "1.5" );
Q_CLASSINFO( "version" , "1.6" );
Q_CLASSINFO( "RemoveRecordedItem_Method", "POST" )
Q_CLASSINFO( "AddRecordSchedule_Method", "POST" )
Q_CLASSINFO( "RemoveRecordSchedule_Method", "POST" )
Expand Down Expand Up @@ -88,6 +88,10 @@ class SERVICE_PUBLIC DvrServices : public Service //, public QScriptable ???

virtual DTC::EncoderList* GetEncoderList ( ) = 0;

virtual QStringList GetRecGroupList ( ) = 0;

virtual QStringList GetTitleList ( ) = 0;

// Recording Rules

virtual int AddRecordSchedule ( int ChanId,
Expand Down
72 changes: 72 additions & 0 deletions mythtv/programs/mythbackend/services/dvr.cpp
Expand Up @@ -310,6 +310,78 @@ DTC::EncoderList* Dvr::GetEncoderList()
//
/////////////////////////////////////////////////////////////////////////////

QStringList Dvr::GetRecGroupList()
{
MSqlQuery query(MSqlQuery::InitCon());

QString querystr = QString("SELECT DISTINCT recgroup FROM record");

query.prepare(querystr);

QStringList result;
if (!query.exec())
{
MythDB::DBError("GetRecGroupList record", query);
return result;
}

while (query.next())
result << query.value(0).toString();

querystr = QString("SELECT DISTINCT recgroup FROM recorded");

query.prepare(querystr);

if (!query.exec())
{
MythDB::DBError("GetRecGroupList recorded", query);
return result;
}

while (query.next())
{
QString value = query.value(0).toString();

if (!result.contains(value))
result << value;
}

result.sort();

return result;
}

/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////

QStringList Dvr::GetTitleList()
{
MSqlQuery query(MSqlQuery::InitCon());

QString querystr = QString("SELECT DISTINCT title FROM recorded");

query.prepare(querystr);

QStringList result;
if (!query.exec())
{
MythDB::DBError("GetTitleList recorded", query);
return result;
}

while (query.next())
result << query.value(0).toString();

result.sort();

return result;
}

/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////

DTC::ProgramList* Dvr::GetUpcomingList( int nStartIndex,
int nCount,
bool bShowAll )
Expand Down
8 changes: 8 additions & 0 deletions mythtv/programs/mythbackend/services/dvr.h
Expand Up @@ -69,6 +69,11 @@ class Dvr : public DvrServices

DTC::EncoderList* GetEncoderList ( );

QStringList GetRecGroupList ( );

QStringList GetTitleList ( );


// Recording Rules

int AddRecordSchedule ( int ChanId,
Expand Down Expand Up @@ -184,6 +189,9 @@ class ScriptableDvr : public QObject

QObject* GetEncoderList () { return m_obj.GetEncoderList(); }

QStringList GetRecGroupList () { return m_obj.GetRecGroupList(); }

QStringList GetTitleList () { return m_obj.GetTitleList(); }

};

Expand Down

0 comments on commit d837157

Please sign in to comment.