Skip to content

Commit

Permalink
Add V2 services: Second batch of Myth service additions
Browse files Browse the repository at this point in the history
  • Loading branch information
Bill Meek committed Jun 26, 2021
1 parent b05bec6 commit d37b486
Show file tree
Hide file tree
Showing 9 changed files with 374 additions and 119 deletions.
2 changes: 0 additions & 2 deletions mythtv/programs/mythbackend/servicesv2/v2connectionInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ class V2ConnectionInfo : public QObject
Q_OBJECT
Q_CLASSINFO( "version" , "1.1" );

SERVICE_PROPERTY2( QString , Pin );

Q_PROPERTY( QObject* Version READ Version USER true )
Q_PROPERTY( QObject* Database READ Database USER true )
Q_PROPERTY( QObject* WOL READ WOL USER true )
Expand Down
53 changes: 53 additions & 0 deletions mythtv/programs/mythbackend/servicesv2/v2logInfo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
//////////////////////////////////////////////////////////////////////////////
// Program Name: logInfo.h
// Created : Dec. 15, 2015
//
// Copyright (c) 2015 Bill Meek, from: 2010 David Blain <dblain@mythtv.org>
//
// Licensed under the GPL v2 or later, see COPYING for details
//
//////////////////////////////////////////////////////////////////////////////

#ifndef LOGINFO_H_
#define LOGINFO_H_

#include <QString>

class LogInfo : public QObject
{
Q_OBJECT

Q_CLASSINFO( "version" , "1.0" );
Q_CLASSINFO( "defaultProp", "LogArgs" );

Q_PROPERTY( QString LogArgs READ LogArgs WRITE setLogArgs )

PROPERTYIMP_REF( QString, LogArgs );

public:

static inline void InitializeCustomTypes();

Q_INVOKABLE LogInfo(QObject *parent = nullptr)
: QObject ( parent ),
m_LogArgs ( "" )
{
}

void Copy( const LogInfo *src )
{
m_LogArgs = src->m_LogArgs ;
}

private:
Q_DISABLE_COPY(LogInfo);
};

using LogInfoPtr = LogInfo*;

inline void LogInfo::InitializeCustomTypes()
{
qRegisterMetaType< LogInfo* >();
}

#endif // LOGINFO_H_
97 changes: 97 additions & 0 deletions mythtv/programs/mythbackend/servicesv2/v2logMessage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
//////////////////////////////////////////////////////////////////////////////
// Program Name: logMessage.h
//
// Licensed under the GPL v2 or later, see COPYING for details
//
//////////////////////////////////////////////////////////////////////////////

#ifndef LOGMESSAGE_H_
#define LOGMESSAGE_H_

#include <QString>
#include <QDateTime>

class LogMessage : public QObject
{
Q_OBJECT
Q_CLASSINFO( "version" , "1.0" );

Q_PROPERTY( QString HostName READ HostName
WRITE setHostName )
Q_PROPERTY( QString Application READ Application
WRITE setApplication )
Q_PROPERTY( int PID READ PID
WRITE setPID )
Q_PROPERTY( int TID READ TID
WRITE setTID )
Q_PROPERTY( QString Thread READ Thread
WRITE setThread )
Q_PROPERTY( QString Filename READ Filename
WRITE setFilename )
Q_PROPERTY( int Line READ Line
WRITE setLine )
Q_PROPERTY( QString Function READ Function
WRITE setFunction )
Q_PROPERTY( QDateTime Time READ Time
WRITE setTime )
Q_PROPERTY( QString Level READ Level
WRITE setLevel )
Q_PROPERTY( QString Message READ Message
WRITE setMessage )

PROPERTYIMP_REF( QString , HostName )
PROPERTYIMP_REF( QString , Application )
PROPERTYIMP ( int , PID )
PROPERTYIMP ( int , TID )
PROPERTYIMP_REF( QString , Thread )
PROPERTYIMP_REF( QString , Filename )
PROPERTYIMP ( int , Line )
PROPERTYIMP_REF( QString , Function )
PROPERTYIMP_REF( QDateTime, Time )
PROPERTYIMP_REF( QString , Level )
PROPERTYIMP_REF( QString , Message );

public:

static inline void InitializeCustomTypes();

Q_INVOKABLE LogMessage(QObject *parent = nullptr)
: QObject ( parent ),
m_HostName ( ),
m_Application ( ),
m_PID ( 0 ),
m_TID ( 0 ),
m_Thread ( ),
m_Filename ( ),
m_Line ( 0 ),
m_Function ( ),
m_Level ( ),
m_Message ( )
{
}

void Copy( const LogMessage *src )
{
m_HostName = src->m_HostName ;
m_Application = src->m_Application ;
m_PID = src->m_PID ;
m_TID = src->m_TID ;
m_Thread = src->m_Thread ;
m_Filename = src->m_Filename ;
m_Line = src->m_Line ;
m_Function = src->m_Function ;
m_Time = src->m_Time ;
m_Level = src->m_Level ;
m_Message = src->m_Message ;
}

private:
Q_DISABLE_COPY(LogMessage);
};

inline void LogMessage::InitializeCustomTypes()
{
qRegisterMetaType< LogMessage* >();
}

#endif // LOGMESSAGE_H_
93 changes: 93 additions & 0 deletions mythtv/programs/mythbackend/servicesv2/v2logMessageList.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#ifndef LOGMESSAGELIST_H_
#define LOGMESSAGELIST_H_

#include <QVariantList>

#include "serviceexp.h"
#include "datacontracthelper.h"

class LogMessageList : public QObject
{
Q_OBJECT
Q_CLASSINFO( "version", "1.0" );

// Q_CLASSINFO Used to augment Metadata for properties.
// See datacontracthelper.h for details

Q_CLASSINFO( "HostNames", "type=DTC::LabelValue");
Q_CLASSINFO( "Applications", "type=DTC::LabelValue");
Q_CLASSINFO( "LogMessages", "type=DTC::LogMessage");

Q_PROPERTY( QVariantList HostNames READ HostNames )
Q_PROPERTY( QVariantList Applications READ Applications )
Q_PROPERTY( QVariantList LogMessages READ LogMessages )

PROPERTYIMP_RO_REF( QVariantList, HostNames )
PROPERTYIMP_RO_REF( QVariantList, Applications )
PROPERTYIMP_RO_REF( QVariantList, LogMessages );

public:

static inline void InitializeCustomTypes();

Q_INVOKABLE LogMessageList(QObject *parent = nullptr)
: QObject( parent )
{
}

void Copy( const LogMessageList *src )
{
CopyListContents< LabelValue >( this, m_HostNames,
src->m_HostNames );
CopyListContents< LabelValue >( this, m_Applications,
src->m_Applications );
CopyListContents< LogMessage >( this, m_LogMessages,
src->m_LogMessages );
}

LabelValue *AddNewHostName()
{
// We must make sure the object added to the QVariantList has
// a parent of 'this'

auto *pObject = new LabelValue( this );
m_HostNames.append( QVariant::fromValue<QObject *>( pObject ));

return pObject;
}

LabelValue *AddNewApplication()
{
// We must make sure the object added to the QVariantList has
// a parent of 'this'

auto *pObject = new LabelValue( this );
m_Applications.append( QVariant::fromValue<QObject *>( pObject ));

return pObject;
}

LogMessage *AddNewLogMessage()
{
// We must make sure the object added to the QVariantList has
// a parent of 'this'

auto *pObject = new LogMessage( this );
m_LogMessages.append( QVariant::fromValue<QObject *>( pObject ));

return pObject;
}

private:
Q_DISABLE_COPY(LogMessageList);
};

inline void LogMessageList::InitializeCustomTypes()
{
qRegisterMetaType< LogMessageList* >();

LogMessage::InitializeCustomTypes();
LabelValue::InitializeCustomTypes();
}

#endif // LOGMESSAGELIST_H_
Loading

0 comments on commit d37b486

Please sign in to comment.