|
libupnpp 0.16.0
A C++ wrapper for the Portable UPnP reference library
|
Access an UPnP service actions through a string based interface. More...
#include <typedservice.hxx>
Classes | |
| class | Internal |
Public Member Functions | |
| TypedService (const std::string &tp) | |
| Build an empty object. | |
| bool | serviceTypeMatch (const std::string &tp) override |
| Check if the input matches our service type. | |
| virtual int | runAction (const std::string &name, std::vector< std::string > args, std::map< std::string, std::string > &retdata) |
| Run an action specified by name, with specified input return output. | |
Public Member Functions inherited from UPnPClient::Service | |
| Service (const UPnPDeviceDesc &device, const UPnPServiceDesc &service) | |
| Construct by copying data from device and service objects. | |
| Service () | |
| Empty object. | |
| Service (const Service &)=delete | |
| Service & | operator= (const Service &)=delete |
| bool | initFromDescription (const UPnPDeviceDesc &description) |
| Initialize empty object from device description. | |
| bool | ok () |
| Check that initialization went well. | |
| virtual bool | reSubscribe () |
| Restart the subscription to get all the State variable values, in case we get the events before we are ready (e.g. | |
| const std::string & | getFriendlyName () const |
| Accessors for the values extracted from the device description during initialization. | |
| const std::string & | getDeviceId () const |
| const std::string & | getServiceType () const |
| const std::string & | getActionURL () const |
| const std::string & | getModelName () const |
| const std::string & | getManufacturer () const |
| int | runTrivialAction (const std::string &actionName, ActionOptions *opts=nullptr) |
| Run trivial action where there are neither input parameters nor return data (beyond the status) | |
| template<class T > | |
| int | runSimpleGet (const std::string &actnm, const std::string &valnm, T *valuep, ActionOptions *opts=nullptr) |
| Run action where there are no input parameters and a single named value is to be retrieved from the result. | |
| template<class T > | |
| int | runSimpleAction (const std::string &actnm, const std::string &valnm, T value, ActionOptions *opts=nullptr) |
| Run action with a single input parameter and no return data. | |
| virtual VarEventReporter * | getReporter () |
| Get pointer to installed event reporter. | |
| virtual void | installReporter (VarEventReporter *reporter) |
| Install or uninstall event data reporter object. | |
Protected Member Functions | |
| bool | serviceInit (const UPnPDeviceDesc &device, const UPnPServiceDesc &service) override |
| Service-specific part of initialization. | |
Protected Member Functions inherited from UPnPClient::Service | |
| bool | registerCallback (evtCBFunc c) |
| Used by a derived class to register its callback method. | |
| void | unregisterCallback () |
| Cancel subscription to the service events, forget installed callback. | |
Access an UPnP service actions through a string based interface.
This class allows flexible and easy access to a service functionality without the effort of deriving a specific class from UPnPClient::Service. It was mostly implemented for the Python SWIG interface, but it could probably have other usages. The constructor yields a barely initialized object, still needing initialization through a call to Service::initFromDescription(). The easiest way to build a usable object is to use the findTypedService() helper function.
| UPnPClient::TypedService::TypedService | ( | const std::string & | tp | ) |
Build an empty object.
Will be later initialized by initFromDescription(), typically called from findTypedService().
| tp | should be the official service type value, e.g. urn:schemas-upnp-org:service:AVTransport:1 |
|
virtual |
Run an action specified by name, with specified input return output.
| name | the action name (e.g. SetAVTransportURI) | |
| args | the input argument vector. These must be given in the order given by the action definition inside the service description. | |
| [out] | retdata | the output returned from the action. map used instead of unordered_map for swig 2.0 compatibility. |
|
overrideprotectedvirtual |
Service-specific part of initialization.
This downloads and parses the service description data. This is called from initFromDescription(), typically in findTypedService() in our case.
Reimplemented from UPnPClient::Service.
|
overridevirtual |
Check if the input matches our service type.
Implements UPnPClient::Service.