Herqq

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions

# HDeviceModelInfoProvider Class Reference
Device Model

A protocol class for providing information that is used to validate components of UPnP's device architecture and to setup components of HUPnP's device model. More...

`#include <HDeviceModelInfoProvider>`

Inheritance diagram for HDeviceModelInfoProvider:

List of all members.

## Public Member Functions
| HDeviceModelInfoProvider ()
virtual | ~HDeviceModelInfoProvider ()=0
virtual HServicesSetupData | servicesSetupData (const HDeviceInfo &info) const
virtual HDevicesSetupData | embedddedDevicesSetupData (const HDeviceInfo &info) const
virtual HActionsSetupData | actionsSetupData (const HServiceInfo &serviceInfo, const HDeviceInfo &parentDeviceInfo) const
virtual HStateVariablesSetupData | stateVariablesSetupData (const HServiceInfo &serviceInfo, const HDeviceInfo &parentDeviceInfo) const
virtual HDeviceModelInfoProvider * | clone () const

## Detailed Description

A protocol class for providing information that is used to validate components of UPnP's device architecture and to setup components of HUPnP's device model.

The main purpose of this class is to define an interface that enables the users to provide information that HUPnP can use for verification and validation purposes. Although optional, this information can be especially useful when provided to HDeviceHost via HDeviceHostConfiguration. This enables HUPnP to use the information to verify that device and service descriptions are setup according to the specified information.

The benefit of this is that your custom device model components can rest assured that all the required state variables, actions, services and embedded devices are properly defined and initialized before the instantiation of the HUPnP's device model (device tree) is published for control points to use.

The benefits of this may be somewhat difficult to realize at first, since most of the time it is you, the user, who provides the implementation and the description documents. Apart from inadvertent mistakes, you usually get those right. However, when someone else provides the implementation of the HUPnP's device model or the description documents, mismatches can easily occur and this is where the benefits of this additional information are truly useful. Remember, in UPnP architecture the description documents are used to marshal device model information from servers to clients. If the description documents do not accurately reflect the server-side implementation, the client-side may not be able to correctly invoke the server-side.

See also:
  Device Hosting, HDeviceHostConfiguration

## Constructor & Destructor Documentation

HDeviceModelInfoProvider | ( |  | ) |

Creates a new instance.

~HDeviceModelInfoProvider | ( |  | ) | `[pure virtual]`

Destroys the instance.

## Member Function Documentation

HServicesSetupData servicesSetupData | ( | const HDeviceInfo & | info | ) | const`[virtual]`

Returns information of the services the specified device type may contain.

Parameters:

  info | specifies the device type.

Returns:
  information of the services the specified device type may contain.

HDevicesSetupData embedddedDevicesSetupData | ( | const HDeviceInfo & | info | ) | const`[virtual]`

Returns information of the embedded devices the specified device type may contain.

Parameters:

  info | specifies the device type.

Returns:
  information of the embedded devices the specified device type may contain.

HActionsSetupData actionsSetupData | ( | const HServiceInfo & | serviceInfo,
|  | const HDeviceInfo & | parentDeviceInfo
| ) |  | const`[virtual]`

Returns information of the actions the specified service type may contain.

Parameters:

  serviceInfo | specifies the service type.
  parentDeviceInfo | specifies information about the parent UPnP device that contains this service.

Returns:
  information of the actions the specified service type may contain.

HStateVariablesSetupData stateVariablesSetupData | ( | const HServiceInfo & | serviceInfo,
|  | const HDeviceInfo & | parentDeviceInfo
| ) |  | const`[virtual]`

Returns information of the state variables the specified service type may contain.

Parameters:

  serviceInfo | specifies the service type.
  parentDeviceInfo | specifies information about the parent UPnP device that contains this service.

Returns:
  information of the state variables the specified service type may contain.

HDeviceModelInfoProvider * clone | ( |  | ) | const`[virtual]`

Returns a deep copy of the instance.

Returns:
  a deep copy of the instance.

Remarks:
  - the ownership of the returned object is transferred to the caller.

Reimplemented from HClonable.