~ubuntu-branches/ubuntu/trusty/digikam/trusty

« back to all changes in this revision

Viewing changes to extra/kipi-plugins/dlnaexport/extra/hupnp/src/devicemodel/hdevicemodel_infoprovider.h

  • Committer: Package Import Robot
  • Author(s): Rohan Garg
  • Date: 2012-11-26 18:24:20 UTC
  • mfrom: (1.9.1) (3.1.23 experimental)
  • Revision ID: package-import@ubuntu.com-20121126182420-qoy6z0nx4ai0wzcl
Tags: 4:3.0.0~beta3-0ubuntu1
* New upstream release
  - Add build-deps :  libhupnp-dev, libqtgstreamer-dev, libmagickcore-dev
* Merge from debian, remaining changes:
  - Make sure libqt4-opengl-dev, libgl1-mesa-dev and libglu1-mesa-dev only
    install on i386,amd64 and powerpc
  - Depend on libtiff-dev instead of libtiff4-dev
  - Drop digikam breaks/replaces kipi-plugins-common since we're past the
    LTS release now
  - digikam to recommend mplayerthumbs | ffmpegthumbs. We currently only
    have latter in the archives, even though former is also supposed to
    be part of kdemultimedia. (LP: #890059)
  - kipi-plugins to recommend www-browser rather than konqueror directly
    since 2.8 no direct usage of konqueror is present in the flickr
    plugin anymore (LP: #1011211)
  - Keep kubuntu_mysqld_executable_name.diff
  - Don't install libkipi translations
  - Keep deps on libcv-dev, libcvaux-dev
  - Keep split packaging of libraries
  - Replace icons from KDE 3 time in debian/xpm.d/*.xpm with the new
    versions (LP: #658047)
* Update debian/not-installed

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Copyright (C) 2010, 2011 Tuomo Penttinen, all rights reserved.
 
3
 *
 
4
 *  Author: Tuomo Penttinen <tp@herqq.org>
 
5
 *
 
6
 *  This file is part of Herqq UPnP (HUPnP) library.
 
7
 *
 
8
 *  Herqq UPnP is free software: you can redistribute it and/or modify
 
9
 *  it under the terms of the GNU Lesser 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.
 
12
 *
 
13
 *  Herqq UPnP 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 Lesser General Public License for more details.
 
17
 *
 
18
 *  You should have received a copy of the GNU Lesser General Public License
 
19
 *  along with Herqq UPnP. If not, see <http://www.gnu.org/licenses/>.
 
20
 */
 
21
 
 
22
#ifndef HDEVICEMODEL_INFOPROVIDER_H_
 
23
#define HDEVICEMODEL_INFOPROVIDER_H_
 
24
 
 
25
#include <HUpnpCore/HClonable>
 
26
 
 
27
namespace Herqq
 
28
{
 
29
 
 
30
namespace Upnp
 
31
{
 
32
 
 
33
class HDeviceModelInfoProviderPrivate;
 
34
 
 
35
/*!
 
36
 * A protocol class for providing information that is used to validate
 
37
 * components of UPnP's device architecture and to setup components of
 
38
 * HUPnP's device model.
 
39
 *
 
40
 * The main purpose of this class is to define an interface that enables the
 
41
 * users to provide information that HUPnP can use for verification and
 
42
 * validation purposes. Although optional, this information can be especially
 
43
 * useful when provided to HDeviceHost via HDeviceHostConfiguration. This enables
 
44
 * HUPnP to use the information to verify that device and service descriptions
 
45
 * are setup according to the specified information.
 
46
 *
 
47
 * The benefit of this is that your custom device model components can rest
 
48
 * assured that all the required state variables, actions, services and
 
49
 * embedded devices are properly defined and initialized before the instantiation
 
50
 * of the HUPnP's device model (device tree) is published for control points to use.
 
51
 *
 
52
 * The benefits of this may be somewhat difficult to realize at first, since most
 
53
 * of the time it is you, the user, who provides the implementation and
 
54
 * the description documents. Apart from inadvertent mistakes, you usually
 
55
 * get those right. However, when someone else provides the implementation of
 
56
 * the HUPnP's device model or the description documents, mismatches can easily
 
57
 * occur and this is where the benefits of this additional information are truly
 
58
 * useful. Remember, in UPnP architecture the description documents are used to
 
59
 * marshal device model information from servers to clients. If the description
 
60
 * documents do not accurately reflect the server-side implementation, the
 
61
 * client-side may not be able to correctly invoke the server-side.
 
62
 *
 
63
 * \headerfile hdevicemodel_infoprovider.h HDeviceModelInfoProvider
 
64
 *
 
65
 * \ingroup hupnp_devicemodel
 
66
 *
 
67
 * \sa hupnp_devicehosting, HDeviceHostConfiguration
 
68
 */
 
69
class H_UPNP_CORE_EXPORT HDeviceModelInfoProvider :
 
70
    public HClonable
 
71
{
 
72
H_DISABLE_COPY(HDeviceModelInfoProvider)
 
73
 
 
74
public:
 
75
 
 
76
    /*!
 
77
     * \brief Creates a new instance.
 
78
     */
 
79
    HDeviceModelInfoProvider();
 
80
 
 
81
    /*!
 
82
     * \brief Destroys the instance.
 
83
     */
 
84
    virtual ~HDeviceModelInfoProvider() = 0;
 
85
 
 
86
    /*!
 
87
     * \brief Returns information of the services the specified device type may contain.
 
88
     *
 
89
     * \param info specifies the device type.
 
90
     *
 
91
     * \return information of the services the specified device type may contain.
 
92
     */
 
93
    virtual HServicesSetupData servicesSetupData(const HDeviceInfo& info) const;
 
94
 
 
95
    /*!
 
96
     * \brief Returns information of the embedded devices the specified device type may contain.
 
97
     *
 
98
     * \param info specifies the device type.
 
99
     *
 
100
     * \return information of the embedded devices the specified device type may contain.
 
101
     */
 
102
    virtual HDevicesSetupData embedddedDevicesSetupData(
 
103
        const HDeviceInfo& info) const;
 
104
 
 
105
    /*!
 
106
     * \brief Returns information of the actions the specified service type may contain.
 
107
     *
 
108
     * \param serviceInfo specifies the service type.
 
109
     *
 
110
     * \param parentDeviceInfo specifies information about the parent UPnP device
 
111
     * that contains this service.
 
112
     *
 
113
     * \return information of the actions the specified service type may contain.
 
114
     */
 
115
    virtual HActionsSetupData actionsSetupData(
 
116
        const HServiceInfo& serviceInfo, const HDeviceInfo& parentDeviceInfo) const;
 
117
 
 
118
    /*!
 
119
     * \brief Returns information of the state variables the specified service type
 
120
     * may contain.
 
121
     *
 
122
     * \param serviceInfo specifies the service type.
 
123
     *
 
124
     * \param parentDeviceInfo specifies information about the parent UPnP device
 
125
     * that contains this service.
 
126
     *
 
127
     * \return information of the state variables the specified service type
 
128
     * may contain.
 
129
     */
 
130
    virtual HStateVariablesSetupData stateVariablesSetupData(
 
131
        const HServiceInfo& serviceInfo, const HDeviceInfo& parentDeviceInfo) const;
 
132
 
 
133
    //
 
134
    // Documented in HClonable
 
135
    virtual HDeviceModelInfoProvider* clone() const;
 
136
};
 
137
 
 
138
}
 
139
}
 
140
 
 
141
#endif /* HDEVICEMODEL_INFOPROVIDER_H_ */