NAME
Net::UPnP::ControlPoint - Perl extension for UPnP control point.
SYNOPSIS
my
$obj
= Net::UPnP::ControlPoint->new();
@dev_list
=
$obj
->search(
st
=>
'upnp:rootdevice'
,
mx
=> 3);
$devNum
= 0;
foreach
$dev
(
@dev_list
) {
$device_type
=
$dev
->getdevicetype();
if
(
$device_type
ne
'urn:schemas-upnp-org:device:MediaServer:1'
) {
next
;
}
"[$devNum] : "
.
$dev
->getfriendlyname() .
"\n"
;
unless
(
$dev
->getservicebyname(
'urn:schemas-upnp-org:service:ContentDirectory:1'
)) {
next
;
}
$condir_service
=
$dev
->getservicebyname(
'urn:schemas-upnp-org:service:ContentDirectory:1'
);
unless
(
defined
(condir_service)) {
next
;
}
%action_in_arg
= (
'ObjectID'
=> 0,
'BrowseFlag'
=>
'BrowseDirectChildren'
,
'Filter'
=>
'*'
,
'StartingIndex'
=> 0,
'RequestedCount'
=> 0,
'SortCriteria'
=>
''
,
);
$action_res
=
$condir_service
->postcontrol(
'Browse'
, \
%action_in_arg
);
$actrion_out_arg
=
$action_res
->getargumentlist();
unless
(
$actrion_out_arg
->{
'Result'
}) {
next
;
}
$result
=
$actrion_out_arg
->{
'Result'
};
while
(
$result
=~ m/<dc:title>(.*?)<\/dc:title>/sgi) {
"\t$1\n"
;
}
$devNum
++;
}
DESCRIPTION
The package can search UPnP devices in the local network and get the device list of Net::UPnP::Device.
METHODS
- new - create new Net::UPnP::ControlPoint
-
$ctrlPoint
= Net::UPnP::ControlPoint();
Creates a new object. Read `perldoc perlboot` if you don't understand that.
- search - search UPnP devices
-
@device_list
=
$ctrlPoint
->search();
@device_list
=
$ctrlPoint
->search(
[
st
=>
$search_target
],
# 'upnp:rootdevice'
[
mx
=>
$maximum_wait
]
# 3
);
Search UPnP devices and return the device list. Please see Net::UPnP::Device too.
SEE ALSO
AUTHOR
Satoshi Konno skonno@cybergarage.org
CyberGarage http://www.cybergarage.org
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Satoshi Konno
It may be used, redistributed, and/or modified under the terms of BSD License.