/
channelInfoList.h
107 lines (80 loc) · 3.29 KB
/
channelInfoList.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#ifndef CHANNELINFOLIST_H_
#define CHANNELINFOLIST_H_
#include <QVariantList>
#include "serviceexp.h"
#include "datacontracthelper.h"
#include "programAndChannel.h"
namespace DTC
{
class SERVICE_PUBLIC ChannelInfoList : public QObject
{
Q_OBJECT
Q_CLASSINFO( "version", "1.0" );
// Q_CLASSINFO Used to augment Metadata for properties.
// See datacontracthelper.h for details
Q_CLASSINFO( "ChannelInfos", "type=DTC::ChannelInfo");
Q_CLASSINFO( "AsOf" , "transient=true" );
Q_PROPERTY( int StartIndex READ StartIndex WRITE setStartIndex )
Q_PROPERTY( int Count READ Count WRITE setCount )
Q_PROPERTY( int CurrentPage READ CurrentPage WRITE setCurrentPage )
Q_PROPERTY( int TotalPages READ TotalPages WRITE setTotalPages )
Q_PROPERTY( int TotalAvailable READ TotalAvailable WRITE setTotalAvailable )
Q_PROPERTY( QDateTime AsOf READ AsOf WRITE setAsOf )
Q_PROPERTY( QString Version READ Version WRITE setVersion )
Q_PROPERTY( QString ProtoVer READ ProtoVer WRITE setProtoVer )
Q_PROPERTY( QVariantList ChannelInfos READ ChannelInfos DESIGNABLE true )
PROPERTYIMP ( int , StartIndex )
PROPERTYIMP ( int , Count )
PROPERTYIMP ( int , CurrentPage )
PROPERTYIMP ( int , TotalPages )
PROPERTYIMP ( int , TotalAvailable )
PROPERTYIMP ( QDateTime , AsOf )
PROPERTYIMP ( QString , Version )
PROPERTYIMP ( QString , ProtoVer )
PROPERTYIMP_RO_REF( QVariantList, ChannelInfos )
public:
static void InitializeCustomTypes();
public:
ChannelInfoList(QObject *parent = 0)
: QObject( parent ),
m_StartIndex ( 0 ),
m_Count ( 0 ),
m_TotalAvailable( 0 )
{
}
ChannelInfoList( const ChannelInfoList &src )
{
Copy( src );
}
void Copy( const ChannelInfoList &src )
{
m_StartIndex = src.m_StartIndex ;
m_Count = src.m_Count ;
m_TotalAvailable= src.m_TotalAvailable ;
m_AsOf = src.m_AsOf ;
m_Version = src.m_Version ;
m_ProtoVer = src.m_ProtoVer ;
CopyListContents< ChannelInfo >( this, m_ChannelInfos, src.m_ChannelInfos );
}
ChannelInfo *AddNewChannelInfo()
{
// We must make sure the object added to the QVariantList has
// a parent of 'this'
ChannelInfo *pObject = new ChannelInfo( this );
m_ChannelInfos.append( QVariant::fromValue<QObject *>( pObject ));
return pObject;
}
};
} // namespace DTC
Q_DECLARE_METATYPE( DTC::ChannelInfoList )
Q_DECLARE_METATYPE( DTC::ChannelInfoList* )
namespace DTC
{
inline void ChannelInfoList::InitializeCustomTypes()
{
qRegisterMetaType< ChannelInfoList >();
qRegisterMetaType< ChannelInfoList* >();
ChannelInfo::InitializeCustomTypes();
}
}
#endif