NAME
Net::UPnP::AV::Content - Perl extension for UPnP.
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
;
}
$mediaServer
= Net::UPnP::AV::MediaServer->new();
$mediaServer
->setdevice(
$dev
);
@content_list
=
$mediaServer
->getcontentlist(
ObjectID
=> 0);
foreach
$content
(
@content_list
) {
print_content(
$mediaServer
,
$content
, 1);
}
$devNum
++;
}
sub
print_content {
my
(
$mediaServer
,
$content
,
$indent
) =
@_
;
my
$id
=
$content
->getid();
my
$title
=
$content
->gettitle();
for
(
$n
=0;
$n
<
$indent
;
$n
++) {
"\t"
;
}
"$id = $title"
;
if
(
$content
->isitem()) {
" ("
.
$content
->geturl();
if
(
length
(
$content
->getdate())) {
" - "
.
$content
->getdate();
}
" - "
.
$content
->getcontenttype() .
")"
;
}
"\n"
;
unless
(
$content
->iscontainer()) {
return
;
}
@child_content_list
=
$mediaServer
->getcontentlist(
ObjectID
=>
$id
);
if
(
@child_content_list
<= 0) {
return
;
}
$indent
++;
foreach
my
$child_content
(
@child_content_list
) {
print_content(
$mediaServer
,
$child_content
,
$indent
);
}
}
DESCRIPTION
The package is a extention UPnP/AV media server, and a super class of Net::UPnP::AV::Container and Net::UPnP::AV::Item.
METHODS
- getid - Get the content ID.
-
$id
=
$item
->getid();
Get the content ID.
- gettitle - Get the content title.
-
$title
=
$item
->gettitle();
Get the content title.
- getdate - Get the content date.
-
$date
=
$item
->getdate();
Get the content date.
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.