Public Member Functions | Friends | Related Functions

HResourceAvailable Class Reference
[Ssdp]

A class that represents the resource available (ssdp:alive) message. More...

#include <HResourceAvailable>

List of all members.

Public Member Functions

 HResourceAvailable ()
 HResourceAvailable (qint32 cacheControlMaxAge, const QUrl &location, const HProductTokens &serverTokens, const HDiscoveryType &usn, qint32 bootId=-1, qint32 configId=-1, qint32 searchPort=-1)
 ~HResourceAvailable ()
 HResourceAvailable (const HResourceAvailable &)
HResourceAvailableoperator= (const HResourceAvailable &)
bool isValid (HValidityCheckLevel level) const
const HProductTokensserverTokens () const
QUrl location () const
const HDiscoveryTypeusn () const
qint32 cacheControlMaxAge () const
qint32 bootId () const
qint32 configId () const
qint32 searchPort () const

Friends

H_UPNP_CORE_EXPORT bool operator== (const HResourceAvailable &, const HResourceAvailable &)

Related Functions

(Note that these are not member functions.)


H_UPNP_CORE_EXPORT bool operator!= (const HResourceAvailable &, const HResourceAvailable &)

Detailed Description

According to the UDA, When a device is added to the network, it MUST multicast discovery messages to advertise its root device, any embedded devices, and any services. In HUPnP this class represents such an advertisement.

Usually, you create instances of this class to be sent by the Herqq::Upnp::HSsdp, or you receive instances of this class from the Herqq::Upnp::HSsdp.

Remarks:
the class provides an assignment operator, which is not thread-safe.
See also:
HSsdp

Constructor & Destructor Documentation

Constructs a new, empty instance.

The constructed object is not valid, i.e isValid() returns false.

See also:
isValid()
HResourceAvailable ( qint32  cacheControlMaxAge,
const QUrl &  location,
const HProductTokens serverTokens,
const HDiscoveryType usn,
qint32  bootId = -1,
qint32  configId = -1,
qint32  searchPort = -1 
)

Constructs a new instance using the specified parameters.

Parameters:
cacheControlMaxAgespecifies the number of seconds the advertisement is valid.
locationspecifies the URL to the UPnP description of the root device. If the location is invalid or empty the created object will be invalid.
serverTokensspecifies information about the host, the UPnP version used and of the product. Note that if this parameter specifies UPnP version 1.1 or later, bootId and configId have to be properly defined. Otherwise the created object will be invalid.
Note:
Although server tokens are mandatory according to the UDA, this is not enforced by this class for interoperability reasons.
Parameters:
usnspecifies the Unique Service Name. The created object is valid only if the provided USN is valid.
bootIdspecifies the BOOTID.UPNP.ORG header value. Note that this is mandatory in UDA v1.1, whereas it is not specified at all in UDA v1.0. Because of this the class requires a valid value (>= 0) only in case the serverTokens identify UPnP v1.1 or later.
configIdspecifies the CONFIGID.UPNP.ORG header value. Note that this is mandatory in UDA v1.1, whereas it is not specified at all in UDA v1.0. Because of this the class requires a valid value (>= 0) only in case the serverTokens identify UPnP v1.1 or later.
searchPortspecifies the SEARCHPORT.UPNP.ORG header value. Note that this is optional in UDA v1.1, whereas it is not specified at all in UDA v1.0. If specified, this is the port at which the device must listen for unicast M-SEARCH messages. Otherwise the port is by default 1900. This parameter is optional.
Remarks:
  • if cacheControlMaxAge is smaller than 5 it it set to 5, or if it is larger than 60 * 60 * 24 (a day in seconds) it is set to a day measured in seconds.
  • if searchPort is smaller than 49152 or larger than 65535 it is set to -1. The range is specified in UDA v1.1.
See also:
isValid()

Destroys the instance.

HResourceAvailable ( const HResourceAvailable other )

Copy constructor.

Copies the contents of the other object instance to this.


Member Function Documentation

HResourceAvailable & operator= ( const HResourceAvailable other )

Assigns the contents of the other object instance to this.

Remarks:
this is not thread-safe.
bool isValid ( HValidityCheckLevel  level ) const

Indicates whether or not the object contains valid announcement information.

Parameters:
levelindicates whether the check should be strictly according to the UDA specification. If set to false some checks are omitted that are known to be poorly implemented in some UPnP software.
Returns:
true in case the objects contains valid announcement information in terms of the requested strictness.
const HProductTokens & serverTokens (  ) const

Returns the server tokens.

Returns:
the server tokens. The returned object is invalid if this object is invalid.
See also:
isValid()
QUrl location (  ) const

Returns the location of the announced device.

Returns:
the location of the announced device. This is the URL where the device description can be retrieved. The returned object is empty if this object is invalid.
See also:
isValid()
const HDiscoveryType & usn (  ) const

Returns the Unique Service Name.

The Unique Service Name identifies a unique device or service instance.

Returns:
the Unique Service Name. The returned object is invalid if this object is invalid.
See also:
isValid()
qint32 cacheControlMaxAge (  ) const

Returns the number of seconds the advertisement is valid.

Returns:
the number of seconds the advertisement is valid. If the object is valid the return value is never smaller than 5.
qint32 bootId (  ) const

Returns the value of BOOTID.UPNP.ORG.

Returns:
the value of BOOTID.UPNP.ORG. If the value is not specified -1 is returned.
qint32 configId (  ) const

Returns the value of CONFIGID.UPNP.ORG.

Returns:
the value of CONFIGID.UPNP.ORG. If the value is not specified -1 is returned.
qint32 searchPort (  ) const

Returns the value of SEARCHPORT.UPNP.ORG header field.

Returns:
the value of SEARCHPORT.UPNP.ORG header field. If the value is not specified -1 is returned.

Friends And Related Function Documentation

H_UPNP_CORE_EXPORT bool operator== ( const HResourceAvailable ,
const HResourceAvailable  
) [friend]

Compares the two objects for equality.

Returns:
true in case the objects are logically equivalent.
H_UPNP_CORE_EXPORT bool operator!= ( const HResourceAvailable ,
const HResourceAvailable  
) [related]

Compares the two objects for inequality.

Returns:
true in case the objects are not logically equivalent.