2
* Copyright (C) 2011 Tuomo Penttinen, all rights reserved.
4
* Author: Tuomo Penttinen <tp@herqq.org>
6
* This file is part of Herqq UPnP Av (HUPnPAv) library.
8
* Herqq UPnP Av is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
13
* Herqq UPnP Av is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
18
* You should have received a copy of the GNU General Public License
19
* along with Herqq UPnP Av. If not, see <http://www.gnu.org/licenses/>.
22
#ifndef HRCS_LASTCHANGE_INFO_H_
23
#define HRCS_LASTCHANGE_INFO_H_
25
#include <HUpnpAv/HUpnpAv>
36
class HRcsLastChangeInfoPrivate;
39
* \brief This class is used to contain information of a LastChange event sent
40
* by a RenderingContolService.
42
* \headerfile hrcs_lastchange_info.h HRcsLastChangeInfo
44
* \ingroup hupnp_av_mediarenderer
46
* \remarks This class is not thread-safe.
50
class H_UPNP_AV_EXPORT HRcsLastChangeInfo
55
HRcsLastChangeInfoPrivate* h_ptr;
60
* Creates a new, invalid instance.
67
* \brief Creates a new instance.
69
* \param propertyName specifies the name of the property.
71
* \param value specifies the value of the property.
75
HRcsLastChangeInfo(const QString& propertyName, const QVariant& value);
78
* \brief Destroys the instance.
80
~HRcsLastChangeInfo();
83
* \brief Copy constructor.
85
* Creates a copy of \c other.
87
HRcsLastChangeInfo(const HRcsLastChangeInfo&);
90
* \brief Assignment operator.
92
* Copies the contents of \c other to this.
94
HRcsLastChangeInfo& operator=(const HRcsLastChangeInfo&);
97
* \brief Specifies the name of the property.
99
* \param name specifies the name of the property.
103
void setPropertyName(const QString& name);
106
* \brief Specifies the value of the property.
108
* \param value specifies the value of the property.
112
void setValue(const QVariant& value);
115
* \brief Specifies the audio channel associated with the property, if any.
117
* \param channel specifies the audio channel associated with the property,
122
void setChannel(const HChannel& channel);
125
* \brief Indicates the validity of the object.
127
* \return \e true in case the object is valid, i.e. the propertyName() is
130
bool isValid() const;
133
* \brief Returns the name of the property.
135
* \return The name of the property.
137
* \sa setPropertyName()
139
QString propertyName() const;
142
* \brief Returns the value of the property.
144
* \return The value of the property.
148
QVariant value() const;
151
* \brief Returns the audio channel associated with the property, if any.
153
* \return the audio channel associated with the property, if any.
157
HChannel channel() const;
161
* Compares the two objects for equality.
163
* \return \e true in case the objects are logically equivalent.
165
* \relates HRcsLastChangeInfo
167
H_UPNP_AV_EXPORT bool operator==(const HRcsLastChangeInfo&, const HRcsLastChangeInfo&);
170
* Compares the two objects for inequality.
172
* \return \e true in case the objects are not logically equivalent.
174
* \relates HRcsLastChangeInfo
176
inline bool operator!=(const HRcsLastChangeInfo& obj1, const HRcsLastChangeInfo& obj2)
178
return !(obj1 == obj2);