Merge remote-tracking branch 'upstream/master' into Video-Highlander-Branch
Conflicts: web/skins/classic/views/event.php
|
@ -1,5 +1,6 @@
|
|||
configure
|
||||
config.h.in
|
||||
config.h.in~
|
||||
autom4te.cache
|
||||
aclocal.m4
|
||||
depcomp
|
||||
|
@ -12,7 +13,7 @@ scripts/ZoneMinder/blib
|
|||
Makefile.in
|
||||
Makefile
|
||||
docs/_build
|
||||
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.log
|
||||
|
@ -24,6 +25,12 @@ misc/com.zoneminder.systemctl.policy
|
|||
misc/com.zoneminder.systemctl.rules
|
||||
misc/logrotate.conf
|
||||
misc/syslog.conf
|
||||
onvif/modules/MYMETA.json
|
||||
onvif/modules/MYMETA.yml
|
||||
onvif/proxy/MYMETA.json
|
||||
onvif/proxy/MYMETA.yml
|
||||
scripts/ZoneMinder/Makefile.old
|
||||
scripts/ZoneMinder/MYMETA.json
|
||||
scripts/ZoneMinder/MYMETA.yml
|
||||
scripts/ZoneMinder/lib/ZoneMinder/Base.pm
|
||||
scripts/ZoneMinder/lib/ZoneMinder/Config.pm
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
project (zoneminder)
|
||||
set(zoneminder_VERSION "1.28.0")
|
||||
set(zoneminder_VERSION "1.28.1")
|
||||
|
||||
# CMake does not allow out-of-source build if CMakeCache.exists in the source folder. Abort and notify the user to save him from headache why it doesn't work.
|
||||
if((NOT (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)) AND (EXISTS "${CMAKE_SOURCE_DIR}/CMakeCache.txt"))
|
||||
|
@ -67,22 +67,32 @@ set(ZM_NO_FFMPEG "OFF" CACHE BOOL "Set to ON to skip ffmpeg checks and force bui
|
|||
set(ZM_NO_LIBVLC "OFF" CACHE BOOL "Set to ON to skip libvlc checks and force building ZM without libvlc. default: OFF")
|
||||
set(ZM_NO_CURL "OFF" CACHE BOOL "Set to ON to skip cURL checks and force building ZM without cURL. default: OFF")
|
||||
set(ZM_NO_X10 "OFF" CACHE BOOL "Set to ON to build ZoneMinder without X10 support. default: OFF")
|
||||
set(ZM_ONVIF "OFF" CACHE BOOL "Set to ON to enable basic ONVIF support. This is EXPERIMENTAL and may not work with all cameras claiming to be ONVIF compliant. default: OFF")
|
||||
set(ZM_PERL_SUBPREFIX "${CMAKE_INSTALL_LIBDIR}/perl5" CACHE PATH "Use a different directory for the zm perl modules. NOTE: This is a subprefix, e.g. lib will be turned into <prefix>/lib, default: <libdir>/perl5")
|
||||
set(ZM_PERL_USE_PATH "${CMAKE_INSTALL_PREFIX}/${ZM_PERL_SUBPREFIX}" CACHE PATH "Override the include path for zm perl modules. Useful if you are moving the perl modules without using the ZM_PERL_SUBPREFIX option. default: <prefix>/<zmperlsubprefix>")
|
||||
set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f19, f20, el6, OS13")
|
||||
set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f21, f20, el6, OS13")
|
||||
|
||||
# Reassign some variables if a target distro has been specified
|
||||
if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "f20") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
|
||||
if((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
set(ZM_RUNDIR "/var/run/zoneminder")
|
||||
set(ZM_SOCKDIR "/var/lib/zoneminder/sock")
|
||||
set(ZM_TMPDIR "/var/lib/zoneminder/temp")
|
||||
set(ZM_LOGDIR "/var/log/zoneminder")
|
||||
elseif(ZM_TARGET_DISTRO STREQUAL "el6")
|
||||
set(ZM_RUNDIR "/var/run/zoneminder")
|
||||
set(ZM_SOCKDIR "/var/lib/zoneminder/sock")
|
||||
set(ZM_TMPDIR "/var/lib/zoneminder/temp")
|
||||
set(ZM_LOGDIR "/var/log/zoneminder")
|
||||
set(ZM_WEBDIR "/usr/share/zoneminder/www")
|
||||
set(ZM_CGIDIR "/usr/libexec/zoneminder/cgi-bin")
|
||||
elseif(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
set(ZM_RUNDIR "/var/run/zoneminder")
|
||||
set(ZM_SOCKDIR "/var/lib/zoneminder/sock")
|
||||
set(ZM_TMPDIR "/var/lib/zoneminder/temp")
|
||||
set(ZM_LOGDIR "/var/log/zoneminder")
|
||||
set(ZM_CONFIG_DIR "/etc/zm")
|
||||
set(ZM_WEBDIR "/usr/share/zoneminder/www")
|
||||
set(ZM_CGIDIR "/usr/libexec/zoneminder/cgi-bin")
|
||||
elseif(ZM_TARGET_DISTRO STREQUAL "OS13")
|
||||
set(ZM_RUNDIR "/var/run/zoneminder")
|
||||
set(ZM_TMPDIR "/var/run/zoneminder")
|
||||
|
@ -92,7 +102,7 @@ elseif(ZM_TARGET_DISTRO STREQUAL "OS13")
|
|||
set(ZM_WEB_GROUP "www")
|
||||
set(ZM_WEBDIR "/srv/www/htdocs/zoneminder")
|
||||
set(ZM_CGIDIR "/srv/www/cgi-bin")
|
||||
endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "f20") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
|
||||
endif((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
|
||||
# Required for certain checks to work
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} stdio.h stdlib.h math.h signal.h)
|
||||
|
@ -481,6 +491,12 @@ if(NOT ZM_NO_MMAP)
|
|||
set(ZM_MMAP_PERLPACKAGE "Sys::Mmap")
|
||||
endif(NOT ZM_NO_MMAP)
|
||||
|
||||
# Check for the ONVIF flag and enable ZM_HAS_ONVIF accordingly
|
||||
set(ZM_HAS_ONVIF 0)
|
||||
if(ZM_ONVIF)
|
||||
set(ZM_HAS_ONVIF 1)
|
||||
endif(ZM_ONVIF)
|
||||
|
||||
# Check for authenication functions
|
||||
if(HAVE_OPENSSL_MD5_H)
|
||||
set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}")
|
||||
|
@ -576,14 +592,19 @@ add_subdirectory(db)
|
|||
add_subdirectory(web)
|
||||
add_subdirectory(misc)
|
||||
|
||||
# Enable ONVIF support
|
||||
if (ZM_ONVIF)
|
||||
add_subdirectory(onvif)
|
||||
endif (ZM_ONVIF)
|
||||
|
||||
# Process distro subdirectories
|
||||
if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
if((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
add_subdirectory(distros/fedora)
|
||||
elseif((ZM_TARGET_DISTRO STREQUAL "el6") OR (ZM_TARGET_DISTRO STREQUAL "el7"))
|
||||
add_subdirectory(distros/redhat)
|
||||
elseif(ZM_TARGET_DISTRO STREQUAL "OS13")
|
||||
add_subdirectory(distros/opensuse)
|
||||
endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
endif((ZM_TARGET_DISTRO STREQUAL "f21") OR (ZM_TARGET_DISTRO STREQUAL "f20"))
|
||||
|
||||
# Print optional libraries detection status
|
||||
message(STATUS "Optional libraries found:${optlibsfound}")
|
||||
|
|
1
INSTALL
|
@ -82,6 +82,7 @@ Basic steps for installing ZoneMinder on a fresh system
|
|||
-------------------------------------------------------
|
||||
1) After installing all the required dependencies, in the project directory, run "cmake [extra options] ."
|
||||
This behaves like ./configure. It is also possible to supply configuration options, e.g. cmake -DZM_DB_PASS="mypass" .
|
||||
IMPORTANT: Don't forget the dot "." at the end.
|
||||
2) Run "make" to compile ZoneMinder
|
||||
3) Run "make install" (as root, or use sudo) to install ZoneMinder to your system.
|
||||
4) Create a directory for the content and the necessary symlinks by running zmlinkcontent.sh with the directory you want to use. e.g. ./zmlinkcontent.sh /nfs/zm
|
||||
|
|
|
@ -8,12 +8,17 @@ zmconfigdir = @ZM_CONFIG_DIR@
|
|||
zmconfig_DATA = \
|
||||
zm.conf
|
||||
|
||||
if COND_ONVIF
|
||||
MAYBE_ONVIF = onvif
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
src \
|
||||
web \
|
||||
scripts \
|
||||
db \
|
||||
misc
|
||||
misc \
|
||||
$(MAYBE_ONVIF)
|
||||
|
||||
EXTRA_DIST = \
|
||||
zm.conf.in \
|
||||
|
|
25
configure.ac
|
@ -1,5 +1,5 @@
|
|||
AC_PREREQ(2.59)
|
||||
AC_INIT(zm,1.28.0,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html)
|
||||
AC_INIT(zm,1.28.1,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html)
|
||||
AM_INIT_AUTOMAKE
|
||||
AC_CONFIG_SRCDIR(src/zm.h)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
@ -261,8 +261,26 @@ else
|
|||
fi
|
||||
AC_SUBST(ENABLE_MMAP)
|
||||
|
||||
ENABLE_ONVIF=no
|
||||
AC_ARG_ENABLE(onvif,
|
||||
[ --enable-onvif=<yes|no> enable or disable basic onvif support, default disabled],
|
||||
[ENABLE_ONVIF=$enable_onvif],
|
||||
AC_MSG_WARN([You can call configure with the --enable-onvif=<yes|no> or --enable-onvif option.
|
||||
This tells configure whether to compile ZoneMinder with basic ONVIF support. This feature will
|
||||
probe for ONVIF compliant cameras on your network and allow you the option to auto-configure them as
|
||||
monitors in zoneminder. This option is EXPERIMENTAL and may not work with all cameras that claim to
|
||||
be ONVIF compliant.
|
||||
e.g. --enable-onvif=yes or --disable-onvif])
|
||||
)
|
||||
AM_CONDITIONAL([COND_ONVIF], [test "$enable_onvif" = yes])
|
||||
|
||||
# Compiler
|
||||
AC_LANG_CPLUSPLUS
|
||||
if test "$ENABLE_ONVIF" == "yes"; then
|
||||
AC_SUBST(ZM_HAS_ONVIF,1)
|
||||
else
|
||||
AC_SUBST(ZM_HAS_ONVIF,0)
|
||||
fi
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CXX
|
||||
|
@ -455,12 +473,13 @@ fi
|
|||
AC_SUBST(PERL_MM_PARMS)
|
||||
AC_SUBST(EXTRA_PERL_LIB)
|
||||
|
||||
|
||||
AC_CONFIG_FILES([Makefile zm.conf zmconfgen.pl db/Makefile db/zm_create.sql misc/Makefile misc/apache.conf misc/logrotate.conf misc/syslog.conf misc/com.zoneminder.systemctl.policy misc/com.zoneminder.systemctl.rules scripts/Makefile scripts/zm scripts/zmaudit.pl scripts/zmcontrol.pl scripts/zmdc.pl scripts/zmfilter.pl scripts/zmpkg.pl scripts/zmtrack.pl scripts/zmcamtool.pl scripts/zmsystemctl.pl scripts/zmtrigger.pl scripts/zmupdate.pl scripts/zmvideo.pl scripts/zmwatch.pl scripts/zmx10.pl scripts/zmdbbackup scripts/zmdbrestore scripts/zmeventdump scripts/zmlogrotate.conf scripts/ZoneMinder/lib/ZoneMinder/Base.pm scripts/ZoneMinder/lib/ZoneMinder/Config.pm scripts/ZoneMinder/lib/ZoneMinder/Memory.pm scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm src/Makefile src/zm_config.h web/Makefile web/ajax/Makefile web/css/Makefile web/graphics/Makefile web/includes/Makefile web/includes/config.php web/js/Makefile web/lang/Makefile web/skins/Makefile web/skins/classic/Makefile web/skins/classic/ajax/Makefile web/skins/classic/css/Makefile web/skins/classic/css/classic/Makefile web/skins/classic/css/classic/views/Makefile web/skins/classic/css/flat/Makefile web/skins/classic/css/flat/views/Makefile web/skins/classic/graphics/Makefile web/skins/classic/includes/Makefile web/skins/classic/js/Makefile web/skins/classic/lang/Makefile web/skins/classic/views/Makefile web/skins/classic/views/js/Makefile web/skins/mobile/Makefile web/skins/mobile/ajax/Makefile web/skins/mobile/css/Makefile web/skins/mobile/graphics/Makefile web/skins/mobile/includes/Makefile web/skins/mobile/lang/Makefile web/skins/mobile/views/Makefile web/skins/mobile/views/css/Makefile web/tools/Makefile web/tools/mootools/Makefile web/views/Makefile web/skins/xml/Makefile web/skins/xml/views/Makefile web/skins/xml/includes/Makefile])
|
||||
AC_CONFIG_FILES([Makefile zm.conf zmconfgen.pl db/Makefile db/zm_create.sql misc/Makefile misc/apache.conf misc/logrotate.conf misc/syslog.conf misc/com.zoneminder.systemctl.policy misc/com.zoneminder.systemctl.rules onvif/Makefile onvif/scripts/Makefile scripts/Makefile scripts/zm scripts/zmaudit.pl scripts/zmcontrol.pl scripts/zmdc.pl scripts/zmfilter.pl scripts/zmpkg.pl scripts/zmtrack.pl scripts/zmcamtool.pl scripts/zmsystemctl.pl scripts/zmtrigger.pl scripts/zmupdate.pl scripts/zmvideo.pl scripts/zmwatch.pl scripts/zmx10.pl scripts/zmdbbackup scripts/zmdbrestore scripts/zmeventdump scripts/zmlogrotate.conf scripts/ZoneMinder/lib/ZoneMinder/Base.pm scripts/ZoneMinder/lib/ZoneMinder/Config.pm scripts/ZoneMinder/lib/ZoneMinder/Memory.pm scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm src/Makefile src/zm_config.h web/Makefile web/ajax/Makefile web/css/Makefile web/graphics/Makefile web/includes/Makefile web/includes/config.php web/js/Makefile web/lang/Makefile web/skins/Makefile web/skins/classic/Makefile web/skins/classic/ajax/Makefile web/skins/classic/css/Makefile web/skins/classic/css/classic/Makefile web/skins/classic/css/classic/views/Makefile web/skins/classic/css/flat/Makefile web/skins/classic/css/flat/views/Makefile web/skins/classic/graphics/Makefile web/skins/classic/includes/Makefile web/skins/classic/js/Makefile web/skins/classic/lang/Makefile web/skins/classic/views/Makefile web/skins/classic/views/js/Makefile web/skins/mobile/Makefile web/skins/mobile/ajax/Makefile web/skins/mobile/css/Makefile web/skins/mobile/graphics/Makefile web/skins/mobile/includes/Makefile web/skins/mobile/lang/Makefile web/skins/mobile/views/Makefile web/skins/mobile/views/css/Makefile web/tools/Makefile web/tools/mootools/Makefile web/views/Makefile web/skins/xml/Makefile web/skins/xml/views/Makefile web/skins/xml/includes/Makefile])
|
||||
|
||||
# Create the definitions for compilation and defaults for the database
|
||||
AC_CONFIG_COMMANDS([src/zm_config_defines.h],[perl ./zmconfgen.pl])
|
||||
# Manually generate the perl Makefile maker
|
||||
AC_CONFIG_COMMANDS([scripts/ZoneMinder/Makefile],[(cd scripts/ZoneMinder; echo "perl Makefile.PL $PERL_MM_PARMS"; perl Makefile.PL $PERL_MM_PARMS)],[PERL_MM_PARMS=$PERL_MM_PARMS])
|
||||
AC_CONFIG_COMMANDS([onvif/modules/Makefile],[(cd onvif/modules; echo "perl Makefile.PL $PERL_MM_PARMS"; perl Makefile.PL $PERL_MM_PARMS)],[PERL_MM_PARMS=$PERL_MM_PARMS])
|
||||
AC_CONFIG_COMMANDS([onvif/proxy/Makefile],[(cd onvif/proxy; echo "perl Makefile.PL $PERL_MM_PARMS"; perl Makefile.PL $PERL_MM_PARMS)],[PERL_MM_PARMS=$PERL_MM_PARMS])
|
||||
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -0,0 +1,251 @@
|
|||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: return( defined($monitor->{ShmKey})?$monitor->{ShmKey}:undef );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: if ( !defined($monitor->{ShmId}) )
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: my $shm_key = (hex($Config{ZM_SHM_KEY})&0xffff0000)|$monitor->{Id};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: Error( sprintf( "Can't get shared memory id '%x', %d: $!\n", $shm_key, $monitor->{Id} ) );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: $monitor->{ShmKey} = $shm_key;
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: $monitor->{ShmId} = $shm_id;
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: delete $monitor->{ShmId};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: my $shm_key = $monitor->{ShmKey};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: my $shm_id = $monitor->{ShmId};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: my $shm_key = $monitor->{ShmKey};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Shared.pm: my $shm_id = $monitor->{ShmId};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: return( defined($monitor->{MMapAddr})?$monitor->{MMapAddr}:undef );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: if ( !defined($monitor->{MMapAddr}) )
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: my $mmap_file = $Config{ZM_PATH_MAP}."/zm.mmap.".$monitor->{Id};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: $monitor->{MMapHandle} = \*MMAP;
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: $monitor->{MMapAddr} = $mmap_addr;
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: $monitor->{MMap} = \$mmap;
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: if ( $monitor->{MMap} )
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: if ( ! munmap( ${$monitor->{MMap}} ) ) {
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: delete $monitor->{MMap};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: if ( $monitor->{MMapAddr} )
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: delete $monitor->{MMapAddr};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: if ( $monitor->{MMapHandle} )
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: close( $monitor->{MMapHandle} );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: delete $monitor->{MMapHandle};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: my $mmap = $monitor->{MMap};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: Error( sprintf( "Can't read from mapped memory for monitor '%d', gone away?", $monitor->{Id} ) );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: my $mmap = $monitor->{MMap};
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm: Error( sprintf( "Can't write mapped memory for monitor '%d', gone away?", $monitor->{Id} ) );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Error( "Shared data size conflict in shared_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{shared_data}->{size}.", got ".$sd_size );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Debug( "Shared data size conflict in shared_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{shared_data}->{size}.", got ".$sd_size );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Error( "Shared data size conflict in trigger_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{triggger_data}->{size}.", got ".$td_size );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Debug( "Shared data size conflict in trigger_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{triggger_data}->{size}.", got ".$td_size );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Error( "Unable to read '$field' from memory for monitor ".$monitor->{Id} );
|
||||
./scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in: Error( "Unable to write '$value' to '$field' in memory for monitor ".$monitor->{Id} );
|
||||
./scripts/zmtrigger.pl.in: #print( "$monitor->{Id}: S:$state, LE:$last_event\n" );
|
||||
./scripts/zmtrigger.pl.in: #print( "$monitor->{Id}: mS:$monitor->{LastState}, mLE:$monitor->{LastEvent}\n" );
|
||||
./scripts/zmtrigger.pl.in: if ( !defined($monitor->{LastEvent}) || ($last_event != $monitor->{LastEvent}) ) # A new event
|
||||
./scripts/zmtrigger.pl.in: push( @out_messages, $monitor->{Id}."|on|".time()."|".$last_event );
|
||||
./scripts/zmtrigger.pl.in: elsif ( ($state == STATE_IDLE && $monitor->{LastState} != STATE_IDLE) || ($state == STATE_TAPE && $monitor->{LastState} != STATE_TAPE) ) # Out of alarm state
|
||||
./scripts/zmtrigger.pl.in: push( @out_messages, $monitor->{Id}."|off|".time()."|".$last_event );
|
||||
./scripts/zmtrigger.pl.in: elsif ( defined($monitor->{LastEvent}) && ($last_event != $monitor->{LastEvent}) ) # We've missed a whole event
|
||||
./scripts/zmtrigger.pl.in: push( @out_messages, $monitor->{Id}."|on|".time()."|".$last_event );
|
||||
./scripts/zmtrigger.pl.in: push( @out_messages, $monitor->{Id}."|off|".time()."|".$last_event );
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastState} = $state;
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastEvent} = $last_event;
|
||||
./scripts/zmtrigger.pl.in: if ( defined($monitors{$monitor->{Id}}->{LastState}) )
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastState} = $monitors{$monitor->{Id}}->{LastState};
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastState} = zmGetMonitorState( $monitor );
|
||||
./scripts/zmtrigger.pl.in: if ( defined($monitors{$monitor->{Id}}->{LastEvent}) )
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastEvent} = $monitors{$monitor->{Id}}->{LastEvent};
|
||||
./scripts/zmtrigger.pl.in: $monitor->{LastEvent} = zmGetLastEvent( $monitor );
|
||||
./scripts/zmtrigger.pl.in: $new_monitors{$monitor->{Id}} = $monitor;
|
||||
./scripts/zmtrigger.pl.in: next if ( !$monitor->{Enabled} );
|
||||
./scripts/zmx10.pl.in: if ( defined( $monitor->{LastState} ) )
|
||||
./scripts/zmx10.pl.in: if ( ($state == STATE_ALARM || $state == STATE_ALERT) && ($monitor->{LastState} == STATE_IDLE || $monitor->{LastState} == STATE_TAPE) ) # Gone into alarm state
|
||||
./scripts/zmx10.pl.in: $task_list = $monitor->{"ON_list"};
|
||||
./scripts/zmx10.pl.in: elsif ( ($state == STATE_IDLE && $monitor->{LastState} != STATE_IDLE) || ($state == STATE_TAPE && $monitor->{LastState} != STATE_TAPE) ) # Come out of alarm state
|
||||
./scripts/zmx10.pl.in: $task_list = $monitor->{"OFF_list"};
|
||||
./scripts/zmx10.pl.in: $monitor->{LastState} = $state;
|
||||
./scripts/zmx10.pl.in: Debug( "Adding to device list, uc:$unit_code, ev:$event, mo:".$monitor->{Id}.", fu:$function, li:$limit\n" );
|
||||
./scripts/zmx10.pl.in: Debug( "Adding to monitor list, uc:$unit_code, ev:$event, mo:".$monitor->{Id}.", fu:$function, li:$limit\n" );
|
||||
./scripts/zmx10.pl.in: my $task = { type=>"monitor", device=>$device, id=>$monitor->{Id}, function=>$function };
|
||||
./scripts/zmx10.pl.in: my $task_list = $monitor->{$event."_list"};
|
||||
./scripts/zmx10.pl.in: $task_list = $monitor->{$event."_list"} = [];
|
||||
./scripts/zmx10.pl.in: $monitor_hash{$monitor->{Id}} = $monitor;
|
||||
./scripts/zmx10.pl.in: if ( $monitor->{Activation} )
|
||||
./scripts/zmx10.pl.in: Debug( "$monitor->{Name} has active string '$monitor->{Activation}'\n" );
|
||||
./scripts/zmx10.pl.in: foreach my $code_string ( split( /,/, $monitor->{Activation} ) )
|
||||
./scripts/zmx10.pl.in: if ( $monitor->{AlarmInput} )
|
||||
./scripts/zmx10.pl.in: Debug( "$monitor->{Name} has alarm input string '$monitor->{AlarmInput}'\n" );
|
||||
./scripts/zmx10.pl.in: foreach my $code_string ( split( /,/, $monitor->{AlarmInput} ) )
|
||||
./scripts/zmx10.pl.in: if ( $monitor->{AlarmOutput} )
|
||||
./scripts/zmx10.pl.in: Debug( "$monitor->{Name} has alarm output string '$monitor->{AlarmOutput}'\n" );
|
||||
./scripts/zmx10.pl.in: foreach my $code_string ( split( /,/, $monitor->{AlarmOutput} ) )
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MET%/$monitor->{EventCount}/g;
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MEH%/$monitor->{HourEventCount}/g;
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MED%/$monitor->{DayEventCount}/g;
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MEW%/$monitor->{WeekEventCount}/g;
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MEM%/$monitor->{MonthEventCount}/g;
|
||||
./scripts/zmfilter.pl.in: $text =~ s/%MEA%/$monitor->{ArchEventCount}/g;
|
||||
./scripts/zmaudit.pl.in: Debug( "Found database monitor '$monitor->{Id}'" );
|
||||
./scripts/zmaudit.pl.in: my $db_events = $db_monitors->{$monitor->{Id}} = {};
|
||||
./scripts/zmaudit.pl.in: my $res = $eventSelectSth->execute( $monitor->{Id} ) or Fatal( "Can't execute: ".$eventSelectSth->errstr() );
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Id} =~ /^$definition->{Id}$/ )
|
||||
./scripts/zmpkg.pl.in: $monitor->{NewFunction} = $definition->{Function};
|
||||
./scripts/zmpkg.pl.in: $monitor->{NewEnabled} = $definition->{Enabled};
|
||||
./scripts/zmpkg.pl.in: #next if ( !$monitor->{NewFunction} );
|
||||
./scripts/zmpkg.pl.in: $monitor->{NewFunction} = 'None' if ( !$monitor->{NewFunction} );
|
||||
./scripts/zmpkg.pl.in: $monitor->{NewEnabled} = 0 if ( !$monitor->{NewEnabled} );
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Function} ne $monitor->{NewFunction} || $monitor->{Enabled} ne $monitor->{NewEnabled} )
|
||||
./scripts/zmpkg.pl.in: my $res = $sth->execute( $monitor->{NewFunction}, $monitor->{NewEnabled}, $monitor->{Id} ) or Fatal( "Can't execute: ".$sth->errstr() );
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Function} ne 'None' )
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Type} eq 'Local' )
|
||||
./scripts/zmpkg.pl.in: runCommand( "zmdc.pl start zmc -d $monitor->{Device}" );
|
||||
./scripts/zmpkg.pl.in: runCommand( "zmdc.pl start zmc -m $monitor->{Id}" );
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Function} ne 'Monitor' )
|
||||
./scripts/zmpkg.pl.in: runCommand( "zmdc.pl start zmf -m $monitor->{Id}" );
|
||||
./scripts/zmpkg.pl.in: runCommand( "zmdc.pl start zma -m $monitor->{Id}" );
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Function} eq 'Modect' || $monitor->{Function} eq 'Mocord' )
|
||||
./scripts/zmpkg.pl.in: if ( $monitor->{Controllable} && $monitor->{TrackMotion} )
|
||||
./scripts/zmpkg.pl.in: runCommand( "zmdc.pl start zmtrack.pl -m $monitor->{Id}" );
|
||||
./scripts/zmcontrol.pl.in: my $protocol = $monitor->{Protocol};
|
||||
./scripts/zmupdate.pl.in: if ( -d $monitor->{Name} )
|
||||
./scripts/zmupdate.pl.in: rename( $monitor->{Name}, $monitor->{Id} ) or warn( "Can't rename existing monitor directory '$monitor->{Name}' to '$monitor->{Id}': $!" );
|
||||
./scripts/zmupdate.pl.in: symlink( $monitor->{Id}, $monitor->{Name} ) or warn( "Can't symlink monitor directory '$monitor->{Id}' to '$monitor->{Name}': $!" );
|
||||
./scripts/zmupdate.pl.in: my $res = $sth->execute( $monitor->{Width}, $monitor->{Height}, $monitor->{Id} ) or die( "Can't execute: ".$sth->errstr() );
|
||||
./scripts/zmupdate.pl.in: my $res = $sth->execute( $sequence++, $monitor->{Id} ) or die( "Can't execute: ".$sth->errstr() );
|
||||
./scripts/zmupdate.pl.in: if ( $db_monitor->{LabelFormat} =~ /\%\%s/ )
|
||||
./scripts/zmupdate.pl.in: $db_monitor->{LabelFormat} =~ s/\%\%s/%N/;
|
||||
./scripts/zmupdate.pl.in: $db_monitor->{LabelFormat} =~ s/\%\%s/%Q/;
|
||||
./scripts/zmupdate.pl.in: my $res = $sth->execute( $db_monitor->{LabelFormat}, $db_monitor->{Id} ) or die( "Can't execute: ".$sth->errstr() );
|
||||
./scripts/zmtrack.pl.in:if ( !$monitor->{Controllable} )
|
||||
./scripts/zmtrack.pl.in:if ( !$monitor->{TrackMotion} )
|
||||
./scripts/zmtrack.pl.in:if ( !$monitor->{CanMoveMap} )
|
||||
./scripts/zmtrack.pl.in: if ( $monitor->{CanMoveRel} )
|
||||
./scripts/zmtrack.pl.in: sleep( $monitor->{TrackDelay} );
|
||||
./scripts/zmtrack.pl.in: my $ctrlCommand = ZM_PATH_BIN."/zmcontrol.pl -i ".$monitor->{Id};
|
||||
./scripts/zmtrack.pl.in: $ctrlCommand .= " --command=".($monitor->{CanMoveMap}?"moveMap":"movePseudoMap")." --xcoord=$x --ycoord=$y";
|
||||
./scripts/zmtrack.pl.in: my $ctrlCommand = ZM_PATH_BIN."/zmcontrol.pl -i ".$monitor->{Id};
|
||||
./scripts/zmtrack.pl.in: if ( $monitor->{ReturnLocation} > 0 )
|
||||
./scripts/zmtrack.pl.in: $ctrlCommand .= " --command=presetGoto --preset=".$monitor->{ReturnLocation};
|
||||
./scripts/zmtrack.pl.in:if ( ($monitor->{ReturnLocation} >= 0) )
|
||||
./scripts/zmtrack.pl.in: if ( ($monitor->{ReturnLocation} >= 0) && ($last_alarm > 0) && ((time()-$last_alarm) > $monitor->{ReturnDelay}) )
|
||||
./scripts/zmtrack.pl.in: Debug( "Returning to location ".$monitor->{ReturnLocation}."\n" );
|
||||
./scripts/zmwatch.pl.in: if ( $monitor->{Function} ne 'None' )
|
||||
./scripts/zmwatch.pl.in: my $max_image_delay = ($monitor->{MaxFPS}&&($monitor->{MaxFPS}>0)&&($monitor->{MaxFPS}<1))?(3/$monitor->{MaxFPS}):$Config{ZM_WATCH_MAX_DELAY};
|
||||
./scripts/zmwatch.pl.in: Debug( "Monitor $monitor->{Id} last captured $image_delay seconds ago, max is $max_image_delay\n" );
|
||||
./scripts/zmwatch.pl.in: Info( "Restarting capture daemon for ".$monitor->{Name}.", time since last capture $image_delay seconds ($now-$image_time)\n" );
|
||||
./scripts/zmwatch.pl.in: #Info( "Restarting capture daemon for ".$monitor->{Name}.", shared data not valid\n" );
|
||||
./scripts/zmwatch.pl.in: if ( $monitor->{Type} eq 'Local' )
|
||||
./scripts/zmwatch.pl.in: $command = "zmdc.pl restart zmc -d $monitor->{Device}";
|
||||
./scripts/zmwatch.pl.in: $command = "zmdc.pl restart zmc -m $monitor->{Id}";
|
||||
./scripts/zmwatch.pl.in: elsif ( $monitor->{Function} ne 'Monitor' )
|
||||
./scripts/zmwatch.pl.in: my $max_image_delay = ($monitor->{MaxFPS}&&($monitor->{MaxFPS}>0)&&($monitor->{MaxFPS}<1))?(3/$monitor->{MaxFPS}):$Config{ZM_WATCH_MAX_DELAY};
|
||||
./scripts/zmwatch.pl.in: Debug( "Monitor $monitor->{Id} last analysed $image_delay seconds ago, max is $max_image_delay\n" );
|
||||
./scripts/zmwatch.pl.in: Info( "Restarting analysis daemon for ".$monitor->{Name}.", time since last analysis $image_delay seconds ($now-$image_time)\n" );
|
||||
./scripts/zmwatch.pl.in: my $command = "zmdc.pl restart zma -m ".$monitor->{Id};
|
||||
./src/zm_monitor.cpp: monitor->AddZones( n_zones, zones );
|
||||
./src/zm_monitor.cpp: status_data.id = monitor->Id();
|
||||
./src/zm_monitor.cpp: status_data.fps = monitor->GetFPS();
|
||||
./src/zm_monitor.cpp: status_data.state = monitor->shared_data->state;
|
||||
./src/zm_monitor.cpp: //status_data.enabled = monitor->shared_data->active;
|
||||
./src/zm_monitor.cpp: status_data.enabled = monitor->trigger_data->trigger_state!=Monitor::TRIGGER_OFF;
|
||||
./src/zm_monitor.cpp: status_data.forced = monitor->trigger_data->trigger_state==Monitor::TRIGGER_ON;
|
||||
./src/zm_monitor.cpp: updateFrameRate( monitor->GetFPS() );
|
||||
./src/zm_monitor.cpp: monitor->TimestampImage( send_image, timestamp );
|
||||
./src/zm_monitor.cpp: monitor->SingleImage( scale );
|
||||
./src/zm_monitor.cpp: updateFrameRate( monitor->GetFPS() );
|
||||
./src/zm_monitor.cpp: int last_read_index = monitor->image_buffer_count;
|
||||
./src/zm_monitor.cpp: snprintf( &(swap_path[strlen(swap_path)]), sizeof(swap_path)-strlen(swap_path), "/zmswap-m%d", monitor->Id() );
|
||||
./src/zm_monitor.cpp: if ( feof( stdout ) || ferror( stdout ) || !monitor->ShmValid() )
|
||||
./src/zm_monitor.cpp: if ( (unsigned int)last_read_index != monitor->shared_data->last_write_index )
|
||||
./src/zm_monitor.cpp: int index = monitor->shared_data->last_write_index%monitor->image_buffer_count;
|
||||
./src/zm_monitor.cpp: last_read_index = monitor->shared_data->last_write_index;
|
||||
./src/zm_monitor.cpp: Monitor::Snapshot *snap = &monitor->image_buffer[index];
|
||||
./src/zm_monitor.cpp: if ( monitor->shared_data->valid )
|
||||
./src/zm_monitor.cpp: if ( monitor->image_buffer[index].timestamp->tv_sec )
|
||||
./src/zm_monitor.cpp: memcpy( &(temp_image_buffer[temp_index].timestamp), monitor->image_buffer[index].timestamp, sizeof(temp_image_buffer[0].timestamp) );
|
||||
./src/zm_monitor.cpp: monitor->image_buffer[index].image->WriteJpeg( temp_image_buffer[temp_index].file_name, config.jpeg_file_quality );
|
||||
./src/zm_monitor.cpp: snprintf( swap_path, sizeof(swap_path), "%s/zmswap-m%d/zmswap-q%06d", config.path_swap, monitor->Id(), connkey );
|
||||
./src/zmu.cpp: printf( "Monitor %d(%s)\n", monitor->Id(), monitor->Name() );
|
||||
./src/zmu.cpp: Monitor::State state = monitor->GetState();
|
||||
./src/zmu.cpp: struct timeval timestamp = monitor->GetTimestamp( image_idx );
|
||||
./src/zmu.cpp: printf( "Last read index: %d\n", monitor->GetLastReadIndex() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->GetLastReadIndex() );
|
||||
./src/zmu.cpp: printf( "Last write index: %d\n", monitor->GetLastWriteIndex() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->GetLastWriteIndex() );
|
||||
./src/zmu.cpp: printf( "Last event id: %d\n", monitor->GetLastEvent() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->GetLastEvent() );
|
||||
./src/zmu.cpp: printf( "Current capture rate: %.2f frames per second\n", monitor->GetFPS() );
|
||||
./src/zmu.cpp: printf( "%.2f", monitor->GetFPS() );
|
||||
./src/zmu.cpp: printf( "Dumping last image captured to Monitor%d.jpg", monitor->Id() );
|
||||
./src/zmu.cpp: printf( "Dumping buffer image %d to Monitor%d.jpg", image_idx, monitor->Id() );
|
||||
./src/zmu.cpp: monitor->GetImage( image_idx, scale>0?scale:100 );
|
||||
./src/zmu.cpp: printf( "Dumping zone image to Zones%d.jpg\n", monitor->Id() );
|
||||
./src/zmu.cpp: monitor->DumpZoneImage( zoneString );
|
||||
./src/zmu.cpp: monitor->ForceAlarmOn( config.forced_alarm_score, "Forced Web" );
|
||||
./src/zmu.cpp: monitor->ForceAlarmOff();
|
||||
./src/zmu.cpp: monitor->CancelForced();
|
||||
./src/zmu.cpp: monitor->actionReload();
|
||||
./src/zmu.cpp: monitor->actionEnable();
|
||||
./src/zmu.cpp: monitor->actionDisable();
|
||||
./src/zmu.cpp: monitor->actionSuspend();
|
||||
./src/zmu.cpp: monitor->actionResume();
|
||||
./src/zmu.cpp: monitor->DumpSettings( monString, verbose );
|
||||
./src/zmu.cpp: printf( "New brightness: %d\n", monitor->actionBrightness( brightness ) );
|
||||
./src/zmu.cpp: printf( "Current brightness: %d\n", monitor->actionBrightness() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionBrightness( brightness ) );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionBrightness() );
|
||||
./src/zmu.cpp: printf( "New brightness: %d\n", monitor->actionContrast( contrast ) );
|
||||
./src/zmu.cpp: printf( "Current contrast: %d\n", monitor->actionContrast() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionContrast( contrast ) );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionContrast() );
|
||||
./src/zmu.cpp: printf( "New hue: %d\n", monitor->actionHue( hue ) );
|
||||
./src/zmu.cpp: printf( "Current hue: %d\n", monitor->actionHue() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionHue( hue ) );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionHue() );
|
||||
./src/zmu.cpp: printf( "New colour: %d\n", monitor->actionColour( colour ) );
|
||||
./src/zmu.cpp: printf( "Current colour: %d\n", monitor->actionColour() );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionColour( colour ) );
|
||||
./src/zmu.cpp: printf( "%d", monitor->actionColour() );
|
||||
./src/zmu.cpp: struct timeval tv = monitor->GetTimestamp();
|
||||
./src/zmu.cpp: monitor->Id(),
|
||||
./src/zmu.cpp: monitor->GetState(),
|
||||
./src/zmu.cpp: monitor->GetTriggerState(),
|
||||
./src/zmu.cpp: monitor->GetLastReadIndex(),
|
||||
./src/zmu.cpp: monitor->GetLastWriteIndex(),
|
||||
./src/zmu.cpp: monitor->GetLastEvent(),
|
||||
./src/zmu.cpp: monitor->GetFPS()
|
||||
./src/zm_zone.cpp: pg_image = new Image( monitor->Width(), monitor->Height(), 1, ZM_SUBPIX_ORDER_NONE);
|
||||
./src/zm_zone.cpp: ranges = new Range[monitor->Height()];
|
||||
./src/zm_zone.cpp: for ( unsigned int y = 0; y < monitor->Height(); y++)
|
||||
./src/zm_zone.cpp: for ( unsigned int x = 0; x < monitor->Width(); x++, ppoly++ )
|
||||
./src/zm_zone.cpp: snprintf( diag_path, sizeof(diag_path), "%s/%s/diag-%d-poly.jpg", config.dir_events, monitor->Name(), id);
|
||||
./src/zm_zone.cpp: snprintf( sql, sizeof(sql), "insert into Stats set MonitorId=%d, ZoneId=%d, EventId=%d, FrameId=%d, PixelDiff=%d, AlarmPixels=%d, FilterPixels=%d, BlobPixels=%d, Blobs=%d, MinBlobSize=%d, MaxBlobSize=%d, MinX=%d, MinY=%d, MaxX=%d, MaxY=%d, Score=%d", monitor->Id(), id, event->Id(), event->Frames()+1, pixel_diff, alarm_pixels, alarm_filter_pixels, alarm_blob_pixels, alarm_blobs, min_blob_size, max_blob_size, alarm_box.LoX(), alarm_box.LoY(), alarm_box.HiX(), alarm_box.HiY(), score );
|
||||
./src/zm_zone.cpp: snprintf( diag_path, sizeof(diag_path), "%s/%s/diag-%d-%d.jpg", config.dir_events, monitor->Name(), id, 1 );
|
||||
./src/zm_zone.cpp: snprintf( diag_path, sizeof(diag_path), "%s/%d/diag-%d-%d.jpg", config.dir_events, monitor->Id(), id, 2 );
|
||||
./src/zm_zone.cpp: snprintf( diag_path, sizeof(diag_path), "%s/%d/diag-%d-%d.jpg", config.dir_events, monitor->Id(), id, 3 );
|
||||
./src/zm_zone.cpp: snprintf( diag_path, sizeof(diag_path), "%s/%d/diag-%d-%d.jpg", config.dir_events, monitor->Id(), id, 4 );
|
||||
./src/zm_zone.cpp: //if ( monitor->followMotion() )
|
||||
./src/zm_zone.cpp: if( monitor->Colours() == ZM_COLOUR_GRAY8 ) {
|
||||
./src/zm_zone.cpp: image = diff_image->HighlightEdges( alarm_rgb, monitor->Colours(), monitor->SubpixelOrder(), &polygon.Extent() );
|
||||
./src/zm_zone.cpp: snprintf( sql, sizeof(sql), "select Id,Name,Type+0,Units,Coords,AlarmRGB,CheckMethod+0,MinPixelThreshold,MaxPixelThreshold,MinAlarmPixels,MaxAlarmPixels,FilterX,FilterY,MinFilterPixels,MaxFilterPixels,MinBlobPixels,MaxBlobPixels,MinBlobs,MaxBlobs,OverloadFrames from Zones where MonitorId = %d order by Type, Id", monitor->Id() );
|
||||
./src/zm_zone.cpp: Debug( 1, "Got %d zones for monitor %s", n_zones, monitor->Name() );
|
||||
./src/zm_zone.cpp: Error( "Unable to parse polygon string '%s' for zone %d/%s for monitor %s, ignoring", Coords, Id, Name, monitor->Name() );
|
||||
./src/zm_zone.cpp: if ( polygon.LoX() < 0 || polygon.HiX() >= (int)monitor->Width()
|
||||
./src/zm_zone.cpp: || polygon.LoY() < 0 || polygon.HiY() >= (int)monitor->Height() ) {
|
||||
./src/zm_zone.cpp: Error( "Zone %d/%s for monitor %s extends outside of image dimensions, (%d,%d), (%d,%d), ignoring", Id, Name, monitor->Name(), polygon.LoX(), polygon.LoY(), polygon.HiX(), polygon.HiY() );
|
||||
./src/zmf.cpp: snprintf( capt_path, sizeof(capt_path), "%s/%d/%%s/%%0%dd-capture.jpg", config.dir_events, monitor->Id(), config.event_image_digits );
|
||||
./src/zmf.cpp: snprintf( anal_path, sizeof(anal_path), "%s/%d/%%s/%%0%dd-analyse.jpg", config.dir_events, monitor->Id(), config.event_image_digits );
|
||||
./src/zmf.cpp: int sd = OpenSocket( monitor->Id() );
|
||||
./src/zmf.cpp: ReopenSocket( sd, monitor->Id() );
|
||||
./src/zmf.cpp: ReopenSocket( sd, monitor->Id() );
|
||||
./src/zmf.cpp: ReopenSocket( sd, monitor->Id() );
|
||||
./src/zma.cpp: Info( "In mode %d/%d, warming up", monitor->GetFunction(), monitor->Enabled() );
|
||||
./src/zma.cpp: Event::OpenFrameSocket( monitor->Id() );
|
||||
./src/zma.cpp: if ( !monitor->Analyse() )
|
||||
./src/zma.cpp: usleep( monitor->Active()?ZM_SAMPLE_RATE:ZM_SUSPENDED_RATE );
|
||||
./src/zma.cpp: monitor->Reload();
|
||||
./src/zm_stream.cpp: Image image( monitor->Width(), monitor->Height(), monitor->Colours(), monitor->SubpixelOrder() );
|
||||
./src/zm_event.cpp: snprintf( sql, sizeof(sql), "insert into Events ( MonitorId, Name, StartTime, Width, Height, Cause, Notes ) values ( %d, 'New Event', from_unixtime( %ld ), %d, %d, '%s', '%s' )", monitor->Id(), start_time.tv_sec, monitor->Width(), monitor->Height(), cause.c_str(), notes.c_str() );
|
||||
./src/zm_event.cpp: path_ptr += snprintf( path_ptr, sizeof(path), "%s/%d", config.dir_events, monitor->Id() );
|
||||
./src/zm_event.cpp: snprintf( path, sizeof(path), "%s/%d/%d", config.dir_events, monitor->Id(), id );
|
||||
./src/zm_event.cpp: snprintf( sql, sizeof(sql), "update Events set Name='%s%d', EndTime = from_unixtime( %ld ), Length = %s%ld.%02ld, Frames = %d, AlarmFrames = %d, TotScore = %d, AvgScore = %d, MaxScore = %d where Id = %d", monitor->EventPrefix(), id, end_time.tv_sec, delta_time.positive?"":"-", delta_time.sec, delta_time.fsec, frames, alarm_frames, tot_score, (int)(alarm_frames?(tot_score/alarm_frames):0), max_score, id );
|
||||
./src/zm_event.cpp: if ( !ValidateFrameSocket( monitor->Id() ) )
|
||||
./src/zm_event.cpp: monitor->TimestampImage( &ts_image, ×tamp );
|
||||
./src/zm_event.cpp: snprintf( diag_glob, sizeof(diag_glob), "%s/%d/diag-*.jpg", config.dir_events, monitor->Id() );
|
||||
./db/zm_create.sql.in:INSERT INTO MonitorPresets VALUES (NULL,'Remote ZoneMinder','Remote',NULL,NULL,NULL,'http','simple','<ip-address>',80,'/cgi-bin/nph-zms?mode=jpeg&monitor=<monitor-id>&scale=100&maxfps=5&buffer=0',NULL,NULL,NULL,3,NULL,0,NULL,NULL,NULL,100,100);
|
||||
./db/zm_update-1.24.2.sql:INSERT INTO `MonitorPresets` VALUES ('','Remote ZoneMinder','Remote',NULL,NULL,NULL,'http','simple','<ip-address>',80,'/cgi-bin/nph-zms?mode=jpeg&monitor=<monitor-id>&scale=100&maxfps=5&buffer=0',NULL,NULL,NULL,3,NULL,0,NULL,NULL,NULL,100,100);
|
||||
Binary file ./.git/objects/pack/pack-bd32ad3df5c1fff7110f575aae37c6a3ce09a23e.pack matches
|
|
@ -558,6 +558,8 @@ INSERT INTO Controls VALUES (NULL,'Loftek Sentinel','Remote','LoftekSentinel',0,
|
|||
INSERT INTO Controls VALUES (NULL,'Toshiba IK-WB11A','Remote','Toshiba_IK_WB11A',0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,10,0,1,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
|
||||
INSERT INTO Controls VALUES (NULL,'WanscamPT','Remote','Wanscam',1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,1,16,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
|
||||
INSERT INTO Controls VALUES (NULL,'3S Domo N5071', 'Remote', '3S', 0, 0, 1, 1, 0, 1, 1, 0, 0, 9999, 0, 9999, 0, 0, 0, 1, 1, 1, 1, 0, 0, 9999, 20, 9999, 0, 0, 0, 1, 1, 1, 1, 0, 0, 9999, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 1, 0, 1, 1, 0, 0, 0, 0, 1, -180, 180, 40, 100, 1, 40, 100, 0, 0, 1, -180, 180, 40, 100, 1, 40, 100, 0, 0, 0, 0);
|
||||
INSERT INTO Controls VALUES (NULL,'ONVIF Camera','Ffmpeg','onvif',0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,6,1,1,0,0,0,1,10,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
|
||||
|
||||
--
|
||||
-- Add some monitor preset values
|
||||
--
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
--
|
||||
-- This updates a 1.28.10 database to 1.28.99
|
||||
--
|
||||
|
||||
--
|
||||
-- Add Controls definition for ONVIF
|
||||
--
|
||||
INSERT INTO Controls
|
||||
SELECT * FROM (SELECT NULL as Id,
|
||||
'ONVIF Camera' as Name,
|
||||
'Ffmpeg' as Type,
|
||||
'onvif' as Protocol,
|
||||
0 as CanWake,
|
||||
0 as CanSleep,
|
||||
1 as CanReset,
|
||||
1 as CanZoom,
|
||||
0 as CanAutoZoom,
|
||||
0 as CanZoomAbs,
|
||||
0 as CanZoomRel,
|
||||
1 as CanZoomCon,
|
||||
0 as MinZoomRange,
|
||||
0 as MaxZoomRange,
|
||||
0 as MinZoomStep,
|
||||
0 as MaxZoomStep,
|
||||
0 as HasZoomSpeed,
|
||||
0 as MinZoomSpeed,
|
||||
0 as MaxZoomSpeed,
|
||||
0 as CanFocus,
|
||||
0 as CanAutoFocus,
|
||||
0 as CanFocusAbs,
|
||||
0 as CanFocusRel,
|
||||
0 as CanFocusCon,
|
||||
0 as MinFocusRange,
|
||||
0 as MaxFocusRange,
|
||||
0 as MinFocusStep,
|
||||
0 as MaxFocusStep,
|
||||
0 as HasFocusSpeed,
|
||||
0 as MinFocusSpeed,
|
||||
0 as MaxFocusSpeed,
|
||||
1 as CanIris,
|
||||
0 as CanAutoIris,
|
||||
1 as CanIrisAbs,
|
||||
0 as CanIrisRel,
|
||||
0 as CanIrisCon,
|
||||
0 as MinIrisRange,
|
||||
255 as MaxIrisRange,
|
||||
16 as MinIrisStep,
|
||||
16 as MaxIrisStep,
|
||||
0 as HasIrisSpeed,
|
||||
0 as MinIrisSpeed,
|
||||
0 as MaxIrisSpeed,
|
||||
0 as CanGain,
|
||||
0 as CanAutoGain,
|
||||
0 as CanGainAbs,
|
||||
0 as CanGainRel,
|
||||
0 as CanGainCon,
|
||||
0 as MinGainRange,
|
||||
0 as MaxGainRange,
|
||||
0 as MinGainStep,
|
||||
0 as MaxGainStep,
|
||||
0 as HasGainSpeed,
|
||||
0 as MinGainSpeed,
|
||||
0 as MaxGainSpeed,
|
||||
1 as CanWhite,
|
||||
0 as CanAutoWhite,
|
||||
1 as CanWhiteAbs,
|
||||
0 as CanWhiteRel,
|
||||
0 as CanWhiteCon,
|
||||
0 as MinWhiteRange,
|
||||
6 as MaxWhiteRange,
|
||||
1 as MinWhiteStep,
|
||||
1 as MaxWhiteStep,
|
||||
0 as HasWhiteSpeed,
|
||||
0 as MinWhiteSpeed,
|
||||
0 as MaxWhiteSpeed,
|
||||
1 as HasPresets,
|
||||
10 as NumPresets,
|
||||
0 as HasHomePreset,
|
||||
1 as CanSetPresets,
|
||||
1 as CanMove,
|
||||
1 as CanMoveDiag,
|
||||
0 as CanMoveMap,
|
||||
0 as CanMoveAbs,
|
||||
0 as CanMoveRel,
|
||||
1 as CanMoveCon,
|
||||
1 as CanPan,
|
||||
0 as MinPanRange,
|
||||
0 as MaxPanRange,
|
||||
0 as MinPanStep,
|
||||
0 as MaxPanStep,
|
||||
0 as HasPanSpeed,
|
||||
0 as MinPanSpeed,
|
||||
0 as MaxPanSpeed,
|
||||
0 as HasTurboPan,
|
||||
0 as TurboPanSpeed,
|
||||
1 as CanTilt,
|
||||
0 as MinTiltRange,
|
||||
0 as MaxTiltRange,
|
||||
0 as MinTiltStep,
|
||||
0 as MaxTiltStep,
|
||||
0 as HasTiltSpeed,
|
||||
0 as MinTiltSpeed,
|
||||
0 as MaxTiltSpeed,
|
||||
0 as HasTurboTilt,
|
||||
0 as TurboTiltSpeed,
|
||||
0 as CanAutoScan,
|
||||
0 as NumScanPaths) AS tmp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT Name FROM Controls WHERE name = 'ONVIF Camera'
|
||||
) LIMIT 1;
|
||||
|
|
@ -151,10 +151,14 @@ fi
|
|||
%{_bindir}/zmcamtool.pl
|
||||
%{_bindir}/zmsystemctl.pl
|
||||
%{!?_without_x10:%{_bindir}/zmx10.pl}
|
||||
%{_bindir}/zmonvif-probe.pl
|
||||
|
||||
%{perl_vendorlib}/ZoneMinder*
|
||||
%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ZoneMinder*
|
||||
#%{perl_archlib}/ZoneMinder*
|
||||
%{perl_vendorlib}/ONVIF*
|
||||
%{perl_vendorlib}/WSDiscovery*
|
||||
%{perl_vendorlib}/WSSecurity*
|
||||
%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ONVIF*
|
||||
%{_mandir}/man*/*
|
||||
%dir %{_libexecdir}/zoneminder
|
||||
%{_libexecdir}/zoneminder/cgi-bin
|
||||
|
@ -177,6 +181,9 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Sun Aug 03 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
|
||||
- Include ONVIF support files
|
||||
|
||||
* Fri Mar 14 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
|
||||
- Tweak build requirements for cmake
|
||||
|
||||
|
|
|
@ -242,8 +242,12 @@ fi
|
|||
%{_bindir}/zmcamtool.pl
|
||||
%{_bindir}/zmsystemctl.pl
|
||||
%{!?_without_x10:%{_bindir}/zmx10.pl}
|
||||
%{_bindir}/zmonvif-probe.pl
|
||||
|
||||
%{perl_vendorlib}/ZoneMinder*
|
||||
%{perl_vendorlib}/ONVIF*
|
||||
%{perl_vendorlib}/WSDiscovery*
|
||||
%{perl_vendorlib}/WSSecurity*
|
||||
%{_mandir}/man*/*
|
||||
%dir %{_libexecdir}/zoneminder
|
||||
%{_libexecdir}/zoneminder/cgi-bin
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
%define _without_x10 1
|
||||
|
||||
Name: zoneminder
|
||||
Version: 1.28.0
|
||||
Version: 1.28.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A camera monitoring and analysis tool
|
||||
Group: System Environment/Daemons
|
||||
|
@ -38,7 +38,7 @@ BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel
|
|||
BuildRequires: httpd polkit-devel
|
||||
%{!?_without_ffmpeg:BuildRequires: ffmpeg}
|
||||
|
||||
Requires: httpd php php-mysql cambozola polkit net-tools
|
||||
Requires: httpd php php-mysql cambozola polkit net-tools psmisc
|
||||
Requires: libjpeg-turbo vlc-core libcurl
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip)
|
||||
|
|
|
@ -38,7 +38,7 @@ BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel
|
|||
BuildRequires: httpd polkit-devel
|
||||
%{!?_without_ffmpeg:BuildRequires: ffmpeg}
|
||||
|
||||
Requires: httpd php php-mysql cambozola polkit net-tools
|
||||
Requires: httpd php php-mysql cambozola polkit net-tools psmisc
|
||||
Requires: libjpeg-turbo vlc-core libcurl
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip)
|
||||
|
@ -75,7 +75,7 @@ too much degradation of performance.
|
|||
|
||||
%build
|
||||
%cmake \
|
||||
-DZM_TARGET_DISTRO="f20" \
|
||||
-DZM_TARGET_DISTRO="f21" \
|
||||
-DZM_PERL_SUBPREFIX=`x="%{perl_vendorlib}" ; echo ${x#"%{_prefix}"}` \
|
||||
%{?_without_ffmpeg:-DZM_NO_FFMPEG=ON} \
|
||||
%{?_without_x10:-DZM_NO_X10=ON} \
|
||||
|
|
|
@ -1,10 +1,18 @@
|
|||
# CMakeLists.txt for the Redhat/CentOS Target Distro.
|
||||
|
||||
# Display a message to show the RHEL build options are being processed.
|
||||
message([STATUS] "Starting RHEL Build Options" ...)
|
||||
|
||||
# Create the zoneminder service file
|
||||
if(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
configure_file(zoneminder.service.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.service @ONLY)
|
||||
configure_file(zoneminder.el7.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.el7.conf @ONLY)
|
||||
configure_file(zoneminder.tmpfiles.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.tmpfiles @ONLY)
|
||||
configure_file(zoneminder.el7.logrotate.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.el7.logrotate @ONLY)
|
||||
else(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
configure_file(zoneminder.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder @ONLY)
|
||||
configure_file(zoneminder.sysvinit.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.sysvinit @ONLY)
|
||||
configure_file(zoneminder.el6.logrotate.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.el6.logrotate @ONLY)
|
||||
configure_file(zoneminder.el6.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.el6.conf @ONLY)
|
||||
endif(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
|
||||
# Download jscalendar & move files into position
|
||||
|
@ -54,7 +62,7 @@ if(ZM_TARGET_DISTRO STREQUAL "el7")
|
|||
else(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
install(FILES zoneminder.el6.conf DESTINATION /etc/httpd/conf.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
install(FILES zoneminder.el6.logrotate DESTINATION /etc/logrotate.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
install(FILES zoneminder DESTINATION /etc/rc.d/init.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
install(FILES zoneminder.sysvinit DESTINATION /etc/rc.d/init.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
endif(ZM_TARGET_DISTRO STREQUAL "el7")
|
||||
|
||||
# Install jscalendar
|
||||
|
|
|
@ -247,8 +247,14 @@ fi
|
|||
%{_bindir}/zmcamtool.pl
|
||||
%{_bindir}/zmsystemctl.pl
|
||||
%{_bindir}/zmx10.pl
|
||||
%{_bindir}/zmonvif-probe.pl
|
||||
|
||||
%{perl_vendorlib}/ZoneMinder*
|
||||
%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ZoneMinder*
|
||||
#%{perl_vendorlib}/ONVIF*
|
||||
#%{perl_vendorlib}/WSDiscovery*
|
||||
#%{perl_vendorlib}/WSSecurity*
|
||||
#%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ONVIF*
|
||||
%{_mandir}/man*/*
|
||||
%dir %{_libexecdir}/%{name}
|
||||
%{_libexecdir}/%{name}/cgi-bin
|
||||
|
@ -270,6 +276,12 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Sun Aug 03 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
|
||||
- Include ONVIF support files
|
||||
|
||||
* Fri Mar 14 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
|
||||
- Tweak build requirements for cmake
|
||||
|
||||
* Sat Feb 01 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
|
||||
- Add zmcamtool.pl. Bump version for 1.27 release.
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
# internal site which needs no authentication, you need to delete the line
|
||||
# marked below and restart Apache.
|
||||
|
||||
Alias /zm "/usr/share/zoneminder/www"
|
||||
<Directory "/usr/share/zoneminder/www">
|
||||
Alias /zm "@ZM_WEBDIR@"
|
||||
<Directory "@ZM_WEBDIR@">
|
||||
Options -Indexes MultiViews FollowSymLinks
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
|
@ -19,8 +19,8 @@ Alias /zm "/usr/share/zoneminder/www"
|
|||
# php_value short_open_tag 1
|
||||
</Directory>
|
||||
|
||||
ScriptAlias /cgi-bin/zm "/usr/libexec/zoneminder/cgi-bin"
|
||||
<Directory "/usr/libexec/zoneminder/cgi-bin">
|
||||
ScriptAlias /cgi-bin/zm "@ZM_WEBDIR@"
|
||||
<Directory "@ZM_WEBDIR@">
|
||||
AllowOverride All
|
||||
Options ExecCGI
|
||||
Order allow,deny
|
|
@ -1,4 +1,4 @@
|
|||
/var/log/zoneminder/*log
|
||||
@ZM_LOGDIR@/*log
|
||||
{
|
||||
weekly
|
||||
notifempty
|
|
@ -4,7 +4,7 @@
|
|||
%define zmgid_final apache
|
||||
|
||||
Name: zoneminder
|
||||
Version: 1.28.0
|
||||
Version: 1.28.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A camera monitoring and analysis tool
|
||||
Group: System Environment/Daemons
|
||||
|
@ -30,7 +30,7 @@ BuildRequires: libcurl-devel vlc-devel ffmpeg-devel polkit-devel
|
|||
# cmake needs the following installed at build time due to the way it auto-detects certain parameters
|
||||
BuildRequires: httpd ffmpeg
|
||||
|
||||
Requires: httpd php php-mysql mysql-server libjpeg-turbo polkit net-tools
|
||||
Requires: httpd php php-mysql mysql-server libjpeg-turbo polkit net-tools psmisc
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip)
|
||||
Requires: perl(MIME::Entity) perl(MIME::Lite) perl(Net::SMTP) perl(Net::FTP)
|
||||
|
@ -143,9 +143,13 @@ rm -rf %{_docdir}/%{name}-%{version}
|
|||
%{_bindir}/zmcamtool.pl
|
||||
%{_bindir}/zmsystemctl.pl
|
||||
%{_bindir}/zmx10.pl
|
||||
#%{_bindir}/zmonvif-probe.pl
|
||||
|
||||
%{perl_vendorlib}/ZoneMinder*
|
||||
%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ZoneMinder*
|
||||
#%{perl_vendorlib}/ONVIF*
|
||||
#%{perl_vendorlib}/WSDiscovery*
|
||||
#%{perl_vendorlib}/WSSecurity*
|
||||
%{_mandir}/man*/*
|
||||
%dir %{_libexecdir}/%{name}
|
||||
%{_libexecdir}/%{name}/cgi-bin
|
||||
|
@ -166,6 +170,9 @@ rm -rf %{_docdir}/%{name}-%{version}
|
|||
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/spool/zoneminder-upload
|
||||
|
||||
%changelog
|
||||
* Wed Feb 18 2015 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.28.1
|
||||
- Include ONVIF support files
|
||||
|
||||
* Sun Oct 5 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.28.0
|
||||
- Bump version for 1.28.0 release.
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
# internal site which needs no authentication, you need to delete the line
|
||||
# marked below and restart Apache.
|
||||
|
||||
Alias /zm "/usr/share/zoneminder/www"
|
||||
<Directory "/usr/share/zoneminder/www">
|
||||
Alias /zm "@ZM_WEBDIR@"
|
||||
<Directory "@ZM_WEBDIR@">
|
||||
Options -Indexes +MultiViews +FollowSymLinks
|
||||
AllowOverride All
|
||||
<IfModule mod_authz_core.c>
|
||||
|
@ -26,8 +26,8 @@ Alias /zm "/usr/share/zoneminder/www"
|
|||
# php_value short_open_tag 1
|
||||
</Directory>
|
||||
|
||||
ScriptAlias /cgi-bin-zm "/usr/libexec/zoneminder/cgi-bin"
|
||||
<Directory "/usr/libexec/zoneminder/cgi-bin">
|
||||
ScriptAlias /cgi-bin-zm "@ZM_CGIDIR@"
|
||||
<Directory "@ZM_CGIDIR@">
|
||||
AllowOverride All
|
||||
Options ExecCGI
|
||||
<IfModule mod_authz_core.c>
|
|
@ -1,8 +0,0 @@
|
|||
/var/log/zoneminder/*.log {
|
||||
missingok
|
||||
notifempty
|
||||
sharedscripts
|
||||
postrotate
|
||||
/usr/bin/zmpkg.pl logrot 2> /dev/null > /dev/null || :
|
||||
endscript
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
@ZM_LOGDIR@/*.log {
|
||||
missingok
|
||||
notifempty
|
||||
sharedscripts
|
||||
postrotate
|
||||
@BINDIR@/zmpkg.pl logrot 2> /dev/null > /dev/null || :
|
||||
endscript
|
||||
}
|
|
@ -32,7 +32,7 @@ BuildRequires: ffmpeg ffmpeg-devel perl(X10::ActiveHome) perl(Astro::SunTime)
|
|||
# cmake needs the following installed at build time due to the way it auto-detects certain parameters
|
||||
BuildRequires: httpd polkit-devel
|
||||
|
||||
Requires: httpd php php-mysql mariadb-server polkit net-tools
|
||||
Requires: httpd php php-mysql mariadb-server polkit net-tools psmisc
|
||||
Requires: libjpeg-turbo vlc-core libcurl
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
d /run/zoneminder 0755 apache apache
|
|
@ -0,0 +1 @@
|
|||
d @ZM_RUNDIR@ 0755 @WEB_USER@ @WEB_GROUP@
|
|
@ -1,6 +1,25 @@
|
|||
zoneminder (1.28.0+1-trusty-SNAPSHOT2014121201) trusty; urgency=medium
|
||||
zoneminder (1.28.1+1-trusty-SNAPSHOT2015030201) trusty; urgency=medium
|
||||
|
||||
* Merge of security fixes and a few other things. See github for more info.
|
||||
* maybe fix for RTSP Basic Auth
|
||||
* Also remove dependency on netpbm
|
||||
|
||||
-- Isaac Connor <iconnor@connortechnology.com> Mon, 02 Mar 2015 11:25:59 -0500
|
||||
|
||||
zoneminder (1.28.1+1-utopic-SNAPSHOT2015022301) utopic; urgency=medium
|
||||
|
||||
* Big merge of onvif support and some fixes.
|
||||
|
||||
-- Isaac Connor <iconnor@connortechnology.com> Mon, 23 Feb 2015 19:45:45 -0500
|
||||
|
||||
zoneminder (1.28.0+1-trusty-SNAPSHOT2015021201) trusty; urgency=medium
|
||||
|
||||
* add mysql-client-5.6 as a dependency instaed of mysql-client.
|
||||
|
||||
-- Isaac Connor <iconnor@connortechnology.com> Fri, 13 Feb 2015 09:35:13 -0500
|
||||
|
||||
zoneminder (1.28.0+1-trusty-SNAPSHOT2015011101) trusty; urgency=medium
|
||||
|
||||
* small changes
|
||||
|
||||
-- Isaac Connor <iconnor@connortechnology.com> Fri, 12 Dec 2014 16:38:36 -0500
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@ Source: zoneminder
|
|||
Section: net
|
||||
Priority: optional
|
||||
Maintainer: Isaac Connor <iconnor@connortechnology.com>
|
||||
Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev
|
||||
Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libtool, libsys-mmap-perl, ffmpeg | libav-tools, libavdevice-dev, libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev
|
||||
Standards-Version: 3.9.4
|
||||
|
||||
Package: zoneminder
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53 | libavdevice55, libjpeg8|libjpeg9|libjpeg62-turbo, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, mariadb-client|mysql-client|mysql-client-5.6, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg | libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, libavdevice53 | libavdevice55, libjpeg8|libjpeg9|libjpeg62-turbo, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7 | libvlccore8, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, liburi-encode-perl
|
||||
Recommends: mysql-server|mariadb-server
|
||||
Description: Video camera security and surveillance solution
|
||||
ZoneMinder is intended for use in single or multi-camera video security
|
||||
|
|
|
@ -51,9 +51,9 @@ copyright = u'2014, https://github.com/ZoneMinder/ZoneMinder/graphs/contributors
|
|||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '1.28.0'
|
||||
version = '1.28.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '1.28.0'
|
||||
release = '1.28.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Makefile.in
|
||||
proxy/blib
|
||||
modules/blib
|
|
@ -0,0 +1,7 @@
|
|||
# CMakeLists.txt for the ZoneMinder ONVIF scripts
|
||||
|
||||
# Process the perl modules subdirectory
|
||||
add_subdirectory(proxy)
|
||||
add_subdirectory(modules)
|
||||
add_subdirectory(scripts)
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
AUTOMAKE_OPTIONS = gnu
|
||||
|
||||
# Ack! Nasty hack to get modules Makefile regenerated if wiped with make clean
|
||||
all-local: proxy/Makefile modules/Makefile
|
||||
|
||||
proxy/Makefile: proxy/Makefile.PL
|
||||
( cd proxy; perl Makefile.PL )
|
||||
|
||||
modules/Makefile: modules/Makefile.PL
|
||||
( cd modules; perl Makefile.PL )
|
||||
|
||||
SUBDIRS = \
|
||||
. \
|
||||
proxy \
|
||||
modules \
|
||||
scripts
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
proxy/Makefile.PL \
|
||||
proxy/lib \
|
||||
modules/Makefile.PL \
|
||||
modules/lib \
|
||||
wsdl \
|
||||
doc \
|
||||
patches
|
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 25 KiB |
|
@ -0,0 +1,10 @@
|
|||
|
||||
|
||||
# Add build target for the perl modules
|
||||
add_custom_target(zmonvifmodules ALL perl Makefile.PL FIRST_MAKEFILE=MakefilePerl PREFIX="${CMAKE_CURRENT_BINARY_DIR}/output" LIB="${CMAKE_CURRENT_BINARY_DIR}/output/${ZM_PERL_SUBPREFIX}" INSTALLSITEMAN3DIR="${CMAKE_CURRENT_BINARY_DIR}/output/${CMAKE_INSTALL_MANDIR}/man3" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make --makefile=MakefilePerl COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules")
|
||||
|
||||
# Add install target for the perl modules
|
||||
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/output/" DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Add additional files and directories to make clean
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "output;blib;pm_to_blib;MakefilePerl")
|
|
@ -0,0 +1,13 @@
|
|||
use 5.006;
|
||||
use ExtUtils::MakeMaker;
|
||||
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
||||
# the contents of the Makefile that is written.
|
||||
WriteMakefile(
|
||||
NAME => 'ONVIF',
|
||||
# VERSION_FROM => 'lib/ZoneMinder/Base.pm', # finds $VERSION
|
||||
PREREQ_PM => {}, # e.g., Module::Name => 1.1
|
||||
# No need to specify perl modules. MakeMaker will find them automatically
|
||||
($] >= 5.005 ? ## Add these new keywords supported since 5.005
|
||||
(#ABSTRACT_FROM => 'lib/ZoneMinder.pm', # retrieve abstract from module
|
||||
AUTHOR => 'Jan Hochstein') : ()),
|
||||
);
|
|
@ -0,0 +1,267 @@
|
|||
# ==========================================================================
|
||||
#
|
||||
# ZoneMinder ONVIF Client module
|
||||
# Copyright (C) Jan M. Hochstein
|
||||
#
|
||||
# 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# ==========================================================================
|
||||
#
|
||||
# This module contains the implementation of the ONVIF client module
|
||||
#
|
||||
|
||||
package ONVIF::Client;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Class::Std::Fast;
|
||||
|
||||
use version; our $VERSION = qv('1.00.00');
|
||||
|
||||
## Transport
|
||||
require SOAP::WSDL::Transport::HTTP;
|
||||
|
||||
## Serializer
|
||||
require ONVIF::Serializer::SOAP11;
|
||||
require ONVIF::Serializer::SOAP12;
|
||||
require WSSecurity::SecuritySerializer;
|
||||
|
||||
## Deserializer
|
||||
require ONVIF::Deserializer::XSD;
|
||||
|
||||
## ONVIF APIs
|
||||
require ONVIF::Device::Interfaces::Device::DevicePort;
|
||||
require ONVIF::Media::Interfaces::Media::MediaPort;
|
||||
require ONVIF::PTZ::Interfaces::PTZ::PTZPort;
|
||||
|
||||
use Data::Dump qw(dump);
|
||||
|
||||
# ========================================================================
|
||||
# Globals
|
||||
|
||||
my %namespace_map = (
|
||||
'http://www.onvif.org/ver10/device/wsdl' => 'device',
|
||||
'http://www.onvif.org/ver10/media/wsdl' => 'media',
|
||||
'http://www.onvif.org/ver20/imaging/wsdl' => 'imaging',
|
||||
'http://www.onvif.org/ver20/analytics/wsdl' => 'analytics',
|
||||
'http://www.onvif.org/ver10/deviceIO/wsdl' => 'deviceio',
|
||||
'http://www.onvif.org/ver10/ptz/wsdl' => 'ptz',
|
||||
'http://www.onvif.org/ver10/events/wsdl' => 'events',
|
||||
'http://www.onvif.org/ver10/recording.wsdl' => 'recording',
|
||||
'http://www.onvif.org/ver10/search.wsdl' => 'search',
|
||||
'http://www.onvif.org/ver10/replay/wsdl' => 'replay',
|
||||
);
|
||||
|
||||
# ========================================================================
|
||||
# Attributes
|
||||
|
||||
my %services_of :ATTR(:default<{}>);
|
||||
|
||||
my %serializer_of :ATTR();
|
||||
my %soap_version_of :ATTR(:default<('1.1')>);
|
||||
|
||||
# =========================================================================
|
||||
# private methods
|
||||
|
||||
sub service
|
||||
{
|
||||
my ($self, $serviceName, $attr) = @_;
|
||||
$services_of{ident $self}{$serviceName}{$attr};
|
||||
}
|
||||
|
||||
sub set_service
|
||||
{
|
||||
my ($self, $serviceName, $attr, $value) = @_;
|
||||
$services_of{ident $self}{$serviceName}{$attr} = $value;
|
||||
}
|
||||
|
||||
sub serializer
|
||||
{
|
||||
my ($self) = @_;
|
||||
$serializer_of{ident $self};
|
||||
}
|
||||
|
||||
sub set_serializer
|
||||
{
|
||||
my ($self, $serializer) = @_;
|
||||
$serializer_of{ident $self} = $serializer;
|
||||
}
|
||||
|
||||
sub soap_version
|
||||
{
|
||||
my ($self) = @_;
|
||||
$soap_version_of{ident $self};
|
||||
}
|
||||
|
||||
sub set_soap_version
|
||||
{
|
||||
my ($self, $soap_version) = @_;
|
||||
$soap_version_of{ident $self} = $soap_version;
|
||||
|
||||
# setting the soap version invalidates the serializer
|
||||
delete $serializer_of{ ident $self };
|
||||
}
|
||||
|
||||
sub get_service_urls
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
my $result = $self->service('device', 'ep')->GetServices( {
|
||||
IncludeCapability => 'true', # boolean
|
||||
},,
|
||||
);
|
||||
|
||||
die $result if not $result;
|
||||
# print $result . "\n";
|
||||
|
||||
foreach my $svc ( @{ $result->get_Service() } ) {
|
||||
my $short_name = $namespace_map{$svc->get_Namespace()};
|
||||
my $url_svc = $svc->get_XAddr()->get_value();
|
||||
if(defined $short_name && defined $url_svc) {
|
||||
# print "Got $short_name service\n";
|
||||
$self->set_service($short_name, 'url', $url_svc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub http_digest {
|
||||
my ($service, $username, $password) = @_;
|
||||
|
||||
# my $transport = SecurityTransport->new();
|
||||
# $transport->set_username($username);
|
||||
# $transport->set_password($password);
|
||||
|
||||
# warn "transport: " . $service->get_transport();
|
||||
|
||||
*SOAP::Transport::HTTP::Client::get_basic_credentials = sub {
|
||||
#*SOAP::WSDL::Transport::HTTP::get_basic_credentials = sub {
|
||||
my ($self, $realm, $uri, $isproxy) = @_;
|
||||
|
||||
warn "### Requested credentials for $uri ###";
|
||||
|
||||
return ($username, $password)
|
||||
};
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
|
||||
|
||||
sub BUILD
|
||||
{
|
||||
my ($self, $ident, $args_ref) = @_;
|
||||
|
||||
my $url_svc_device = $args_ref->{'url_svc_device'};
|
||||
my $soap_version = $args_ref->{'soap_version'};
|
||||
if(! $soap_version) {
|
||||
$soap_version = '1.1';
|
||||
}
|
||||
$self->set_soap_version($soap_version);
|
||||
|
||||
my $serializer = ONVIF::Serializer::Base->new();
|
||||
$serializer->set_soap_version($soap_version);
|
||||
|
||||
my $svc_device = ONVIF::Device::Interfaces::Device::DevicePort->new({
|
||||
proxy => $url_svc_device,
|
||||
serializer => $serializer,
|
||||
# "strict => 0" does not work with SOAP header
|
||||
# deserializer_args => { strict => 0 }
|
||||
});
|
||||
|
||||
$services_of{$ident}{'device'} = { url => $url_svc_device, ep => $svc_device };
|
||||
|
||||
$self->get_service_urls();
|
||||
|
||||
}
|
||||
|
||||
sub get_users
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
my $result = $self->service('device', 'ep')->GetUsers( { },, );
|
||||
|
||||
die $result if not $result;
|
||||
# print $result . "\n";
|
||||
}
|
||||
|
||||
sub create_user
|
||||
{
|
||||
my ($self, $username, $password) = @_;
|
||||
|
||||
my $result = $self->service('device', 'ep')->CreateUsers( {
|
||||
User => { # ONVIF::Device::Types::User
|
||||
Username => $username, # string
|
||||
Password => $password, # string
|
||||
UserLevel => 'Administrator', # UserLevel
|
||||
Extension => { # ONVIF::Device::Types::UserExtension
|
||||
},
|
||||
},
|
||||
},,
|
||||
);
|
||||
|
||||
die $result if not $result;
|
||||
# print $result . "\n";
|
||||
|
||||
}
|
||||
|
||||
sub set_credentials
|
||||
{
|
||||
my ($self, $username, $password, $create_if_not_exists) = @_;
|
||||
|
||||
# TODO: snyc device and client time
|
||||
|
||||
if ($create_if_not_exists) {
|
||||
# If GetUsers() is ok but empty then CreateUsers()
|
||||
# if(not get_users()) {
|
||||
# create_user($username, $password);
|
||||
# }
|
||||
}
|
||||
|
||||
## from here on use authorization
|
||||
$self->set_serializer( WSSecurity::SecuritySerializer->new() );
|
||||
$self->serializer()->set_soap_version($self->soap_version());
|
||||
$self->serializer()->set_username($username);
|
||||
$self->serializer()->set_password($password);
|
||||
|
||||
$self->service('device', 'ep')->set_serializer($self->serializer());
|
||||
}
|
||||
|
||||
# use this after set_credentials
|
||||
sub create_services
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
if(defined $self->service('media', 'url')) {
|
||||
$self->set_service('media', 'ep', ONVIF::Media::Interfaces::Media::MediaPort->new({
|
||||
proxy => $self->service('media', 'url'),
|
||||
serializer => $self->serializer(),
|
||||
# transport => $transport
|
||||
}));
|
||||
}
|
||||
if(defined $self->service('ptz', 'url')) {
|
||||
$self->set_service('ptz', 'ep', ONVIF::PTZ::Interfaces::PTZ::PTZPort->new({
|
||||
proxy => $self->service('ptz', 'url'),
|
||||
serializer => $self->serializer(),
|
||||
# transport => $transport
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
sub get_endpoint
|
||||
{
|
||||
my ($self, $serviceType) = @_;
|
||||
|
||||
$self->service($serviceType, 'ep');
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,267 @@
|
|||
#!/usr/bin/perl
|
||||
package ONVIF::Deserializer::MessageParser;
|
||||
use strict; use warnings;
|
||||
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||
|
||||
## copied from SOAP::Constants
|
||||
use constant URI_SOAP11_ENV => "http://schemas.xmlsoap.org/soap/envelope/";
|
||||
use constant URI_SOAP12_ENV => "http://www.w3.org/2003/05/soap-envelope";
|
||||
|
||||
## copied and adapted from
|
||||
use base qw(SOAP::WSDL::Expat::MessageParser);
|
||||
|
||||
## we get the soap version from the message
|
||||
my %soap_version_of; # :ATTR( :default<()>);
|
||||
|
||||
sub soap_version {
|
||||
my ($self) = @_;
|
||||
$soap_version_of{ident $self};
|
||||
}
|
||||
|
||||
# override new() to pass along the init_args
|
||||
sub new {
|
||||
my ($class, $args) = @_;
|
||||
my $self = {
|
||||
class_resolver => $args->{ class_resolver },
|
||||
strict => defined $args->{ strict } ? $args->{ strict } : 1,
|
||||
};
|
||||
|
||||
bless $self, $class;
|
||||
|
||||
# could be written as && - but Devel::Cover doesn't like that
|
||||
if ($args->{ class_resolver }) {
|
||||
$self->load_classes()
|
||||
if ! exists $SOAP::WSDL::Expat::MessageParser::LOADED_OF{ $self->{ class_resolver } };
|
||||
}
|
||||
return $self;
|
||||
## calling the parent's calss new() dows not work here.
|
||||
# return SOAP::WSDL::Expat::MessageParser->new($class, $args);
|
||||
}
|
||||
|
||||
sub _initialize {
|
||||
my ($self, $parser) = @_;
|
||||
|
||||
$self->{ parser } = $parser;
|
||||
|
||||
delete $self->{ data }; # remove potential old results
|
||||
delete $self->{ header };
|
||||
|
||||
my $characters;
|
||||
|
||||
# Note: $current MUST be undef - it is used as sentinel
|
||||
# on the object stack via if (! defined $list->[-1])
|
||||
# DON'T set it to anything else !
|
||||
my $current = undef;
|
||||
my $list = []; # node list (object stack)
|
||||
|
||||
my $path = []; # current path
|
||||
my $skip = 0; # skip elements
|
||||
my $depth = 0;
|
||||
|
||||
my %content_check = $self->{strict}
|
||||
? (
|
||||
0 => sub {
|
||||
die "Bad top node $_[1]" if $_[1] ne 'Envelope';
|
||||
if($_[0]->namespace($_[1]) eq URI_SOAP11_ENV) {
|
||||
$_[0]{ soap_version } = '1.1';
|
||||
# $soap_version_of{ident $_[0]} = '1.1';
|
||||
}
|
||||
elsif($_[0]->namespace($_[1]) eq URI_SOAP12_ENV) {
|
||||
$_[0]{ soap_version } = '1.2';
|
||||
}
|
||||
else {
|
||||
die "Bad namespace for SOAP envelope: " . $_[0]->recognized_string();
|
||||
}
|
||||
#print "Receiving SOAP " . $_[0]{ soap_version } ."\n";
|
||||
$depth++;
|
||||
return;
|
||||
},
|
||||
1 => sub {
|
||||
# Header or Body
|
||||
#print "Start $_[1] at level 1\n";
|
||||
$depth++;
|
||||
if ($_[1] eq 'Body') {
|
||||
if (exists $self->{ data }) { # there was header data
|
||||
$self->{ header } = $self->{ data };
|
||||
delete $self->{ data };
|
||||
$list = [];
|
||||
$path = [];
|
||||
undef $current;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
)
|
||||
: (
|
||||
0 => sub { $depth++ },
|
||||
1 => sub { $depth++ },
|
||||
);
|
||||
|
||||
# use "globals" for speed
|
||||
my ($_prefix, $_method, $_class, $_leaf) = ();
|
||||
|
||||
my $char_handler = sub {
|
||||
return if (!$_leaf); # we only want characters in leaf nodes
|
||||
$characters .= $_[1]; # add to characters
|
||||
return; # return void
|
||||
};
|
||||
|
||||
no strict qw(refs);
|
||||
$parser->setHandlers(
|
||||
Start => sub {
|
||||
# my ($parser, $element, %attrs) = @_;
|
||||
|
||||
#print "Start $_[1]\n";
|
||||
|
||||
$_leaf = 1; # believe we're a leaf node until we see an end
|
||||
|
||||
# call methods without using their parameter stack
|
||||
# That's slightly faster than $content_check{ $depth }->()
|
||||
# and we don't have to pass $_[1] to the method.
|
||||
# Yup, that's dirty.
|
||||
return &{$content_check{ $depth }}
|
||||
if exists $content_check{ $depth };
|
||||
|
||||
push @{ $path }, $_[1]; # step down in path
|
||||
return if $skip; # skip inside __SKIP__
|
||||
|
||||
# resolve class of this element
|
||||
$_class = $self->{ class_resolver }->get_class( $path );
|
||||
|
||||
# we cannot use this if there are <xs:any> elements
|
||||
# if (! defined($_class) and $self->{ strict }) {
|
||||
# die "Cannot resolve class for "
|
||||
# . join('/', @{ $path }) . " via " . $self->{ class_resolver };
|
||||
# }
|
||||
|
||||
if (! defined($_class) or ($_class eq '__SKIP__') ) {
|
||||
$skip = join('/', @{ $path });
|
||||
$_[0]->setHandlers( Char => undef );
|
||||
return;
|
||||
}
|
||||
|
||||
# step down in tree (remember current)
|
||||
#
|
||||
# on the first object (after skipping Envelope/Body), $current
|
||||
# is undef.
|
||||
# We put it on the stack, anyway, and use it as sentinel when
|
||||
# going through the closing tags in the End handler
|
||||
#
|
||||
push @$list, $current;
|
||||
|
||||
# cleanup. Mainly here to help profilers find the real hot spots
|
||||
undef $current;
|
||||
|
||||
# cleanup
|
||||
$characters = q{};
|
||||
|
||||
# Create and set new objects using Class::Std::Fast's object cache
|
||||
# if possible, or blessing directly into the class in question
|
||||
# (circumventing constructor) here.
|
||||
# That's dirty, but fast.
|
||||
#
|
||||
# TODO: check whether this is faster under all perls - there's
|
||||
# strange benchmark results...
|
||||
#
|
||||
# The alternative would read:
|
||||
# $current = $_class->new({ @_[2..$#_] });
|
||||
#
|
||||
$current = pop @{ $SOAP::WSDL::Expat::MessageParser::OBJECT_CACHE_REF->{ $_class } };
|
||||
if (not defined $current) {
|
||||
my $o = Class::Std::Fast::ID();
|
||||
$current = bless \$o, $_class;
|
||||
}
|
||||
|
||||
# set attributes if there are any
|
||||
ATTR: {
|
||||
if (@_ > 2) {
|
||||
# die Data::Dumper::Dumper(@_[2..$#_]);
|
||||
my %attr = @_[2..$#_];
|
||||
if (my $nil = delete $attr{nil}) {
|
||||
# TODO: check namespace
|
||||
if ($nil && $nil ne 'false') {
|
||||
undef $characters;
|
||||
last ATTR if not (%attr);
|
||||
}
|
||||
}
|
||||
$current->attr(\%attr);
|
||||
}
|
||||
}
|
||||
$depth++;
|
||||
|
||||
# TODO: Skip content of anyType / any stuff
|
||||
|
||||
return;
|
||||
},
|
||||
|
||||
Char => $char_handler,
|
||||
|
||||
End => sub {
|
||||
|
||||
#print "End $_[1]\n";
|
||||
pop @{ $path }; # step up in path
|
||||
|
||||
# check __SKIP__
|
||||
if ($skip) {
|
||||
return if $skip ne join '/', @{ $path }, $_[1];
|
||||
$skip = 0;
|
||||
$_[0]->setHandlers( Char => $char_handler );
|
||||
return;
|
||||
}
|
||||
|
||||
$depth--;
|
||||
|
||||
# we only set character values in leaf nodes
|
||||
if ($_leaf) {
|
||||
# Use dirty but fast access via global variables.
|
||||
#
|
||||
# The normal way (via method) would be this:
|
||||
#
|
||||
# $current->set_value( $characters ) if (length($characters));
|
||||
#
|
||||
$SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType::___value
|
||||
->{ $$current } = $characters
|
||||
if defined $characters && defined $current; # =~m{ [^\s] }xms;
|
||||
}
|
||||
|
||||
# empty characters
|
||||
$characters = q{};
|
||||
|
||||
# stop believing we're a leaf node
|
||||
$_leaf = 0;
|
||||
|
||||
# return if there's only one elment - can't set it in parent ;-)
|
||||
# but set as root element if we don't have one already.
|
||||
if (not defined $list->[-1]) {
|
||||
$self->{ data } = $current if (not exists $self->{ data });
|
||||
return;
|
||||
};
|
||||
|
||||
# set appropriate attribute in last element
|
||||
# multiple values must be implemented in base class
|
||||
# TODO check if hash access is faster
|
||||
# $_method = "add_$_localname";
|
||||
$_method = "add_$_[1]";
|
||||
#
|
||||
# fixup XML names for perl names
|
||||
#
|
||||
$_method =~s{\.}{__}xg;
|
||||
$_method =~s{\-}{_}xg;
|
||||
$list->[-1]->$_method( $current );
|
||||
|
||||
$current = pop @$list; # step up in object hierarchy
|
||||
|
||||
return;
|
||||
}
|
||||
);
|
||||
|
||||
return $parser;
|
||||
}
|
||||
|
||||
sub get_header {
|
||||
return $_[0]->{ header };
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,66 @@
|
|||
package ONVIF::Deserializer::XSD;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base qw(SOAP::WSDL::Deserializer::XSD);
|
||||
|
||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||
use ONVIF::Deserializer::MessageParser;
|
||||
|
||||
use SOAP::WSDL::Factory::Deserializer;
|
||||
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.1', __PACKAGE__ );
|
||||
SOAP::WSDL::Factory::Deserializer->register('1.2', __PACKAGE__ );
|
||||
|
||||
## we get the soap version from the message parser
|
||||
my %soap_version_of :ATTR( :default<()>);
|
||||
|
||||
|
||||
sub soap_version {
|
||||
my ($self) = @_;
|
||||
if($SOAP::WSDL::Deserializer::XSD::parser_of{ident $self}) {
|
||||
return $SOAP::WSDL::Deserializer::XSD::parser_of{ident $self}->soap_version();
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
sub deserialize {
|
||||
my ($self, $content) = @_;
|
||||
|
||||
my $parser = $SOAP::WSDL::Deserializer::XSD::parser_of{ ${ $self } };
|
||||
if(not $parser) {
|
||||
$parser = ONVIF::Deserializer::MessageParser->new({
|
||||
strict => $SOAP::WSDL::Deserializer::XSD::strict_of{ ${ $self } }
|
||||
});
|
||||
$SOAP::WSDL::Deserializer::XSD::parser_of{ ${ $self } } = $parser;
|
||||
}
|
||||
|
||||
$parser->class_resolver(
|
||||
$self->SOAP::WSDL::Deserializer::XSD::get_class_resolver() );
|
||||
eval { $parser->parse_string( $content ) };
|
||||
if ($@) {
|
||||
return $self->generate_fault({
|
||||
code => 'SOAP-ENV:Server',
|
||||
role => 'urn:localhost',
|
||||
message => "Error deserializing message: $@. \n"
|
||||
. "Message was: \n$content"
|
||||
});
|
||||
}
|
||||
return ( $parser->get_data(),
|
||||
$parser->get_header() );
|
||||
}
|
||||
|
||||
sub generate_fault {
|
||||
my ($self, $args_from_ref) = @_;
|
||||
return SOAP::WSDL::SOAP::Typelib::Fault11->new({
|
||||
faultcode => $args_from_ref->{ code } || 'SOAP-ENV:Client',
|
||||
faultactor => $args_from_ref->{ role } || 'urn:localhost',
|
||||
faultstring => $args_from_ref->{ message } || "Unknown error"
|
||||
});
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
|
|
@ -0,0 +1,177 @@
|
|||
#!/usr/bin/perl -w
|
||||
package ONVIF::Serializer::Base;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# =========================================================================
|
||||
|
||||
use Class::Std::Fast::Storable;
|
||||
use Scalar::Util qw(blessed);
|
||||
|
||||
require SOAP::WSDL::Factory::Serializer;
|
||||
|
||||
## require SOAP::Constants;
|
||||
use constant URI_1999_SCHEMA_XSD => "http://www.w3.org/1999/XMLSchema";
|
||||
use constant URI_1999_SCHEMA_XSI => "http://www.w3.org/1999/XMLSchema-instance";
|
||||
use constant URI_2000_SCHEMA_XSD => "http://www.w3.org/2000/10/XMLSchema";
|
||||
use constant URI_2000_SCHEMA_XSI => "http://www.w3.org/2000/10/XMLSchema-instance";
|
||||
use constant URI_2001_SCHEMA_XSD => "http://www.w3.org/2001/XMLSchema";
|
||||
use constant URI_2001_SCHEMA_XSI => "http://www.w3.org/2001/XMLSchema-instance";
|
||||
use constant URI_LITERAL_ENC => "";
|
||||
use constant URI_SOAP11_ENC => "http://schemas.xmlsoap.org/soap/encoding/";
|
||||
use constant URI_SOAP11_ENV => "http://schemas.xmlsoap.org/soap/envelope/";
|
||||
use constant URI_SOAP11_NEXT_ACTOR => "http://schemas.xmlsoap.org/soap/actor/next";
|
||||
use constant URI_SOAP12_ENC => "http://www.w3.org/2003/05/soap-encoding";
|
||||
use constant URI_SOAP12_ENV => "http://www.w3.org/2003/05/soap-envelope";
|
||||
use constant URI_SOAP12_NOENC => "http://www.w3.org/2003/05/soap-envelope/encoding/none";
|
||||
use constant URI_SOAP12_NEXT_ACTOR => "http://www.w3.org/2003/05/soap-envelope/role/next";
|
||||
|
||||
|
||||
my %soap_version_of :ATTR( :default<()>);
|
||||
|
||||
my $XML_INSTANCE_NS = 'http://www.w3.org/2001/XMLSchema-instance';
|
||||
|
||||
sub soap_version
|
||||
{
|
||||
my ($self) = @_;
|
||||
$soap_version_of{ident $self};
|
||||
}
|
||||
|
||||
sub set_soap_version
|
||||
{
|
||||
my ($self, $version) = @_;
|
||||
if(! (($version eq '1.1') or ($version eq '1.2')) ) {
|
||||
warn "Undefined SOAP version \'$version\'";
|
||||
return;
|
||||
}
|
||||
#print "using SOAP $version\n";
|
||||
$soap_version_of{ident $self} = $version;
|
||||
}
|
||||
|
||||
|
||||
sub serialize {
|
||||
my ($self, $args_of_ref) = @_;
|
||||
|
||||
my $SOAP_NS;
|
||||
if($self->soap_version() eq '1.2') {
|
||||
$SOAP_NS = URI_SOAP12_ENV;
|
||||
}
|
||||
else {
|
||||
$SOAP_NS = URI_SOAP11_ENV;
|
||||
}
|
||||
|
||||
my $opt = $args_of_ref->{ options };
|
||||
|
||||
if (not $opt->{ namespace }->{ $SOAP_NS })
|
||||
{
|
||||
$opt->{ namespace }->{ $SOAP_NS } = 'SOAP-ENV';
|
||||
}
|
||||
|
||||
if (not $opt->{ namespace }->{ $XML_INSTANCE_NS })
|
||||
{
|
||||
$opt->{ namespace }->{ $XML_INSTANCE_NS } = 'xsi';
|
||||
}
|
||||
|
||||
my $soap_prefix = $opt->{ namespace }->{ $SOAP_NS };
|
||||
|
||||
# envelope start with namespaces
|
||||
my $xml = "<$soap_prefix\:Envelope ";
|
||||
|
||||
while (my ($uri, $prefix) = each %{ $opt->{ namespace } })
|
||||
{
|
||||
$xml .= "xmlns:$prefix=\"$uri\" ";
|
||||
}
|
||||
#
|
||||
# add namespace for user-supplied prefix if needed
|
||||
$xml .= "xmlns:$opt->{prefix}=\"" . $args_of_ref->{ body }->get_xmlns() . "\" "
|
||||
if $opt->{prefix};
|
||||
|
||||
# TODO insert encoding
|
||||
$xml.='>';
|
||||
$xml .= $self->serialize_header($args_of_ref->{ method }, $args_of_ref->{ header }, $opt);
|
||||
$xml .= $self->serialize_body($args_of_ref->{ method }, $args_of_ref->{ body }, $opt);
|
||||
$xml .= '</' . $soap_prefix .':Envelope>';
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
sub serialize_header {
|
||||
my ($self, $method, $data, $opt) = @_;
|
||||
|
||||
my $SOAP_NS;
|
||||
if($self->soap_version() eq '1.2') {
|
||||
$SOAP_NS = URI_SOAP12_ENV;
|
||||
}
|
||||
else {
|
||||
$SOAP_NS = URI_SOAP11_ENV;
|
||||
}
|
||||
|
||||
# header is optional. Leave out if there's no header data
|
||||
return q{} if not $data;
|
||||
return join ( q{},
|
||||
"<$opt->{ namespace }->{ $SOAP_NS }\:Header>",
|
||||
blessed $data ? $data->serialize_qualified : (),
|
||||
"</$opt->{ namespace }->{ $SOAP_NS }\:Header>",
|
||||
);
|
||||
}
|
||||
|
||||
sub serialize_body {
|
||||
my ($self, $method, $data, $opt) = @_;
|
||||
|
||||
my $SOAP_NS;
|
||||
if($self->soap_version() eq '1.2') {
|
||||
$SOAP_NS = URI_SOAP12_ENV;
|
||||
}
|
||||
else {
|
||||
$SOAP_NS = URI_SOAP11_ENV;
|
||||
}
|
||||
|
||||
# TODO This one wipes out the old class' XML name globally
|
||||
# Fix in some more appropriate place...
|
||||
$data->__set_name("$opt->{prefix}:" . $data->__get_name() ) if $opt->{prefix};
|
||||
|
||||
# Body is NOT optional. Serialize to empty body
|
||||
# if we have no data.
|
||||
return join ( q{},
|
||||
"<$opt->{ namespace }->{ $SOAP_NS }\:Body>",
|
||||
defined $data
|
||||
? ref $data eq 'ARRAY'
|
||||
? join q{}, map { blessed $_ ? $_->serialize_qualified() : () } @{ $data }
|
||||
: blessed $data
|
||||
? $opt->{prefix}
|
||||
? $data->serialize()
|
||||
: $data->serialize_qualified()
|
||||
: ()
|
||||
: (),
|
||||
"</$opt->{ namespace }->{ $SOAP_NS }\:Body>",
|
||||
);
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Copy of SOAP:WSDL::Serializer::XSD adapted
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
This file was adapted from a part of SOAP-WSDL. You may
|
||||
distribute/modify it under the same terms as perl itself
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 851 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: XSD.pm 851 2009-05-15 22:45:18Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Serializer/XSD.pm $
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/perl -w
|
||||
package ONVIF::Serializer::SOAP11;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base qw(ONVIF::Serializer::Base);
|
||||
|
||||
use SOAP::WSDL::Factory::Serializer;
|
||||
|
||||
SOAP::WSDL::Factory::Serializer->register( '1.1' , __PACKAGE__ );
|
||||
|
||||
sub BUILD
|
||||
{
|
||||
my ($self, $ident, $args_ref) = @_;
|
||||
# $soapversion_of{ $ident } = '1.1';
|
||||
$self->set_soap_version('1.1');
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/perl -w
|
||||
package ONVIF::Serializer::SOAP12;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base qw(ONVIF::Serializer::Base);
|
||||
|
||||
use SOAP::WSDL::Factory::Serializer;
|
||||
|
||||
SOAP::WSDL::Factory::Serializer->register( '1.2' , __PACKAGE__ );
|
||||
|
||||
sub BUILD
|
||||
{
|
||||
my ($self, $ident, $args_ref) = @_;
|
||||
# $soapversion_of{ $ident } = '1.2';
|
||||
$self->set_soap_version('1.2');
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,159 @@
|
|||
# ==========================================================================
|
||||
#
|
||||
# Perl WS-Discovery implementation
|
||||
# Copyright (C) Jan M. Hochstein
|
||||
#
|
||||
# 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# ==========================================================================
|
||||
#
|
||||
# UDP Transport for SOAP WS-Discovery to be used with SOAP::WSDL::Client
|
||||
#
|
||||
package WSDiscovery::TransportUDP;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Class::Std::Fast::Storable;
|
||||
use IO::Socket::Multicast;
|
||||
use SOAP::WSDL::Factory::Transport;
|
||||
use Time::HiRes qw( usleep );
|
||||
|
||||
use version; our $VERSION = qv('1.00.00');
|
||||
|
||||
# 20 times 200 msec = 4sec timeout
|
||||
use constant WAIT_TIME => 200.0;
|
||||
use constant WAIT_COUNT => 20;
|
||||
|
||||
SOAP::WSDL::Factory::Transport->register( 'soap.udp' => __PACKAGE__ );
|
||||
|
||||
my %code_of :ATTR(:name<code> :default<()>);
|
||||
my %status_of :ATTR(:name<status> :default<()>);
|
||||
my %message_of :ATTR(:name<message> :default<()>);
|
||||
my %is_success_of :ATTR(:name<is_success> :default<()>);
|
||||
|
||||
my %local_addr_of :ATTR(:name<local_addr> :init_arg<local_addr> :default<()>);
|
||||
|
||||
|
||||
# create methods normally inherited from SOAP::Client
|
||||
SUBFACTORY: {
|
||||
no strict qw(refs);
|
||||
foreach my $method ( qw(code message status is_success) ) {
|
||||
*{ $method } = *{ "get_$method" };
|
||||
}
|
||||
}
|
||||
|
||||
# override to receive more than one response
|
||||
sub _notify_response
|
||||
{
|
||||
# my ($transport, $response) = @_;
|
||||
|
||||
}
|
||||
|
||||
sub send_multi() {
|
||||
my ($self, $address, $port, $data) = @_;
|
||||
|
||||
my $destination = $address . ':' . $port;
|
||||
my $socket = IO::Socket::Multicast->new(PROTO => 'udp',
|
||||
LocalPort=>$port, PeerAddr=>$destination, ReuseAddr=>1)
|
||||
|
||||
or die 'Cannot open multicast socket to ' . ${address} . ':' . ${port};
|
||||
|
||||
$socket->mcast_ttl(1);
|
||||
$socket->send($data);
|
||||
}
|
||||
|
||||
sub receive_multi() {
|
||||
my ($self, $address, $port) = @_;
|
||||
my $data = undef;
|
||||
|
||||
my $socket = IO::Socket::Multicast->new(PROTO => 'udp',
|
||||
LocalPort=>$port, ReuseAddr=>1);
|
||||
$socket->mcast_add($address);
|
||||
|
||||
my $readbits = '';
|
||||
vec($readbits, $socket->fileno, 1) = 1;
|
||||
|
||||
if(select($readbits, undef, undef, WAIT_TIME/1000)) {
|
||||
$socket->recv($data, 9999);
|
||||
return $data;
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
sub receive_uni() {
|
||||
my ($self, $address, $port, $localaddr) = @_;
|
||||
my $data = undef;
|
||||
|
||||
my $socket = IO::Socket::Multicast->new(PROTO => 'udp',
|
||||
LocalAddr => $localaddr, LocalPort=>$port, ReuseAddr=>1);
|
||||
|
||||
$socket->mcast_add($address);
|
||||
|
||||
my $readbits = '';
|
||||
vec($readbits, $socket->fileno, 1) = 1;
|
||||
|
||||
if(select($readbits, undef, undef, WAIT_TIME/1000)) {
|
||||
$socket->recv($data, 9999);
|
||||
return $data;
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
sub send_receive {
|
||||
my ($self, %parameters) = @_;
|
||||
my ($envelope, $soap_action, $endpoint, $encoding, $content_type) =
|
||||
@parameters{qw(envelope action endpoint encoding content_type)};
|
||||
|
||||
my ($address,$port) = ($endpoint =~ /([^:\/]+):([0-9]+)/);
|
||||
|
||||
# warn "address = ${address}";
|
||||
# warn "port = ${port}";
|
||||
|
||||
$self->send_multi($address, $port, $envelope);
|
||||
|
||||
my $localaddr = $self->get_local_addr();
|
||||
|
||||
my ($response, $last_response);
|
||||
my $wait = WAIT_COUNT;
|
||||
while ( $wait >= 0 ) {
|
||||
if($localaddr) {
|
||||
if($response = $self->receive_uni($address, $port, $localaddr)) {
|
||||
$last_response = $response;
|
||||
$self->_notify_response($response);
|
||||
}
|
||||
$wait --;
|
||||
}
|
||||
if($response = $self->receive_multi($address, $port)) {
|
||||
$last_response = $response;
|
||||
$self->_notify_response($response);
|
||||
}
|
||||
$wait --;
|
||||
}
|
||||
|
||||
if($last_response) {
|
||||
$self->code();
|
||||
$self->message();
|
||||
$self->is_success(1);
|
||||
$self->status('OK');
|
||||
}
|
||||
else{
|
||||
$self->code();
|
||||
$self->message();
|
||||
$self->is_success(0);
|
||||
$self->status('TIMEOUT');
|
||||
}
|
||||
return $last_response;
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,146 @@
|
|||
# ==========================================================================
|
||||
#
|
||||
# Perl WS-Security header for SOAP::WSDL
|
||||
# Copyright (C) Jan M. Hochstein
|
||||
#
|
||||
# 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# ==========================================================================
|
||||
#
|
||||
# Serializer with WS-Security header for SOAP::WSDL
|
||||
#
|
||||
package WSSecurity::SecuritySerializer;
|
||||
use strict;
|
||||
use warnings;
|
||||
use SOAP::WSDL::Factory::Serializer;
|
||||
use Time::Local;
|
||||
use Digest::SHA1;
|
||||
use MIME::Base64;
|
||||
|
||||
|
||||
use base qw( ONVIF::Serializer::Base );
|
||||
|
||||
use version; our $VERSION = qv('1.00.00');
|
||||
|
||||
use constant URI_SOAP11_ENV => "http://schemas.xmlsoap.org/soap/envelope/";
|
||||
use constant URI_SOAP12_ENV => "http://www.w3.org/2003/05/soap-envelope";
|
||||
|
||||
#SOAP::WSDL::Factory::Serializer->register( '1.1' , __PACKAGE__ );
|
||||
|
||||
my %username_of :ATTR(:name<username> :default<()>);
|
||||
my %password_of :ATTR(:name<password> :default<()>);
|
||||
|
||||
#sub BUILD
|
||||
#{
|
||||
# my ($self, $ident, $args_ref) = @_;
|
||||
# $soapversion_of{ $ident } = '1.2';
|
||||
#}
|
||||
|
||||
|
||||
SUBFACTORY: {
|
||||
for (qw(username password)) {
|
||||
my $setter = "set_$_";
|
||||
my $getter = "get_$_";
|
||||
no strict qw(refs); ## no critic ProhibitNoStrict
|
||||
*{ $_ } = sub { my $self = shift;
|
||||
if (@_) {
|
||||
$self->$setter(@_);
|
||||
return $self;
|
||||
}
|
||||
return $self->$getter()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# #############################################################################
|
||||
#
|
||||
# the following methods have been adapted from an example implementation at
|
||||
# http://www.wlp-systems.de/soap-lite-and-ws-security
|
||||
#
|
||||
|
||||
sub timestamp {
|
||||
my ($sec,$min,$hour,$mday,$mon,$year,undef,undef,undef) = gmtime(time);
|
||||
$mon++;
|
||||
$year = $year + 1900;
|
||||
return sprintf("%04d-%02d-%02dT%02d:%02d:%02dZ",$year,$mon,$mday,$hour,$min,$sec);
|
||||
}
|
||||
|
||||
sub create_generator {
|
||||
my ($name,$start_with) = @_;
|
||||
my $i = $start_with;
|
||||
return sub { $name . ++$i; };
|
||||
}
|
||||
|
||||
*default_nonce_generator = create_generator( "a value of ", int(1000*rand()) );
|
||||
|
||||
sub ws_authen {
|
||||
my($username,$password,$nonce_generator) = @_;
|
||||
if(!defined($nonce_generator)) {
|
||||
$nonce_generator = \&default_nonce_generator;
|
||||
}
|
||||
my $nonce = $nonce_generator->();
|
||||
my $timestamp = timestamp();
|
||||
|
||||
my $pwDigest = Digest::SHA1::sha1( $nonce . $timestamp . $password );
|
||||
my $passwordHash = MIME::Base64::encode_base64($pwDigest,"");
|
||||
my $nonceHash = MIME::Base64::encode_base64($nonce,"");
|
||||
|
||||
my $auth = <<END;
|
||||
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
|
||||
<wsse:UsernameToken>
|
||||
<wsse:Username>$username</wsse:Username>
|
||||
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">$passwordHash</wsse:Password>
|
||||
<wsse:Nonce>$nonceHash</wsse:Nonce>
|
||||
<wsu:Created>$timestamp</wsu:Created>
|
||||
</wsse:UsernameToken>
|
||||
</wsse:Security>
|
||||
END
|
||||
|
||||
# warn "Auth Header is: " . $auth;
|
||||
|
||||
$auth;
|
||||
}
|
||||
|
||||
#
|
||||
# #############################################################################
|
||||
#
|
||||
|
||||
sub security_header {
|
||||
my ($self) = @_;
|
||||
|
||||
return ws_authen($self->username, $self->password, );
|
||||
}
|
||||
|
||||
sub serialize_header() {
|
||||
my ($self, $method, $data, $opt) = @_;
|
||||
|
||||
my $SOAP_NS = URI_SOAP11_ENV;
|
||||
if($self->soap_version() eq '1.2') {
|
||||
$SOAP_NS = URI_SOAP12_ENV;
|
||||
}
|
||||
|
||||
# header is optional. Leave out if there's no header data
|
||||
return join ( q{},
|
||||
"<$opt->{ namespace }->{ $SOAP_NS }\:Header>",
|
||||
$self->security_header(),
|
||||
( $data && blessed $data ) ? $data->serialize_qualified : (),
|
||||
"</$opt->{ namespace }->{ $SOAP_NS }\:Header>",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
1;
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
|
||||
# Add build target for the perl modules
|
||||
add_custom_target(zmonvifproxy ALL perl Makefile.PL FIRST_MAKEFILE=MakefilePerl PREFIX="${CMAKE_CURRENT_BINARY_DIR}/output" LIB="${CMAKE_CURRENT_BINARY_DIR}/output/${ZM_PERL_SUBPREFIX}" INSTALLSITEMAN3DIR="${CMAKE_CURRENT_BINARY_DIR}/output/${CMAKE_INSTALL_MANDIR}/man3" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make --makefile=MakefilePerl COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules")
|
||||
|
||||
# Add install target for the perl modules
|
||||
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/output/" DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Add additional files and directories to make clean
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "output;blib;pm_to_blib;MakefilePerl")
|
|
@ -0,0 +1,13 @@
|
|||
use 5.006;
|
||||
use ExtUtils::MakeMaker;
|
||||
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
||||
# the contents of the Makefile that is written.
|
||||
WriteMakefile(
|
||||
NAME => 'ONVIF',
|
||||
# VERSION_FROM => 'lib/ZoneMinder/Base.pm', # finds $VERSION
|
||||
PREREQ_PM => {}, # e.g., Module::Name => 1.1
|
||||
# No need to specify perl modules. MakeMaker will find them automatically
|
||||
($] >= 5.005 ? ## Add these new keywords supported since 5.005
|
||||
(#ABSTRACT_FROM => 'lib/ZoneMinder.pm', # retrieve abstract from module
|
||||
AUTHOR => 'Jan Hochstein') : ()),
|
||||
);
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
package ONVIF::Device::Attributes::actor;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('actor');
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Attribute
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyURI
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Attributes::actor
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined attribute
|
||||
actor from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Attributes::actor->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ value => $value }
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
package ONVIF::Device::Attributes::contentType;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.w3.org/2005/05/xmlmime' }
|
||||
|
||||
__PACKAGE__->__set_name('contentType');
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
# atomic simpleType: <attribute><simpleType
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Attribute
|
||||
);
|
||||
# derivation by restriction
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Attributes::contentType
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined attribute
|
||||
contentType from the namespace http://www.w3.org/2005/05/xmlmime.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
This XML element type class has a atomic simpleType as it's base:
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Attributes::contentType->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ value => $value }
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
package ONVIF::Device::Attributes::encodingStyle;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('encodingStyle');
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Attribute
|
||||
ONVIF::Device::Types::encodingStyle
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Attributes::encodingStyle
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined attribute
|
||||
encodingStyle from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Attributes::encodingStyle->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ value => $value }
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
package ONVIF::Device::Attributes::expectedContentTypes;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.w3.org/2005/05/xmlmime' }
|
||||
|
||||
__PACKAGE__->__set_name('expectedContentTypes');
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Attribute
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Attributes::expectedContentTypes
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined attribute
|
||||
expectedContentTypes from the namespace http://www.w3.org/2005/05/xmlmime.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Attributes::expectedContentTypes->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ value => $value }
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
package ONVIF::Device::Attributes::mustUnderstand;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('mustUnderstand');
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
# atomic simpleType: <attribute><simpleType
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Attribute
|
||||
);
|
||||
# derivation by restriction
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::boolean);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Attributes::mustUnderstand
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined attribute
|
||||
mustUnderstand from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
This XML element type class has a atomic simpleType as it's base:
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Attributes::mustUnderstand->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ value => $value }
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
|
||||
package ONVIF::Device::Elements::AddIPAddressFilter;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('AddIPAddressFilter');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %IPAddressFilter_of :ATTR(:get<IPAddressFilter>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( IPAddressFilter
|
||||
|
||||
) ],
|
||||
{
|
||||
'IPAddressFilter' => \%IPAddressFilter_of,
|
||||
},
|
||||
{
|
||||
'IPAddressFilter' => 'ONVIF::Device::Types::IPAddressFilter',
|
||||
},
|
||||
{
|
||||
|
||||
'IPAddressFilter' => 'IPAddressFilter',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AddIPAddressFilter
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AddIPAddressFilter from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * IPAddressFilter
|
||||
|
||||
$element->set_IPAddressFilter($data);
|
||||
$element->get_IPAddressFilter();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AddIPAddressFilter->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
IPAddressFilter => { # ONVIF::Device::Types::IPAddressFilter
|
||||
Type => $some_value, # IPAddressFilterType
|
||||
IPv4Address => { # ONVIF::Device::Types::PrefixedIPv4Address
|
||||
Address => $some_value, # IPv4Address
|
||||
PrefixLength => $some_value, # int
|
||||
},
|
||||
IPv6Address => { # ONVIF::Device::Types::PrefixedIPv6Address
|
||||
Address => $some_value, # IPv6Address
|
||||
PrefixLength => $some_value, # int
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::IPAddressFilterExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::AddIPAddressFilterResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('AddIPAddressFilterResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AddIPAddressFilterResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AddIPAddressFilterResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AddIPAddressFilterResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::AddScopes;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('AddScopes');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %ScopeItem_of :ATTR(:get<ScopeItem>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( ScopeItem
|
||||
|
||||
) ],
|
||||
{
|
||||
'ScopeItem' => \%ScopeItem_of,
|
||||
},
|
||||
{
|
||||
'ScopeItem' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
|
||||
},
|
||||
{
|
||||
|
||||
'ScopeItem' => 'ScopeItem',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AddScopes
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AddScopes from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * ScopeItem
|
||||
|
||||
$element->set_ScopeItem($data);
|
||||
$element->get_ScopeItem();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AddScopes->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
ScopeItem => $some_value, # anyURI
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::AddScopesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('AddScopesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AddScopesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AddScopesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AddScopesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
package ONVIF::Device::Elements::AudioDecoderConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/schema' }
|
||||
|
||||
__PACKAGE__->__set_name('AudioDecoderConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::AudioDecoderConfiguration
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AudioDecoderConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AudioDecoderConfiguration from the namespace http://www.onvif.org/ver10/schema.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AudioDecoderConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::AudioDecoderConfiguration
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
|
||||
package ONVIF::Device::Elements::AudioEncoderConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/schema' }
|
||||
|
||||
__PACKAGE__->__set_name('AudioEncoderConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::AudioEncoderConfiguration
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AudioEncoderConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AudioEncoderConfiguration from the namespace http://www.onvif.org/ver10/schema.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AudioEncoderConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::AudioEncoderConfiguration
|
||||
Encoding => $some_value, # AudioEncoding
|
||||
Bitrate => $some_value, # int
|
||||
SampleRate => $some_value, # int
|
||||
Multicast => { # ONVIF::Device::Types::MulticastConfiguration
|
||||
Address => { # ONVIF::Device::Types::IPAddress
|
||||
Type => $some_value, # IPType
|
||||
IPv4Address => $some_value, # IPv4Address
|
||||
IPv6Address => $some_value, # IPv6Address
|
||||
},
|
||||
Port => $some_value, # int
|
||||
TTL => $some_value, # int
|
||||
AutoStart => $some_value, # boolean
|
||||
},
|
||||
SessionTimeout => $some_value, # duration
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
package ONVIF::Device::Elements::AudioOutputConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/schema' }
|
||||
|
||||
__PACKAGE__->__set_name('AudioOutputConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::AudioOutputConfiguration
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AudioOutputConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AudioOutputConfiguration from the namespace http://www.onvif.org/ver10/schema.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AudioOutputConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::AudioOutputConfiguration
|
||||
OutputToken => $some_value, # ReferenceToken
|
||||
SendPrimacy => $some_value, # anyURI
|
||||
OutputLevel => $some_value, # int
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
|
||||
package ONVIF::Device::Elements::AudioSourceConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/schema' }
|
||||
|
||||
__PACKAGE__->__set_name('AudioSourceConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::AudioSourceConfiguration
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::AudioSourceConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
AudioSourceConfiguration from the namespace http://www.onvif.org/ver10/schema.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::AudioSourceConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::AudioSourceConfiguration
|
||||
SourceToken => $some_value, # ReferenceToken
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
package ONVIF::Device::Elements::Body;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('Body');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::Body
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::Body
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
Body from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::Body->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::Body
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
package ONVIF::Device::Elements::Capabilities;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('Capabilities');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::DeviceServiceCapabilities
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::Capabilities
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
Capabilities from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::Capabilities->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::DeviceServiceCapabilities
|
||||
Network => ,
|
||||
Security => ,
|
||||
System => ,
|
||||
Misc => ,
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateCertificate;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateCertificate');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CertificateID_of :ATTR(:get<CertificateID>);
|
||||
my %Subject_of :ATTR(:get<Subject>);
|
||||
my %ValidNotBefore_of :ATTR(:get<ValidNotBefore>);
|
||||
my %ValidNotAfter_of :ATTR(:get<ValidNotAfter>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CertificateID
|
||||
Subject
|
||||
ValidNotBefore
|
||||
ValidNotAfter
|
||||
|
||||
) ],
|
||||
{
|
||||
'CertificateID' => \%CertificateID_of,
|
||||
'Subject' => \%Subject_of,
|
||||
'ValidNotBefore' => \%ValidNotBefore_of,
|
||||
'ValidNotAfter' => \%ValidNotAfter_of,
|
||||
},
|
||||
{
|
||||
'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
|
||||
'Subject' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'ValidNotBefore' => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime',
|
||||
'ValidNotAfter' => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime',
|
||||
},
|
||||
{
|
||||
|
||||
'CertificateID' => 'CertificateID',
|
||||
'Subject' => 'Subject',
|
||||
'ValidNotBefore' => 'ValidNotBefore',
|
||||
'ValidNotAfter' => 'ValidNotAfter',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateCertificate
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateCertificate from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CertificateID
|
||||
|
||||
$element->set_CertificateID($data);
|
||||
$element->get_CertificateID();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * Subject
|
||||
|
||||
$element->set_Subject($data);
|
||||
$element->get_Subject();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * ValidNotBefore
|
||||
|
||||
$element->set_ValidNotBefore($data);
|
||||
$element->get_ValidNotBefore();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * ValidNotAfter
|
||||
|
||||
$element->set_ValidNotAfter($data);
|
||||
$element->get_ValidNotAfter();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateCertificate->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CertificateID => $some_value, # token
|
||||
Subject => $some_value, # string
|
||||
ValidNotBefore => $some_value, # dateTime
|
||||
ValidNotAfter => $some_value, # dateTime
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateCertificateResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateCertificateResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %NvtCertificate_of :ATTR(:get<NvtCertificate>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( NvtCertificate
|
||||
|
||||
) ],
|
||||
{
|
||||
'NvtCertificate' => \%NvtCertificate_of,
|
||||
},
|
||||
{
|
||||
'NvtCertificate' => 'ONVIF::Device::Types::Certificate',
|
||||
},
|
||||
{
|
||||
|
||||
'NvtCertificate' => 'NvtCertificate',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateCertificateResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateCertificateResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * NvtCertificate
|
||||
|
||||
$element->set_NvtCertificate($data);
|
||||
$element->get_NvtCertificate();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateCertificateResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
NvtCertificate => { # ONVIF::Device::Types::Certificate
|
||||
CertificateID => $some_value, # token
|
||||
Certificate => { # ONVIF::Device::Types::BinaryData
|
||||
Data => $some_value, # base64Binary
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateDot1XConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateDot1XConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Dot1XConfiguration_of :ATTR(:get<Dot1XConfiguration>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Dot1XConfiguration
|
||||
|
||||
) ],
|
||||
{
|
||||
'Dot1XConfiguration' => \%Dot1XConfiguration_of,
|
||||
},
|
||||
{
|
||||
'Dot1XConfiguration' => 'ONVIF::Device::Types::Dot1XConfiguration',
|
||||
},
|
||||
{
|
||||
|
||||
'Dot1XConfiguration' => 'Dot1XConfiguration',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateDot1XConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateDot1XConfiguration from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Dot1XConfiguration
|
||||
|
||||
$element->set_Dot1XConfiguration($data);
|
||||
$element->get_Dot1XConfiguration();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateDot1XConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Dot1XConfiguration => { # ONVIF::Device::Types::Dot1XConfiguration
|
||||
Dot1XConfigurationToken => $some_value, # ReferenceToken
|
||||
Identity => $some_value, # string
|
||||
AnonymousID => $some_value, # string
|
||||
EAPMethod => $some_value, # int
|
||||
CACertificateID => $some_value, # token
|
||||
EAPMethodConfiguration => { # ONVIF::Device::Types::EAPMethodConfiguration
|
||||
TLSConfiguration => { # ONVIF::Device::Types::TLSConfiguration
|
||||
CertificateID => $some_value, # token
|
||||
},
|
||||
Password => $some_value, # string
|
||||
Extension => { # ONVIF::Device::Types::EapMethodExtension
|
||||
},
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::Dot1XConfigurationExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateDot1XConfigurationResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateDot1XConfigurationResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateDot1XConfigurationResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateDot1XConfigurationResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateDot1XConfigurationResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateUsers;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateUsers');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %User_of :ATTR(:get<User>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( User
|
||||
|
||||
) ],
|
||||
{
|
||||
'User' => \%User_of,
|
||||
},
|
||||
{
|
||||
'User' => 'ONVIF::Device::Types::User',
|
||||
},
|
||||
{
|
||||
|
||||
'User' => 'User',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateUsers
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateUsers from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * User
|
||||
|
||||
$element->set_User($data);
|
||||
$element->get_User();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateUsers->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
User => { # ONVIF::Device::Types::User
|
||||
Username => $some_value, # string
|
||||
Password => $some_value, # string
|
||||
UserLevel => $some_value, # UserLevel
|
||||
Extension => { # ONVIF::Device::Types::UserExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::CreateUsersResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('CreateUsersResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::CreateUsersResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
CreateUsersResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::CreateUsersResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteCertificates;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteCertificates');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CertificateID_of :ATTR(:get<CertificateID>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CertificateID
|
||||
|
||||
) ],
|
||||
{
|
||||
'CertificateID' => \%CertificateID_of,
|
||||
},
|
||||
{
|
||||
'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
|
||||
},
|
||||
{
|
||||
|
||||
'CertificateID' => 'CertificateID',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteCertificates
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteCertificates from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CertificateID
|
||||
|
||||
$element->set_CertificateID($data);
|
||||
$element->get_CertificateID();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteCertificates->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CertificateID => $some_value, # token
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteCertificatesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteCertificatesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteCertificatesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteCertificatesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteCertificatesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteDot1XConfiguration;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteDot1XConfiguration');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Dot1XConfigurationToken_of :ATTR(:get<Dot1XConfigurationToken>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Dot1XConfigurationToken
|
||||
|
||||
) ],
|
||||
{
|
||||
'Dot1XConfigurationToken' => \%Dot1XConfigurationToken_of,
|
||||
},
|
||||
{
|
||||
'Dot1XConfigurationToken' => 'ONVIF::Device::Types::ReferenceToken',
|
||||
},
|
||||
{
|
||||
|
||||
'Dot1XConfigurationToken' => 'Dot1XConfigurationToken',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteDot1XConfiguration
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteDot1XConfiguration from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Dot1XConfigurationToken
|
||||
|
||||
$element->set_Dot1XConfigurationToken($data);
|
||||
$element->get_Dot1XConfigurationToken();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteDot1XConfiguration->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Dot1XConfigurationToken => $some_value, # ReferenceToken
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteDot1XConfigurationResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteDot1XConfigurationResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteDot1XConfigurationResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteDot1XConfigurationResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteDot1XConfigurationResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteUsers;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteUsers');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Username_of :ATTR(:get<Username>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Username
|
||||
|
||||
) ],
|
||||
{
|
||||
'Username' => \%Username_of,
|
||||
},
|
||||
{
|
||||
'Username' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
},
|
||||
{
|
||||
|
||||
'Username' => 'Username',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteUsers
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteUsers from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Username
|
||||
|
||||
$element->set_Username($data);
|
||||
$element->get_Username();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteUsers->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Username => $some_value, # string
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::DeleteUsersResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('DeleteUsersResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::DeleteUsersResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
DeleteUsersResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::DeleteUsersResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
package ONVIF::Device::Elements::Envelope;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('Envelope');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::Envelope
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::Envelope
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
Envelope from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::Envelope->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::Envelope
|
||||
Header => { # ONVIF::Device::Types::Header
|
||||
},
|
||||
Body => { # ONVIF::Device::Types::Body
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
package ONVIF::Device::Elements::Fault;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }
|
||||
|
||||
__PACKAGE__->__set_name('Fault');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
ONVIF::Device::Types::Fault
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::Fault
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
Fault from the namespace http://schemas.xmlsoap.org/soap/envelope/.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::Fault->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{ # ONVIF::Device::Types::Fault
|
||||
faultcode => $some_value, # QName
|
||||
faultstring => $some_value, # string
|
||||
faultactor => $some_value, # anyURI
|
||||
detail => { # ONVIF::Device::Types::detail
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetAccessPolicy;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetAccessPolicy');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetAccessPolicy
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetAccessPolicy from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetAccessPolicy->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetAccessPolicyResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetAccessPolicyResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %PolicyFile_of :ATTR(:get<PolicyFile>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( PolicyFile
|
||||
|
||||
) ],
|
||||
{
|
||||
'PolicyFile' => \%PolicyFile_of,
|
||||
},
|
||||
{
|
||||
'PolicyFile' => 'ONVIF::Device::Types::BinaryData',
|
||||
},
|
||||
{
|
||||
|
||||
'PolicyFile' => 'PolicyFile',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetAccessPolicyResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetAccessPolicyResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * PolicyFile
|
||||
|
||||
$element->set_PolicyFile($data);
|
||||
$element->get_PolicyFile();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetAccessPolicyResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
PolicyFile => { # ONVIF::Device::Types::BinaryData
|
||||
Data => $some_value, # base64Binary
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCACertificates;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCACertificates');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCACertificates
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCACertificates from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCACertificates->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCACertificatesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCACertificatesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CACertificate_of :ATTR(:get<CACertificate>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CACertificate
|
||||
|
||||
) ],
|
||||
{
|
||||
'CACertificate' => \%CACertificate_of,
|
||||
},
|
||||
{
|
||||
'CACertificate' => 'ONVIF::Device::Types::Certificate',
|
||||
},
|
||||
{
|
||||
|
||||
'CACertificate' => 'CACertificate',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCACertificatesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCACertificatesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CACertificate
|
||||
|
||||
$element->set_CACertificate($data);
|
||||
$element->get_CACertificate();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCACertificatesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CACertificate => { # ONVIF::Device::Types::Certificate
|
||||
CertificateID => $some_value, # token
|
||||
Certificate => { # ONVIF::Device::Types::BinaryData
|
||||
Data => $some_value, # base64Binary
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCapabilities;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCapabilities');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Category_of :ATTR(:get<Category>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Category
|
||||
|
||||
) ],
|
||||
{
|
||||
'Category' => \%Category_of,
|
||||
},
|
||||
{
|
||||
'Category' => 'ONVIF::Device::Types::CapabilityCategory',
|
||||
},
|
||||
{
|
||||
|
||||
'Category' => 'Category',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCapabilities
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCapabilities from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Category
|
||||
|
||||
$element->set_Category($data);
|
||||
$element->get_Category();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCapabilities->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Category => $some_value, # CapabilityCategory
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,263 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCapabilitiesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCapabilitiesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Capabilities_of :ATTR(:get<Capabilities>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Capabilities
|
||||
|
||||
) ],
|
||||
{
|
||||
'Capabilities' => \%Capabilities_of,
|
||||
},
|
||||
{
|
||||
'Capabilities' => 'ONVIF::Device::Types::Capabilities',
|
||||
},
|
||||
{
|
||||
|
||||
'Capabilities' => 'Capabilities',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCapabilitiesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCapabilitiesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Capabilities
|
||||
|
||||
$element->set_Capabilities($data);
|
||||
$element->get_Capabilities();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCapabilitiesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Capabilities => { # ONVIF::Device::Types::Capabilities
|
||||
Analytics => { # ONVIF::Device::Types::AnalyticsCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
RuleSupport => $some_value, # boolean
|
||||
AnalyticsModuleSupport => $some_value, # boolean
|
||||
},
|
||||
Device => { # ONVIF::Device::Types::DeviceCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
Network => { # ONVIF::Device::Types::NetworkCapabilities
|
||||
IPFilter => $some_value, # boolean
|
||||
ZeroConfiguration => $some_value, # boolean
|
||||
IPVersion6 => $some_value, # boolean
|
||||
DynDNS => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::NetworkCapabilitiesExtension
|
||||
Dot11Configuration => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::NetworkCapabilitiesExtension2
|
||||
},
|
||||
},
|
||||
},
|
||||
System => { # ONVIF::Device::Types::SystemCapabilities
|
||||
DiscoveryResolve => $some_value, # boolean
|
||||
DiscoveryBye => $some_value, # boolean
|
||||
RemoteDiscovery => $some_value, # boolean
|
||||
SystemBackup => $some_value, # boolean
|
||||
SystemLogging => $some_value, # boolean
|
||||
FirmwareUpgrade => $some_value, # boolean
|
||||
SupportedVersions => { # ONVIF::Device::Types::OnvifVersion
|
||||
Major => $some_value, # int
|
||||
Minor => $some_value, # int
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::SystemCapabilitiesExtension
|
||||
HttpFirmwareUpgrade => $some_value, # boolean
|
||||
HttpSystemBackup => $some_value, # boolean
|
||||
HttpSystemLogging => $some_value, # boolean
|
||||
HttpSupportInformation => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::SystemCapabilitiesExtension2
|
||||
},
|
||||
},
|
||||
},
|
||||
IO => { # ONVIF::Device::Types::IOCapabilities
|
||||
InputConnectors => $some_value, # int
|
||||
RelayOutputs => $some_value, # int
|
||||
Extension => { # ONVIF::Device::Types::IOCapabilitiesExtension
|
||||
Auxiliary => $some_value, # boolean
|
||||
AuxiliaryCommands => $some_value, # AuxiliaryData
|
||||
Extension => { # ONVIF::Device::Types::IOCapabilitiesExtension2
|
||||
},
|
||||
},
|
||||
},
|
||||
Security => { # ONVIF::Device::Types::SecurityCapabilities
|
||||
TLS1__1 => $some_value, # boolean
|
||||
TLS1__2 => $some_value, # boolean
|
||||
OnboardKeyGeneration => $some_value, # boolean
|
||||
AccessPolicyConfig => $some_value, # boolean
|
||||
X__509Token => $some_value, # boolean
|
||||
SAMLToken => $some_value, # boolean
|
||||
KerberosToken => $some_value, # boolean
|
||||
RELToken => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::SecurityCapabilitiesExtension
|
||||
TLS1__0 => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::SecurityCapabilitiesExtension2
|
||||
Dot1X => $some_value, # boolean
|
||||
SupportedEAPMethod => $some_value, # int
|
||||
RemoteUserHandling => $some_value, # boolean
|
||||
},
|
||||
},
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::DeviceCapabilitiesExtension
|
||||
},
|
||||
},
|
||||
Events => { # ONVIF::Device::Types::EventCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
WSSubscriptionPolicySupport => $some_value, # boolean
|
||||
WSPullPointSupport => $some_value, # boolean
|
||||
WSPausableSubscriptionManagerInterfaceSupport => $some_value, # boolean
|
||||
},
|
||||
Imaging => { # ONVIF::Device::Types::ImagingCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
},
|
||||
Media => { # ONVIF::Device::Types::MediaCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
StreamingCapabilities => { # ONVIF::Device::Types::RealTimeStreamingCapabilities
|
||||
RTPMulticast => $some_value, # boolean
|
||||
RTP_TCP => $some_value, # boolean
|
||||
RTP_RTSP_TCP => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::RealTimeStreamingCapabilitiesExtension
|
||||
},
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::MediaCapabilitiesExtension
|
||||
ProfileCapabilities => { # ONVIF::Device::Types::ProfileCapabilities
|
||||
MaximumNumberOfProfiles => $some_value, # int
|
||||
},
|
||||
},
|
||||
},
|
||||
PTZ => { # ONVIF::Device::Types::PTZCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::CapabilitiesExtension
|
||||
DeviceIO => { # ONVIF::Device::Types::DeviceIOCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
VideoSources => $some_value, # int
|
||||
VideoOutputs => $some_value, # int
|
||||
AudioSources => $some_value, # int
|
||||
AudioOutputs => $some_value, # int
|
||||
RelayOutputs => $some_value, # int
|
||||
},
|
||||
Display => { # ONVIF::Device::Types::DisplayCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
FixedLayout => $some_value, # boolean
|
||||
},
|
||||
Recording => { # ONVIF::Device::Types::RecordingCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
ReceiverSource => $some_value, # boolean
|
||||
MediaProfileSource => $some_value, # boolean
|
||||
DynamicRecordings => $some_value, # boolean
|
||||
DynamicTracks => $some_value, # boolean
|
||||
MaxStringLength => $some_value, # int
|
||||
},
|
||||
Search => { # ONVIF::Device::Types::SearchCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
MetadataSearch => $some_value, # boolean
|
||||
},
|
||||
Replay => { # ONVIF::Device::Types::ReplayCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
},
|
||||
Receiver => { # ONVIF::Device::Types::ReceiverCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
RTP_Multicast => $some_value, # boolean
|
||||
RTP_TCP => $some_value, # boolean
|
||||
RTP_RTSP_TCP => $some_value, # boolean
|
||||
SupportedReceivers => $some_value, # int
|
||||
MaximumRTSPURILength => $some_value, # int
|
||||
},
|
||||
AnalyticsDevice => { # ONVIF::Device::Types::AnalyticsDeviceCapabilities
|
||||
XAddr => $some_value, # anyURI
|
||||
RuleSupport => $some_value, # boolean
|
||||
Extension => { # ONVIF::Device::Types::AnalyticsDeviceExtension
|
||||
},
|
||||
},
|
||||
Extensions => { # ONVIF::Device::Types::CapabilitiesExtension2
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificateInformation;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificateInformation');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CertificateID_of :ATTR(:get<CertificateID>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CertificateID
|
||||
|
||||
) ],
|
||||
{
|
||||
'CertificateID' => \%CertificateID_of,
|
||||
},
|
||||
{
|
||||
'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
|
||||
},
|
||||
{
|
||||
|
||||
'CertificateID' => 'CertificateID',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificateInformation
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificateInformation from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CertificateID
|
||||
|
||||
$element->set_CertificateID($data);
|
||||
$element->get_CertificateID();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificateInformation->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CertificateID => $some_value, # token
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificateInformationResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificateInformationResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CertificateInformation_of :ATTR(:get<CertificateInformation>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CertificateInformation
|
||||
|
||||
) ],
|
||||
{
|
||||
'CertificateInformation' => \%CertificateInformation_of,
|
||||
},
|
||||
{
|
||||
'CertificateInformation' => 'ONVIF::Device::Types::CertificateInformation',
|
||||
},
|
||||
{
|
||||
|
||||
'CertificateInformation' => 'CertificateInformation',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificateInformationResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificateInformationResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CertificateInformation
|
||||
|
||||
$element->set_CertificateInformation($data);
|
||||
$element->get_CertificateInformation();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificateInformationResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CertificateInformation => { # ONVIF::Device::Types::CertificateInformation
|
||||
CertificateID => $some_value, # token
|
||||
IssuerDN => $some_value, # string
|
||||
SubjectDN => $some_value, # string
|
||||
KeyUsage => { value => $some_value },
|
||||
ExtendedKeyUsage => { value => $some_value },
|
||||
KeyLength => $some_value, # int
|
||||
Version => $some_value, # string
|
||||
SerialNum => $some_value, # string
|
||||
SignatureAlgorithm => $some_value, # string
|
||||
Validity => { # ONVIF::Device::Types::DateTimeRange
|
||||
From => $some_value, # dateTime
|
||||
Until => $some_value, # dateTime
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::CertificateInformationExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificates;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificates');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificates
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificates from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificates->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificatesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificatesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %NvtCertificate_of :ATTR(:get<NvtCertificate>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( NvtCertificate
|
||||
|
||||
) ],
|
||||
{
|
||||
'NvtCertificate' => \%NvtCertificate_of,
|
||||
},
|
||||
{
|
||||
'NvtCertificate' => 'ONVIF::Device::Types::Certificate',
|
||||
},
|
||||
{
|
||||
|
||||
'NvtCertificate' => 'NvtCertificate',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificatesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificatesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * NvtCertificate
|
||||
|
||||
$element->set_NvtCertificate($data);
|
||||
$element->get_NvtCertificate();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificatesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
NvtCertificate => { # ONVIF::Device::Types::Certificate
|
||||
CertificateID => $some_value, # token
|
||||
Certificate => { # ONVIF::Device::Types::BinaryData
|
||||
Data => $some_value, # base64Binary
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificatesStatus;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificatesStatus');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificatesStatus
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificatesStatus from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificatesStatus->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetCertificatesStatusResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetCertificatesStatusResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %CertificateStatus_of :ATTR(:get<CertificateStatus>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( CertificateStatus
|
||||
|
||||
) ],
|
||||
{
|
||||
'CertificateStatus' => \%CertificateStatus_of,
|
||||
},
|
||||
{
|
||||
'CertificateStatus' => 'ONVIF::Device::Types::CertificateStatus',
|
||||
},
|
||||
{
|
||||
|
||||
'CertificateStatus' => 'CertificateStatus',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetCertificatesStatusResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetCertificatesStatusResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * CertificateStatus
|
||||
|
||||
$element->set_CertificateStatus($data);
|
||||
$element->get_CertificateStatus();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetCertificatesStatusResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
CertificateStatus => { # ONVIF::Device::Types::CertificateStatus
|
||||
CertificateID => $some_value, # token
|
||||
Status => $some_value, # boolean
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetClientCertificateMode;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetClientCertificateMode');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetClientCertificateMode
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetClientCertificateMode from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetClientCertificateMode->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetClientCertificateModeResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetClientCertificateModeResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Enabled_of :ATTR(:get<Enabled>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Enabled
|
||||
|
||||
) ],
|
||||
{
|
||||
'Enabled' => \%Enabled_of,
|
||||
},
|
||||
{
|
||||
'Enabled' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean',
|
||||
},
|
||||
{
|
||||
|
||||
'Enabled' => 'Enabled',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetClientCertificateModeResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetClientCertificateModeResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Enabled
|
||||
|
||||
$element->set_Enabled($data);
|
||||
$element->get_Enabled();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetClientCertificateModeResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Enabled => $some_value, # boolean
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDNS;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDNS');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDNS
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDNS from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDNS->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDNSResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDNSResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %DNSInformation_of :ATTR(:get<DNSInformation>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( DNSInformation
|
||||
|
||||
) ],
|
||||
{
|
||||
'DNSInformation' => \%DNSInformation_of,
|
||||
},
|
||||
{
|
||||
'DNSInformation' => 'ONVIF::Device::Types::DNSInformation',
|
||||
},
|
||||
{
|
||||
|
||||
'DNSInformation' => 'DNSInformation',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDNSResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDNSResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * DNSInformation
|
||||
|
||||
$element->set_DNSInformation($data);
|
||||
$element->get_DNSInformation();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDNSResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
DNSInformation => { # ONVIF::Device::Types::DNSInformation
|
||||
FromDHCP => $some_value, # boolean
|
||||
SearchDomain => $some_value, # token
|
||||
DNSFromDHCP => { # ONVIF::Device::Types::IPAddress
|
||||
Type => $some_value, # IPType
|
||||
IPv4Address => $some_value, # IPv4Address
|
||||
IPv6Address => $some_value, # IPv6Address
|
||||
},
|
||||
DNSManual => { # ONVIF::Device::Types::IPAddress
|
||||
Type => $some_value, # IPType
|
||||
IPv4Address => $some_value, # IPv4Address
|
||||
IPv6Address => $some_value, # IPv6Address
|
||||
},
|
||||
Extension => { # ONVIF::Device::Types::DNSInformationExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDPAddresses;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDPAddresses');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDPAddresses
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDPAddresses from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDPAddresses->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDPAddressesResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDPAddressesResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %DPAddress_of :ATTR(:get<DPAddress>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( DPAddress
|
||||
|
||||
) ],
|
||||
{
|
||||
'DPAddress' => \%DPAddress_of,
|
||||
},
|
||||
{
|
||||
'DPAddress' => 'ONVIF::Device::Types::NetworkHost',
|
||||
},
|
||||
{
|
||||
|
||||
'DPAddress' => 'DPAddress',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDPAddressesResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDPAddressesResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * DPAddress
|
||||
|
||||
$element->set_DPAddress($data);
|
||||
$element->get_DPAddress();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDPAddressesResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
DPAddress => { # ONVIF::Device::Types::NetworkHost
|
||||
Type => $some_value, # NetworkHostType
|
||||
IPv4Address => $some_value, # IPv4Address
|
||||
IPv6Address => $some_value, # IPv6Address
|
||||
DNSname => $some_value, # DNSName
|
||||
Extension => { # ONVIF::Device::Types::NetworkHostExtension
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDeviceInformation;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDeviceInformation');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDeviceInformation
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDeviceInformation from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDeviceInformation->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,177 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDeviceInformationResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDeviceInformationResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %Manufacturer_of :ATTR(:get<Manufacturer>);
|
||||
my %Model_of :ATTR(:get<Model>);
|
||||
my %FirmwareVersion_of :ATTR(:get<FirmwareVersion>);
|
||||
my %SerialNumber_of :ATTR(:get<SerialNumber>);
|
||||
my %HardwareId_of :ATTR(:get<HardwareId>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( Manufacturer
|
||||
Model
|
||||
FirmwareVersion
|
||||
SerialNumber
|
||||
HardwareId
|
||||
|
||||
) ],
|
||||
{
|
||||
'Manufacturer' => \%Manufacturer_of,
|
||||
'Model' => \%Model_of,
|
||||
'FirmwareVersion' => \%FirmwareVersion_of,
|
||||
'SerialNumber' => \%SerialNumber_of,
|
||||
'HardwareId' => \%HardwareId_of,
|
||||
},
|
||||
{
|
||||
'Manufacturer' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'Model' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'FirmwareVersion' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'SerialNumber' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'HardwareId' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
},
|
||||
{
|
||||
|
||||
'Manufacturer' => 'Manufacturer',
|
||||
'Model' => 'Model',
|
||||
'FirmwareVersion' => 'FirmwareVersion',
|
||||
'SerialNumber' => 'SerialNumber',
|
||||
'HardwareId' => 'HardwareId',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDeviceInformationResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDeviceInformationResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * Manufacturer
|
||||
|
||||
$element->set_Manufacturer($data);
|
||||
$element->get_Manufacturer();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * Model
|
||||
|
||||
$element->set_Model($data);
|
||||
$element->get_Model();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * FirmwareVersion
|
||||
|
||||
$element->set_FirmwareVersion($data);
|
||||
$element->get_FirmwareVersion();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * SerialNumber
|
||||
|
||||
$element->set_SerialNumber($data);
|
||||
$element->get_SerialNumber();
|
||||
|
||||
|
||||
|
||||
|
||||
=item * HardwareId
|
||||
|
||||
$element->set_HardwareId($data);
|
||||
$element->get_HardwareId();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDeviceInformationResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
Manufacturer => $some_value, # string
|
||||
Model => $some_value, # string
|
||||
FirmwareVersion => $some_value, # string
|
||||
SerialNumber => $some_value, # string
|
||||
HardwareId => $some_value, # string
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDiscoveryMode;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDiscoveryMode');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw(
|
||||
) ],
|
||||
{
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDiscoveryMode
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDiscoveryMode from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDiscoveryMode->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
package ONVIF::Device::Elements::GetDiscoveryModeResponse;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
sub get_xmlns { 'http://www.onvif.org/ver10/device/wsdl' }
|
||||
|
||||
__PACKAGE__->__set_name('GetDiscoveryModeResponse');
|
||||
__PACKAGE__->__set_nillable();
|
||||
__PACKAGE__->__set_minOccurs();
|
||||
__PACKAGE__->__set_maxOccurs();
|
||||
__PACKAGE__->__set_ref();
|
||||
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::Element
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
);
|
||||
|
||||
our $XML_ATTRIBUTE_CLASS;
|
||||
undef $XML_ATTRIBUTE_CLASS;
|
||||
|
||||
sub __get_attr_class {
|
||||
return $XML_ATTRIBUTE_CLASS;
|
||||
}
|
||||
|
||||
use Class::Std::Fast::Storable constructor => 'none';
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
Class::Std::initialize();
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
my %DiscoveryMode_of :ATTR(:get<DiscoveryMode>);
|
||||
|
||||
__PACKAGE__->_factory(
|
||||
[ qw( DiscoveryMode
|
||||
|
||||
) ],
|
||||
{
|
||||
'DiscoveryMode' => \%DiscoveryMode_of,
|
||||
},
|
||||
{
|
||||
'DiscoveryMode' => 'ONVIF::Device::Types::DiscoveryMode',
|
||||
},
|
||||
{
|
||||
|
||||
'DiscoveryMode' => 'DiscoveryMode',
|
||||
}
|
||||
);
|
||||
|
||||
} # end BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} # end of BLOCK
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ONVIF::Device::Elements::GetDiscoveryModeResponse
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Perl data type class for the XML Schema defined element
|
||||
GetDiscoveryModeResponse from the namespace http://www.onvif.org/ver10/device/wsdl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=head1 PROPERTIES
|
||||
|
||||
The following properties may be accessed using get_PROPERTY / set_PROPERTY
|
||||
methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * DiscoveryMode
|
||||
|
||||
$element->set_DiscoveryMode($data);
|
||||
$element->get_DiscoveryMode();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $element = ONVIF::Device::Elements::GetDiscoveryModeResponse->new($data);
|
||||
|
||||
Constructor. The following data structure may be passed to new():
|
||||
|
||||
{
|
||||
DiscoveryMode => $some_value, # DiscoveryMode
|
||||
},
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Generated by SOAP::WSDL
|
||||
|
||||
=cut
|
||||
|