MythTV master
v2recRuleFilterList.h
Go to the documentation of this file.
1
2#ifndef V2RECRULEFILTERLIST_H_
3#define V2RECRULEFILTERLIST_H_
4
5#include <QVariantList>
6#include <QDateTime>
7
9
10#include "v2recRuleFilter.h"
11
12class V2RecRuleFilterList : public QObject
13{
14 Q_OBJECT
15 Q_CLASSINFO( "Version", "1.0" );
16
17 // Q_CLASSINFO Used to augment Metadata for properties.
18 // See datacontracthelper.h for details
19
20 Q_CLASSINFO( "RecRuleFilters", "type=V2RecRuleFilter");
21 Q_CLASSINFO( "AsOf" , "transient=true" );
22
23 SERVICE_PROPERTY2( int , StartIndex )
24 SERVICE_PROPERTY2( int , Count )
25 SERVICE_PROPERTY2( int , TotalAvailable )
26 SERVICE_PROPERTY2( QDateTime , AsOf )
27 SERVICE_PROPERTY2( QString , Version )
28 SERVICE_PROPERTY2( QString , ProtoVer )
29 SERVICE_PROPERTY2( QVariantList, RecRuleFilters );
30
31 public:
32
33 Q_INVOKABLE V2RecRuleFilterList(QObject *parent = nullptr)
34 : QObject( parent )
35 {
36 }
37
38 void Copy( const V2RecRuleFilterList *src )
39 {
40 m_AsOf = src->m_AsOf ;
41 m_Version = src->m_Version ;
42 m_ProtoVer = src->m_ProtoVer ;
43
44 CopyListContents< V2RecRuleFilter >( this, m_RecRuleFilters, src->m_RecRuleFilters );
45 }
46
48 {
49 // We must make sure the object added to the QVariantList has
50 // a parent of 'this'
51
52 auto *pObject = new V2RecRuleFilter( this );
53 m_RecRuleFilters.append( QVariant::fromValue<QObject *>( pObject ));
54
55 return pObject;
56 }
57
58 private:
60};
61
63
64#endif
Q_CLASSINFO("AsOf", "transient=true")
V2RecRuleFilter * AddNewRecRuleFilter()
SERVICE_PROPERTY2(QVariantList, RecRuleFilters)
Q_DISABLE_COPY(V2RecRuleFilterList)
Q_CLASSINFO("Version", "1.0")
void Copy(const V2RecRuleFilterList *src)
Q_CLASSINFO("RecRuleFilters", "type=V2RecRuleFilter")
Q_DECLARE_METATYPE(std::chrono::seconds)