NAME
Net::Fritz::Service - represents a TR064 service
VERSION
version v0.0.9
SYNOPSIS
my $fritz = Net::Fritz::Box->new();
my $device = $fritz->discover();
my $service = $device->get_service('DeviceInfo:1');
# call an action
my $response = $service->call('GetSecurityPort');
# show all data
$service->dump();
DESCRIPTION
This class represents a TR064 service belonging to a Net::Fritz::Device. A service consists of one or more Net::Fritz::Actions that interact with the underlying device.
ATTRIBUTES (read-only)
fritz
A Net::Fritz::Box instance containing the current configuration information (device address, authentication etc.).
xmltree
A complex hashref containing most information about this Net::Fritz::Service. This is the parsed form of the TR064 XML which describes the service. It contains nearly all information besides "fritz" and "scpd".
scpd
A complex hashref containing all information about this Net::Fritz::Service. This is the parsed form of the XML available at "SCPDURL" which describes the service and its Net::Fritz::Actions.
action_hash
A hashref containing all Net::Fritz::Actions of this service indexed by their "name" in Net::Fritz::Action.
serviceType
The serviceType (string) of this service which is used by Net::Fritz::Device to look up services.
serviceId
The serviceId (string) of this service.
controlURL
The controlURL (URL string) of this service which is needed to call any Net::Fritz::Actions of this service.
eventSubURL
The eventSubURL (URL string) of this service for subscribing to or unsubscribing from events.
SCPDURL
The SCPDURL (URL string) of the SCPD file of this service where most of the other attributes are read from.
error
See "error" in Net::Fritz::IsNoError.
METHODS
new
Creates a new Net::Fritz::Service object. You propably don't have to call this method, it's mostly used internally. Expects parameters in key => value
form with the following keys:
- fritz
-
Net::Fritz::Box configuration object
- xmltree
-
service information in parsed XML format
call(action_name [argument_hash])
Calls the Net::Fritz::Action named action_name of this service. Response data from the service call is wrapped as Net::Fritz::Data. If the action expects parameters, they must be provided via the argument_hash as key=>value pairs.
If no matching action is found, the parameters don't match the action or any other error occurs, a Net::Fritz::Error is returned.
dump(indent)
Returns some preformatted multiline information about the object. Useful for debugging purposes, printing or logging. The optional parameter indent is used for indentation of the output by prepending it to every line.
Recursively descends into actions, so dumping a service also shows all its actions as well.
errorcheck
See "errorcheck" in Net::Fritz::IsNoError.
SEE ALSO
See Net::Fritz for general information about this package, especially "INTERFACE" in Net::Fritz for links to the other classes.
AUTHOR
Christian Garbs <mitch@cgarbs.de>
COPYRIGHT AND LICENSE
Copyright (C) 2017 Christian Garbs
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.