MythTV master
v2channelInfoList.h
Go to the documentation of this file.
1#ifndef V2CHANNELINFOLIST_H_
2#define V2CHANNELINFOLIST_H_
3
4#include <QVariantList>
5
7
9
10class V2ChannelInfoList : public QObject
11{
12 Q_OBJECT
13 Q_CLASSINFO( "Version", "1.0" );
14
15 Q_CLASSINFO( "ChannelInfos", "type=V2ChannelInfo");
16 Q_CLASSINFO( "AsOf" , "transient=true" );
17
18 SERVICE_PROPERTY2 ( int , StartIndex )
19 SERVICE_PROPERTY2 ( int , Count )
20 SERVICE_PROPERTY2 ( int , CurrentPage )
21 SERVICE_PROPERTY2 ( int , TotalPages )
22 SERVICE_PROPERTY2 ( int , TotalAvailable )
23 SERVICE_PROPERTY2 ( QDateTime , AsOf )
24 SERVICE_PROPERTY2 ( QString , Version )
25 SERVICE_PROPERTY2 ( QString , ProtoVer )
26 SERVICE_PROPERTY2 ( QVariantList, ChannelInfos );
27
28 public:
29
30 Q_INVOKABLE V2ChannelInfoList(QObject *parent = nullptr)
31 : QObject( parent )
32 {
33 }
34
35 void Copy( const V2ChannelInfoList *src )
36 {
37 m_StartIndex = src->m_StartIndex ;
38 m_Count = src->m_Count ;
39 m_TotalAvailable= src->m_TotalAvailable ;
40 m_AsOf = src->m_AsOf ;
41 m_Version = src->m_Version ;
42 m_ProtoVer = src->m_ProtoVer ;
43
44 CopyListContents< V2ChannelInfo >( this, m_ChannelInfos, src->m_ChannelInfos );
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 V2ChannelInfo( this );
53 m_ChannelInfos.append( QVariant::fromValue<QObject *>( pObject ));
54
55 return pObject;
56 }
57
58 private:
60};
61
63
64#endif
Q_DISABLE_COPY(V2ChannelInfoList)
V2ChannelInfo * AddNewChannelInfo()
Q_CLASSINFO("Version", "1.0")
Q_CLASSINFO("ChannelInfos", "type=V2ChannelInfo")
Q_CLASSINFO("AsOf", "transient=true")
SERVICE_PROPERTY2(QVariantList, ChannelInfos)
void Copy(const V2ChannelInfoList *src)
Q_DECLARE_METATYPE(std::chrono::seconds)