| POE-Component-NomadJukebox documentation | Contained in the POE-Component-NomadJukebox distribution. |
POE::Component::NomadJukebox::Device - perl api to libnjb
David Davis, <xantus@cpan.org>
Documentation ;)
| POE-Component-NomadJukebox documentation | Contained in the POE-Component-NomadJukebox distribution. |
package POE::Component::NomadJukebox::Device; use 5.006; use strict; use warnings; use Errno; use Carp; require Exporter; require DynaLoader; use AutoLoader; our $VERSION = '0.03'; our @ISA = qw(Exporter DynaLoader); # This allows declaration use POE::Component::NomadJukebox::Device ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( DD_BSDKDEBUG DD_SUBTRACE DD_USBBLK DD_USBBLKLIM DD_USBCTL EO_ABORTED EO_AGAIN EO_BADCOUNT EO_BADDATA EO_BADNJBID EO_BADSTATUS EO_CANTMOVE EO_DEVICE EO_EOF EO_EOM EO_INIT EO_INVALID EO_NOMEM EO_NULLTMP EO_RDSHORT EO_SRCFILE EO_TIMEOUT EO_TMPFILE EO_TOOBIG EO_USBBLK EO_USBCTL EO_WRFILE EO_WRSHORT EO_XFERDENIED EO_XFERERROR ID_DATA_ASCII ID_DATA_BIN LIBNJB_COMPILED_FOR_LIBUSB NJB_Get_File NJB_MAX_DEVICES NJB_PL_CHNAME NJB_PL_CHTRACKS NJB_PL_END NJB_PL_NEW NJB_PL_START NJB_PL_UNCHANGED NJB_POWER_AC_CHARGED NJB_POWER_AC_CHARGING NJB_POWER_BATTERY OWNER_STRING_LENGTH NJB_DEVICE_NJB1 NJB_DEVICE_NJB2 NJB_DEVICE_NJB3 NJB_DEVICE_NJBZEN NJB_DEVICE_NJBZEN2 NJB_DEVICE_NJBZENNX NJB_DEVICE_NJBZENXTRA NJB_DEVICE_DELLDJ ) ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( Discover Open TrackList PlayList FileList DeletePlayList GetTrack SendTrack SendFile PlayTrack QueueTrack DeleteTrack DeleteFile StopPlay PausePlay ResumePlay SeekTrack AdjustSound GetOwner SetOwner GetTmpDir SetTmpDir DiskUsage Close ProgressFunc DD_BSDKDEBUG DD_SUBTRACE DD_USBBLK DD_USBBLKLIM DD_USBCTL EO_ABORTED EO_AGAIN EO_BADCOUNT EO_BADDATA EO_BADNJBID EO_BADSTATUS EO_CANTMOVE EO_DEVICE EO_EOF EO_EOM EO_INIT EO_INVALID EO_NOMEM EO_NULLTMP EO_RDSHORT EO_SRCFILE EO_TIMEOUT EO_TMPFILE EO_TOOBIG EO_USBBLK EO_USBCTL EO_WRFILE EO_WRSHORT EO_XFERDENIED EO_XFERERROR ID_DATA_ASCII ID_DATA_BIN LIBNJB_COMPILED_FOR_LIBUSB NJB_Get_File NJB_MAX_DEVICES NJB_PL_CHNAME NJB_PL_CHTRACKS NJB_PL_END NJB_PL_NEW NJB_PL_START NJB_PL_UNCHANGED NJB_POWER_AC_CHARGED NJB_POWER_AC_CHARGING NJB_POWER_BATTERY OWNER_STRING_LENGTH NJB_DEVICE_NJB1 NJB_DEVICE_NJB2 NJB_DEVICE_NJB3 NJB_DEVICE_NJBZEN NJB_DEVICE_NJBZEN2 NJB_DEVICE_NJBZENNX NJB_DEVICE_NJBZENXTRA NJB_DEVICE_DELLDJ ); sub AUTOLOAD { # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. If a constant is not found then control is passed # to the AUTOLOAD in AutoLoader. my $constname; our $AUTOLOAD; ($constname = $AUTOLOAD) =~ s/POE::Component::NomadJukebox::Device:://; croak "&$_[0] not defined in NomadJukebox::Device" if $constname eq 'constant'; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { if ($!{EINVAL}) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } else { croak "Your vendor has not defined NomadJukebox::Device macro $constname"; } } { no strict 'refs'; # Fixed between 5.005_53 and 5.005_61 if ($] >= 5.00561) { *$AUTOLOAD = sub () { $val }; } else { *$AUTOLOAD = sub { $val }; } } goto &$AUTOLOAD; } POE::Component::NomadJukebox::Device->bootstrap($VERSION); # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. # documentation to come later 1; __END__