From 95087beeb97a01ef38fdca5e1eaf888292e118b4 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 12 Aug 2015 11:00:41 -0400 Subject: [PATCH 001/193] use return value of stat instead of just checking errno. This has the added benefit of catching other errors when stating --- src/zm_event.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/zm_event.cpp b/src/zm_event.cpp index 3e723fa48..72df9a1cf 100644 --- a/src/zm_event.cpp +++ b/src/zm_event.cpp @@ -119,13 +119,16 @@ Event::Event( Monitor *p_monitor, struct timeval p_start_time, const std::string struct stat statbuf; errno = 0; - stat( path, &statbuf ); - if ( errno == ENOENT || errno == ENOTDIR ) - { - if ( mkdir( path, 0755 ) ) - { - Fatal( "Can't mkdir %s: %s", path, strerror(errno)); - } + if ( stat( path, &statbuf ) ) { + if ( errno == ENOENT || errno == ENOTDIR ) + { + if ( mkdir( path, 0755 ) ) + { + Fatal( "Can't mkdir %s: %s", path, strerror(errno)); + } + } else { + Warning( "Error stat'ing %s, may be fatal. error is %s", path, strerror(errno)); + } } if ( i == 2 ) strncpy( date_path, path, sizeof(date_path) ); From 89e13c1cc0c0e19a16137b16d28c3a6d467e4586 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Fri, 14 Aug 2015 16:10:44 -0400 Subject: [PATCH 002/193] leave 1 char at end for \0 --- src/zm_monitor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/zm_monitor.cpp b/src/zm_monitor.cpp index c6b8c167d..5822c106f 100644 --- a/src/zm_monitor.cpp +++ b/src/zm_monitor.cpp @@ -325,10 +325,10 @@ Monitor::Monitor( timestamps( 0 ), images( 0 ) { - strncpy( name, p_name, sizeof(name) ); + strncpy( name, p_name, sizeof(name)-1 ); - strncpy( event_prefix, p_event_prefix, sizeof(event_prefix) ); - strncpy( label_format, p_label_format, sizeof(label_format) ); + strncpy( event_prefix, p_event_prefix, sizeof(event_prefix)-1 ); + strncpy( label_format, p_label_format, sizeof(label_format)-1 ); // Change \n to actual line feeds char *token_ptr = label_format; From 35617a6cf7963cc8e37d9e9509d4d062997a0b5a Mon Sep 17 00:00:00 2001 From: dreaddy Date: Mon, 2 Nov 2015 22:16:10 -0500 Subject: [PATCH 003/193] #1128 - Added option to enable send email by ssmtp mail. Option for custom ssmtp path. Conditional checks for new options in filter --- .../lib/ZoneMinder/ConfigData.pm.in | 28 +++++++++++++++++++ scripts/zmfilter.pl.in | 20 +++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index 7fff3d62e..d5da2eb9d 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -4045,6 +4045,34 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s type => $types{string}, category => "eyeZm", }, + { + name => "ZM_SSMTP_MAIL", + default => "no", + description => "Use a SSMTP mail server if available. NEW_MAIL_MODULES must be enabled", + requires => [ + { name => "ZM_OPT_EMAIL", value => "yes" }, + { name => "ZM_OPT_MESSAGE", value => "yes" }, + { name => "ZM_NEW_MAIL_MODULES", value => "yes" } + ], + help => qqq(" + Please visit the following wiki page for more information on setting up ssmtp: http://www.zoneminder.com/wiki/index.php/How_to_get_ssmtp_working_with_Zoneminder. + "), + type => $types{boolean}, + category => "mail", + }, + { + name => "ZM_SSMTP_PATH", + default => "", + description => "SSMTP path custom location", + requires => [ + { name => "ZM_SSMTP_MAIL", value => "yes" } + ], + help => qqq(" + Please visit the following wiki page for more information on setting up ssmtp: http://www.zoneminder.com/wiki/index.php/How_to_get_ssmtp_working_with_Zoneminder. + "), + type => $types{string}, + category => "mail", + }, ); our %options_hash = map { ( $_->{name}, $_ ) } @options; diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 54f372262..d038488b4 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -1165,9 +1165,25 @@ sub sendEmail Disposition => "attachment" ); } + if ( $Config{ZM_SSMTP_MAIL} ){ + + my $ssmtp_location = qx('which ssmtp'); + + if( $Config{ZM_SSMTP_PATH} ){ + + $ssmtp_location = $Config{ZM_SSMTP_PATH} + } + + $mail->send( 'sendmail', $ssmtp_location, $Config{ZM_EMAIL_ADDRESS} ); + + }else{ + + MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 ); + $mail->send(); + } ### Send the Message - MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 ); - $mail->send(); + #MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 ); + #$mail->send(); } else { From ced0240fc3817a5dd724875d5327501db877a77e Mon Sep 17 00:00:00 2001 From: dreaddy Date: Fri, 6 Nov 2015 10:43:30 -0500 Subject: [PATCH 004/193] Use the ssmtp path set in options first. shell command if ssmtp path empty. display debug suggesting set ssmtp path in option. --- scripts/zmfilter.pl.in | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index d038488b4..7e335a30f 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -1167,11 +1167,17 @@ sub sendEmail } if ( $Config{ZM_SSMTP_MAIL} ){ - my $ssmtp_location = qx('which ssmtp'); + my $ssmtp_location = $Config{ZM_SSMTP_PATH} - if( $Config{ZM_SSMTP_PATH} ){ + if( ! $ssmtp_location ){ + + $ssmtp_location = qx('which ssmtp'); + + if ( logDebugging() ) + { + Debug( "which ssmtp: $ssmtp_location - set ssmtp path in options to suppress this message\n" ); + } - $ssmtp_location = $Config{ZM_SSMTP_PATH} } $mail->send( 'sendmail', $ssmtp_location, $Config{ZM_EMAIL_ADDRESS} ); From 92401193a76d7b45d8a4aeacb4236ddf9f47d547 Mon Sep 17 00:00:00 2001 From: dreaddy Date: Fri, 6 Nov 2015 11:19:12 -0500 Subject: [PATCH 005/193] Add missing semicolon --- scripts/zmfilter.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 7e335a30f..042539907 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -1167,7 +1167,7 @@ sub sendEmail } if ( $Config{ZM_SSMTP_MAIL} ){ - my $ssmtp_location = $Config{ZM_SSMTP_PATH} + my $ssmtp_location = $Config{ZM_SSMTP_PATH}; if( ! $ssmtp_location ){ From 3479af78bd84c7ead3dc18b29fae12c65abf3ca2 Mon Sep 17 00:00:00 2001 From: dreaddy Date: Fri, 6 Nov 2015 13:36:29 -0500 Subject: [PATCH 006/193] Add more verbose help --- scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index d5da2eb9d..49fa87f8b 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -4055,7 +4055,9 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s { name => "ZM_NEW_MAIL_MODULES", value => "yes" } ], help => qqq(" - Please visit the following wiki page for more information on setting up ssmtp: http://www.zoneminder.com/wiki/index.php/How_to_get_ssmtp_working_with_Zoneminder. + +SSMTP is a lightweight and efficient method to send email. The SSMTP application is not installed by default. NEW_MAIL_MODULES must also be enabled Please visit: http://www.zoneminder.com/wiki/index.php/How_to_get_ssmtp_working_with_Zoneminder setup and configuration help. + "), type => $types{boolean}, category => "mail", @@ -4063,12 +4065,12 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s { name => "ZM_SSMTP_PATH", default => "", - description => "SSMTP path custom location", + description => "SSMTP executable path", requires => [ { name => "ZM_SSMTP_MAIL", value => "yes" } ], help => qqq(" - Please visit the following wiki page for more information on setting up ssmtp: http://www.zoneminder.com/wiki/index.php/How_to_get_ssmtp_working_with_Zoneminder. +Recommend setting the path to the SSMTP application. If path is not defined. Zoneminder will try to determined the path via shell command. Example path: /usr/sbin/ssmtp. "), type => $types{string}, category => "mail", From f7bc8c7f0d942890e75949136aee8dec86328eeb Mon Sep 17 00:00:00 2001 From: tikismoke Date: Tue, 26 Jan 2016 20:14:49 +0100 Subject: [PATCH 007/193] Update gettingstarted.rst Correct MODECT by NODECT if using zmTrigger --- docs/userguide/gettingstarted.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/userguide/gettingstarted.rst b/docs/userguide/gettingstarted.rst index 2bc3dcd7f..c766e4f15 100644 --- a/docs/userguide/gettingstarted.rst +++ b/docs/userguide/gettingstarted.rst @@ -67,7 +67,7 @@ own empty screen. * **D**: This is the core of ZoneMinder - recording events. It gives you a count of how many events were recorded over the hour, day, week, month. * **E**: These are the "Zones". Zones are areas within the camera that you mark as 'hotspots' for motion detection. Simply put, when you first configure your monitors (cameras), by default Zoneminder uses the entire field of view of the camera to detect motion. You may not want this. You may want to create "zones" specifically for detecting motion and ignore others. For example, lets consider a room with a fan that spins. You surely don't want to consider the fan moving continously a reason for triggering a record? Probably not - in that case, you'd leave the fan out while making your zones. * **F**: This is the "source" column that tells you the type of the camera - if its an IP camera, a USB camera or more. In this example, they are all IP cameras. Note the color red on item F ? Well that means there is something wrong with that camera. No wonder the log also shows red. Good indication for you to tap on logs and investigate -* **G**: This defines how Zoneminder will record events. There are various modes. In brief Modect == record if a motion is detected,Record = always record 24x7, Mocord = always record PLUS detect motion, Monitor = just provide a live view but don't record anytime, Modect = Don't record till an externa entity via zmtrigger tells Zoneminder to (this is advanced usage). +* **G**: This defines how Zoneminder will record events. There are various modes. In brief Modect == record if a motion is detected,Record = always record 24x7, Mocord = always record PLUS detect motion, Monitor = just provide a live view but don't record anytime, Nodect = Don't record till an externa entity via zmtrigger tells Zoneminder to (this is advanced usage). * **H**: If you click on these links you can view a "Montage" of all your configured monitors or cycle through each one From 8a537029ea7a5bd4c91294fd458694393785812f Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sat, 6 Feb 2016 14:08:28 -0600 Subject: [PATCH 008/193] Initial commit to add zmtelemetry.pl --- .../lib/ZoneMinder/ConfigData.pm.in | 17 ++ scripts/zmdc.pl.in | 3 +- scripts/zmpkg.pl.in | 4 + scripts/zmtelemetry.pl.in | 161 ++++++++++++++++++ 4 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 scripts/zmtelemetry.pl.in diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index 198ff2194..ffe063b60 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -2746,6 +2746,23 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s type => $types{boolean}, category => "system", }, + { + name => "ZM_TELEMETRY_DATA", + default => "yes", + description => "Send usage information to ZoneMinder", + help => qqq(" + Enable collection of usage information of the local system and send + it to the ZoneMinder development team. This data will be used to + determine things like who and where our customers are, how big their + systems are, the underlying hardware and operating system, etc. + This is being done for the sole purpoase of creating a better + product for our target audience. This script is intended to be + completely transparent to the end user, and can be disabled from + the web console under Options. + "), + type => $types{boolean}, + category => "system", + }, { name => "ZM_UPDATE_CHECK_PROXY", default => "", diff --git a/scripts/zmdc.pl.in b/scripts/zmdc.pl.in index 5e2fb47c7..4d36385ef 100644 --- a/scripts/zmdc.pl.in +++ b/scripts/zmdc.pl.in @@ -87,7 +87,8 @@ my @daemons = ( 'zmx10.pl', 'zmwatch.pl', 'zmupdate.pl', - 'zmtrack.pl' + 'zmtrack.pl', + 'zmtelemetry.pl', ); my $command = shift @ARGV; diff --git a/scripts/zmpkg.pl.in b/scripts/zmpkg.pl.in index 183f8084c..53e29a8da 100644 --- a/scripts/zmpkg.pl.in +++ b/scripts/zmpkg.pl.in @@ -285,6 +285,10 @@ if ( $command =~ /^(?:start|restart)$/ ) { runCommand( "zmdc.pl start zmupdate.pl -c" ); } + if ( $Config{ZM_TELEMETRY_DATA} ) + { + runCommand( "zmdc.pl start zmtelemetry.pl" ); + } } else { diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in new file mode 100644 index 000000000..7b3b376a4 --- /dev/null +++ b/scripts/zmtelemetry.pl.in @@ -0,0 +1,161 @@ +#!/usr/bin/perl -w +# +# ========================================================================== +# +# ZoneMinder Update Script, $Date$, $Revision$ +# Copyright (C) 2001-2008 Philip Coombes +# +# 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. +# +# ========================================================================== + +=head1 NAME + +zmtelemetry.pl - Send usage information to the ZoneMinder development team + +=head1 SYNOPSIS + + zmtelemetry.pl + +=head1 DESCRIPTION + +This script collects usage information of the local system and sends it to the +ZoneMinder development team. This data will be used to determine things like +who and where our customers are, how big their systems are, the underlying +hardware and operating system, etc. This is being done for the sole purpoase of +creating a better product for our target audience. This script is intended to +be completely transparent to the end user, and can be disabled from the web +console under Options. + +=head1 OPTIONS + +none currently + +=cut +use strict; +use bytes; + +@EXTRA_PERL_LIB@ +use ZoneMinder::Config qw(:all); +use ZoneMinder::Logger qw(:all); +use ZoneMinder::Database qw(:all); +use DBI; +use Getopt::Long; +use autouse 'Pod::Usage'=>qw(pod2usage); + +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; +$ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; +delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; + +use constant CHECK_INTERVAL => (14*24*60*60); # Interval between version checks + +# Setting these as contants for now. +# Alternatively, we can put these in the dB and then retrieve using the Config hash. +use constant ZM_TELEMETRY_SERVER_NAME => "telemetry.zoneminder.com"; +use constant ZM_TELEMETRY_SERVER_PORT => "80"; + +if ( $Config{ZM_TELEMETRY_DATA} ) +{ + print( "Update agent starting at ".strftime( '%y/%m/%d %H:%M:%S', localtime() )."\n" ); + + my $lastCheck = $Config{ZM_TELEMETRY_LAST_CHECK}; + + while( 1 ) + { + my $now = time(); + if ( ($now-$lastCheck) > CHECK_INTERVAL) ) + { + Info( "Colleting data to send to ZoneMinder Telemetry server\n" ); + + # This is where we gather our data. The following is just an oversimplified example. + # Modify accordingly. + + # We should keep *BSD systems in mind when calling system commands + my $result = runSysCmd("uname -a")."\n"; + my $result .= "ZM_DYN_CURR_VERSION: ".Config{ZM_DYN_CURR_VERSION}; + + Info( "Sending data to ZoneMinder Telemetry server\n" ); + + if ( sendData($result) ) { + $lastCheck = $now; + + my $lc_sql = "update Config set Value = ? where Name = 'ZM_DYN_LAST_CHECK'"; + my $lc_sth = $dbh->prepare_cached( $lc_sql ) or die( "Can't prepare '$lc_sql': ".$dbh->errstr() ); + my $lc_res = $lc_sth->execute( $lastCheck ) or die( "Can't execute: ".$lc_sth->errstr() ); + } + } + sleep( 3600 ); + } + print( "Update agent exiting at ".strftime( '%y/%m/%d %H:%M:%S', localtime() )."\n" ); +} + +# Find, verify, then run the supplied system command +sub runSysCmd { + my $msg = shift; + my @arguments = split(/ /,$msg); + chomp($arguments[0]); + my $path = qx( which $arguments[0] ); + + my $status = $? >> 8; + my $result = ""; + if ( !$path || $status ) { + Warning( "Cannot find the $arguments[0] executable." ); + } else { + chomp($path); + $arguments[0] = $path; + my $cmd = join(" ",@arguments); + my $result = qx( $cmd ); + } + return chomp($result); +} + +# Upload message data to ZoneMinder telemetry server +sub sendData { + my $msg = shift; + + use LWP::UserAgent; + + my $ua = LWP::UserAgent->new; + my $server_endpoint = "http://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/"; + + if ( $Config{ZM_UPDATE_CHECK_PROXY} ) { + $ua->proxy( "http", $Config{ZM_UPDATE_CHECK_PROXY} ); + } + + # set custom HTTP request header fields + my $req = HTTP::Request->new(POST => $server_endpoint); + # We can set some things in the header if we need to + #$req->header('content-type' => 'content here'); + #$req->header('Host' => '192.168.1.83:8899'); + $req->header('content-length' => length($msg)); + #$req->header('accept-encoding' => 'gzip, deflate'); + $req->header('connection' => 'Close'); + + $req->content($msg); + + my $resp = $ua->request($req); + my success = 0; + if ($resp->is_success) { + my $message = $resp->decoded_content; + Info("Telemetry data successfully uploaded."); + Debug("Telemetry server upload success response message: $message\n"); + $success = 1; + } else { + Warning("Telemetry server returned HTTP POST error code: ", $resp->code, "\n"; + Debug("Telemetry server upload failure response message: ", $resp->message, "\n"; + } + return $success; +} + From e0ee05e05c34024b660ff595bf7c3f01e2d5edf6 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sat, 6 Feb 2016 14:10:42 -0600 Subject: [PATCH 009/193] add zmtelemetry to cmake --- scripts/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index e9dd6ddd3..fb549861b 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -16,6 +16,7 @@ configure_file(zmvideo.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmvideo.pl" @ONLY) configure_file(zmwatch.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmwatch.pl" @ONLY) configure_file(zmcamtool.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmcamtool.pl" @ONLY) configure_file(zmsystemctl.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" @ONLY) +configure_file(zmtelemetry.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" @ONLY) if(NOT ZM_NO_X10) configure_file(zmx10.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmx10.pl" @ONLY) endif(NOT ZM_NO_X10) @@ -31,7 +32,7 @@ FOREACH(PERLSCRIPT ${perlscripts}) ENDFOREACH(PERLSCRIPT ${perlscripts}) # Install the perl scripts -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/zmaudit.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmcontrol.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmdc.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmfilter.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmpkg.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmtrack.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmtrigger.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmupdate.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmvideo.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmwatch.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmcamtool.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/zmaudit.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmcontrol.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmdc.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmfilter.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmpkg.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmtrack.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmtrigger.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmupdate.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmvideo.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmwatch.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmcamtool.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" "${CMAKE_CURRENT_BINARY_DIR}/zmtelemetry.pl" DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) if(NOT ZM_NO_X10) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/zmx10.pl" DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif(NOT ZM_NO_X10) From 4ad31695bae09b2143fe150954bb03501145bb52 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sat, 6 Feb 2016 14:25:00 -0600 Subject: [PATCH 010/193] fix typo in cmakefile --- scripts/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index fb549861b..cec664d6a 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -16,7 +16,7 @@ configure_file(zmvideo.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmvideo.pl" @ONLY) configure_file(zmwatch.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmwatch.pl" @ONLY) configure_file(zmcamtool.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmcamtool.pl" @ONLY) configure_file(zmsystemctl.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" @ONLY) -configure_file(zmtelemetry.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" @ONLY) +configure_file(zmtelemetry.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmtelemetry.pl.in" @ONLY) if(NOT ZM_NO_X10) configure_file(zmx10.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmx10.pl" @ONLY) endif(NOT ZM_NO_X10) From f607e3a6fa05c03b645a70346c008e5450167f3c Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sat, 6 Feb 2016 14:50:02 -0600 Subject: [PATCH 011/193] zmtelemetry - the typo of my typo is my friend --- scripts/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index cec664d6a..37f93fd12 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -16,7 +16,7 @@ configure_file(zmvideo.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmvideo.pl" @ONLY) configure_file(zmwatch.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmwatch.pl" @ONLY) configure_file(zmcamtool.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmcamtool.pl" @ONLY) configure_file(zmsystemctl.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmsystemctl.pl" @ONLY) -configure_file(zmtelemetry.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmtelemetry.pl.in" @ONLY) +configure_file(zmtelemetry.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmtelemetry.pl" @ONLY) if(NOT ZM_NO_X10) configure_file(zmx10.pl.in "${CMAKE_CURRENT_BINARY_DIR}/zmx10.pl" @ONLY) endif(NOT ZM_NO_X10) From 609784f9023198aec771840be5bd39f144f3f245 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Tue, 9 Feb 2016 12:49:09 -0700 Subject: [PATCH 012/193] Update telemetry host, port and protocol --- scripts/zmtelemetry.pl.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 7b3b376a4..945c82156 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -63,8 +63,8 @@ use constant CHECK_INTERVAL => (14*24*60*60); # Interval between version checks # Setting these as contants for now. # Alternatively, we can put these in the dB and then retrieve using the Config hash. -use constant ZM_TELEMETRY_SERVER_NAME => "telemetry.zoneminder.com"; -use constant ZM_TELEMETRY_SERVER_PORT => "80"; +use constant ZM_TELEMETRY_SERVER_NAME => "38092a65757da3cb5f949b6b94aa8fc9.us-east-1.aws.found.io"; +use constant ZM_TELEMETRY_SERVER_PORT => "9243"; if ( $Config{ZM_TELEMETRY_DATA} ) { @@ -128,7 +128,7 @@ sub sendData { use LWP::UserAgent; my $ua = LWP::UserAgent->new; - my $server_endpoint = "http://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/"; + my $server_endpoint = "https://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/"; if ( $Config{ZM_UPDATE_CHECK_PROXY} ) { $ua->proxy( "http", $Config{ZM_UPDATE_CHECK_PROXY} ); From 7a9740b1a4563fdcfe4d333080318c738ecdcb85 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Tue, 9 Feb 2016 14:35:45 -0600 Subject: [PATCH 013/193] Update zmtelemetry.pl.in --- scripts/zmtelemetry.pl.in | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 945c82156..4a3a6efcf 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -128,19 +128,16 @@ sub sendData { use LWP::UserAgent; my $ua = LWP::UserAgent->new; - my $server_endpoint = "https://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/"; + my $server_endpoint = "https://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/zmtelemetry/testing/"; if ( $Config{ZM_UPDATE_CHECK_PROXY} ) { - $ua->proxy( "http", $Config{ZM_UPDATE_CHECK_PROXY} ); + $ua->proxy( "https", $Config{ZM_UPDATE_CHECK_PROXY} ); } # set custom HTTP request header fields my $req = HTTP::Request->new(POST => $server_endpoint); - # We can set some things in the header if we need to - #$req->header('content-type' => 'content here'); - #$req->header('Host' => '192.168.1.83:8899'); + $req->header('content-type' => 'application/x-www-form-urlencoded'); $req->header('content-length' => length($msg)); - #$req->header('accept-encoding' => 'gzip, deflate'); $req->header('connection' => 'Close'); $req->content($msg); From 18c493a1806864c4d0ef152410e23f20e6de3956 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Wed, 10 Feb 2016 13:04:14 -0600 Subject: [PATCH 014/193] Add getUUID subroutine, Add ZM_TELEMETRY_LAST_UPLOAD --- .../lib/ZoneMinder/ConfigData.pm.in | 21 +++++++++++++++++ scripts/zmtelemetry.pl.in | 23 ++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index ffe063b60..2c014aee2 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -2763,6 +2763,27 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s type => $types{boolean}, category => "system", }, + { + name => "ZM_TELEMETRY_UUID", + default => "yes", + description => "Unique identifier for ZoneMinder telemetry", + help => qqq(" + This variable is auto-generated once by the system and is used to + uniquely identify it among all other ZoneMinder systems in + existence. + "), + type => $types{string}, + category => "dynamic", + }, + { + name => "ZM_TELEMETRY_LAST_UPLOAD", + default => "", + description => "When the last ZoneMinder telemetry upload ocurred", + help => "", + type => $types{integer}, + readonly => 1, + category => "dynamic", + }, { name => "ZM_UPDATE_CHECK_PROXY", default => "", diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 4a3a6efcf..bc7458ac1 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -91,7 +91,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) if ( sendData($result) ) { $lastCheck = $now; - my $lc_sql = "update Config set Value = ? where Name = 'ZM_DYN_LAST_CHECK'"; + my $lc_sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_LAST_UPLOAD'"; my $lc_sth = $dbh->prepare_cached( $lc_sql ) or die( "Can't prepare '$lc_sql': ".$dbh->errstr() ); my $lc_res = $lc_sth->execute( $lastCheck ) or die( "Can't execute: ".$lc_sth->errstr() ); } @@ -156,3 +156,24 @@ sub sendData { return $success; } +# Retrieves the UUID from the database. Creates a new UUID if one does not exist. +sub getUUID { + my $uuid= ""; + + if ( $Config{ZM_TELEMETRY_UUID} ) { + $uuid = $Config{ZM_TELEMETRY_UUID}; + } else { + use OSSSP::uuid; + my $uuidobj = OSSP::uuid->new; + $uuidobj -> make("v1"); + $uuid = $uuidobj->export("str"); + + my $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_UUID'"; + my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); + my $res = $sth->execute( $uuid ) or die( "Can't execute: ".$sth->errstr() ); + } + +return $uuid; +} + + From f48ffb60e6376220def5019c303ab5cf0b06d59b Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Wed, 10 Feb 2016 13:37:22 -0600 Subject: [PATCH 015/193] update ZM_TELEMETRY_UUID after creating uuid --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index bc7458ac1..1b68f31c3 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -166,7 +166,7 @@ sub getUUID { use OSSSP::uuid; my $uuidobj = OSSP::uuid->new; $uuidobj -> make("v1"); - $uuid = $uuidobj->export("str"); + $uuid = $Config{ZM_TELEMETRY_UUID} = $uuidobj->export("str"); my $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_UUID'"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); From 177a70a2485f9f7cc0a224e261b5bbd692e1aea1 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Wed, 10 Feb 2016 14:05:34 -0600 Subject: [PATCH 016/193] add getIP subroutine to zmtelemetry.pl --- scripts/zmtelemetry.pl.in | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 1b68f31c3..99e32cac1 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -176,4 +176,21 @@ sub getUUID { return $uuid; } +# Retrieves the local server's external IP address +sub getIP { + use LWP::UserAgent; + + my $ipaddr = "0.0.0.0"; + my $ua = LWP::UserAgent->new; + my $server_endpoint = "https://wiki.zoneminder.com/ip.php"; + + my $req = HTTP::Request->new(GET => $server_endpoint); + my $resp = $ua->request($req); + + if ($resp->is_success) { + $ipaddr = $resp->decoded_content; + } + +return $ipaddr; +} From 6d81ef247e8b1a37d8acff216dce07f7810778bc Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Wed, 10 Feb 2016 20:46:05 -0600 Subject: [PATCH 017/193] build telemetry hash then jsonencode it --- scripts/zmtelemetry.pl.in | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 99e32cac1..5d7fcb1a0 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -54,6 +54,9 @@ use ZoneMinder::Database qw(:all); use DBI; use Getopt::Long; use autouse 'Pod::Usage'=>qw(pod2usage); +use LWP::UserAgent; +use Sys::MemInfo; +use Sys::CPU; $ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; @@ -77,16 +80,26 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my $now = time(); if ( ($now-$lastCheck) > CHECK_INTERVAL) ) { - Info( "Colleting data to send to ZoneMinder Telemetry server\n" ); - - # This is where we gather our data. The following is just an oversimplified example. - # Modify accordingly. + Info( "Colleting data to send to ZoneMinder Telemetry server." ); + # Build the telemetry hash # We should keep *BSD systems in mind when calling system commands - my $result = runSysCmd("uname -a")."\n"; - my $result .= "ZM_DYN_CURR_VERSION: ".Config{ZM_DYN_CURR_VERSION}; + my %telemetry; + $telemetry{uuid} = getUUID(); + $telemetry{ip} = getIP(); + $telemetry{timestamp} = runSysCmd("date -In"); + #$telemetry{monitor_count} = TO-DO + #$telemetry{event_count} = TO-DO + $telemetry{distro} = runSysCmd("uname -a"); + $telemetry{release} = runSysCmd("cat /etc/*{release,version}"); + $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; + $telemetry{system_memory} = totalmem() / (1024*1024); + $telemetry{processor_count} = cpu_count(); + #$telemetry{monitors} = TO-DO - Info( "Sending data to ZoneMinder Telemetry server\n" ); + Info( "Sending data to ZoneMinder Telemetry server." ); + + my $result = jsonEncode( \%telemetry ); if ( sendData($result) ) { $lastCheck = $now; @@ -95,6 +108,8 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my $lc_sth = $dbh->prepare_cached( $lc_sql ) or die( "Can't prepare '$lc_sql': ".$dbh->errstr() ); my $lc_res = $lc_sth->execute( $lastCheck ) or die( "Can't execute: ".$lc_sth->errstr() ); } + + Info( "Telemetry data uploaded successfully." ); } sleep( 3600 ); } @@ -125,8 +140,6 @@ sub runSysCmd { sub sendData { my $msg = shift; - use LWP::UserAgent; - my $ua = LWP::UserAgent->new; my $server_endpoint = "https://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/zmtelemetry/testing/"; @@ -147,11 +160,11 @@ sub sendData { if ($resp->is_success) { my $message = $resp->decoded_content; Info("Telemetry data successfully uploaded."); - Debug("Telemetry server upload success response message: $message\n"); + Debug("Telemetry server upload success response message: $message"); $success = 1; } else { - Warning("Telemetry server returned HTTP POST error code: ", $resp->code, "\n"; - Debug("Telemetry server upload failure response message: ", $resp->message, "\n"; + Warning("Telemetry server returned HTTP POST error code: $resp->code"); + Debug("Telemetry server upload failure response message: $resp->message"); } return $success; } @@ -178,8 +191,6 @@ return $uuid; # Retrieves the local server's external IP address sub getIP { - use LWP::UserAgent; - my $ipaddr = "0.0.0.0"; my $ua = LWP::UserAgent->new; my $server_endpoint = "https://wiki.zoneminder.com/ip.php"; From f5ff5d152c870793cd74ea138576b6bdd0b4fff1 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 11 Feb 2016 07:22:31 -0600 Subject: [PATCH 018/193] Add count query subroutine --- scripts/zmtelemetry.pl.in | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 5d7fcb1a0..6e33c9b55 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -88,8 +88,8 @@ if ( $Config{ZM_TELEMETRY_DATA} ) $telemetry{uuid} = getUUID(); $telemetry{ip} = getIP(); $telemetry{timestamp} = runSysCmd("date -In"); - #$telemetry{monitor_count} = TO-DO - #$telemetry{event_count} = TO-DO + $telemetry{monitor_count} = countQuery("Monitors"); + $telemetry{event_count} = countQuery("Events"); $telemetry{distro} = runSysCmd("uname -a"); $telemetry{release} = runSysCmd("cat /etc/*{release,version}"); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; @@ -205,3 +205,15 @@ sub getIP { return $ipaddr; } +# As the name implies, just your average mysql count query +sub countQuery { + my $table = shift; + my $count = 0; + + my $sql = "select count(*) from ?"; + my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); + $count = $sth->execute( $table ) or die( "Can't execute: ".$sth->errstr() ); + +return $count +} + From 1811d715624d8dd6dd29aacd6096a014d43bcbb8 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 11 Feb 2016 08:10:16 -0600 Subject: [PATCH 019/193] make date format compatible with *BSD --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 6e33c9b55..9e2003ae9 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -87,7 +87,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my %telemetry; $telemetry{uuid} = getUUID(); $telemetry{ip} = getIP(); - $telemetry{timestamp} = runSysCmd("date -In"); + $telemetry{timestamp} = runSysCmd("date +%Y-%m-%dT%H:%M:%S%z"); $telemetry{monitor_count} = countQuery("Monitors"); $telemetry{event_count} = countQuery("Events"); $telemetry{distro} = runSysCmd("uname -a"); From 1b6af8afaed4122bddcf7229e3f7f8608ec0cb0d Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 11 Feb 2016 13:10:36 -0600 Subject: [PATCH 020/193] modify telemetry parameters --- scripts/zmtelemetry.pl.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 9e2003ae9..439411790 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -57,6 +57,8 @@ use autouse 'Pod::Usage'=>qw(pod2usage); use LWP::UserAgent; use Sys::MemInfo; use Sys::CPU; +use DateTime; +use POSIX qw(strftime); $ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; @@ -87,9 +89,10 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my %telemetry; $telemetry{uuid} = getUUID(); $telemetry{ip} = getIP(); - $telemetry{timestamp} = runSysCmd("date +%Y-%m-%dT%H:%M:%S%z"); + $telemetry{timestamp} = DateTime->now( time_zone => "local" )->strftime("%Y-%m-%dT%H:%M:%S%z"); $telemetry{monitor_count} = countQuery("Monitors"); $telemetry{event_count} = countQuery("Events"); + $telemetry{architecture} = runSysCmd("uname -m"); $telemetry{distro} = runSysCmd("uname -a"); $telemetry{release} = runSysCmd("cat /etc/*{release,version}"); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; From 017417d8f80f3b41d40e4b8095a6b5f45cb15207 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 08:06:51 -0600 Subject: [PATCH 021/193] small changes to zmtelemetry --- scripts/zmtelemetry.pl.in | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 439411790..c8f082aa6 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -48,9 +48,7 @@ use strict; use bytes; @EXTRA_PERL_LIB@ -use ZoneMinder::Config qw(:all); -use ZoneMinder::Logger qw(:all); -use ZoneMinder::Database qw(:all); +use ZoneMinder; use DBI; use Getopt::Long; use autouse 'Pod::Usage'=>qw(pod2usage); @@ -83,7 +81,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) if ( ($now-$lastCheck) > CHECK_INTERVAL) ) { Info( "Colleting data to send to ZoneMinder Telemetry server." ); - + my $dbh = zmDbConnect(); # Build the telemetry hash # We should keep *BSD systems in mind when calling system commands my %telemetry; From 799437fdf1cd4c864edc11c73ad13c9d5a0ded2f Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 08:59:16 -0600 Subject: [PATCH 022/193] retrieve telemetry data from the monitors table --- scripts/zmtelemetry.pl.in | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index c8f082aa6..7dc52984b 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -96,7 +96,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; $telemetry{system_memory} = totalmem() / (1024*1024); $telemetry{processor_count} = cpu_count(); - #$telemetry{monitors} = TO-DO + $telemetry{monitors} = getMonitorRef(); Info( "Sending data to ZoneMinder Telemetry server." ); @@ -218,3 +218,14 @@ sub countQuery { return $count } +# Returns a reference to an array of hashes containing data from all monitors +sub getMonitorRef { + + my $sql = "SELECT Id,Name,Type,Function,Width,Height,Colours,MaxFPS,AlarmMaxFPS FROM Monitors"; + my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); + my $res = $sth->execute() or die( "Can't execute: ".$sth->errstr() ); + $arrayref = $sth->fetchall_arrayref({}); + +return $arrayref; +} + From b04e1eb0c6dc6d2f0e60e00fda6212f5575fb09c Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 09:18:15 -0600 Subject: [PATCH 023/193] let mysql generate the uuid --- scripts/zmtelemetry.pl.in | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 7dc52984b..d8adb8ff1 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -177,14 +177,15 @@ sub getUUID { if ( $Config{ZM_TELEMETRY_UUID} ) { $uuid = $Config{ZM_TELEMETRY_UUID}; } else { - use OSSSP::uuid; - my $uuidobj = OSSP::uuid->new; - $uuidobj -> make("v1"); - $uuid = $Config{ZM_TELEMETRY_UUID} = $uuidobj->export("str"); - - my $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_UUID'"; + my $sql = "select uuid()"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); - my $res = $sth->execute( $uuid ) or die( "Can't execute: ".$sth->errstr() ); + my $res = $sth->execute() or die( "Can't execute: ".$sth->errstr() ); + $uuid = $Config{ZM_TELEMETRY_UUID} = $sth->fetchrow_array(); + $sth->finish(); + + $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_UUID'"; + $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); + $res = $sth->execute( $uuid ) or die( "Can't execute: ".$sth->errstr() ); } return $uuid; @@ -213,7 +214,8 @@ sub countQuery { my $sql = "select count(*) from ?"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); - $count = $sth->execute( $table ) or die( "Can't execute: ".$sth->errstr() ); + my $res = $sth->execute( $table ) or die( "Can't execute: ".$sth->errstr() ); + my $count = $sth->fetchrow_array(); return $count } From c892e912cf633822139ca38024e33c49a2d79167 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 10:47:12 -0600 Subject: [PATCH 024/193] use uname -p for telemetry architecture --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index d8adb8ff1..5ddaf1cfd 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -90,7 +90,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) $telemetry{timestamp} = DateTime->now( time_zone => "local" )->strftime("%Y-%m-%dT%H:%M:%S%z"); $telemetry{monitor_count} = countQuery("Monitors"); $telemetry{event_count} = countQuery("Events"); - $telemetry{architecture} = runSysCmd("uname -m"); + $telemetry{architecture} = runSysCmd("uname -p"); $telemetry{distro} = runSysCmd("uname -a"); $telemetry{release} = runSysCmd("cat /etc/*{release,version}"); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; From 5045da9382fea120f130b4325f6d4abcaaacfe55 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 15:18:45 -0600 Subject: [PATCH 025/193] add initial distro determination logic to zmtelemetry --- scripts/zmtelemetry.pl.in | 100 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 3 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 5ddaf1cfd..b730c28c5 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -91,8 +91,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) $telemetry{monitor_count} = countQuery("Monitors"); $telemetry{event_count} = countQuery("Events"); $telemetry{architecture} = runSysCmd("uname -p"); - $telemetry{distro} = runSysCmd("uname -a"); - $telemetry{release} = runSysCmd("cat /etc/*{release,version}"); + ($telemetry{kernel}, $telemetry{distro}, $telemetry{version}) = getDistro(); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; $telemetry{system_memory} = totalmem() / (1024*1024); $telemetry{processor_count} = cpu_count(); @@ -132,7 +131,7 @@ sub runSysCmd { chomp($path); $arguments[0] = $path; my $cmd = join(" ",@arguments); - my $result = qx( $cmd ); + $result = qx( $cmd ); } return chomp($result); } @@ -231,3 +230,98 @@ sub getMonitorRef { return $arrayref; } +sub getDistro { + my $kernel = ""; + my $distro = ""; + my $version = ""; + + my $test = runSysCmd("uname"); + + if ( $test =~ /Linux/ ) { + #print "Linux distro.\n"; + ($kernel, $distro, $version) = linuxDistro(); + } elsif ( $test =~ /.*BSD/ ) { + #print "BSD distro.\n"; + $kernel = runSysCmd("uname -i"); + $distro = runSysCmd("uname"); + $version = runSysCmd("uname -r"); + } elsif ( $test =~ /Darwin/ ) { + #print "Mac OS.\n"; + } elsif ( $test =~ /SunOS|Solaris/ ) { + #print "Sun Solaris.\n"; + $kernel = runSysCmd("uname -v"); + $distro = runSysCmd("uname"); + $version = runSysCmd("uname -r"); + } else { + $kernel = "Unknown"; + $distro = "Unknown"; + $version = "Unknown"; + } + +return ($kernel, $distro, $version); +} + +sub linuxDistro { + my $kernel = runSysCmd("uname -r"); + my $distro = "Unknown Linux Distro"; + my $version = "Unknown Linux Version"; + my $found = 0; + + # + # TO-DO: The regex's below are close but still need tweaking. + # + + # os-release is the standard for many new distros based on systemd + if ( -f "/etc/os-release" ) { + open(my $RELFILE,"<","/etc/os-release") or die( "Can't Open file: $!\n" ); + while (<$RELFILE>) { + if ( /PRETTY_NAME=\"?(.*)\"?.*/ ) { + $distro = $1; + $found = 1; + } + if ( /VERSION_ID=\"?(.*)\"?.*/ ) { + $version = $1; + $found = 1; + } + } + close $RELFILE; + # exists on many distros but does not always contain useful information, such as redhat + } elsif ( -f "/etc/lsb-release" ) { + open(my $RELFILE,"<","/etc/lsb-release") or die( "Can't Open file: $!\n" ); + while (<$RELFILE>) { + if ( /DISTRIB_DESCRIPTION=\"?(.*)\"?.*/ ) { + $distro = $1; + $found = 1; + } + if ( /DISTRIB_RELEASE=\"?(.*)\"?.*/ ) { + $version = $1; + $found = 1; + } + } + close $RELFILE; + } + + # If all else fails, search through a list of known release files until we find one + if ( !$found ) { + @releasefile = ("/etc/SuSE-release", "/etc/redhat-release", "/etc/redhat_version", + "/etc/fedora-release", "/etc/slackware-release", "/etc/slackware-version", + "/etc/debian_release", "/etc/debian_version", "/etc/mandrake-release", + "/etc/yellowdog-release", "/etc/gentoo-release"); + foreach (@releasefile) { + if ( -f $_ ) { + open(my $RELFILE,"<",$_) or die( "Can't Open file: $!\n" ); + while (<$RELFILE>) { + if ( /(.*).* (\d+\.?\d*) .*/ ) { + $distro = $1; + $version = $2; + } + } + close $RELFILE; + last; + } + } + } +return ($kernel, $distro, $version); +} + + From 3c48d81edb1ddf1097837032c42d32c600e38214 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 17:15:04 -0600 Subject: [PATCH 026/193] tweak regex's. add debug --- scripts/zmtelemetry.pl.in | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index b730c28c5..abfbf428d 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -238,17 +238,17 @@ sub getDistro { my $test = runSysCmd("uname"); if ( $test =~ /Linux/ ) { - #print "Linux distro.\n"; + Debug("Linux distro detected."); ($kernel, $distro, $version) = linuxDistro(); } elsif ( $test =~ /.*BSD/ ) { - #print "BSD distro.\n"; + Debug("BSD distro detected."); $kernel = runSysCmd("uname -i"); $distro = runSysCmd("uname"); $version = runSysCmd("uname -r"); } elsif ( $test =~ /Darwin/ ) { - #print "Mac OS.\n"; + Debug("Mac OS distro detected."); } elsif ( $test =~ /SunOS|Solaris/ ) { - #print "Sun Solaris.\n"; + Debug("Sun Solaris detected."); $kernel = runSysCmd("uname -v"); $distro = runSysCmd("uname"); $version = runSysCmd("uname -r"); @@ -275,12 +275,12 @@ sub linuxDistro { if ( -f "/etc/os-release" ) { open(my $RELFILE,"<","/etc/os-release") or die( "Can't Open file: $!\n" ); while (<$RELFILE>) { - if ( /PRETTY_NAME=\"?(.*)\"?.*/ ) { - $distro = $1; + if ( /^NAME=(")?(.*)(?(1)\1|).*$/ ) { + $distro = $2; $found = 1; } - if ( /VERSION_ID=\"?(.*)\"?.*/ ) { - $version = $1; + if ( /^VERSION_ID=(")?(.*)(?(1)\1|).*$/ ) { + $version = $2; $found = 1; } } @@ -289,12 +289,12 @@ sub linuxDistro { } elsif ( -f "/etc/lsb-release" ) { open(my $RELFILE,"<","/etc/lsb-release") or die( "Can't Open file: $!\n" ); while (<$RELFILE>) { - if ( /DISTRIB_DESCRIPTION=\"?(.*)\"?.*/ ) { - $distro = $1; + if ( /^DISTRIB_DESCRIPTION=(")?(.*)(?(1)\1|).*$/ ) { + $distro = $2; $found = 1; } - if ( /DISTRIB_RELEASE=\"?(.*)\"?.*/ ) { - $version = $1; + if ( /^DISTRIB_RELEASE=(")?(.*)(?(1)\1|).*$/ ) { + $version = $2; $found = 1; } } From 24838a91c9f2bebc87751e746f7caaa4041c8da6 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 17:38:00 -0600 Subject: [PATCH 027/193] set kernel, distro, and version for Mac OS --- scripts/zmtelemetry.pl.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index abfbf428d..d5fa56bad 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -247,6 +247,9 @@ sub getDistro { $version = runSysCmd("uname -r"); } elsif ( $test =~ /Darwin/ ) { Debug("Mac OS distro detected."); + $kernel = runSysCmd("uname -v"); + $distro = runSysCmd("uname"); + $version = runSysCmd("uname -r"); } elsif ( $test =~ /SunOS|Solaris/ ) { Debug("Sun Solaris detected."); $kernel = runSysCmd("uname -v"); From 87857f5dc1398d819dc08187cf54d10e2d5db807 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 12 Feb 2016 17:45:08 -0600 Subject: [PATCH 028/193] more debug and warnings --- scripts/zmtelemetry.pl.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index d5fa56bad..fa6f9631d 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -256,6 +256,7 @@ sub getDistro { $distro = runSysCmd("uname"); $version = runSysCmd("uname -r"); } else { + Warning("ZoneMinder was unable to determine the host system. Please report."); $kernel = "Unknown"; $distro = "Unknown"; $version = "Unknown"; @@ -317,6 +318,7 @@ sub linuxDistro { if ( /(.*).* (\d+\.?\d*) .*/ ) { $distro = $1; $version = $2; + $found = 1; } } close $RELFILE; @@ -324,6 +326,11 @@ sub linuxDistro { } } } + + if ( !found ) { + Warning("ZoneMinder was unable to determine Linux distro. Please report."); + } + return ($kernel, $distro, $version); } From 5150829a9fb325aa00de4a790b1b06a7198c8abe Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Sat, 13 Feb 2016 16:22:44 +1100 Subject: [PATCH 029/193] Convert to Travis Trusty --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d44973e2e..59018e553 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,6 @@ language: cpp +sudo: required +dist: trusty notifications: irc: "chat.freenode.net#zoneminder-dev" branches: @@ -24,7 +26,7 @@ before_install: - sudo apt-get update -qq - sudo apt-get install -y -qq libpolkit-gobject-1-dev zlib1g-dev apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf cmake libjpeg-turbo8-dev apache2-mpm-prefork libapache2-mod-php5 php5-cli libtheora-dev libvorbis-dev libvpx-dev libx264-dev libvlccore-dev libvlc-dev libvlccore5 libvlc5 2>&1 > /dev/null install: - - git clone -b n2.8.1 --depth=1 git://source.ffmpeg.org/ffmpeg.git + - git clone -b n2.8.6 --depth=1 git://source.ffmpeg.org/ffmpeg.git - cd ffmpeg - ./configure --enable-shared --enable-swscale --enable-gpl --enable-libx264 --enable-libvpx --enable-libvorbis --enable-libtheora - make -j `grep processor /proc/cpuinfo|wc -l` From 4303aa4fe28c3db2b8392e0de7de4db887223eaa Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Sat, 13 Feb 2016 16:34:49 +1100 Subject: [PATCH 030/193] Remove libvlc5 and libvlccore5, also attempt clang builds --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 59018e553..eeb99bd96 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,9 +22,10 @@ env: - ZM_BUILDMETHOD=autotools compiler: - gcc + - clang before_install: - sudo apt-get update -qq - - sudo apt-get install -y -qq libpolkit-gobject-1-dev zlib1g-dev apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf cmake libjpeg-turbo8-dev apache2-mpm-prefork libapache2-mod-php5 php5-cli libtheora-dev libvorbis-dev libvpx-dev libx264-dev libvlccore-dev libvlc-dev libvlccore5 libvlc5 2>&1 > /dev/null + - sudo apt-get install -y -qq libpolkit-gobject-1-dev zlib1g-dev apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf cmake libjpeg-turbo8-dev apache2-mpm-prefork libapache2-mod-php5 php5-cli libtheora-dev libvorbis-dev libvpx-dev libx264-dev libvlccore-dev libvlc-dev 2>&1 > /dev/null install: - git clone -b n2.8.6 --depth=1 git://source.ffmpeg.org/ffmpeg.git - cd ffmpeg From 08af88df1024b6be08ba2b30e8068de658ca5887 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sat, 13 Feb 2016 08:54:40 -0600 Subject: [PATCH 031/193] fix compilation errors --- scripts/zmtelemetry.pl.in | 59 ++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index fa6f9631d..ad5e9914b 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -53,8 +53,8 @@ use DBI; use Getopt::Long; use autouse 'Pod::Usage'=>qw(pod2usage); use LWP::UserAgent; -use Sys::MemInfo; -use Sys::CPU; +use Sys::MemInfo qw(totalmem); +use Sys::CPU qw(cpu_count); use DateTime; use POSIX qw(strftime); @@ -75,27 +75,25 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my $lastCheck = $Config{ZM_TELEMETRY_LAST_CHECK}; - while( 1 ) - { + while( 1 ) { my $now = time(); - if ( ($now-$lastCheck) > CHECK_INTERVAL) ) - { + if ( ($now-$lastCheck) > CHECK_INTERVAL ) { Info( "Colleting data to send to ZoneMinder Telemetry server." ); my $dbh = zmDbConnect(); # Build the telemetry hash # We should keep *BSD systems in mind when calling system commands my %telemetry; - $telemetry{uuid} = getUUID(); + $telemetry{uuid} = getUUID($dbh); $telemetry{ip} = getIP(); $telemetry{timestamp} = DateTime->now( time_zone => "local" )->strftime("%Y-%m-%dT%H:%M:%S%z"); - $telemetry{monitor_count} = countQuery("Monitors"); - $telemetry{event_count} = countQuery("Events"); + $telemetry{monitor_count} = countQuery($dbh,"Monitors"); + $telemetry{event_count} = countQuery($dbh,"Events"); $telemetry{architecture} = runSysCmd("uname -p"); ($telemetry{kernel}, $telemetry{distro}, $telemetry{version}) = getDistro(); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; $telemetry{system_memory} = totalmem() / (1024*1024); $telemetry{processor_count} = cpu_count(); - $telemetry{monitors} = getMonitorRef(); + $telemetry{monitors} = getMonitorRef($dbh); Info( "Sending data to ZoneMinder Telemetry server." ); @@ -104,9 +102,10 @@ if ( $Config{ZM_TELEMETRY_DATA} ) if ( sendData($result) ) { $lastCheck = $now; - my $lc_sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_LAST_UPLOAD'"; - my $lc_sth = $dbh->prepare_cached( $lc_sql ) or die( "Can't prepare '$lc_sql': ".$dbh->errstr() ); - my $lc_res = $lc_sth->execute( $lastCheck ) or die( "Can't execute: ".$lc_sth->errstr() ); + my $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_LAST_UPLOAD'"; + my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); + my $res = $sth->execute( "$lastCheck" ) or die( "Can't execute: ".$sth->errstr() ); + $sth->finish(); } Info( "Telemetry data uploaded successfully." ); @@ -116,6 +115,10 @@ if ( $Config{ZM_TELEMETRY_DATA} ) print( "Update agent exiting at ".strftime( '%y/%m/%d %H:%M:%S', localtime() )."\n" ); } +############### +# SUBROUTINES # +############### + # Find, verify, then run the supplied system command sub runSysCmd { my $msg = shift; @@ -156,35 +159,35 @@ sub sendData { $req->content($msg); my $resp = $ua->request($req); - my success = 0; if ($resp->is_success) { my $message = $resp->decoded_content; Info("Telemetry data successfully uploaded."); Debug("Telemetry server upload success response message: $message"); - $success = 1; } else { Warning("Telemetry server returned HTTP POST error code: $resp->code"); Debug("Telemetry server upload failure response message: $resp->message"); } - return $success; + return $resp->is_success; } # Retrieves the UUID from the database. Creates a new UUID if one does not exist. sub getUUID { + my $dbh = shift; my $uuid= ""; if ( $Config{ZM_TELEMETRY_UUID} ) { $uuid = $Config{ZM_TELEMETRY_UUID}; } else { - my $sql = "select uuid()"; + my $sql = "SELECT uuid()"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); my $res = $sth->execute() or die( "Can't execute: ".$sth->errstr() ); $uuid = $Config{ZM_TELEMETRY_UUID} = $sth->fetchrow_array(); $sth->finish(); - $sql = "update Config set Value = ? where Name = 'ZM_TELEMETRY_UUID'"; + $sql = "UPDATE Config set Value = ? WHERE Name = 'ZM_TELEMETRY_UUID'"; $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); - $res = $sth->execute( $uuid ) or die( "Can't execute: ".$sth->errstr() ); + $res = $sth->execute( "$uuid" ) or die( "Can't execute: ".$sth->errstr() ); + $sth->finish(); } return $uuid; @@ -208,24 +211,26 @@ return $ipaddr; # As the name implies, just your average mysql count query sub countQuery { + my $dbh = shift; my $table = shift; - my $count = 0; - my $sql = "select count(*) from ?"; + my $sql = "SELECT count(*) FROM $table"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); - my $res = $sth->execute( $table ) or die( "Can't execute: ".$sth->errstr() ); + my $res = $sth->execute() or die( "Can't execute: ".$sth->errstr() ); my $count = $sth->fetchrow_array(); + $sth->finish(); return $count } # Returns a reference to an array of hashes containing data from all monitors sub getMonitorRef { + my $dbh = shift; my $sql = "SELECT Id,Name,Type,Function,Width,Height,Colours,MaxFPS,AlarmMaxFPS FROM Monitors"; my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() ); my $res = $sth->execute() or die( "Can't execute: ".$sth->errstr() ); - $arrayref = $sth->fetchall_arrayref({}); + my $arrayref = $sth->fetchall_arrayref({}); return $arrayref; } @@ -271,10 +276,6 @@ sub linuxDistro { my $version = "Unknown Linux Version"; my $found = 0; - # - # TO-DO: The regex's below are close but still need tweaking. - # - # os-release is the standard for many new distros based on systemd if ( -f "/etc/os-release" ) { open(my $RELFILE,"<","/etc/os-release") or die( "Can't Open file: $!\n" ); @@ -307,7 +308,7 @@ sub linuxDistro { # If all else fails, search through a list of known release files until we find one if ( !$found ) { - @releasefile = ("/etc/SuSE-release", "/etc/redhat-release", "/etc/redhat_version", + my @releasefile = ("/etc/SuSE-release", "/etc/redhat-release", "/etc/redhat_version", "/etc/fedora-release", "/etc/slackware-release", "/etc/slackware-version", "/etc/debian_release", "/etc/debian_version", "/etc/mandrake-release", "/etc/yellowdog-release", "/etc/gentoo-release"); @@ -327,7 +328,7 @@ sub linuxDistro { } } - if ( !found ) { + if ( !$found ) { Warning("ZoneMinder was unable to determine Linux distro. Please report."); } From ee3f87a2ad67b045c622c9f8b2aba08a73e9aaca Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sat, 13 Feb 2016 14:53:22 -0600 Subject: [PATCH 032/193] additional refinements to zmtelemetry --- .../lib/ZoneMinder/ConfigData.pm.in | 2 +- scripts/zmtelemetry.pl.in | 29 ++++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index 2c014aee2..49c51e368 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -2765,7 +2765,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s }, { name => "ZM_TELEMETRY_UUID", - default => "yes", + default => "", description => "Unique identifier for ZoneMinder telemetry", help => qqq(" This variable is auto-generated once by the system and is used to diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index ad5e9914b..add9c141b 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -107,8 +107,6 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my $res = $sth->execute( "$lastCheck" ) or die( "Can't execute: ".$sth->errstr() ); $sth->finish(); } - - Info( "Telemetry data uploaded successfully." ); } sleep( 3600 ); } @@ -135,8 +133,10 @@ sub runSysCmd { $arguments[0] = $path; my $cmd = join(" ",@arguments); $result = qx( $cmd ); + chomp($result); } - return chomp($result); + +return $result; } # Upload message data to ZoneMinder telemetry server @@ -150,6 +150,8 @@ sub sendData { $ua->proxy( "https", $Config{ZM_UPDATE_CHECK_PROXY} ); } + Debug("Posting telemetry data to: $server_endpoint"); + # set custom HTTP request header fields my $req = HTTP::Request->new(POST => $server_endpoint); $req->header('content-type' => 'application/x-www-form-urlencoded'); @@ -159,15 +161,16 @@ sub sendData { $req->content($msg); my $resp = $ua->request($req); - if ($resp->is_success) { - my $message = $resp->decoded_content; - Info("Telemetry data successfully uploaded."); - Debug("Telemetry server upload success response message: $message"); + my $resp_msg = $resp->decoded_content; + my $resp_code = $resp->code; + if ($resp->is_success) { + Info("Telemetry data uploaded successfully."); + Debug("Telemetry server upload success response message: $resp_msg"); } else { - Warning("Telemetry server returned HTTP POST error code: $resp->code"); - Debug("Telemetry server upload failure response message: $resp->message"); + Warning("Telemetry server returned HTTP POST error code: $resp_code"); + Debug("Telemetry server upload failure response message: $resp_msg"); } - return $resp->is_success; +return $resp->is_success; } # Retrieves the UUID from the database. Creates a new UUID if one does not exist. @@ -175,7 +178,8 @@ sub getUUID { my $dbh = shift; my $uuid= ""; - if ( $Config{ZM_TELEMETRY_UUID} ) { + # Verify the current UUID is valid and not nil + if (( $Config{ZM_TELEMETRY_UUID} =~ /([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i ) && ( $Config{ZM_TELEMETRY_UUID} ne "00000000-0000-0000-0000-000000000000" )) { $uuid = $Config{ZM_TELEMETRY_UUID}; } else { my $sql = "SELECT uuid()"; @@ -189,6 +193,7 @@ sub getUUID { $res = $sth->execute( "$uuid" ) or die( "Can't execute: ".$sth->errstr() ); $sth->finish(); } + Debug("Using UUID of: $uuid"); return $uuid; } @@ -206,6 +211,8 @@ sub getIP { $ipaddr = $resp->decoded_content; } + Info("Found external ip address of: $ipaddr"); + return $ipaddr; } From 47eaea78bed46985bb86bd856dc047d12af30086 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sat, 13 Feb 2016 15:01:22 -0600 Subject: [PATCH 033/193] use units of bytes for total memory --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index add9c141b..c2a482a1c 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -91,7 +91,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) $telemetry{architecture} = runSysCmd("uname -p"); ($telemetry{kernel}, $telemetry{distro}, $telemetry{version}) = getDistro(); $telemetry{zm_version} = ZoneMinder::Base::ZM_VERSION; - $telemetry{system_memory} = totalmem() / (1024*1024); + $telemetry{system_memory} = totalmem(); $telemetry{processor_count} = cpu_count(); $telemetry{monitors} = getMonitorRef($dbh); From cd8a4adfabee2bbf4abbbf4e3e44f40bdbd2d198 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 15 Feb 2016 08:43:34 -0600 Subject: [PATCH 034/193] replace uname system call with native perl when applicable --- scripts/zmtelemetry.pl.in | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index c2a482a1c..26b620d38 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -56,7 +56,7 @@ use LWP::UserAgent; use Sys::MemInfo qw(totalmem); use Sys::CPU qw(cpu_count); use DateTime; -use POSIX qw(strftime); +use POSIX qw(strftime uname); $ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; @@ -246,27 +246,26 @@ sub getDistro { my $kernel = ""; my $distro = ""; my $version = ""; + my @uname = uname(); - my $test = runSysCmd("uname"); - - if ( $test =~ /Linux/ ) { + if ( $uname[0] =~ /Linux/ ) { Debug("Linux distro detected."); ($kernel, $distro, $version) = linuxDistro(); - } elsif ( $test =~ /.*BSD/ ) { + } elsif ( $uname[0] =~ /.*BSD/ ) { Debug("BSD distro detected."); - $kernel = runSysCmd("uname -i"); - $distro = runSysCmd("uname"); - $version = runSysCmd("uname -r"); - } elsif ( $test =~ /Darwin/ ) { + $kernel = $uname[3]; + $distro = $uname[0]; + $version = $uname[2]; + } elsif ( $uname[0] =~ /Darwin/ ) { Debug("Mac OS distro detected."); - $kernel = runSysCmd("uname -v"); - $distro = runSysCmd("uname"); - $version = runSysCmd("uname -r"); - } elsif ( $test =~ /SunOS|Solaris/ ) { + $kernel = $uname[3]; + $distro = runSysCmd("sw_vers -productName"); + $version = runSysCmd("sw_vers -productVersion"); + } elsif ( $uname[0] =~ /SunOS|Solaris/ ) { Debug("Sun Solaris detected."); - $kernel = runSysCmd("uname -v"); - $distro = runSysCmd("uname"); - $version = runSysCmd("uname -r"); + $kernel = $uname[3]; + $distro = $uname[1]; + $version = $uname[2]; } else { Warning("ZoneMinder was unable to determine the host system. Please report."); $kernel = "Unknown"; @@ -278,7 +277,8 @@ return ($kernel, $distro, $version); } sub linuxDistro { - my $kernel = runSysCmd("uname -r"); + my @uname = uname(); + my $kernel = $uname[2]; my $distro = "Unknown Linux Distro"; my $version = "Unknown Linux Version"; my $found = 0; From 87aceef479a8656ff4d7a0b099a89cd5879b3776 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 15 Feb 2016 08:50:11 -0600 Subject: [PATCH 035/193] change server endpoint --- scripts/zmtelemetry.pl.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 26b620d38..6697e4700 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -66,8 +66,7 @@ use constant CHECK_INTERVAL => (14*24*60*60); # Interval between version checks # Setting these as contants for now. # Alternatively, we can put these in the dB and then retrieve using the Config hash. -use constant ZM_TELEMETRY_SERVER_NAME => "38092a65757da3cb5f949b6b94aa8fc9.us-east-1.aws.found.io"; -use constant ZM_TELEMETRY_SERVER_PORT => "9243"; +use constant ZM_TELEMETRY_SERVER_ENDPOINT => 'https://zmanon:2b2d0b4skps@telemetry.zoneminder.com/zmtelemetry/testing'; if ( $Config{ZM_TELEMETRY_DATA} ) { @@ -144,7 +143,7 @@ sub sendData { my $msg = shift; my $ua = LWP::UserAgent->new; - my $server_endpoint = "https://".ZM_TELEMETRY_SERVER_NAME.":".ZM_TELEMETRY_SERVER_PORT."/zmtelemetry/testing/"; + my $server_endpoint = ZM_TELEMETRY_SERVER_ENDPOINT; if ( $Config{ZM_UPDATE_CHECK_PROXY} ) { $ua->proxy( "https", $Config{ZM_UPDATE_CHECK_PROXY} ); From e3afa5d1ec08acdac0082401dc417f80623e99a9 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 15 Feb 2016 12:38:13 -0600 Subject: [PATCH 036/193] change to testing5 --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index 6697e4700..e4475339f 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -66,7 +66,7 @@ use constant CHECK_INTERVAL => (14*24*60*60); # Interval between version checks # Setting these as contants for now. # Alternatively, we can put these in the dB and then retrieve using the Config hash. -use constant ZM_TELEMETRY_SERVER_ENDPOINT => 'https://zmanon:2b2d0b4skps@telemetry.zoneminder.com/zmtelemetry/testing'; +use constant ZM_TELEMETRY_SERVER_ENDPOINT => 'https://zmanon:2b2d0b4skps@telemetry.zoneminder.com/zmtelemetry/testing5'; if ( $Config{ZM_TELEMETRY_DATA} ) { From 041585b4a26f069d639417e9b360002bcff1b2c8 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 15 Feb 2016 14:03:16 -0600 Subject: [PATCH 037/193] Change Info to Debug --- scripts/zmtelemetry.pl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index e4475339f..a2f191ceb 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -210,7 +210,7 @@ sub getIP { $ipaddr = $resp->decoded_content; } - Info("Found external ip address of: $ipaddr"); + Debug("Found external ip address of: $ipaddr"); return $ipaddr; } From 8a2dc2897d3d35b47cb2a853c158ff654c63a9bb Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Mon, 15 Feb 2016 14:11:58 -0600 Subject: [PATCH 038/193] Perl DateTime dependency not needed --- scripts/zmtelemetry.pl.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/zmtelemetry.pl.in b/scripts/zmtelemetry.pl.in index a2f191ceb..a5c2e00a3 100644 --- a/scripts/zmtelemetry.pl.in +++ b/scripts/zmtelemetry.pl.in @@ -55,7 +55,6 @@ use autouse 'Pod::Usage'=>qw(pod2usage); use LWP::UserAgent; use Sys::MemInfo qw(totalmem); use Sys::CPU qw(cpu_count); -use DateTime; use POSIX qw(strftime uname); $ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; @@ -84,7 +83,7 @@ if ( $Config{ZM_TELEMETRY_DATA} ) my %telemetry; $telemetry{uuid} = getUUID($dbh); $telemetry{ip} = getIP(); - $telemetry{timestamp} = DateTime->now( time_zone => "local" )->strftime("%Y-%m-%dT%H:%M:%S%z"); + $telemetry{timestamp} = strftime( "%Y-%m-%dT%H:%M:%S%z", localtime() ); $telemetry{monitor_count} = countQuery($dbh,"Monitors"); $telemetry{event_count} = countQuery($dbh,"Events"); $telemetry{architecture} = runSysCmd("uname -p"); From 4fd984f30b23fc86e6ddf28d16fe5cea16259266 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Thu, 25 Feb 2016 22:32:18 +1100 Subject: [PATCH 039/193] ffmpeg 3.0.0 build --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index eeb99bd96..c4bd95bc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ before_install: - sudo apt-get update -qq - sudo apt-get install -y -qq libpolkit-gobject-1-dev zlib1g-dev apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf cmake libjpeg-turbo8-dev apache2-mpm-prefork libapache2-mod-php5 php5-cli libtheora-dev libvorbis-dev libvpx-dev libx264-dev libvlccore-dev libvlc-dev 2>&1 > /dev/null install: - - git clone -b n2.8.6 --depth=1 git://source.ffmpeg.org/ffmpeg.git + - git clone -b n3.0.0 --depth=1 git://source.ffmpeg.org/ffmpeg.git - cd ffmpeg - ./configure --enable-shared --enable-swscale --enable-gpl --enable-libx264 --enable-libvpx --enable-libvorbis --enable-libtheora - make -j `grep processor /proc/cpuinfo|wc -l` From b53e9e7dadfbd09d754408046aebce3a49133fc5 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Thu, 25 Feb 2016 22:38:19 +1100 Subject: [PATCH 040/193] ffmpeg 3.0 too many 0000s --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c4bd95bc9..03fcb2c2b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ before_install: - sudo apt-get update -qq - sudo apt-get install -y -qq libpolkit-gobject-1-dev zlib1g-dev apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf cmake libjpeg-turbo8-dev apache2-mpm-prefork libapache2-mod-php5 php5-cli libtheora-dev libvorbis-dev libvpx-dev libx264-dev libvlccore-dev libvlc-dev 2>&1 > /dev/null install: - - git clone -b n3.0.0 --depth=1 git://source.ffmpeg.org/ffmpeg.git + - git clone -b n3.0 --depth=1 git://source.ffmpeg.org/ffmpeg.git - cd ffmpeg - ./configure --enable-shared --enable-swscale --enable-gpl --enable-libx264 --enable-libvpx --enable-libvorbis --enable-libtheora - make -j `grep processor /proc/cpuinfo|wc -l` From 5ff427d9e9d90417852908c574415f9873af7265 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 01:05:40 +1100 Subject: [PATCH 041/193] Removed Autotools Makefile.am Conflicts: Makefile.am misc/Makefile.am src/Makefile.am web/includes/Makefile.am web/js/Makefile.am web/skins/classic/css/classic/views/Makefile.am web/skins/classic/css/flat/views/Makefile.am web/skins/classic/views/Makefile.am web/skins/classic/views/js/Makefile.am --- Makefile.am | 40 ------ db/Makefile.am | 14 -- misc/Makefile.am | 17 --- onvif/Makefile.am | 26 ---- onvif/scripts/Makefile.am | 5 - scripts/Makefile.am | 75 ---------- src/Makefile.am | 135 ------------------ web/Makefile.am | 35 ----- web/ajax/Makefile.am | 12 -- web/css/Makefile.am | 8 -- web/graphics/Makefile.am | 8 -- web/includes/Makefile.am | 19 --- web/js/Makefile.am | 8 -- web/lang/Makefile.am | 25 ---- web/skins/Makefile.am | 6 - web/skins/classic/Makefile.am | 15 -- web/skins/classic/ajax/Makefile.am | 5 - web/skins/classic/css/Makefile.am | 7 - web/skins/classic/css/classic/Makefile.am | 10 -- .../classic/css/classic/views/Makefile.am | 31 ---- web/skins/classic/css/dark/Makefile.am | 10 -- web/skins/classic/css/dark/views/Makefile.am | 31 ---- web/skins/classic/css/flat/Makefile.am | 10 -- web/skins/classic/css/flat/views/Makefile.am | 31 ---- web/skins/classic/graphics/Makefile.am | 23 --- web/skins/classic/includes/Makefile.am | 11 -- web/skins/classic/js/Makefile.am | 10 -- web/skins/classic/lang/Makefile.am | 5 - web/skins/classic/views/Makefile.am | 57 -------- web/skins/classic/views/js/Makefile.am | 50 ------- web/skins/mobile/Makefile.am | 14 -- web/skins/mobile/ajax/Makefile.am | 5 - web/skins/mobile/css/Makefile.am | 6 - web/skins/mobile/graphics/Makefile.am | 5 - web/skins/mobile/includes/Makefile.am | 9 -- web/skins/mobile/lang/Makefile.am | 5 - web/skins/mobile/views/Makefile.am | 22 --- web/skins/mobile/views/css/Makefile.am | 6 - web/skins/xml/Makefile.am | 10 -- web/skins/xml/includes/Makefile.am | 8 -- web/skins/xml/views/Makefile.am | 11 -- web/tools/Makefile.am | 4 - web/tools/mootools/Makefile.am | 16 --- web/views/Makefile.am | 6 - 44 files changed, 866 deletions(-) delete mode 100644 Makefile.am delete mode 100644 db/Makefile.am delete mode 100644 misc/Makefile.am delete mode 100644 onvif/Makefile.am delete mode 100644 onvif/scripts/Makefile.am delete mode 100644 scripts/Makefile.am delete mode 100644 src/Makefile.am delete mode 100644 web/Makefile.am delete mode 100644 web/ajax/Makefile.am delete mode 100644 web/css/Makefile.am delete mode 100644 web/graphics/Makefile.am delete mode 100644 web/includes/Makefile.am delete mode 100644 web/js/Makefile.am delete mode 100644 web/lang/Makefile.am delete mode 100644 web/skins/Makefile.am delete mode 100644 web/skins/classic/Makefile.am delete mode 100644 web/skins/classic/ajax/Makefile.am delete mode 100644 web/skins/classic/css/Makefile.am delete mode 100644 web/skins/classic/css/classic/Makefile.am delete mode 100644 web/skins/classic/css/classic/views/Makefile.am delete mode 100644 web/skins/classic/css/dark/Makefile.am delete mode 100644 web/skins/classic/css/dark/views/Makefile.am delete mode 100644 web/skins/classic/css/flat/Makefile.am delete mode 100644 web/skins/classic/css/flat/views/Makefile.am delete mode 100644 web/skins/classic/graphics/Makefile.am delete mode 100644 web/skins/classic/includes/Makefile.am delete mode 100644 web/skins/classic/js/Makefile.am delete mode 100644 web/skins/classic/lang/Makefile.am delete mode 100644 web/skins/classic/views/Makefile.am delete mode 100644 web/skins/classic/views/js/Makefile.am delete mode 100644 web/skins/mobile/Makefile.am delete mode 100644 web/skins/mobile/ajax/Makefile.am delete mode 100644 web/skins/mobile/css/Makefile.am delete mode 100644 web/skins/mobile/graphics/Makefile.am delete mode 100644 web/skins/mobile/includes/Makefile.am delete mode 100644 web/skins/mobile/lang/Makefile.am delete mode 100644 web/skins/mobile/views/Makefile.am delete mode 100644 web/skins/mobile/views/css/Makefile.am delete mode 100644 web/skins/xml/Makefile.am delete mode 100644 web/skins/xml/includes/Makefile.am delete mode 100644 web/skins/xml/views/Makefile.am delete mode 100644 web/tools/Makefile.am delete mode 100644 web/tools/mootools/Makefile.am delete mode 100644 web/views/Makefile.am diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 62f767e75..000000000 --- a/Makefile.am +++ /dev/null @@ -1,40 +0,0 @@ -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I m4 - -# And these to the user and group of your webserver -webuser = @WEB_USER@ -webgroup = @WEB_GROUP@ -zmconfigdir = @ZM_CONFIG_DIR@ - -zmconfig_DATA = \ - zm.conf - -if COND_ONVIF - MAYBE_ONVIF = onvif -endif - -SUBDIRS = \ - src \ - web \ - scripts \ - db \ - misc \ - $(MAYBE_ONVIF) - -EXTRA_DIST = \ - zm.conf.in \ - zmconfgen.pl.in - -# Yes, you are correct. This is a HACK! -install-data-hook: - ( cd $(DESTDIR)$(zmconfigdir); chown $(webuser):$(webgroup) $(zmconfig_DATA); chmod 600 $(zmconfig_DATA) ) - ( if ! test -e $(DESTDIR)$(ZM_RUNDIR); then mkdir -p $(DESTDIR)$(ZM_RUNDIR); fi; if test "$(DESTDIR)$(ZM_RUNDIR)" != "/var/run"; then chown $(webuser):$(webgroup) $(DESTDIR)$(ZM_RUNDIR); chmod u+w $(DESTDIR)$(ZM_RUNDIR); fi ) - ( if ! test -e $(DESTDIR)$(ZM_SOCKDIR); then mkdir -p $(DESTDIR)$(ZM_SOCKDIR); fi; if test "$(DESTDIR)$(ZM_SOCKDIR)" != "/var/run"; then chown $(webuser):$(webgroup) $(DESTDIR)$(ZM_SOCKDIR); chmod u+w $(DESTDIR)$(ZM_SOCKDIR); fi ) - ( if ! test -e $(DESTDIR)$(ZM_TMPDIR); then mkdir -m 700 -p $(DESTDIR)$(ZM_TMPDIR); fi; if test "$(DESTDIR)$(ZM_TMPDIR)" != "/tmp" && test "$(DESTDIR)$(ZM_TMPDIR)" != "/var/tmp"; then chown $(webuser):$(webgroup) $(DESTDIR)$(ZM_TMPDIR); chmod u+w $(DESTDIR)$(ZM_TMPDIR); fi ) - -uninstall-hook: - @-( cd $(DESTDIR)$(webdir); rm -rf events graphics images sounds temp ) - @-( if test "$(DESTDIR)$(ZM_RUNDIR)" != "/var/run"; then rm -rf $(DESTDIR)$(ZM_RUNDIR); fi ) - @-( if test "$(DESTDIR)$(ZM_SOCKDIR)" != "/var/run"; then rm -rf $(DESTDIR)$(ZM_SOCKDIR); fi ) - @-( if test "$(DESTDIR)$(ZM_TMPDIR)" != "/tmp" && test "$(DESTDIR)$(ZM_TMPDIR)" != "/var/tmp"; then rm -rf $(DESTDIR)$(ZM_TMPDIR); fi ) - @-( if test "$(DESTDIR)$(ZM_LOGDIR)" != "/var/log"; then rm -rf $(DESTDIR)$(ZM_LOGDIR); fi ) diff --git a/db/Makefile.am b/db/Makefile.am deleted file mode 100644 index 9cb4e197c..000000000 --- a/db/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -AUTOMAKE_OPTIONS = foreign - -zmdbdatadir = $(pkgdatadir)/db - -EXTRA_DIST = \ - zm_create.sql.in \ - $(dbupgrade_scripts) - -dist_zmdbdata_DATA = \ - zm_create.sql \ - $(dbupgrade_scripts) - -dbupgrade_scripts = $(wildcard zm_update-*.sql) - diff --git a/misc/Makefile.am b/misc/Makefile.am deleted file mode 100644 index 5578e4373..000000000 --- a/misc/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -EXTRA_DIST = \ - apache.conf.in \ - logrotate.conf.in \ - syslog.conf.in \ - zoneminder-tmpfiles.conf.in \ - zoneminder.service.in \ - com.zoneminder.systemctl.policy.in \ - com.zoneminder.systemctl.rules.in - -polkit_actiondir = @POLKIT_PREFIX@/share/polkit-1/actions -dist_polkit_action_DATA = com.zoneminder.systemctl.policy - -polkit_rulesdir = @POLKIT_PREFIX@/share/polkit-1/rules.d -dist_polkit_rules_DATA = com.zoneminder.systemctl.rules - diff --git a/onvif/Makefile.am b/onvif/Makefile.am deleted file mode 100644 index 8cc9d700a..000000000 --- a/onvif/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ -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 diff --git a/onvif/scripts/Makefile.am b/onvif/scripts/Makefile.am deleted file mode 100644 index 80db9755c..000000000 --- a/onvif/scripts/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -bin_SCRIPTS = \ - zmonvif-probe.pl - diff --git a/scripts/Makefile.am b/scripts/Makefile.am deleted file mode 100644 index 5eacd8203..000000000 --- a/scripts/Makefile.am +++ /dev/null @@ -1,75 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -# Ack! Nasty hack to get modules Makefile regenerated if wiped with make clean -all-local: ZoneMinder/Makefile - -ZoneMinder/Makefile: ZoneMinder/Makefile.PL - ( cd ZoneMinder; perl Makefile.PL ) - -bin_SCRIPTS = \ - zmdc.pl \ - zmaudit.pl \ - zmfilter.pl \ - zmtrigger.pl \ - zmx10.pl \ - zmwatch.pl \ - zmpkg.pl \ - zmupdate.pl \ - zmvideo.pl \ - zmcontrol.pl \ - zmtrack.pl \ - zmcamtool.pl \ - zmsystemctl.pl - -SUBDIRS = \ - . \ - ZoneMinder - -EXTRA_DIST = \ - zmdc.pl.in \ - zmaudit.pl.in \ - zmfilter.pl.in \ - zmtrigger.pl.in \ - zmx10.pl.in \ - zmwatch.pl.in \ - zmpkg.pl.in \ - zmupdate.pl.in \ - zmvideo.pl.in \ - zmcontrol.pl.in \ - zmtrack.pl.in \ - zmcamtool.pl.in \ - zmsystemctl.pl.in \ - ZoneMinder/Makefile.PL \ - ZoneMinder/README \ - ZoneMinder/Changes \ - ZoneMinder/META.yml \ - ZoneMinder/MANIFEST \ - ZoneMinder/t/ZoneMinder.t \ - ZoneMinder/lib/ZoneMinder.pm \ - ZoneMinder/lib/ZoneMinder/Base.pm.in \ - ZoneMinder/lib/ZoneMinder/Config.pm.in \ - ZoneMinder/lib/ZoneMinder/Logger.pm \ - ZoneMinder/lib/ZoneMinder/General.pm \ - ZoneMinder/lib/ZoneMinder/Database.pm \ - ZoneMinder/lib/ZoneMinder/Memory.pm.in \ - ZoneMinder/lib/ZoneMinder/Memory/Shared.pm \ - ZoneMinder/lib/ZoneMinder/Memory/Mapped.pm \ - ZoneMinder/lib/ZoneMinder/ConfigAdmin.pm \ - ZoneMinder/lib/ZoneMinder/ConfigData.pm.in \ - ZoneMinder/lib/ZoneMinder/Control.pm \ - ZoneMinder/lib/ZoneMinder/Control \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/Handle.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/Spawning.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/Inet.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/Unix.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/File.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Channel/Serial.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Connection.pm \ - ZoneMinder/lib/ZoneMinder/Trigger/Connection/Example.pm \ - zm.in \ - zmdbbackup.in \ - zmdbrestore.in \ - zmeventdump.in \ - zmlogrotate.conf.in - diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index 9314daac0..000000000 --- a/src/Makefile.am +++ /dev/null @@ -1,135 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -AM_CPPFLAGS = @MYSQL_CFLAGS@ @MARIADB_CFLAGS@ @FFMPEG_CFLAGS@ -Wall -finline-functions -fomit-frame-pointer -#AM_CXXFLAGS = -frepo - -CLEANFILES = *.rpo - -# This should be set to your CGI directory -cgidir = @CGI_PREFIX@ -# And these to the user and group of your webserver -webuser = @WEB_USER@ -webgroup = @WEB_GROUP@ - -bin_PROGRAMS = \ - zmc \ - zma \ - zmu \ - zms \ - zmf \ - zmstreamer - -zm_SOURCES = \ - zm_box.cpp \ - zm_buffer.cpp \ - zm_camera.cpp \ - zm_comms.cpp \ - zm_config.cpp \ - zm_coord.cpp \ - zm_curl_camera.cpp \ - zm.cpp \ - zm_db.cpp \ - zm_logger.cpp \ - zm_event.cpp \ - zm_exception.cpp \ - zm_file_camera.cpp \ - zm_ffmpeg_camera.cpp \ - zm_image.cpp \ - zm_jpeg.cpp \ - zm_libvlc_camera.cpp \ - zm_local_camera.cpp \ - zm_monitor.cpp \ - zm_ffmpeg.cpp \ - zm_mpeg.cpp \ - zm_poly.cpp \ - zm_regexp.cpp \ - zm_remote_camera.cpp \ - zm_remote_camera_http.cpp \ - zm_remote_camera_rtsp.cpp \ - zm_rtp.cpp \ - zm_rtp_ctrl.cpp \ - zm_rtp_data.cpp \ - zm_rtp_source.cpp \ - zm_rtsp.cpp \ - zm_rtsp_auth.cpp \ - zm_sdp.cpp \ - zm_signal.cpp \ - zm_stream.cpp \ - zm_thread.cpp \ - zm_time.cpp \ - zm_timer.cpp \ - zm_user.cpp \ - zm_utils.cpp \ - zm_zone.cpp - -zmc_SOURCES = zmc.cpp $(zm_SOURCES) -zma_SOURCES = zma.cpp $(zm_SOURCES) -zms_SOURCES = zms.cpp $(zm_SOURCES) -zmu_SOURCES = zmu.cpp $(zm_SOURCES) -zmf_SOURCES = zmf.cpp $(zm_SOURCES) -zmstreamer_SOURCES = zmstreamer.cpp $(zm_SOURCES) - -noinst_HEADERS = \ - jinclude.h \ - zm_box.h \ - zm_buffer.h \ - zm_camera.h \ - zm_comms.h \ - zm_config_defines.h \ - zm_config.h \ - zm_coord.h \ - zm_curl_camera.h \ - zm_db.h \ - zm_logger.h \ - zm_event.h \ - zm_exception.h \ - zmf.h \ - zm_file_camera.h \ - zm_ffmpeg_camera.h \ - zm_font.h \ - zm_font.h \ - zm.h \ - zm_image.h \ - zm_jpeg.h \ - zm_libvlc_camera.h \ - zm_local_camera.h \ - zm_mem_utils.h \ - zm_monitor.h \ - zm_ffmpeg.h \ - zm_mpeg.h \ - zm_poly.h \ - zm_regexp.h \ - zm_remote_camera.h \ - zm_remote_camera_http.h \ - zm_remote_camera_rtsp.h \ - zm_rgb.h \ - zm_rtp_ctrl.h \ - zm_rtp_data.h \ - zm_rtp.h \ - zm_rtp_source.h \ - zm_rtsp.h \ - zm_sdp.h \ - zm_signal.h \ - zm_stream.h \ - zm_thread.h \ - zm_time.h \ - zm_timer.h \ - zm_user.h \ - zm_utils.h \ - zm_zone.h - -EXTRA_DIST = \ - zm_config.h.in \ - zm_threaddata.cpp - -dist-hook: - @( rm $(distdir)/zm_config.h ) - -# Yes, you are correct. This is a HACK! -install-exec-hook: - ( cd $(DESTDIR)@bindir@; mkdir -p $(DESTDIR)$(cgidir); mv zms $(DESTDIR)$(cgidir) ) - ( cd $(DESTDIR)$(cgidir); chown $(webuser):$(webgroup) zms; ln -f zms nph-zms ) - -uninstall-hook: - ( cd $(DESTDIR)$(cgidir); rm -f zms nph-zms ) - diff --git a/web/Makefile.am b/web/Makefile.am deleted file mode 100644 index 077a4ff91..000000000 --- a/web/Makefile.am +++ /dev/null @@ -1,35 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -# This should be set to your web directory -webdir = @WEB_PREFIX@ -# And these to the user and group of your webserver -webuser = @WEB_USER@ -webgroup = @WEB_GROUP@ - -SUBDIRS = \ - ajax \ - css \ - graphics \ - includes \ - js \ - lang \ - skins \ - tools \ - views - -dist_web_DATA = \ - index.php - -# Yes, you are correct. This is a HACK! -install-data-hook: - ( cd $(DESTDIR)$(webdir); chown $(webuser):$(webgroup) $(dist_web_DATA) ) - ( cd $(DESTDIR)$(webdir); chown -R $(webuser):$(webgroup) $(SUBDIRS) ) - @-( cd $(DESTDIR)$(webdir); if ! test -e events; then mkdir events; fi; chown $(webuser):$(webgroup) events; chmod u+w events ) - @-( cd $(DESTDIR)$(webdir); if ! test -e images; then mkdir images; fi; chown $(webuser):$(webgroup) images; chmod u+w images ) - @-( cd $(DESTDIR)$(webdir); if ! test -e sounds; then mkdir sounds; fi; chown $(webuser):$(webgroup) sounds; chmod u+w sounds ) - @-( cd $(DESTDIR)$(webdir); if ! test -e tools; then mkdir tools; fi; chown $(webuser):$(webgroup) tools; chmod u+w tools ) - @-( cd $(DESTDIR)$(webdir); if ! test -e temp; then mkdir temp; fi; chown $(webuser):$(webgroup) temp; chmod u+w temp ) - -uninstall-hook: - @-( cd $(DESTDIR)$(webdir); rm -rf $(SUBDIRS) ) - @-( cd $(DESTDIR)$(webdir); rm -rf events images sounds tools temp ) diff --git a/web/ajax/Makefile.am b/web/ajax/Makefile.am deleted file mode 100644 index ef79e6cae..000000000 --- a/web/ajax/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/ajax - -dist_web_DATA = \ - alarm.php \ - control.php \ - event.php \ - log.php \ - status.php \ - stream.php \ - zone.php diff --git a/web/css/Makefile.am b/web/css/Makefile.am deleted file mode 100644 index 917b8f389..000000000 --- a/web/css/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/css - -dist_web_DATA = \ - reset.css \ - spinner.css \ - overlay.css diff --git a/web/graphics/Makefile.am b/web/graphics/Makefile.am deleted file mode 100644 index ec252c82e..000000000 --- a/web/graphics/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/graphics - -dist_web_DATA = \ - favicon.ico \ - spinner.gif \ - transparent.gif diff --git a/web/includes/Makefile.am b/web/includes/Makefile.am deleted file mode 100644 index d4a1ece9b..000000000 --- a/web/includes/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/includes - -web_DATA = \ - config.php - -dist_web_DATA = \ - Monitor.php \ - Server.php \ - actions.php \ - database.php \ - functions.php \ - control_functions.php \ - lang.php \ - logger.php - -EXTRA_DIST = \ - config.php.in diff --git a/web/js/Makefile.am b/web/js/Makefile.am deleted file mode 100644 index 21c10613e..000000000 --- a/web/js/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/js - -dist_web_DATA = \ - logger.js \ - overlay.js \ - mootools.ext.js diff --git a/web/lang/Makefile.am b/web/lang/Makefile.am deleted file mode 100644 index 22d256a2e..000000000 --- a/web/lang/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/lang - -dist_web_DATA = \ - big5_big5.php \ - cn_zh.php \ - cs_cz.php \ - de_de.php \ - dk_dk.php \ - et_ee.php \ - en_gb.php \ - en_us.php \ - es_ar.php \ - fr_fr.php \ - he_il.php \ - hu_hu.php \ - it_it.php \ - ja_jp.php \ - nl_nl.php \ - pl_pl.php \ - pt_br.php \ - ro_ro.php \ - ru_ru.php \ - se_se.php diff --git a/web/skins/Makefile.am b/web/skins/Makefile.am deleted file mode 100644 index ae0abd8e8..000000000 --- a/web/skins/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -SUBDIRS = \ - classic \ - mobile \ - xml diff --git a/web/skins/classic/Makefile.am b/web/skins/classic/Makefile.am deleted file mode 100644 index 986beae0d..000000000 --- a/web/skins/classic/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic - -SUBDIRS = \ - ajax \ - css \ - graphics \ - includes \ - js \ - lang \ - views - -dist_web_DATA = \ - skin.php diff --git a/web/skins/classic/ajax/Makefile.am b/web/skins/classic/ajax/Makefile.am deleted file mode 100644 index f910cbc5c..000000000 --- a/web/skins/classic/ajax/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/ajax - -dist_web_DATA = # No files here diff --git a/web/skins/classic/css/Makefile.am b/web/skins/classic/css/Makefile.am deleted file mode 100644 index 2c43d2e47..000000000 --- a/web/skins/classic/css/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css - -SUBDIRS = dark \ - flat \ - classic diff --git a/web/skins/classic/css/classic/Makefile.am b/web/skins/classic/css/classic/Makefile.am deleted file mode 100644 index 48dc58ab7..000000000 --- a/web/skins/classic/css/classic/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/classic - -SUBDIRS = views - -dist_web_DATA = \ - skin.css \ - control.css \ - export.css diff --git a/web/skins/classic/css/classic/views/Makefile.am b/web/skins/classic/css/classic/views/Makefile.am deleted file mode 100644 index d07eaac4f..000000000 --- a/web/skins/classic/css/classic/views/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/classic/views - -dist_web_DATA = \ - console.css \ - controlcaps.css \ - control.css \ - devices.css \ - event.css \ - events.css \ - export.css \ - filter.css \ - frame.css \ - frames.css \ - groups.css \ - log.css \ - monitor.css \ - montage_2wide.css \ - montage_3wide50enlarge.css \ - montage_3wide.css \ - montage_4wide.css \ - montage.css \ - montage_freeform.css \ - options.css \ - stats.css \ - timeline.css \ - timeline.css.php \ - video.css \ - watch.css \ - zone.css diff --git a/web/skins/classic/css/dark/Makefile.am b/web/skins/classic/css/dark/Makefile.am deleted file mode 100644 index 6961860eb..000000000 --- a/web/skins/classic/css/dark/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/dark - -SUBDIRS = views - -dist_web_DATA = \ - skin.css \ - control.css \ - export.css diff --git a/web/skins/classic/css/dark/views/Makefile.am b/web/skins/classic/css/dark/views/Makefile.am deleted file mode 100644 index 2180d6432..000000000 --- a/web/skins/classic/css/dark/views/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/dark/views - -dist_web_DATA = \ - console.css \ - controlcaps.css \ - control.css \ - devices.css \ - event.css \ - events.css \ - export.css \ - filter.css \ - frame.css \ - frames.css \ - groups.css \ - log.css \ - monitor.css \ - montage_2wide.css \ - montage_3wide50enlarge.css \ - montage_3wide.css \ - montage_4wide.css \ - montage.css \ - montage_freeform.css \ - options.css \ - stats.css \ - timeline.css \ - timeline.css.php \ - video.css \ - watch.css \ - zone.css diff --git a/web/skins/classic/css/flat/Makefile.am b/web/skins/classic/css/flat/Makefile.am deleted file mode 100644 index 297982929..000000000 --- a/web/skins/classic/css/flat/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/flat - -SUBDIRS = views - -dist_web_DATA = \ - skin.css \ - control.css \ - export.css diff --git a/web/skins/classic/css/flat/views/Makefile.am b/web/skins/classic/css/flat/views/Makefile.am deleted file mode 100644 index dff0aa29b..000000000 --- a/web/skins/classic/css/flat/views/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/css/flat/views - -dist_web_DATA = \ - console.css \ - controlcaps.css \ - control.css \ - devices.css \ - event.css \ - events.css \ - export.css \ - filter.css \ - frame.css \ - frames.css \ - groups.css \ - log.css \ - monitor.css \ - montage_2wide.css \ - montage_3wide50enlarge.css \ - montage_3wide.css \ - montage_4wide.css \ - montage.css \ - montage_freeform.css \ - options.css \ - stats.css \ - timeline.css \ - timeline.css.php \ - video.css \ - watch.css \ - zone.css diff --git a/web/skins/classic/graphics/Makefile.am b/web/skins/classic/graphics/Makefile.am deleted file mode 100644 index c5c7b6bba..000000000 --- a/web/skins/classic/graphics/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/graphics - -dist_web_DATA = \ - arrow-d.gif \ - arrow-dl.gif \ - arrow-dr.gif \ - arrow-l-d.gif \ - arrow-l.gif \ - arrow-l-u.gif \ - arrow-r.gif \ - arrow-s-d.gif \ - arrow-s-u.gif \ - arrow-u.gif \ - arrow-ul.gif \ - arrow-ur.gif \ - center.gif \ - point-g.gif \ - point-o.gif \ - point-r.gif \ - seq-d.gif \ - seq-u.gif diff --git a/web/skins/classic/includes/Makefile.am b/web/skins/classic/includes/Makefile.am deleted file mode 100644 index 690df231a..000000000 --- a/web/skins/classic/includes/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/includes - -dist_web_DATA = \ - init.php \ - config.php \ - functions.php \ - control_functions.php \ - export_functions.php \ - timeline_functions.php diff --git a/web/skins/classic/js/Makefile.am b/web/skins/classic/js/Makefile.am deleted file mode 100644 index 3f5ffdda2..000000000 --- a/web/skins/classic/js/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/js - -dist_web_DATA = \ - skin.js \ - classic.js \ - dark.js \ - flat.js \ - skin.js.php diff --git a/web/skins/classic/lang/Makefile.am b/web/skins/classic/lang/Makefile.am deleted file mode 100644 index 6a089b4fa..000000000 --- a/web/skins/classic/lang/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/lang - -dist_web_DATA = # No files here diff --git a/web/skins/classic/views/Makefile.am b/web/skins/classic/views/Makefile.am deleted file mode 100644 index 4167a886b..000000000 --- a/web/skins/classic/views/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -SUBDIRS = \ - js - -webdir = @WEB_PREFIX@/skins/classic/views - -dist_web_DATA = \ - bandwidth.php \ - blank.php \ - console.php \ - controlcap.php \ - controlcaps.php \ - control.php \ - controlpreset.php \ - cycle.php \ - device.php \ - devices.php \ - donate.php \ - error.php \ - eventdetail.php \ - event.php \ - events.php \ - export.php \ - filter.php \ - filtersave.php \ - frame.php \ - frames.php \ - function.php \ - group.php \ - groups.php \ - log.php \ - login.php \ - logout.php \ - Makefile.am \ - monitor.php \ - monitorpreset.php \ - monitorprobe.php \ - montage.php \ - montagereview.php \ - none.php \ - onvifprobe.php \ - optionhelp.php \ - options.php \ - postlogin.php \ - server.php \ - settings.php \ - state.php \ - stats.php \ - status.php \ - timeline.php \ - user.php \ - version.php \ - video.php \ - watch.php \ - zone.php \ - zones.php diff --git a/web/skins/classic/views/js/Makefile.am b/web/skins/classic/views/js/Makefile.am deleted file mode 100644 index 73c74fafe..000000000 --- a/web/skins/classic/views/js/Makefile.am +++ /dev/null @@ -1,50 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/classic/views/js - -dist_web_DATA = \ - console.js \ - console.js.php \ - control.js \ - controlpreset.js \ - controlpreset.js.php \ - cycle.js \ - cycle.js.php \ - devices.js \ - donate.js \ - donate.js.php \ - event.js \ - event.js.php \ - events.js \ - events.js.php \ - export.js \ - export.js.php \ - filter.js \ - filter.js.php \ - group.js \ - groups.js \ - log.js \ - login.js \ - Makefile.am \ - monitor.js \ - monitor.js.php \ - monitorpreset.js \ - monitorprobe.js \ - montage.js \ - montage.js.php \ - onvifprobe.js \ - options.js.php \ - postlogin.js.php \ - state.js \ - state.js.php \ - timeline.js \ - timeline.js.php \ - user.js \ - version.js \ - version.js.php \ - video.js \ - video.js.php \ - watch.js \ - watch.js.php \ - zone.js \ - zone.js.php diff --git a/web/skins/mobile/Makefile.am b/web/skins/mobile/Makefile.am deleted file mode 100644 index 35051fade..000000000 --- a/web/skins/mobile/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile - -SUBDIRS = \ - ajax \ - css \ - graphics \ - includes \ - lang \ - views - -dist_web_DATA = \ - skin.php diff --git a/web/skins/mobile/ajax/Makefile.am b/web/skins/mobile/ajax/Makefile.am deleted file mode 100644 index 0558929c0..000000000 --- a/web/skins/mobile/ajax/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/ajax - -dist_web_DATA = # No files here diff --git a/web/skins/mobile/css/Makefile.am b/web/skins/mobile/css/Makefile.am deleted file mode 100644 index 6353e163e..000000000 --- a/web/skins/mobile/css/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/css - -dist_web_DATA = \ - skin.css diff --git a/web/skins/mobile/graphics/Makefile.am b/web/skins/mobile/graphics/Makefile.am deleted file mode 100644 index dfd43bef7..000000000 --- a/web/skins/mobile/graphics/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/graphics - -dist_web_DATA = # No files here diff --git a/web/skins/mobile/includes/Makefile.am b/web/skins/mobile/includes/Makefile.am deleted file mode 100644 index c88ad435a..000000000 --- a/web/skins/mobile/includes/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/includes - -dist_web_DATA = \ - init.php \ - config.php \ - functions.php \ - control_functions.php diff --git a/web/skins/mobile/lang/Makefile.am b/web/skins/mobile/lang/Makefile.am deleted file mode 100644 index 5084203fb..000000000 --- a/web/skins/mobile/lang/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/lang - -dist_web_DATA = # No files here diff --git a/web/skins/mobile/views/Makefile.am b/web/skins/mobile/views/Makefile.am deleted file mode 100644 index c7d175ca3..000000000 --- a/web/skins/mobile/views/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -SUBDIRS = \ - css - -webdir = @WEB_PREFIX@/skins/mobile/views - -dist_web_DATA = \ - console.php \ - devices.php \ - error.php \ - eventdetails.php \ - event.php \ - events.php \ - filter.php \ - frame.php \ - function.php \ - login.php \ - montage.php \ - state.php \ - video.php \ - watch.php diff --git a/web/skins/mobile/views/css/Makefile.am b/web/skins/mobile/views/css/Makefile.am deleted file mode 100644 index 86e0ff0a3..000000000 --- a/web/skins/mobile/views/css/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/mobile/views/css - -dist_web_DATA = \ - console.css diff --git a/web/skins/xml/Makefile.am b/web/skins/xml/Makefile.am deleted file mode 100644 index 2c30d19a3..000000000 --- a/web/skins/xml/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/xml - -SUBDIRS = \ - includes \ - views - -dist_web_DATA = \ - skin.php diff --git a/web/skins/xml/includes/Makefile.am b/web/skins/xml/includes/Makefile.am deleted file mode 100644 index c6128f8a2..000000000 --- a/web/skins/xml/includes/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/skins/xml/includes - -dist_web_DATA = \ - init.php \ - config.php \ - functions.php diff --git a/web/skins/xml/views/Makefile.am b/web/skins/xml/views/Makefile.am deleted file mode 100644 index ab9147ae4..000000000 --- a/web/skins/xml/views/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -SUBDIRS = - -webdir = @WEB_PREFIX@/skins/xml/views - -dist_web_DATA = \ - console.php \ - actions.php \ - none.php \ - notfound.png diff --git a/web/tools/Makefile.am b/web/tools/Makefile.am deleted file mode 100644 index 29c91bc02..000000000 --- a/web/tools/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -SUBDIRS = \ - mootools diff --git a/web/tools/mootools/Makefile.am b/web/tools/mootools/Makefile.am deleted file mode 100644 index 89b17ab8d..000000000 --- a/web/tools/mootools/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/tools/mootools - -dist_web_DATA = \ - mootools-core-1.4.5-compat.js \ - mootools-more-1.5.1.js - -# Yes, you are correct. This is a HACK! -install-data-hook: - ( cd $(DESTDIR)$(webdir); rm -f mootools-core.js mootools-more.js ) - ( cd $(DESTDIR)$(webdir); ln -sf mootools-core-1.4.5-compat.js mootools-core.js ) - ( cd $(DESTDIR)$(webdir); ln -sf mootools-more-1.5.1.js mootools-more.js ) - -uninstall-hook: - @-( cd $(DESTDIR)$(webdir); rm -f mootools-* ) diff --git a/web/views/Makefile.am b/web/views/Makefile.am deleted file mode 100644 index 6ecec9d8b..000000000 --- a/web/views/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -AUTOMAKE_OPTIONS = gnu - -webdir = @WEB_PREFIX@/views - -dist_web_DATA = file.php \ - image.php From e4a72f7653925ac2ffaf9969fb53d00990732238 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 01:25:37 +1100 Subject: [PATCH 042/193] Remove more Autotools files and edit travis to no longer build Autotools Conflicts: .travis.yml bootstrap.sh configure.ac --- .travis.yml | 7 - acinclude.m4 | 74 ------ bootstrap.sh | 5 - configure.ac | 509 ---------------------------------------- m4/ac_check_sendfile.m4 | 63 ----- 5 files changed, 658 deletions(-) delete mode 100644 acinclude.m4 delete mode 100755 bootstrap.sh delete mode 100644 configure.ac delete mode 100644 m4/ac_check_sendfile.m4 diff --git a/.travis.yml b/.travis.yml index d44973e2e..835f267f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,6 @@ env: - CXXFLAGS="$CFLAGS" matrix: - ZM_BUILDMETHOD=cmake - - ZM_BUILDMETHOD=autotools compiler: - gcc before_install: @@ -32,16 +31,10 @@ install: - sudo make install-libs before_script: - cd $TRAVIS_BUILD_DIR - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then libtoolize -v --force; fi - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then aclocal -I m4; fi - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then autoheader; fi - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then automake --force-missing --add-missing; fi - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then autoconf; fi - mysql -uroot -e "CREATE DATABASE IF NOT EXISTS zm" - mysql -uroot -e "GRANT ALL ON zm.* TO 'zmuser'@'localhost' IDENTIFIED BY 'zmpass'"; - mysql -uroot -e "FLUSH PRIVILEGES" script: - - if [ "$ZM_BUILDMETHOD" = "autotools" ]; then ./configure --prefix=/usr --with-libarch=lib/$DEB_HOST_GNU_TYPE --host=$DEB_HOST_GNU_TYPE --build=$DEB_BUILD_GNU_TYPE --with-mysql=/usr --with-ffmpeg=/usr --with-webdir=/usr/share/zoneminder/www --with-cgidir=/usr/libexec/zoneminder/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=yes --disable-debug --enable-mmap=yes ZM_SSL_LIB=openssl; fi - if [ "$ZM_BUILDMETHOD" = "cmake" ]; then cmake -DCMAKE_INSTALL_PREFIX="/usr"; fi - make - sudo make install diff --git a/acinclude.m4 b/acinclude.m4 deleted file mode 100644 index 605842149..000000000 --- a/acinclude.m4 +++ /dev/null @@ -1,74 +0,0 @@ -AC_DEFUN([AC_DEFINE_DIR], [ - prefix_NONE= - exec_prefix_NONE= - test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix - test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix -dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn -dnl refers to ${prefix}. Thus we have to use `eval' twice. - eval ac_define_dir="\"[$]$2\"" - eval ac_define_dir="\"$ac_define_dir\"" - AC_SUBST($1, "$ac_define_dir") - AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3]) - test "$prefix_NONE" && prefix=NONE - test "$exec_prefix_NONE" && exec_prefix=NONE -]) - -AC_DEFUN([AC_PROG_PERL_VERSION],[dnl -# Make sure we have perl -if test -z "$PERL"; then -AC_CHECK_PROG(PERL,perl,perl) -fi - -# Check if version of Perl is sufficient -ac_perl_version="$1" - -if test "x$PERL" != "x"; then - AC_MSG_CHECKING(for perl version greater than or equal to $ac_perl_version) - # NB: It would be nice to log the error if there is one, but we cannot rely - # on autoconf internals - $PERL -e "use $ac_perl_version;" > /dev/null 2>&1 - if test $? -ne 0; then - AC_MSG_RESULT(no); - $3 - else - AC_MSG_RESULT(ok); - $2 - fi -else - AC_MSG_WARN(could not find perl) -fi -])dnl - -AC_DEFUN([AC_PROG_PERL_MODULES],[dnl -ac_perl_modules="$1" -# Make sure we have perl -if test -z "$PERL"; then -AC_CHECK_PROG(PERL,perl,perl) -fi - -if test "x$PERL" != x; then - ac_perl_modules_failed=0 - for ac_perl_module in $ac_perl_modules; do - AC_MSG_CHECKING(for perl module $ac_perl_module) - - # Would be nice to log result here, but can't rely on autoconf internals - $PERL "-M$ac_perl_module" -e exit > /dev/null 2>&1 - if test $? -ne 0; then - AC_MSG_RESULT(no); - ac_perl_modules_failed=1 - else - AC_MSG_RESULT(ok); - fi - done - - # Run optional shell commands - if test "$ac_perl_modules_failed" = 0; then - : - $2 - else - : - $3 - fi -else - AC_MSG_WARN(could not find perl) -fi])dnl diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index 0bc041f18..000000000 --- a/bootstrap.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -aclocal -I m4 -autoheader -automake --add-missing -autoconf diff --git a/configure.ac b/configure.ac deleted file mode 100644 index b10dd44d5..000000000 --- a/configure.ac +++ /dev/null @@ -1,509 +0,0 @@ -# -# Building ZoneMinder via Autotools will be depreciated soon -# For instructions on building with cmake, please see INSTALL -# -AC_PREREQ(2.59) -AC_INIT(zm,1.29.0,[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) -AC_CONFIG_MACRO_DIR([m4]) - -AC_SUBST([AM_CXXFLAGS], [-D__STDC_CONSTANT_MACROS]) - -AC_SUBST(VERSION) -# -# Platform specific setup -# -############################# -AC_CANONICAL_HOST -# Check for which host we are on and setup a few things -# specifically based on the host -case $host_os in - darwin* ) - # Do something specific for mac - HOST_OS='darwin' - ;; - linux*) - # Do something specific for linux - HOST_OS='linux' - ;; - *BSD*) - # Do something specific for BSD - HOST_OS='BSD' - AC_DEFINE(BSD,1,"This is a BSD system") - ;; - *bsd*) - # Do something specific for BSD - HOST_OS='BSD' - AC_DEFINE(BSD,1,"This is a BSD system") - ;; - *solaris*) - # Do something specific for Solaris - HOST_OS='solaris' - AC_DEFINE(SOLARIS,1,"We are running a Solaroid OS [tested on OmniOS]") - ;; - *) - #Default Case - AC_MSG_ERROR([Your platform is not currently supported]) - ;; -esac - -AC_SUBST(HOST_OS) - -AC_ARG_VAR(ZM_DB_TYPE,[Type of the ZoneMinder database, default mysql]) -AC_ARG_VAR(ZM_DB_HOST,[Hostname where ZoneMinder database located, default localhost]) -AC_ARG_VAR(ZM_DB_NAME,[Name of ZoneMinder database, default zm]) -AC_ARG_VAR(ZM_DB_USER,[Name of ZoneMinder database user, default zmuser]) -AC_ARG_VAR(ZM_DB_PASS,[Password of ZoneMinder database user, default zmpass]) -AC_ARG_VAR(ZM_SSL_LIB,[Library to use for ssl functions, default gnutls]) -AC_ARG_VAR(ZM_MYSQL_ENGINE,[MySQL engine to use with database, default InnoDB]) -AC_ARG_VAR(ZM_RUNDIR,[Location of transient process files, default /var/run/zm]) -AC_ARG_VAR(ZM_SOCKDIR,[Location of Unix domain socket files, default /var/run/zm]) -AC_ARG_VAR(ZM_TMPDIR,[Location of temporary files, default /var/tmp/zm]) -AC_ARG_VAR(ZM_LOGDIR,[Location of generated log files, default /var/log/zm]) -AC_ARG_VAR(ZM_CONFIG_DIR,[Location of ZoneMinder configuration, default system config directory]) - -if test "$ZM_DB_TYPE" == ""; then - AC_SUBST(ZM_DB_TYPE,[mysql]) -fi -if test "$ZM_DB_HOST" == ""; then - AC_SUBST(ZM_DB_HOST,[localhost]) -fi -if test "$ZM_DB_NAME" == ""; then - AC_SUBST(ZM_DB_NAME,[zm]) -fi -if test "$ZM_DB_USER" == ""; then - AC_SUBST(ZM_DB_USER,[zmuser]) -fi -if test "$ZM_DB_PASS" == ""; then - AC_SUBST(ZM_DB_PASS,[zmpass]) -fi -if test "$ZM_SSL_LIB" == ""; then - AC_SUBST(ZM_SSL_LIB,gnutls) -fi -if test "$ZM_MYSQL_ENGINE" == ""; then - AC_SUBST(ZM_MYSQL_ENGINE,InnoDB) -fi -if test "$ZM_RUNDIR" == ""; then - AC_SUBST(ZM_RUNDIR,[/var/run/zm]) -fi -if test "$ZM_SOCKDIR" == ""; then - AC_SUBST(ZM_SOCKDIR,[/var/run/zm]) -fi -if test "$ZM_TMPDIR" == ""; then - AC_SUBST(ZM_TMPDIR,[/tmp/zm]) -fi -if test "$ZM_LOGDIR" == ""; then - AC_SUBST(ZM_LOGDIR,[/var/log/zm]) -fi -AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Expanded configuration directory]) -if test "$ZM_CONFIG_DIR" == ""; then - AC_SUBST(ZM_CONFIG_DIR,[$SYSCONFDIR]) -fi - -LIB_ARCH=lib -AC_ARG_WITH(libarch, - [ --with-libarch= architecture library path to use, default lib], - [LIB_ARCH=$with_libarch], - AC_MSG_WARN([You can call configure with the --with-libarch option. - This tells configure where to find architecture specific libraries. - The default of 'lib' is usually ok but 64 bit machines may require lib64. - e.g. --with-libarch=lib or --with-libarch=lib64]) -) -AC_SUBST(LIB_ARCH) - -LDFLAGS="-L/usr/lib/${build_alias} ${LDFLAGS}" - -MYSQL_PREFIX=/usr -AC_ARG_WITH(mysql, - [ --with-mysql= prefix of MySQL installation, default /usr], - [MYSQL_PREFIX=$with_mysql], - AC_MSG_WARN([You can call configure with the --with-mysql option. - This tells configure where to find the MySql C library and headers if configure cannot - locate them automatically. - e.g. --with-mysql=/usr/local or --with-mysql=/usr]) -) -AC_SUBST(MYSQL_PREFIX) -MYSQL_LIBS="-L${MYSQL_PREFIX}/${LIB_ARCH}/mysql" -MYSQL_CFLAGS="-I${MYSQL_PREFIX}/include" -AC_SUBST(MYSQL_LIBS) -AC_SUBST(MYSQL_CFLAGS) -LDFLAGS="$LDFLAGS ${MYSQL_LIBS}" - - -MARIADB_PREFIX=/usr -AC_ARG_WITH(mariadb, - [ --with-mariadb= prefix of MariaDB installation, default /usr], - [MYSQL_PREFIX=$with_mariadb], - AC_MSG_WARN([You can call configure with the --with-mariadb option. - This tells configure where to find the mariaDB C library and headers if configure cannot - locate them automatically. - e.g. --with-mariadb=/usr/local or --with-mariadb=/usr]) -) -AC_SUBST(MARIADB_PREFIX) -MARIADB_LIBS="-L${MARIADB_PREFIX}/${LIB_ARCH}/mariadb" -MARIADB_CFLAGS="-I${MARIADB_PREFIX}/include" -AC_SUBST(MARIADB_LIBS) -AC_SUBST(MARIADB_CFLAGS) -LDFLAGS="$LDFLAGS ${MARIADB_LIBS}" - -POLKIT_PREFIX=/usr -AC_ARG_WITH(polkit, -[ --with-polkit= prefix of polkit root directory, default /usr], -[POLKIT_PREFIX=$with_polkit], -AC_MSG_WARN([You can call configure with the --with-polkit option. -This tells configure where to place the polkit policy files.]) -) -AC_SUBST(POLKIT_PREFIX) -PKG_CHECK_MODULES(POLKIT, polkit-gobject-1) - -FFMPEG_PREFIX=/usr -AC_ARG_WITH(ffmpeg, - [ --with-ffmpeg= prefix of ffmpeg root directory for libavcodec etc, default /usr], - [FFMPEG_PREFIX=$with_ffmpeg], - AC_MSG_WARN([You can call configure with the --with-ffmpeg option. - This tells configure where to find the ffmpeg root directory within which are the libavcodec - and libavformat files that can be used to build true MPEG streaming into ZoneMinder. Ensure that - your copy of ffmpeg has installed libraries as well as binaries (use 'make installlib'). If you - are using a local install of ffmpeg you may have to remove or rename a previous real installation - as the headers and libraries from that will probably be picked up before your local copy. - e.g. --with-ffmpeg=/usr/local]) -) -AC_SUBST(FFMPEG_PREFIX) -FFMPEG_LIBS="-L${FFMPEG_PREFIX}/${LIB_ARCH}" -FFMPEG_CFLAGS="-I${FFMPEG_PREFIX}/include -D__STDC_CONSTANT_MACROS" -AC_SUBST(FFMPEG_LIBS) -AC_SUBST(FFMPEG_CFLAGS) - -LDFLAGS="${FFMPEG_LIBS} $LDFLAGS" -CFLAGS="${FFMPEG_CFLAGS} $CFLAGS" -CPPFLAGS="${FFMPEG_CFLAGS} $CPPFLAGS" - -EXTRA_LIBS= -AC_ARG_WITH(extralibs, - [ --with-extralibs="" string containing extra libraries to pass to link, default empty], - [EXTRA_LIBS=$with_extralibs], - AC_MSG_WARN([You can call configure with the --with-extralibs option. - Ordinarily you will need to use this option only when your copy of ffmpeg has been built - with support for additional formats and you would use this option to detail which additional - libraries ffmpeg was built with so that it is able to link successfully with ZoneMinder. - You will need to wrap this option in quotes if it contains any spaces. - e.g. --with-extralibs="-lmp3lame"]) -) -AC_SUBST(EXTRA_LIBS) - -LDFLAGS="$LDFLAGS ${EXTRA_LIBS}" - -AC_ARG_WITH(webdir, - [ --with-webdir= prefix of web directory], - [WEB_PREFIX=$with_webdir], - AC_MSG_ERROR([You must call configure with the --with-webdir option. - This tells configure where to install PHP and web files and scripts. - e.g. --with-webdir=/var/www/html or --with-webdir=/www/vhtdocs/]) -) -AC_SUBST(WEB_PREFIX) - -AC_ARG_WITH(cgidir, - [ --with-cgidir= prefix of cgi directory], - [CGI_PREFIX=$with_cgidir], - AC_MSG_ERROR([You must call configure with the --with-cgidir option. - This tells configure where to install cgi files and scripts. - e.g. --with-cgidir=/var/www/cgi-bin or --with-webdir=/www/vhtdocs//cgi-bin]) -) -AC_SUBST(CGI_PREFIX) - -WEB_USER=apache -AC_ARG_WITH(webuser, - [ --with-webuser= name of web user, default apache], - [WEB_USER=$with_webuser], - AC_MSG_WARN([You can call configure with the --with-webuser option. - This tells configure what the user name of the web user is if it is not the default of 'apache'. - e.g. --with-webuser=apache or --with-webuser=web]) -) -AC_SUBST(WEB_USER) - -WEB_GROUP=apache -AC_ARG_WITH(webgroup, - [ --with-webgroup= name of web group, default apache], - [WEB_GROUP=$with_webgroup], - AC_MSG_WARN([You can call configure with the --with-webgroup option. - This tells configure what the group name of the web group is if it is not the default of 'apache'. - e.g. --with-webgroup=apache or --with-webgroup=web]) -) -AC_SUBST(WEB_GROUP) - -WEB_HOST=zm.local -AC_ARG_WITH(webhost, - [ --with-webhost= name of web hostname, default zm.local], - [WEB_HOST=$with_webhost], - AC_MSG_WARN([You can call configure with the --with-webhost option. - This tells configure what the host name is for name based virtual hosting. This is only used to populate the sample web/zmHttpd.conf file. - e.g. --with-webhost=zm.localdomain]) -) -AC_SUBST(WEB_HOST) - -ENABLE_DEBUG=yes -AC_ARG_ENABLE(debug, - [ --enable-debug= enable or disable debug, default enabled], - [ENABLE_DEBUG=$enable_debug], - AC_MSG_WARN([You can call configure with the --enable-debug= or --disable-debug option. - This tells configure whether to compile ZoneMinder with debug included. Although debug is included - by default it is not output unless explicitly switched on elsewhere. These checks may induce a - small penalty on performance and if you are after squeezing the maximum possible performance out - of ZoneMinder you may use this switch to prevent debug from being compiled in. - e.g. --enable-debug=yes or --disable-debug]) -) -if test "$ENABLE_DEBUG" != "yes"; then - AC_DEFINE(ZM_DBG_OFF,1,"Whether debug is switched off and compiled out") -fi - -ENABLE_MMAP=yes -AC_ARG_ENABLE(mmap, - [ --enable-mmap= enable or disabled mapped memory versus shared memory, default mapped], - [ENABLE_MMAP=$enable_mmap], - AC_MSG_WARN([You can call configure with the --enable-mmap= or --disable-mmap option. - This tells configure whether to compile ZoneMinder with mmap support rather than IPC shared - memory. This is a feature that uses memory mapped into files which all processes can share. - Memory mapping requires less configuration and is more flexible than shared memory but may - slow down your system unless the mapped files are configured to reside on a fast or RAM based - filesystem which will normally be the case by default. - e.g. --enable-mmap=yes or --disable-mmap]) -) -if test "$ENABLE_MMAP" == "yes"; then - AC_DEFINE(ZM_MEM_MAPPED,1,"Whether to use mapped rather than shared memory") -else - AC_DEFINE(ZM_MEM_MAPPED,0,"Whether to use mapped rather than shared memory") -fi -AC_SUBST(ENABLE_MMAP) - -ENABLE_ONVIF=no -AC_ARG_ENABLE(onvif, - [ --enable-onvif= enable or disable basic onvif support, default disabled], - [ENABLE_ONVIF=$enable_onvif], - AC_MSG_WARN([You can call configure with the --enable-onvif= 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 -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_RANLIB -AC_PROG_MAKE_SET - -# Checks for typedefs, structures, and compiler characteristics. -AC_HEADER_STDBOOL -AC_C_CONST -AC_TYPE_UID_T -AC_C_INLINE -AC_TYPE_MODE_T -AC_TYPE_SIZE_T -AC_HEADER_TIME -AC_STRUCT_TM -AC_TYPE_SIGNAL - -AC_CHECK_TYPES(siginfo_t,,,[#include ]) -AC_CHECK_TYPES(ucontext_t,,,[#include ]) - -# Checks for library functions. -AC_PROG_GCC_TRADITIONAL -AC_FUNC_MALLOC -AC_FUNC_MMAP -AC_FUNC_SELECT_ARGTYPES -AC_FUNC_STAT -AC_FUNC_STRFTIME -AC_FUNC_STRTOD -AC_FUNC_VPRINTF -AC_CHECK_FUNCS([gethostbyname gethostname gettimeofday memmove memset mkdir munmap posix_memalign putenv select sendfile socket sqrt strcasecmp strchr strcspn strerror strncasecmp strrchr strspn strstr strtol strtoull]) -AC_CHECK_FUNCS([syscall sleep usleep ioctl ioctlsocket sigaction]) -# this is required for freebsd to compile. Look for it in m4/ac_check_sendfile.m4 -AC_CHECK_SENDFILE -# Other programs -AC_CHECK_PROG(OPT_FFMPEG,ffmpeg,yes,no) -AC_PATH_PROG(PATH_FFMPEG,ffmpeg) - -# Checks for libraries. -AC_CHECK_LIB(rt,clock_gettime,,AC_MSG_ERROR(zm requires librt)) -AC_SEARCH_LIBS(mysql_init,[mysqlclient mariadbclient],,AC_MSG_ERROR(zm requires libmysqlclient.a or libmariadbclient.a)) -AC_CHECK_LIB(jpeg,jpeg_start_compress,,AC_MSG_ERROR(zm requires libjpeg.a)) -AC_CHECK_LIB(pthread,pthread_create,,AC_MSG_ERROR(zm requires libpthread.a)) -if test "$BSD" == "0"; then -AC_CHECK_LIB(dl,dlsym,,AC_MSG_ERROR(zm requires libdl.a)) -fi -if test "$ZM_SSL_LIB" == "openssl"; then -AC_CHECK_HEADERS(openssl/md5.h,,AC_MSG_WARN(zm requires openssl/md5.h header to be installed for openssl),) -AC_CHECK_LIB(crypto,MD5,,AC_MSG_WARN([libcrypto.a is required for authenticated streaming - use ZM_SSL_LIB option to select gnutls instead])) -else -AC_CHECK_HEADERS(gnutls/openssl.h,AC_SUBST(ZM_HAS_GNUTLS_OPENSSL,1),AC_SUBST(ZM_HAS_GNUTLS_OPENSSL,0),) -AC_CHECK_HEADERS(gnutls/gnutls.h,AC_SUBST(ZM_HAS_GNUTLS,1),AC_SUBST(ZM_HAS_GNUTLS,0),) -if test "$ZM_HAS_GNUTLS_OPENSSL" == "0" && test "$ZM_HAS_GNUTLS" == "0"; then -AC_MSG_WARN(gnutls is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead) -fi -AC_CHECK_HEADERS(gcrypt.h,,AC_MSG_WARN(zm requires libgcrypt headers to be installed for gnutls),) -AC_CHECK_LIB(gcrypt,gcry_check_version,,AC_MSG_WARN([libgcrypt.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead])) -AC_CHECK_LIB(gnutls,gnutls_fingerprint,,AC_MSG_WARN([libgnutls.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead])) -if test "$ZM_HAS_GNUTLS_OPENSSL" == "1"; then -AC_CHECK_LIB(gnutls-openssl,MD5,,AC_MSG_WARN([libgnutls.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead])) -fi -fi -AC_CHECK_LIB(pcre,pcre_compile,,AC_MSG_WARN(libpcre.a may be required for remote/network camera support)) -AC_CHECK_LIB(z,zlibVersion) -AC_CHECK_LIB(x264,x264_predict_16x16_init) -AC_CHECK_LIB(avutil,av_malloc,,AC_MSG_WARN(libavutil.a may be required for MPEG streaming)) -# Don't bother to warn about this one -AC_CHECK_LIB(avcore,av_image_copy,,) -AC_CHECK_LIB(avcodec,avcodec_version,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) -AC_CHECK_LIB(avformat,avformat_version,,AC_MSG_WARN(libavformat.a is required for MPEG streaming)) -#AC_CHECK_LIB(avcodec,avcodec_open,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) -#AC_CHECK_LIB(avformat,av_new_stream,,AC_MSG_WARN(libavformat.a is required for MPEG streaming)) -AC_CHECK_LIB(avdevice,avdevice_register_all,,AC_MSG_WARN(libavdevice.a may be required for MPEG streaming)) -AC_CHECK_LIB(swscale,sws_scale,,,-lswscale) -AC_CHECK_LIB(vlc,libvlc_new,,AC_MSG_WARN(libvlc.a may be required for streaming)) -AC_CHECK_LIB(bz2,BZ2_bzCompress,,AC_MSG_WARN(zm requires libbz2.a for recent versions of ffmpeg)) -AC_CHECK_LIB(z,compress,,) -AC_CHECK_LIB(curl,curl_global_init,,) - -# Checks for header files. -AC_FUNC_ALLOCA -AC_HEADER_STDC -AC_CHECK_HEADERS([fcntl.h limits.h memory.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h syslog.h unistd.h values.h]) -AC_CHECK_HEADERS([netdb.h netinet/in.h arpa/inet.h sys/ioctl.h sys/socket.h sys/un.h glob.h sys/sendfile.h]) -AC_CHECK_HEADERS(execinfo.h,,,) -AC_CHECK_HEADERS(ucontext.h,,,) -AC_CHECK_HEADERS(sys/syscall.h,,,) -AC_CHECK_HEADERS(pthread.h,,,) - -# Check for Video for Linux 1 Header Files -ZM_HAS_V4L1=0 -AC_CHECK_HEADERS([libv4l1-videodev.h linux/videodev.h],[ZM_HAS_V4L1=1; break;],,) -AC_SUBST(ZM_HAS_V4L1) - -# Check for Video for Linux 2 Header Files -ZM_HAS_V4L2=0 -AC_CHECK_HEADERS(linux/videodev2.h,ZM_HAS_V4L2=1,,) -AC_SUBST(ZM_HAS_V4L2) - -# Set global Video for Linux flag -ZM_HAS_V4L=0 -if test "$ZM_HAS_V4L1" == "1" || test "$ZM_HAS_V4L2" == "1"; then -ZM_HAS_V4L=1 -else -AC_MSG_WARN(zm requires Video4Linux or Video4Linux2 to be installed for analog or USB camera support) -fi -AC_SUBST(ZM_HAS_V4L) - -AC_CHECK_HEADERS(jpeglib.h,,AC_MSG_ERROR(zm requires libjpeg headers to be installed),) -AC_CHECK_HEADERS(mysql/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),) -AC_LANG_PUSH([C]) -AC_CHECK_HEADERS(libavutil/avutil.h,,,) -AC_CHECK_HEADERS(libavcodec/avcodec.h,,,) -AC_CHECK_HEADERS(libavformat/avformat.h,,,) -AC_CHECK_HEADERS(libswscale/swscale.h,,,) -AC_LANG_POP([C]) -AC_CHECK_HEADERS(pcre/pcre.h,AC_SUBST(ZM_PCRE,"1"),,) -AC_CHECK_HEADERS(pcre.h,AC_SUBST(ZM_PCRE,"1"),,) -if test "$ENABLE_MMAP" == "yes"; then -AC_CHECK_HEADERS(sys/mman.h,,,) -AC_CHECK_HEADERS(fcntl.h,,,) -else -AC_CHECK_HEADERS(sys/ipc.h,,,) -AC_CHECK_HEADERS(sys/shm.h,,,) -fi -AC_CHECK_HEADERS(zlib.h,,,) -AC_CHECK_HEADERS(vlc/vlc.h,,,) -AC_CHECK_HEADERS(curl/curl.h,,,) - -if test "$ZM_SSL_LIB" == "openssl"; then -AC_CHECK_DECLS(MD5,,AC_MSG_ERROR([zm requires openssl/md5.h - use ZM_SSL_LIB option to select gnutls instead]),[#include -#include ]) -else -if test "$ZM_HAS_GNUTLS_OPENSSL" == "1"; then -AC_CHECK_DECLS(MD5,,AC_MSG_ERROR([zm requires gnutls/openssl.h - use ZM_SSL_LIB option to select openssl instead]),[#include -#include ]) -else -AC_CHECK_DECLS(gnutls_fingerprint,,AC_MSG_ERROR([zm requires gnutls/gnutls.h - use ZM_SSL_LIB option to select openssl instead]),[#include -#include ]) -fi -fi -AC_CHECK_DECLS(backtrace,,,[#include ]) -AC_CHECK_DECLS(backtrace_symbols,,,[#include ]) -AC_CHECK_LIB(execinfo,backtrace) - -AC_SUBST(LDFLAGS) - -AC_PROG_PERL_VERSION(5.6.0) - -# Compulsory perl modules -AC_PROG_PERL_MODULES(Sys::Syslog,,AC_MSG_ERROR(zm requires SYS:Syslog)) -AC_PROG_PERL_MODULES(DBI,,AC_MSG_ERROR(zm requires DBI)) -AC_PROG_PERL_MODULES(DBD::mysql,,AC_MSG_ERROR(zm requires DBD::mysql)) -AC_PROG_PERL_MODULES(Getopt::Long,,AC_MSG_ERROR(zm requires Getopt::Long)) -AC_PROG_PERL_MODULES(Time::HiRes,,AC_MSG_ERROR(zm requires Time::HiRes)) -AC_PROG_PERL_MODULES(Date::Manip,,AC_MSG_ERROR(zm requires Date::Manip)) -AC_PROG_PERL_MODULES(LWP::UserAgent,,AC_MSG_ERROR(zm requires LWP::UserAgent)) -AC_PROG_PERL_MODULES(ExtUtils::MakeMaker,,AC_MSG_ERROR(zm requires ExtUtils::MakeMaker)) -if test "$ENABLE_MMAP" == "yes"; then -AC_PROG_PERL_MODULES(Sys::Mmap,,AC_MSG_ERROR(zm requires Sys::Mmap for mapped memory - set --enable-mmap=no to use IPC shared memory instead)) -fi - -# Optional perl modules -AC_PROG_PERL_MODULES(Module::Load,,AC_MSG_WARN(Module::Load is required for PTZ camera control)) -AC_PROG_PERL_MODULES(Device::SerialPort,,AC_MSG_WARN(Device::SerialPort is required for RS232/RS485 PTZ camera control)) -AC_PROG_PERL_MODULES(Net::FTP,,AC_MSG_WARN(Net::FTP is required for automatic event uploading using ftp)) -AC_PROG_PERL_MODULES(Net::SFTP::Foreign,,AC_MSG_WARN(Net::SFTP::Foreign is required for automatic event uploading using sftp)) -AC_PROG_PERL_MODULES(Expect,,AC_MSG_WARN(Expect is required for automatic event uploading using sftp)) -AC_PROG_PERL_MODULES(Archive::Tar,,AC_MSG_WARN(Archive::Tar may be required for automatic event uploading)) -AC_PROG_PERL_MODULES(Archive::Zip,,AC_MSG_WARN(Archive::Zip may be required for automatic event uploading)) -AC_PROG_PERL_MODULES(Net::SMTP,,AC_MSG_WARN(Net::SMTP may be required for automatic event email notification)) -AC_PROG_PERL_MODULES(MIME::Lite,,AC_MSG_WARN(MIME::Lite may be required for automatic event email notification)) -AC_PROG_PERL_MODULES(MIME::Entity,,AC_MSG_WARN(MIME::Entity may be required for automatic event email notification)) -AC_PROG_PERL_MODULES(X10::ActiveHome,,AC_MSG_WARN(X10::ActiveHome is required for X.10 support)) - -AC_DEFINE_DIR([BINDIR],[bindir],[Expanded binary directory]) -AC_DEFINE_DIR([LIBDIR],[libdir],[Expanded library directory]) -AC_DEFINE_DIR([DATADIR],[datadir],[Expanded data directory]) -AC_SUBST(PKGDATADIR,"$DATADIR/$PACKAGE") -AC_SUBST(ZM_PID,"$ZM_RUNDIR/zm.pid") -#AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Expanded configuration directory]) -#AC_SUBST(ZM_CONFIG,"$SYSCONFDIR/zm.conf") -AC_SUBST(ZM_CONFIG,"$ZM_CONFIG_DIR/zm.conf") - -# Slight hack for non-standard perl install paths -if test "$prefix" != "NONE"; then - PERL_SITE_PREFIX=`perl -V:siteprefix | sed -e "s/.*='\(.*\)';/\1/"` - PERL_SITE_LIB=`perl -V:installsitelib | sed -e "s/.*='\(.*\)';/\1/"` - PERL_LIB_PATH=`echo $PERL_SITE_LIB | sed -e "s|^$PERL_SITE_PREFIX||"` - EXTRA_PERL_LIB="use lib '$prefix$PERL_LIB_PATH'; # Include custom perl install path" - PERL_MM_PARMS="\"PREFIX=$prefix INSTALLDIRS=vendor\"" -else - EXTRA_PERL_LIB="# Include from system perl paths only" - PERL_MM_PARMS="\"INSTALLDIRS=vendor\"" -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 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/dark/Makefile web/skins/classic/css/dark/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 diff --git a/m4/ac_check_sendfile.m4 b/m4/ac_check_sendfile.m4 deleted file mode 100644 index 12605d588..000000000 --- a/m4/ac_check_sendfile.m4 +++ /dev/null @@ -1,63 +0,0 @@ -AC_DEFUN([AC_CHECK_SENDFILE],[ -AC_MSG_CHECKING([whether sendfile() is supported and what prototype it has]) - -saved_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Werror-implicit-function-declaration" -ac_sendfile_supported=no -AC_TRY_LINK([#include - #include ], - [sendfile(1, 1, NULL, 0);], - [ - AC_DEFINE(HAVE_SENDFILE4_SUPPORT, 1, - [Define this if Linux/Solaris sendfile() is supported]) - AC_MSG_RESULT([Linux sendfile()]) - ac_sendfile_supported=yes - ], []) - -if test x$ac_sendfile_supported = xno; then - dnl Checking wether we need libsendfile - dnl Presumably on Solaris - AC_CHECK_LIB(sendfile, sendfile, - [ - AC_DEFINE(HAVE_SENDFILE4_SUPPORT, 1, - [Define this if Linux/Solaris sendfile() is supported]) - SENDFILE_LIBS="-lsendfile" - AC_SUBST(SENDFILE_LIBS) - AC_MSG_RESULT([Solaris sendfile()]) - ac_sendfile_supported=yes - ], []) -fi - -if test x$ac_sendfile_supported = xno; then - dnl Checking wether we have FreeBSD-like sendfile() support. - AC_TRY_LINK([#include - #include ], - [sendfile(1, 1, 0, 0, NULL, NULL, 0);], - [ - AC_DEFINE(HAVE_SENDFILE7_SUPPORT, 1, - [Define this if FreeBSD sendfile() is supported]) - AC_MSG_RESULT([FreeBSD sendfile()]) - ac_sendfile_supported=yes - ], []) -fi - -if test x$ac_sendfile_supported = xno; then - dnl Checking wether we have MacOS-like sendfile() support. - AC_TRY_LINK([#include - #include - #include ], - [sendfile(1, 1, 0, NULL, NULL, 0);], - [ - AC_DEFINE(HAVE_SENDFILE6_SUPPORT, 1, - [Define this if MacOS sendfile() is supported]) - AC_MSG_RESULT([MacOS sendfile()]) - ac_sendfile_supported=yes - ], []) -fi - -CFLAGS="$saved_CFLAGS" - -if test x$ac_sendfile_supported = xno; then - AC_MSG_RESULT([no sendfile() support, using read/send]) -fi -]) From e6d57da0d4f6ddd1e369431ffbc505408b1b4188 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 01:37:16 +1100 Subject: [PATCH 043/193] Remove the mobile skin folder --- web/skins/mobile/css/skin.css | 311 ------------------ web/skins/mobile/includes/config.php | 63 ---- .../mobile/includes/control_functions.php | 184 ----------- web/skins/mobile/includes/functions.php | 66 ---- web/skins/mobile/includes/init.php | 29 -- web/skins/mobile/skin.php | 97 ------ web/skins/mobile/views/console.php | 178 ---------- web/skins/mobile/views/css/console.css | 16 - web/skins/mobile/views/devices.php | 73 ---- web/skins/mobile/views/error.php | 34 -- web/skins/mobile/views/event.php | 147 --------- web/skins/mobile/views/eventdetails.php | 86 ----- web/skins/mobile/views/events.php | 157 --------- web/skins/mobile/views/filter.php | 71 ---- web/skins/mobile/views/frame.php | 73 ---- web/skins/mobile/views/function.php | 66 ---- web/skins/mobile/views/login.php | 54 --- web/skins/mobile/views/montage.php | 75 ----- web/skins/mobile/views/state.php | 77 ----- web/skins/mobile/views/video.php | 226 ------------- web/skins/mobile/views/watch.php | 154 --------- 21 files changed, 2237 deletions(-) delete mode 100644 web/skins/mobile/css/skin.css delete mode 100644 web/skins/mobile/includes/config.php delete mode 100644 web/skins/mobile/includes/control_functions.php delete mode 100644 web/skins/mobile/includes/functions.php delete mode 100644 web/skins/mobile/includes/init.php delete mode 100644 web/skins/mobile/skin.php delete mode 100644 web/skins/mobile/views/console.php delete mode 100644 web/skins/mobile/views/css/console.css delete mode 100644 web/skins/mobile/views/devices.php delete mode 100644 web/skins/mobile/views/error.php delete mode 100644 web/skins/mobile/views/event.php delete mode 100644 web/skins/mobile/views/eventdetails.php delete mode 100644 web/skins/mobile/views/events.php delete mode 100644 web/skins/mobile/views/filter.php delete mode 100644 web/skins/mobile/views/frame.php delete mode 100644 web/skins/mobile/views/function.php delete mode 100644 web/skins/mobile/views/login.php delete mode 100644 web/skins/mobile/views/montage.php delete mode 100644 web/skins/mobile/views/state.php delete mode 100644 web/skins/mobile/views/video.php delete mode 100644 web/skins/mobile/views/watch.php diff --git a/web/skins/mobile/css/skin.css b/web/skins/mobile/css/skin.css deleted file mode 100644 index b996392a3..000000000 --- a/web/skins/mobile/css/skin.css +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Primary look and feel styles - */ - -body { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 100%; - color: #333333; - font-weight: normal; - text-align: center; -} - -h1 { - font-family: inherit; - font-size: 120%; - color: #000066; - font-weight: bold; -} - -h2 { - font-family: inherit; - font-size: 110%; - color: #000066; - font-weight: bold; -} - -h3 { - font-family: inherit; - font-size: 100%; - color: #016A9D; - font-weight: bold; -} - -p { - font-family: inherit; - font-size: 100%; - color: #333333; - font-weight: normal; -} - -th { - font-weight: bold; - color: #016A9D; -} - -a:link { - color: #7F7FB2; - text-decoration: none; -} - -a:visited { - color: #7F7FB2; - text-decoration: none; -} - -a:hover { - color: #666699; - text-decoration: underline; -} - -label { - margin-right: 4px; -} - -input,textarea,select { - border: 1px #7F7FB2 solid; - font-family: inherit; - font-size: 100%; - color: #333333; -} - -input[type=text], input[type=password], textarea { - padding: 1px; -} - -input.noborder { - border: 0; -} - -input[disabled] { - color: #888888; -} - -img.normal { - border: white solid 1px; -} - -img.alarm { - border: red solid 1px; -} - -hr { - height: 1px; - width: 100%; - border: 0; - color: #7f7fb2; - background-color: #7f7fb2; -} - -/* - * Major league table for multiple inputs or presentation - */ - -#content table.major { - margin: 4px auto; - width: 100%; - border-collapse: collapse; -} - -#content table.major tr.highlight { - background-color: #eeeeee; -} - -#content table.major thead tr th { - padding-top: 6px; - padding-bottom: 6px; - vertical-align: middle; -} - -#content table.major tfoot td { - padding-top: 6px; - padding-bottom: 6px; - vertical-align: middle; -} - -#content table.major th, #content table.major td { - border: 1px solid #7f7fb2; - padding: 3px; - text-align: left; -} - -#content table.major th { - vertical-align: bottom; -} - -#content table.major td { - vertical-align: middle; -} - -#content table.major th[scope=row] { - padding: 4px 3px 3px; - vertical-align: top; - text-align: right; -} - -#content table.major .colMark, #content table.major .colSelect { - text-align: center; -} -/* - * Lesser table for very simple forms - */ - -#content table.minor { - width: 200px; - margin: 0 auto; -} - -#content table.minor td { - padding: 4px; -} - -#content table.minor .colLeft { - width: 50%; - text-align: right; -} - -#content table.minor .colRight { - width: 50%; - text-align: left; -} - -#content table.minor input[type=submit] -{ - margin-top: 4px; - padding: 0 2px; - font-size: 120%; -} - -/* - * Behavior classes - */ -.error { - /*font-family: Verdana, Arial, Helvetica, sans-serif;*/ - font-size: 100%; - color: #DC143C; - font-weight: bold; -} - -.warn { - /*font-family: Verdana, Arial, Helvetica, sans-serif;*/ - font-size: 100%; - color: #FF8C00; - font-weight: bold; -} - -.info { - /*font-family: Verdana, Arial, Helvetica, sans-serif;*/ - font-size: 100%; - color: #688E23; - font-weight: bold; -} - -.errorText { - color: #DC143C; -} - -.warnText { - color: #FF8C00; -} - -.infoText { - color: #688E23; -} - -.disabledText { - font-style: italic; -} - -/* - * Generic useful classes, especially with mootools - */ - -.hidden { - display: none; -} - -.invisible { - visibility: hidden; -} - -.nowrap { - white-space: nowrap; -} - -div.clear { - clear: both; -} - -/* - * Primary layout styles - */ - -#page { - width: 100%; -} - -#header { - width: 98%; - line-height: 24px; - margin: 4px auto 0; - clear: both; -} - -#header h2 { - left: 0; -} - -#headerControl { -} - -#headerButtons { - float: right; -} - -#headerButtons a { - margin-left: 8px; -} - -#content { - width: 98%; - margin: 4px auto; - line-height: 130%; - text-align: center; - clear: both; -} - -#contentTable { - width: 100%; -} - -#content p { - margin-top: 4px; -} - -#content p.textblock { - text-align: justify; - padding: 4px; -} - -#content > input[type=submit], #content > input[type=button] { - margin-top: 4px; -} - -#content table input[type=submit], #content table input[type=button] { - margin-top: 0; -} - -#contentButtons { - margin: 4px auto 0; -} - -#contentButtons input, #contentButtons a { - margin: 0 4px; -} - -#footer { - width: 98%; - margin: 4px auto 0; - clear: both; -} - diff --git a/web/skins/mobile/includes/config.php b/web/skins/mobile/includes/config.php deleted file mode 100644 index fc1eba9bb..000000000 --- a/web/skins/mobile/includes/config.php +++ /dev/null @@ -1,63 +0,0 @@ - "50x", - "2000" => "20x", - "500" => "5x", - "200" => "2x", - "100" => translate('Real'), - "50" => "1/2x", -); - -$scales = array( - "400" => "4x", - "300" => "3x", - "200" => "2x", - "150" => "1.5x", - "100" => translate('Actual'), - "75" => "3/4x", - "50" => "1/2x", - "33" => "1/3x", - "25" => "1/4x", -); - -switch ( $_COOKIE['zmBandwidth'] ) -{ - case "phone" : // Very incomplete at present - { - define( "ZM_WEB_CAN_STREAM", ZM_WEB_P_CAN_STREAM ); // Override the automatic detection of browser streaming capability - define( "ZM_WEB_STREAM_METHOD", ZM_WEB_P_STREAM_METHOD ); // Which method should be used to send video streams to your brow - define( "ZM_WEB_DEFAULT_SCALE", ZM_WEB_P_DEFAULT_SCALE ); // What the default scaling factor applied to 'live' or 'event' views is (%) - define( "ZM_WEB_DEFAULT_RATE", ZM_WEB_P_DEFAULT_RATE ); // What the default replay rate factor applied to 'event' views is (%) - define( "ZM_WEB_VIDEO_BITRATE", ZM_WEB_P_VIDEO_BITRATE ); // What the bitrate of any streamed video should be - define( "ZM_WEB_VIDEO_MAXFPS", ZM_WEB_P_VIDEO_MAXFPS ); // What the maximum frame rate of any streamed video should be - define( "ZM_WEB_SCALE_THUMBS", ZM_WEB_P_SCALE_THUMBS ); // Image scaling for thumbnails, bandwidth versus cpu in rescaling - define( "ZM_WEB_AJAX_TIMEOUT", ZM_WEB_P_AJAX_TIMEOUT ); // Timeout to use for Ajax requests, no timeout used if unset - - break; - } -} - -?> diff --git a/web/skins/mobile/includes/control_functions.php b/web/skins/mobile/includes/control_functions.php deleted file mode 100644 index 3a12cf467..000000000 --- a/web/skins/mobile/includes/control_functions.php +++ /dev/null @@ -1,184 +0,0 @@ - -
-
-
- -
- - " name="preset" value=""/> - -
-
-
-
- diff --git a/web/skins/mobile/includes/functions.php b/web/skins/mobile/includes/functions.php deleted file mode 100644 index aadbe435f..000000000 --- a/web/skins/mobile/includes/functions.php +++ /dev/null @@ -1,66 +0,0 @@ -'."\n" ); -?> - - - - <?php echo ZM_WEB_TITLE_PREFIX ?> - <?php echo $title ?> - - - - - - - - - - - diff --git a/web/skins/mobile/includes/init.php b/web/skins/mobile/includes/init.php deleted file mode 100644 index ae92bcdee..000000000 --- a/web/skins/mobile/includes/init.php +++ /dev/null @@ -1,29 +0,0 @@ - diff --git a/web/skins/mobile/skin.php b/web/skins/mobile/skin.php deleted file mode 100644 index 51ea63e01..000000000 --- a/web/skins/mobile/skin.php +++ /dev/null @@ -1,97 +0,0 @@ -GetDeviceCapabilitiesFromAgent($_SERVER['HTTP_USER_AGENT']); - - //print_r( $wurfl->wurfl_agent ); - if ( $wurfl->wurfl_agent ) - { - if ( $wurfl->getDeviceCapability( 'html_wi_oma_xhtmlmp_1_0' ) ) - { - $device['width'] = $wurfl->getDeviceCapability( 'resolution_width' ); - $device['height'] = $wurfl->getDeviceCapability( 'resolution_height' ); - } - } -} -else -{ - // This is an example of using fixed device strings to just match your phone etc - $devices = array( - array( 'name'=>"Motorola V600", 'ua_match'=>"MOT-V600", 'skin'=>"mobile", 'cookies'=>false, 'width'=>176, 'height'=>220 ), - ); - - foreach ( $devices as $tempDevice ) - { - if ( preg_match( '/'.$tempDevice['ua_match'].'/', $_SERVER['HTTP_USER_AGENT'] ) ) - { - $skin = $tempDevice['skin']; - $cookies = $tempDevice['cookies']; - break; - } - } -} - -foreach ( getSkinIncludes( 'includes/config.php' ) as $includeFile ) - require_once $includeFile; - -foreach ( getSkinIncludes( 'includes/functions.php' ) as $includeFile ) - require_once $includeFile; - -if ( empty($view) ) - $view = isset($user)?'console':'login'; - -if ( !isset($user) && ZM_OPT_USE_AUTH && ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER']) ) -{ - $view = "postlogin"; - $action = "login"; - $_REQUEST['username'] = $_SERVER['REMOTE_USER']; -} - -// If there are additional actions -foreach ( getSkinIncludes( 'includes/actions.php' ) as $includeFile ) - require_once $includeFile; - -?> diff --git a/web/skins/mobile/views/console.php b/web/skins/mobile/views/console.php deleted file mode 100644 index 50b5f4775..000000000 --- a/web/skins/mobile/views/console.php +++ /dev/null @@ -1,178 +0,0 @@ - array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "-1 hour" ), - ) - ), - ), - // Today - array( - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "today" ), - ) - ), - ), -); - -$running = daemonCheck(); -$status = $running?translate('Running'):translate('Stopped'); - -if ( $group = dbFetchOne( "select * from Groups where Name = 'Mobile'" ) ) - $groupIds = array_flip(explode( ',', $group['MonitorIds'] )); - -$maxWidth = 0; -$maxHeight = 0; -$cycleCount = 0; -$monitors = dbFetchAll( "select * from Monitors order by Sequence asc" ); -for ( $i = 0; $i < count($monitors); $i++ ) -{ - if ( !visibleMonitor( $monitors[$i]['Id'] ) ) - { - continue; - } - if ( $group && !empty($groupIds) && !array_key_exists( $monitors[$i]['Id'], $groupIds ) ) - { - continue; - } - $monitors[$i]['Show'] = true; - $monitors[$i]['zmc'] = zmcStatus( $monitors[$i] ); - $monitors[$i]['zma'] = zmaStatus( $monitors[$i] ); - $counts = array(); - for ( $j = 0; $j < count($eventCounts); $j++ ) - { - $filter = addFilterTerm( $eventCounts[$j]['filter'], count($eventCounts[$j]['filter']['terms']), array( "cnj" => "and", "attr" => "MonitorId", "op" => "=", "val" => $monitors[$i]['Id'] ) ); - parseFilter( $filter, false, '&' ); - $counts[] = "count(if(1".$filter['sql'].",1,NULL)) as EventCount$j"; - $monitors[$i]['eventCounts'][$j]['filter'] = $filter; - } - $sql = "select ".join($counts,", ")." from Events as E where MonitorId = '".$monitors[$i]['Id']."'"; - $counts = dbFetchOne( $sql ); - if ( $monitors[$i]['Function'] != 'None' ) - { - $cycleCount++; - if ( $maxWidth < $monitors[$i]['Width'] ) $maxWidth = $monitors[$i]['Width']; - if ( $maxHeight < $monitors[$i]['Height'] ) $maxHeight = $monitors[$i]['Height']; - } - $monitors[$i] = array_merge( $monitors[$i], $counts ); -} - -xhtmlHeaders( __FILE__, translate('Console') ); -?> - -
- -
- - - - - - - - - - - - - - - - - 1 ) { -?> - - - - - - - -
".substr( $monitor['Function'], 0, 4 )."", canEdit( 'Monitors' ) ) ?>
  
-
-
- - diff --git a/web/skins/mobile/views/css/console.css b/web/skins/mobile/views/css/console.css deleted file mode 100644 index 49c711039..000000000 --- a/web/skins/mobile/views/css/console.css +++ /dev/null @@ -1,16 +0,0 @@ -#systemTime { - float: left; -} - -#systemState { - margin: 0 auto; - text-align: center; -} - -#systemStats { - float: right; -} - -td.colEvents { - text-align: right; -} diff --git a/web/skins/mobile/views/devices.php b/web/skins/mobile/views/devices.php deleted file mode 100644 index add0a6bc5..000000000 --- a/web/skins/mobile/views/devices.php +++ /dev/null @@ -1,73 +0,0 @@ - - -
- -
- - - - - - - - -
-

-
-
- - diff --git a/web/skins/mobile/views/error.php b/web/skins/mobile/views/error.php deleted file mode 100644 index 33e99f09a..000000000 --- a/web/skins/mobile/views/error.php +++ /dev/null @@ -1,34 +0,0 @@ - - -
- -
-

-

-
-
- - diff --git a/web/skins/mobile/views/event.php b/web/skins/mobile/views/event.php deleted file mode 100644 index ead6b6eae..000000000 --- a/web/skins/mobile/views/event.php +++ /dev/null @@ -1,147 +0,0 @@ -= ?".$_REQUEST['filter']['sql'].$midSql." order by $sortColumn asc"; -} -$result = dbQuery( $sql, array( $event[$_REQUEST['sort_field']] ) ); -while ( $row = dbFetchNext( $result ) ) -{ - if ( $row['Id'] == $_REQUEST['eid'] ) - { - $prevEvent = dbFetchNext( $result ); - break; - } -} - -$sql = "select E.* from Events as E inner join Monitors as M on E.MonitorId = M.Id where $sortColumn ".($sortOrder=='asc'?'>=':'<=').' ?'.$_REQUEST['filter']['sql'].$midSql." order by $sortColumn $sortOrder"; -$result = dbQuery( $sql, array($event[$_REQUEST['sort_field']]) ); -while ( $row = dbFetchNext( $result ) ) -{ - if ( $row['Id'] == $_REQUEST['eid'] ) - { - $nextEvent = dbFetchNext( $result ); - break; - } -} - -$framesPerPage = 15; -$framesPerLine = 3; -$maxShortcuts = 3; - -$paged = $event['Frames'] > $framesPerPage; - -if ( $paged && !empty($_REQUEST['page']) ) -{ - $loFrameId = (($_REQUEST['page']-1)*$framesPerPage)+1; - $hiFrameId = min( $_REQUEST['page']*$framesPerPage, $event['Frames'] ); -} -else -{ - $loFrameId = 1; - $hiFrameId = $event['Frames']; -} - -$sql = 'SELECT * FROM Frames WHERE EventID = ?'; -if ( $paged && !empty($_REQUEST['page']) ) - $sql .= " and FrameId between $loFrameId and $hiFrameId"; -$sql .= " order by FrameId"; -$frames = dbFetchAll( $sql, NULL, array( $_REQUEST['eid'] ) ); - -$scale = getDeviceScale( $event['Width'], $event['Height'], $framesPerLine+0.3 ); - -$pages = (int)ceil($event['Frames']/$framesPerPage); -if ( !empty($_REQUEST['fid']) ) - $_REQUEST['page'] = ($_REQUEST['fid']/$framesPerPage)+1; - -$pagination = getPagination( $pages, $_REQUEST['page'], $maxShortcuts, '&eid='.$_REQUEST['eid'].$filterQuery.$sortQuery, '&' ); - -xhtmlHeaders( __FILE__, translate('Event').' - '.$event['Name'] ); -?> - -
- -
- -

- -
- - <?php echo $frame['Type'] ?>/<?php echo $frame['Type']=='Alarm'?$frame['Score']:0 ?> - -
-
-
- - diff --git a/web/skins/mobile/views/eventdetails.php b/web/skins/mobile/views/eventdetails.php deleted file mode 100644 index deee5eef2..000000000 --- a/web/skins/mobile/views/eventdetails.php +++ /dev/null @@ -1,86 +0,0 @@ - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
s
()
//
-
- 1 - <?php echo $frame['FrameId'] ?> -
-
- - -
-
-
- - diff --git a/web/skins/mobile/views/events.php b/web/skins/mobile/views/events.php deleted file mode 100644 index 40dd6eff8..000000000 --- a/web/skins/mobile/views/events.php +++ /dev/null @@ -1,157 +0,0 @@ -$deviceLines)?$deviceLines:$limitLeft; - } - $eventsSql .= " limit $limitStart, $limitAmount"; -} -elseif ( !empty( $_REQUEST['limit'] ) ) -{ - $eventsSql .= " limit 0, ".$_REQUEST['limit']; -} - -$nEvents = dbFetchOne( $countSql, 'EventCount' ); -if ( !empty($limit) && $nEvents > $_REQUEST['limit'] ) -{ - $nEvents = $_REQUEST['limit']; -} -$pages = (int)ceil($nEvents/$deviceLines); - -$maxShortcuts = 3; -$pagination = getPagination( $pages, $_REQUEST['page'], $maxShortcuts, $filterQuery.$sortQuery.'&limit='.$_REQUEST['limit'], '&' ); - -xhtmlHeaders( __FILE__, translate('Events') ); -?> - -
- -
- -

- - - - - - - - - - - - - - - - - - - -
-

-
-
- - diff --git a/web/skins/mobile/views/filter.php b/web/skins/mobile/views/filter.php deleted file mode 100644 index 4613f3c3c..000000000 --- a/web/skins/mobile/views/filter.php +++ /dev/null @@ -1,71 +0,0 @@ - - -
- -
-
- - 0 ) -{ -?> -
- -
-
- -
- -

- -
-
-
- - diff --git a/web/skins/mobile/views/frame.php b/web/skins/mobile/views/frame.php deleted file mode 100644 index f9bb41633..000000000 --- a/web/skins/mobile/views/frame.php +++ /dev/null @@ -1,73 +0,0 @@ - - -
- -
- "> -
- 1 ) { ?> - << - 1 ) { ?> - < - - > - - >> - -
-
-
- - diff --git a/web/skins/mobile/views/function.php b/web/skins/mobile/views/function.php deleted file mode 100644 index 421d91063..000000000 --- a/web/skins/mobile/views/function.php +++ /dev/null @@ -1,66 +0,0 @@ - - -
- -
-
- -
- -
-
- checked="checked"/> -
-
- -
-
-
-
- - diff --git a/web/skins/mobile/views/login.php b/web/skins/mobile/views/login.php deleted file mode 100644 index 6eb0b7db9..000000000 --- a/web/skins/mobile/views/login.php +++ /dev/null @@ -1,54 +0,0 @@ - - -
- -
-
- - - - - - - - - - -
" size="12"/>
-
- -
-
-
-
- - diff --git a/web/skins/mobile/views/montage.php b/web/skins/mobile/views/montage.php deleted file mode 100644 index 8311fe6f4..000000000 --- a/web/skins/mobile/views/montage.php +++ /dev/null @@ -1,75 +0,0 @@ - - -
- -
-
- - <?php echo $monitor['Name'] ?> - -
-
-
-
- - diff --git a/web/skins/mobile/views/state.php b/web/skins/mobile/views/state.php deleted file mode 100644 index 51cf71624..000000000 --- a/web/skins/mobile/views/state.php +++ /dev/null @@ -1,77 +0,0 @@ - - -
- -
-
- - -
- -
-
-
-
- - diff --git a/web/skins/mobile/views/video.php b/web/skins/mobile/views/video.php deleted file mode 100644 index 8f7ac8654..000000000 --- a/web/skins/mobile/views/video.php +++ /dev/null @@ -1,226 +0,0 @@ -= 352 && $deviceHeight >= 288 ) - $videoSize = "352x288"; -elseif ( $deviceWidth >= 176 && $deviceHeight >= 144 ) - $videoSize = "176x144"; -else - $videoSize = "128x96"; - -$eventWidth = $event['Width']; -$eventHeight = $event['Height']; - -if ( !isset( $rate ) ) - $_REQUEST['rate'] = reScale( RATE_BASE, $event['DefaultRate'], ZM_WEB_DEFAULT_RATE ); - -$eventPath = ZM_DIR_EVENTS.'/'.getEventPath( $event ); - -$videoFormats = array(); -$ffmpegFormats = preg_split( '/\s+/', ZM_FFMPEG_FORMATS ); -foreach ( $ffmpegFormats as $ffmpegFormat ) -{ - preg_match( '/^([^*]+)(\**)$/', $ffmpegFormat, $matches ); - $videoFormats[$matches[1]] = $matches[1]; - if ( $matches[2] == '*' ) - $defaultVideoFormat = $matches[1]; - elseif ( $matches[2] == '**' ) - $defaultPhoneFormat = $matches[1]; -} -if ( !isset($_REQUEST['videoFormat']) ) -{ - if ( isset($defaultPhoneFormat) ) - $_REQUEST['videoFormat'] = $defaultPhoneFormat; - elseif ( isset($defaultVideoFormat) ) - $_REQUEST['videoFormat'] = $defaultVideoFormat; - else - $videoFormat = $ffmpegFormats[0]; -} - -if ( !empty($_REQUEST['generate']) ) -{ - $videoFile = createVideo( $event, $_REQUEST['videoFormat'], $_REQUEST['rate'], $videoSize, !empty($_REQUEST['overwrite']) ); -} - -$videoFiles = array(); -if ( $dir = opendir( $eventPath ) ) -{ - while ( ($file = readdir( $dir )) !== false ) - { - $file = $eventPath.'/'.$file; - if ( is_file( $file ) ) - { - if ( preg_match( '/-S([\da-z]+)\.(?:'.join( '|', $videoFormats ).')$/', $file, $matches ) ) - { - if ( $matches[1] == $videoSize ) - { - $videoFiles[] = $file; - } - } - } - } - closedir( $dir ); -} - -if ( isset($_REQUEST['download']) ) -{ - header( "Content-type: ".getMimeType($videoFiles[$_REQUEST['download']])); - header( "Content-length: ".filesize($videoFiles[$_REQUEST['download']])); - header( "Content-disposition: attachment; filename=".preg_replace( "/^.*\//", "", $videoFiles[$_REQUEST['download']] )."; size=".filesize($videoFiles[$_REQUEST['download']]) ); - readfile( $videoFiles[$_REQUEST['download']] ); - exit; -} - -xhtmlHeaders( __FILE__, translate('Video').' - '.$event['Name'] ); -?> - -
-
-
- - - - - - - - - - - - - - -
checked="checked"/>
-
-
- -

- -

- - -

- - - - - - - - - 0 ) - { - $index = 0; - foreach ( $videoFiles as $file ) - { - preg_match( '/^(.+)-((?:r[_\d]+)|(?:F[_\d]+))-((?:s[_\d]+)|(?:S[0-9a-z]+))\.([^.]+)$/', $file, $matches ); - if ( preg_match( '/^r(.+)$/', $matches[2], $temp_matches ) ) - { - $rate = (int)(100 * preg_replace( '/_/', '.', $temp_matches[1] ) ); - $rateText = isset($rates[$rate])?$rates[$rate]:($rate."x"); - } - elseif ( preg_match( '/^F(.+)$/', $matches[2], $temp_matches ) ) - { - $rateText = $temp_matches[1]."fps"; - } - if ( preg_match( '/^s(.+)$/', $matches[3], $temp_matches ) ) - { - $scale = (int)(100 * preg_replace( '/_/', '.', $temp_matches[1] ) ); - $scaleText = isset($scales[$scale])?$scales[$scale]:($scale."x"); - } - elseif ( preg_match( '/^S(.+)$/', $matches[3], $temp_matches ) ) - { - $scaleText = $temp_matches[1]; - } -?> - - - - - - - - -
 / 
- -

- -
-
- - diff --git a/web/skins/mobile/views/watch.php b/web/skins/mobile/views/watch.php deleted file mode 100644 index b61001db9..000000000 --- a/web/skins/mobile/views/watch.php +++ /dev/null @@ -1,154 +0,0 @@ - - -
-
-

 -  fps

-

- - - -

- -
- -
- -
- - - -
- -
-
- - From 7c7d7b245c09e31c5bd362b10422d672259ddd93 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 01:38:16 +1100 Subject: [PATCH 044/193] Remove the XML skin folder --- web/skins/xml/includes/config.php | 155 ---------- web/skins/xml/includes/functions.php | 447 --------------------------- web/skins/xml/includes/init.php | 2 - web/skins/xml/skin.php | 47 --- web/skins/xml/views/actions.php | 392 ----------------------- web/skins/xml/views/console.php | 259 ---------------- web/skins/xml/views/none.php | 0 web/skins/xml/views/notfound.png | Bin 7332 -> 0 bytes 8 files changed, 1302 deletions(-) delete mode 100644 web/skins/xml/includes/config.php delete mode 100644 web/skins/xml/includes/functions.php delete mode 100644 web/skins/xml/includes/init.php delete mode 100644 web/skins/xml/skin.php delete mode 100644 web/skins/xml/views/actions.php delete mode 100644 web/skins/xml/views/console.php delete mode 100644 web/skins/xml/views/none.php delete mode 100644 web/skins/xml/views/notfound.png diff --git a/web/skins/xml/includes/config.php b/web/skins/xml/includes/config.php deleted file mode 100644 index 66d3af5ee..000000000 --- a/web/skins/xml/includes/config.php +++ /dev/null @@ -1,155 +0,0 @@ - "100x", - "5000" => "50x", - "2500" => "25x", - "1000" => "10x", - "400" => "4x", - "200" => "2x", - "100" => translate('Real'), - "50" => "1/2x", - "25" => "1/4x", -); - -$scales = array( - "400" => "4x", - "300" => "3x", - "200" => "2x", - "150" => "1.5x", - "100" => translate('Actual'), - "75" => "3/4x", - "50" => "1/2x", - "33" => "1/3x", - "25" => "1/4x", -); - -$bwArray = array( - "high" => translate('High'), - "medium" => translate('Medium'), - "low" => translate('Low') -); - -/* Check if ZM_WEB_L_CAN_STREAM and ZM_WEB_L_STREAM_METHOD are defined */ -if (!defined("ZM_WEB_L_CAN_STREAM")) { - define ("ZM_WEB_L_CAN_STREAM", 1); - define ("ZM_WEB_M_CAN_STREAM", 1); - define ("ZM_WEB_H_CAN_STREAM", 1); -} -if (!defined("ZM_WEB_L_STREAM_METHOD")) { - define ("ZM_WEB_L_STREAM_METHOD", "jpeg"); - define ("ZM_WEB_M_STREAM_METHOD", "jpeg"); - define ("ZM_WEB_H_STREAM_METHOD", "jpeg"); -} - -switch ( $_COOKIE['zmBandwidth'] ) -{ - case "high" : - { - define( "ZM_WEB_REFRESH_MAIN", ZM_WEB_H_REFRESH_MAIN ); // How often (in seconds) the main console window refreshes - define( "ZM_WEB_REFRESH_CYCLE", ZM_WEB_H_REFRESH_CYCLE ); // How often the cycle watch windows swaps to the next monitor - define( "ZM_WEB_REFRESH_IMAGE", ZM_WEB_H_REFRESH_IMAGE ); // How often the watched image is refreshed (if not streaming) - define( "ZM_WEB_REFRESH_STATUS", ZM_WEB_H_REFRESH_STATUS ); // How often the little status frame refreshes itself in the watch window - define( "ZM_WEB_REFRESH_EVENTS", ZM_WEB_H_REFRESH_EVENTS ); // How often the event listing is refreshed in the watch window, only for recent events - define( "ZM_WEB_CAN_STREAM", ZM_WEB_H_CAN_STREAM ); // Override the automatic detection of browser streaming capability - define( "ZM_WEB_STREAM_METHOD", ZM_WEB_H_STREAM_METHOD ); // Which method should be used to send video streams to your browser - define( "ZM_WEB_DEFAULT_SCALE", ZM_WEB_H_DEFAULT_SCALE ); // What the default scaling factor applied to 'live' or 'event' views is (%) - define( "ZM_WEB_DEFAULT_RATE", ZM_WEB_H_DEFAULT_RATE ); // What the default replay rate factor applied to 'event' views is (%) - define( "ZM_WEB_VIDEO_BITRATE", ZM_WEB_H_VIDEO_BITRATE ); // What the bitrate of any streamed video should be - define( "ZM_WEB_VIDEO_MAXFPS", ZM_WEB_H_VIDEO_MAXFPS ); // What the maximum frame rate of any streamed video should be - define( "ZM_WEB_SCALE_THUMBS", ZM_WEB_H_SCALE_THUMBS ); // Image scaling for thumbnails, bandwidth versus cpu in rescaling - define( "ZM_WEB_EVENTS_VIEW", ZM_WEB_H_EVENTS_VIEW ); // What the default view of multiple events should be. - define( "ZM_WEB_SHOW_PROGRESS", ZM_WEB_H_SHOW_PROGRESS ); // Whether to show the progress of replay in event view. - define( "ZM_WEB_AJAX_TIMEOUT", ZM_WEB_H_AJAX_TIMEOUT ); // Timeout to use for Ajax requests, no timeout used if unset - break; - } - case "medium" : - { - define( "ZM_WEB_REFRESH_MAIN", ZM_WEB_M_REFRESH_MAIN ); // How often (in seconds) the main console window refreshes - define( "ZM_WEB_REFRESH_CYCLE", ZM_WEB_M_REFRESH_CYCLE ); // How often the cycle watch windows swaps to the next monitor - define( "ZM_WEB_REFRESH_IMAGE", ZM_WEB_M_REFRESH_IMAGE ); // How often the watched image is refreshed (if not streaming) - define( "ZM_WEB_REFRESH_STATUS", ZM_WEB_M_REFRESH_STATUS ); // How often the little status frame refreshes itself in the watch window - define( "ZM_WEB_REFRESH_EVENTS", ZM_WEB_M_REFRESH_EVENTS ); // How often the event listing is refreshed in the watch window, only for recent events - define( "ZM_WEB_CAN_STREAM", ZM_WEB_M_CAN_STREAM ); // Override the automatic detection of browser streaming capability - define( "ZM_WEB_STREAM_METHOD", ZM_WEB_M_STREAM_METHOD ); // Which method should be used to send video streams to your browser - define( "ZM_WEB_DEFAULT_SCALE", ZM_WEB_M_DEFAULT_SCALE ); // What the default scaling factor applied to 'live' or 'event' views is (%) - define( "ZM_WEB_DEFAULT_RATE", ZM_WEB_M_DEFAULT_RATE ); // What the default replay rate factor applied to 'event' views is (%) - define( "ZM_WEB_VIDEO_BITRATE", ZM_WEB_M_VIDEO_BITRATE ); // What the bitrate of any streamed video should be - define( "ZM_WEB_VIDEO_MAXFPS", ZM_WEB_M_VIDEO_MAXFPS ); // What the maximum frame rate of any streamed video should be - define( "ZM_WEB_SCALE_THUMBS", ZM_WEB_M_SCALE_THUMBS ); // Image scaling for thumbnails, bandwidth versus cpu in rescaling - define( "ZM_WEB_EVENTS_VIEW", ZM_WEB_M_EVENTS_VIEW ); // What the default view of multiple events should be. - define( "ZM_WEB_SHOW_PROGRESS", ZM_WEB_M_SHOW_PROGRESS ); // Whether to show the progress of replay in event view. - define( "ZM_WEB_AJAX_TIMEOUT", ZM_WEB_M_AJAX_TIMEOUT ); // Timeout to use for Ajax requests, no timeout used if unset - break; - } - case "low" : - { - define( "ZM_WEB_REFRESH_MAIN", ZM_WEB_L_REFRESH_MAIN ); // How often (in seconds) the main console window refreshes - define( "ZM_WEB_REFRESH_CYCLE", ZM_WEB_L_REFRESH_CYCLE ); // How often the cycle watch windows swaps to the next monitor - define( "ZM_WEB_REFRESH_IMAGE", ZM_WEB_L_REFRESH_IMAGE ); // How often the watched image is refreshed (if not streaming) - define( "ZM_WEB_REFRESH_STATUS", ZM_WEB_L_REFRESH_STATUS ); // How often the little status frame refreshes itself in the watch window - define( "ZM_WEB_REFRESH_EVENTS", ZM_WEB_L_REFRESH_EVENTS ); // How often the event listing is refreshed in the watch window, only for recent events - define( "ZM_WEB_CAN_STREAM", ZM_WEB_L_CAN_STREAM ); // Override the automatic detection of browser streaming capability - define( "ZM_WEB_STREAM_METHOD", ZM_WEB_L_STREAM_METHOD ); // Which method should be used to send video streams to your browser - define( "ZM_WEB_DEFAULT_SCALE", ZM_WEB_L_DEFAULT_SCALE ); // What the default scaling factor applied to 'live' or 'event' views is (%) - define( "ZM_WEB_DEFAULT_RATE", ZM_WEB_L_DEFAULT_RATE ); // What the default replay rate factor applied to 'event' views is (%) - define( "ZM_WEB_VIDEO_BITRATE", ZM_WEB_L_VIDEO_BITRATE ); // What the bitrate of any streamed video should be - define( "ZM_WEB_VIDEO_MAXFPS", ZM_WEB_L_VIDEO_MAXFPS ); // What the maximum frame rate of any streamed video should be - define( "ZM_WEB_SCALE_THUMBS", ZM_WEB_L_SCALE_THUMBS ); // Image scaling for thumbnails, bandwidth versus cpu in rescaling - define( "ZM_WEB_EVENTS_VIEW", ZM_WEB_L_EVENTS_VIEW ); // What the default view of multiple events should be. - define( "ZM_WEB_SHOW_PROGRESS", ZM_WEB_L_SHOW_PROGRESS ); // Whether to show the progress of replay in event view. - define( "ZM_WEB_AJAX_TIMEOUT", ZM_WEB_L_AJAX_TIMEOUT ); // Timeout to use for Ajax requests, no timeout used if unset - break; - } -} - -?> diff --git a/web/skins/xml/includes/functions.php b/web/skins/xml/includes/functions.php deleted file mode 100644 index b84e65464..000000000 --- a/web/skins/xml/includes/functions.php +++ /dev/null @@ -1,447 +0,0 @@ - $maj) return 1; - if ((getClientVerMaj() == $maj) && (getClientVerMin() >= $min)) return 1; - return 0; -} -function logXmlErr($str) -{ - logXml($str, 1); -} -function logXml($str, $err = 0) -{ - if (!defined("ZM_EYEZM_DEBUG")) { - /* Check session variable */ - if (isset($_SESSION['xml_debug'])) define("ZM_EYEZM_DEBUG", $_SESSION['xml_debug']); - else define ("ZM_EYEZM_DEBUG", "0"); - } - if (!defined("ZM_EYEZM_LOG_TO_FILE")) { - /* Check session variable */ - if (isset($_SESSION['xml_log_to_file'])) define("ZM_EYEZM_LOG_TO_FILE", $_SESSION['xml_log_to_file']); - else define ("ZM_EYEZM_LOG_TO_FILE", "1"); - } - if (!defined("ZM_EYEZM_LOG_FILE")) { - /* Check session variable */ - if (isset($_SESSION['xml_log_file'])) define("ZM_EYEZM_LOG_FILE", $_SESSION['xml_log_file']); - else define ("ZM_EYEZM_LOG_FILE", "/tmp/zm_xml.log"); - } - /* Only log if debug is enabled */ - if (ZM_EYEZM_DEBUG == 0) return; - /* Logging is enabled, set log string */ - $logstr = "XML_LOG (".($err?"ERROR":"NOTICE")."): ".$str.(ZM_EYEZM_LOG_TO_FILE?"\n":""); - if (ZM_EYEZM_LOG_TO_FILE) { - error_log("[".date("r")."] ".$logstr, 3, ZM_EYEZM_LOG_FILE); - } else { - error_log($logstr); - } -} -/* Returns defval if varname is not set, otherwise return varname */ -function getset($varname, $defval) -{ - if (isset($_GET[$varname])) return $_GET[$varname]; - return $defval; -} -function xml_header() -{ - header ("content-type: text/xml"); - echo ""; -} -function xml_tag_val($tag, $val) -{ - echo "<".$tag.">".$val.""; -} -function xml_tag_sec($tag, $open) -{ - if ($open) $tok = "<"; - else $tok = ""; -} -function xhtmlHeaders( $file, $title ) -{ -?> - - - - - - - /dev/null")) > 0) { - /* More than one match */ - return TRUE; - } else { - /* Check -formats tag also if we fail -codecs */ - if (preg_match("/\b".$codec."\b/", shell_exec(getFfmpegPath()." -formats 2> /dev/null")) > 0) return TRUE; - return FALSE; - } -} -function exeExists($exepath) -{ - $path = trim($exepath); - return (file_exists($path) && is_readable($path) && ($path != "")); -} -/* Returns whether ffmpeg exists or not */ -function ffmpegExists() -{ - return exeExists(getFfmpegPath()); -} -/* Returns with PHP-GD exists */ -function gdExists() -{ - if (extension_loaded('gd') && function_exists('gd_info')) { - return TRUE; - } - return FALSE; -} - -function getFfmpeg264FoutParms($br, $fout) -{ - $ffparms = "-analyzeduration 0 -acodec copy"; - $ffparms .= " -vcodec libx264 -b ".$br; - $ffparms .= " -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8"; - $ffparms .= " -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25"; - $ffparms .= " -sc_threshold 40 -i_qfactor 0.71 -bt 16k"; - $ffparms .= " -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6"; - $ffparms .= " -qmin 10 -qmax 51 -qdiff 4 -level 30"; - $ffparms .= " -g 30 -analyzeduration 0 -async 2 ".$fout." 2> /dev/null"; - return $ffparms; -} -/** Return FFMPEG parameters for H264 streaming */ -function getFfmpeg264Str($width, $height, $br, $fin, $fout) -{ - $ffparms = getFfmpeg264FoutParms($br, $fout); - $ffstr = getFfmpegPath()." -t ".ZM_EYEZM_H264_MAX_DURATION." -analyzeduration 0 -i "; - $ffstr .= $fin." -f mpegts ".$ffparms; - return $ffstr; -} -/** Returns true when monitor exists */ -function isMonitor($monitor) -{ - $query = "select Id from Monitors where Id = ?"; - $res = dbFetchOne($query, NULL, array($monitor)); - if ($res) return TRUE; - logXml("Monitor ID ".$monitor." does not exist"); - return FALSE; -} -/** Returns the width and height of a monitor */ -function getMonitorDims($monitor) -{ - $query = "select Width,Height from Monitors where Id = ?"; - $res = dbFetchOne($query, NULL, array( $monitor ) ); - return $res; -} -/** Returns the temp directory for H264 encoding */ -function getTempDir() -{ - /* Assume that the directory structure is /skins/xml/views */ - return dirname(__FILE__)."/../../../temp"; -} -/** Returns the name of the m3u8 playlist based on monitor */ -function m3u8fname($monitor) { - return "stream_".$monitor.".m3u8"; -} - -/** Erases the M3u8 and TS file names for a given monitor */ -function eraseH264Files($monitor) { - /** NOTE: This command executes an 'rm' command, so $monitor parameter - * should be properly validated before executing */ - /* Remove wdir/.m3u8 and wdir/sample_*.ts */ - shell_exec("rm -f ".getTempDir()."/".m3u8fname($monitor)." ".getTempDir()."/sample_".$monitor."*.ts"); -} -function kill264proc($monitor) { - /** NOTE: This command executes an 'kill' command, so $monitor parameter - * should be properly validated before executing */ - $pid = trim(shell_exec("pgrep -f -x \"zmstreamer -m ".$monitor."\"")); - if ($pid == "") { - logXml("No PID found for ZMStreamer to kill"); - } else { - shell_exec("kill -9 ".$pid); - logXml("Killed process ".$pid." for Monitor ".$monitor); - } -} -/** Return the command-line shell function to setup H264 stream */ -function stream264fn ($mid, $width, $height, $br) { - $cdir = "./temp"; - $zmstrm = "zmstreamer -m ".$mid." 2> /dev/null"; - $ffstr = getFfmpeg264Str($width, $height, $br, "-", "-"); - $seg = "segmenter - ".ZM_EYEZM_SEG_DURATION." ".$cdir."/sample_".$mid." ".$cdir."/".m3u8fname($mid)." ../ 2> /dev/null"; - $url = $zmstrm . " | ".$ffstr." | " . $seg; - return "nohup ".$url." & echo $!"; -} - -/** Generate the web-page presented to the viewer when using H264 */ -function h264vidHtml($width, $height, $monitor, $br, $thumbsrc) { - function printTermLink() { - $str = "H264 Streaming Launching...
Tap to re-load if stream fails"; - $str2 = "document.getElementById(\"loaddiv\").innerHTML = \"".$str."\";"; - echo $str2; - - } - $ajaxUrl = "?view=actions&action=spawn264&&monitor=".$monitor."&br=".$br; - /* Call these two directly to bypass server blocking issues */ - $ajax2Url = "./skins/xml/views/actions.php?action=chk264&monitor=".$monitor; - $ajax2Url .= "&timeout=".ZM_EYEZM_H264_TIMEOUT; - $ajax3Url = "./skins/xml/views/actions.php?action=kill264&monitor=".$monitor; -?> - - - - - - - -
-
-Initializing H264 Stream ()...
-This may take a few seconds -
-
- -
- -
- - - diff --git a/web/skins/xml/includes/init.php b/web/skins/xml/includes/init.php deleted file mode 100644 index acb6c3546..000000000 --- a/web/skins/xml/includes/init.php +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/web/skins/xml/skin.php b/web/skins/xml/skin.php deleted file mode 100644 index c88718c4e..000000000 --- a/web/skins/xml/skin.php +++ /dev/null @@ -1,47 +0,0 @@ - diff --git a/web/skins/xml/views/actions.php b/web/skins/xml/views/actions.php deleted file mode 100644 index 73e206af6..000000000 --- a/web/skins/xml/views/actions.php +++ /dev/null @@ -1,392 +0,0 @@ - */ - if (!canEdit('Events')) { - logXmlErr("User ".$user['Username']. " doesn't have edit Events perms"); - exit; - } - if (!isset($_REQUEST['eid'])) { - logXmlErr("EID not set for action delete-event"); - exit; - } - $eid = validInteger($_REQUEST['eid']); - $url = "./index.php?view=request&request=event&id=".$eid."&action=delete"; - header("Location: ".$url); - exit; - - } else if (!strcmp($action, "spawn264")) { - /* ACTION: Spawn 264 streaming process. - * Parms: [br|width|height] */ - if (!canView('Stream')) { - logXmlErr("User ".$user['Username']. " doesn't have view Stream perms"); - exit; - } - if (!isset($_GET['monitor'])) { - logXmlErr("Not all parameters specified for spawn264"); - exit; - } - $monitor = validInteger($_REQUEST['monitor']); - if (!isMonitor($monitor)) exit; - $dims = getMonitorDims($monitor); - $width = validInteger(getset('width', $dims['Width'])); - $height = validInteger(getset('height', $dims['Height'])); - $br = validString(getset('br', ZM_EYEZM_H264_DEFAULT_BR)); - /* Check that we can stream first */ - if (!canStream264()) { - /* canStream264 will print out error */ - exit; - } - $streamUrl = stream264fn($monitor, $width, $height, $br); - logXml("Using H264 Pipe Function: ".$streamUrl); - $pid = shell_exec($streamUrl); - logXml("Streaming Process for monitor ".$monitor." ended, cleaning up files"); - eraseH264Files($monitor); - exit; - - } else if (!strcmp($action, "kill264")) { - /* ACTION: Kill existing H264 stream process and cleanup files. - * Parms: . - * NOTE: This will be called directly by path, so include files - * may not be available */ - session_start(); - require_once(dirname(__FILE__)."/../includes/functions.php"); - if (!isset($_GET['monitor'])) { - logXmlErr("Not all parameters specified for kill264"); - exit; - } - $monitor = validInteger($_GET['monitor']); - kill264proc($monitor); - logXml("Killed Segmenter process for monitor ".$monitor); - exit; - - } else if (!strcmp($action, "chk264")) { - /* ACTION: Simply stalls while checking for 264 file. - * Parms: - * NOTE: This will be called directly by path, so include files - * may not be available */ - session_start(); - require_once(dirname(__FILE__)."/../includes/functions.php"); - if (!isset($_GET['monitor']) || !isset($_GET['timeout'])) { - logXmlErr("Monitor not specified for chk264"); - exit; - } - $monitor = validInteger($_GET['monitor']); - $path = getTempDir()."/".m3u8fname($monitor); - /* Wait for the second sample to become available */ - $tsfile = getTempDir()."/sample_".$monitor."-2.ts"; - /* Setup timeout */ - $startTime = time(); - $timeout = validInteger($_GET['timeout']); - while (!file_exists($path) || !file_exists($tsfile)) { - if (time() > $startTime + $timeout) { - logXmlErr("Timed out waiting for stream to start, exiting..."); - kill264proc($monitor); - exit; - } - usleep(10000); - } - logXml("File exists, stream created after ".(time()-$startTime)." sec"); - exit; - - } else if (!strcmp($action, "feed")) { - /* ACTION: View a feed. Parms: [height|width|fps|scale|vcodec|br] */ - if (!canView('Stream')) { - logXmlErr("User ".$user['Username']. " doesn't have view Stream perms"); - exit; - } - /* Check that required variables are set */ - if (!isset($_REQUEST['monitor'])) { - logXmlErr("Not all parameters set for action view-feed"); - exit; - } - $monitor = validInteger($_REQUEST['monitor']); - if (!isMonitor($monitor)) exit; - $dims = getMonitorDims($monitor); - $width = validInteger(getset('width', $dims['Width'])); - $height = validInteger(getset('height', $dims['Height'])); - $fps = validInteger(getset('fps', ZM_WEB_VIDEO_MAXFPS)); - $scale = validInteger(getset('scale', 100)); - $vcodec = validString(getset('vcodec', ZM_EYEZM_FEED_VCODEC)); - /* Select which codec we want */ - if (!strcmp($vcodec, "h264")) { - /* Validate that we can in fact stream H264 */ - if (!canStream264()) { - /* canStream264 will print out error if - * there is one */ - echo "Server cannot stream H264. Check eyeZm log for details"; - exit; - } - if (!requireVer("1", "2")) { - echo "H264 Streaming requires eyeZm v1.2 or above"; - logXmlErr("H264 Streaming requires eyeZm v1.2 or above"); - exit; - } - $br = validString(getset('br', ZM_EYEZM_H264_DEFAULT_BR)); - /* H264 processing */ - noCacheHeaders(); - /* Kill any existing processes and files */ - kill264proc($monitor); - eraseH264Files($monitor); - logXml("Streaming H264 on Monitor ".$monitor.", ".$width."x".$height." @".$br); - /* Get thumbnail source */ - $thumbsrc = - getStreamSrc( array( - "mode=single", - "monitor=".$monitor, - "scale=".$scale, - "maxfps=".$fps, - "buffer=1000" - ) ); - logXml("Using thumbnail image from ".$thumbsrc); - /* Generate H264 Web-page */ - echo "\n"; - h264vidHtml($width, $height, $monitor, $br, $thumbsrc); - } else if (!strcmp($vcodec, "mjpeg")) { - /* MJPEG streaming */ - /* If $fps=0, get a single-shot */ - if (!$fps) { - /* single-shot */ - $streamSrc = - getStreamSrc( array( - "mode=single", - "monitor=".$monitor, - "scale=".$scale, - "maxfps=0", - "buffer=1000" - ) ); - } else { - $streamSrc = - getStreamSrc( array( - "mode=jpeg", - "monitor=".$monitor, - "scale=".$scale, - "maxfps=".$fps, - "buffer=1000" - ) ); - } - noCacheHeaders(); - xhtmlHeaders( __FILE__, "Stream" ); - logXml("Streaming MJPEG on Monitor ".$monitor.", ".$width."x".$height." @".$fps."fps"); - echo "\n"; - echo "\n"; - echo "
\n"; - logXml("Using stream source: ".$streamSrc); - outputImageStream("liveStream", $streamSrc, $width, $height, "stream"); - echo "
"; - } else { - logXmlErr("Unsupported codec ".$vcodec." selected for streaming"); - echo("Unsupported codec ".$vcodec." selected for streaming"); - } - exit; - - } else if (!strcmp($action, "vevent")) { - /* ACTION: View an event. Parms: [fps|vcodec|br] */ - if (!canView('Events')) { - logXmlErr("User ".$user['Username']. " doesn't have view Events perms"); - exit; - } - if (!isset($_GET['eid'])) { - logXmlErr("Not all parameters set for Action View-event"); - exit; - } - /* Grab event from the database */ - $eid = validInteger($_GET['eid']); - $eventsSql = "select E.Id, E.MonitorId, E.Name, E.StartTime, E.Length, E.Frames from Events as E where E.Id = ?"; - $event = dbFetchOne($eventsSql, NULL, array( $eid ) ); - /* Check if exists */ - if (!$event) { - logxmlErr("Requested event ID ".$eid." does not exist"); - exit; - } - /* Calculate FPS */ - $fps = validInteger(getset('fps',ceil($event['Frames'] / $event['Length']))); - $vcodec = validString(getset('vcodec', ZM_EYEZM_EVENT_VCODEC)); - $baseURL = ZM_PATH_WEB."/".getEventPathSafe($event); - /* Here we validate the codec. - * Check that FFMPEG exists and supports codecs */ - if (!strcmp($vcodec, "mpeg4")) { - if (!ffmpegSupportsCodec("mpeg4")) { - logXmlErr("FFMPEG not installed, accessible in path/ZM_PATH_FFMPEG, or doesn't support mpeg4"); - exit; - } - /* Can generate, we are good to go */ - $fname = "capture.mov"; - $ffparms = "-vcodec mpeg4 -r ".ZM_EYEZM_EVENT_FPS." ".$baseURL."/".$fname." 2> /dev/null"; - - } else if (!strcmp($vcodec, "h264")) { - if (!ffmpegSupportsCodec("libx264")) { - logXmlErr("FFMPEG not installed, accessible in path/ZM_PATH_FFMPEG, or doesn't support H264"); - exit; - } - if (!requireVer("1","2")) { - logXmlErr("H264 Event viewing requires eyeZm v1.2 or greater"); - exit; - } - /* Good to go */ - $fname = "capture.mp4"; - $ffparms = getFfmpeg264FoutParms( - validString(getset('br',ZM_EYEZM_H264_DEFAULT_EVBR)), - $baseURL."/".$fname); - - } else { - logXmlErr("Unknown codec ".$vcodec." selected for event viewing"); - exit; - } - logXml("Selected ".$vcodec." for viewing event ".$event['Id']); - $fnameOut = $baseURL."/".$fname; - $shellCmd = getFfmpegPath()." -y -r ".$fps." -i ".$baseURL."/%0".ZM_EVENT_IMAGE_DIGITS."d-capture.jpg"; - $shellCmd .= " ".$ffparms; - logXml("Encoding event with command: ".$shellCmd); - $shellOutput = shell_exec($shellCmd); - /* Check that file exists */ - if (!file_exists(trim($fnameOut))) { - logXmlErr("Generate Event ".$event['Id']." file ".$fnameOut." does not exist"); - exit; - } - $url = "./".getEventPathSafe($event)."/".$fname; - logXml("Loading Event URL ".$url); - header("Location: ".$url); - exit; - - } else if (!strcmp($action, "vframe")) { - /* ACTION: View a frame given by an event and frame-id. Parms: [alarm | analyze | qty | scale] - * If 'alarm' is set, the returned frame will be the -th alarm frame. If 'analyze' is set, - * the returned frame will be the %03d-analyse frame instead of %03d-capture, if ZM_CREATE_ANALYSIS_IMAGES - * is set. Otherwise it just returns the captured frame. - * If qty is set, it will apply a quality factor from 0-100, and if width is set, it will scale the jpeg accordingly - */ - if (!isset($_GET['eid']) || !isset($_GET['frame'])) { - logXmlErr("Not all parameters set for action view-frame"); - exit; - } - $eid = validInteger($_GET['eid']); - $frame = validInteger($_GET['frame']); - $eventsSql = "select E.Id, E.MonitorId, E.Name, E.StartTime, E.Length, E.Frames from Events as E where E.Id = ?"; - $event = dbFetchOne($eventsSql, NULL, array( $eid ) ); - $qty = validInteger(getset('qty', 100)); - if ($qty > 100) $qty = 100; - $scale = validInteger(getset('scale', 100)); - if (!$event) { - logxmlErr("Requested event ID ".$eid." does not exist"); - exit; - } - /* Figure out the frame number. If 'alarm' is not set, this is just equal to the parameter. - * If 'alarm' is set, need to query DB and grab the -th item */ - if (isset($_GET['alarm'])) { - $frameSql = "select * from Frames as F where F.EventId=? and (F.Type = 'Alarm') order by F.FrameId"; - $i=0; - foreach (dbFetchAll($frameSql, NULL, array($eid) ) as $dbframe) { - if ($i == $frame) { - $frame = $dbframe['FrameId']; - break; - } - $i++; - } - } - if (isset($_GET['analyze']) && ZM_CREATE_ANALYSIS_IMAGES) { - $suffix = "analyse"; - } else { - $suffix = "capture"; - } - /* A frame index of 0 is invalid, so if we see this, just use frame 1 */ - if (!$frame) $frame = 1; - /* Suffix based on 'analyze' */ - $fname = sprintf("%0".ZM_EVENT_IMAGE_DIGITS."d-%s.jpg", $frame, $suffix); - $url = "./".getEventPathSafe($event)."/".$fname; - if (!file_exists($url)) { - logXmlErr("Invalid frame image requested: ".$url); - $url = "./skins/xml/views/notfound.png"; - } - /* Check if the image needs any processing - check for GD if requested */ - if (($scale != 100) || ($qty < 100)) { - if (!gdExists()) { - logXmlErr("Lib GD is not loaded, but required for image scaling functions"); - $url = "./skins/xml/views/notfound.png"; - } else if (!$img = imagecreatefromjpeg($url)) { - logXmlErr("Could not load JPEG from ".$url); - $url = "./skins/xml/views/notfound.png"; - } else { - /* GD exists and we read the file ok */ - header('Content-type: image/jpeg'); - /* Check if resizing is needed */ - if ($scale != 100) { - list($width_orig, $height_orig) = getimagesize($url); - $width_new = $width_orig * ($scale/100); - $height_new = $height_orig * ($scale/100); - $img_new = imagecreatetruecolor($width_new, $height_new); - imagecopyresampled($img_new, $img, 0, 0, 0, 0, $width_new, $height_new, $width_orig, $height_orig); - imagejpeg($img_new, NULL, $qty); - } else { - imagejpeg($img, NULL, $qty); - } - exit; - } - } - header("Location: ".$url); - exit; - - } else if (!strcmp($action, "state")) { - /* ACTION: Change the state of the system. Parms: */ - if (!canEdit('System')) { - logXmlErr("User ".$user['Username']. " doesn't have edit System perms"); - exit; - } - if (!isset($_GET['state'])) { - logXmlErr("Server state not specified for action"); - exit; - } - $url = "./index.php?view=none&action=state&runState=".validString($_GET['state']); - header("Location: ".$url); - exit; - - } else if (!strcmp($action, "func")) { - /* ACTION: Change state of the monitor. Parms: */ - if (!canEdit('Monitors')) { - logXmlErr("User ".$user['Username']. " doesn't have monitors Edit perms"); - exit; - } - if (!isset($_GET['mid']) || !isset($_GET['func']) || !isset($_GET['en'])) { - logXmlErr("Not all parameters specified for action Monitor state"); - exit; - } - $mid = validInteger($_GET['mid']); - if (!isMonitor($mid)) exit; - $url = "./index.php?view=none&action=function&mid=".$mid."&newFunction=".validString($_GET['func'])."&newEnabled=".validString($_GET['en']); - header("Location: ".$url); - exit; - - } else if (!strcmp($action, "vlog")) { - /* ACTION: View log file. Must have debug and log to file enabled, and sufficient perms - * Parms: [lines] */ - if (!canEdit('System')) { - logXmlErr("Insufficient permissions to view log file"); - echo "Insufficient permissions to view log file"; - exit; - } - if (!ZM_EYEZM_DEBUG || !ZM_EYEZM_LOG_TO_FILE) { - echo "eyeZm Debug (EYEZM_DEBUG) or log-to-file (EYEZM_LOG_TO_FILE) not enabled. Please enable first"; - exit; - } - if (!file_exists(ZM_EYEZM_LOG_FILE)) { - echo "Log file ".ZM_EYEZM_LOG_FILE." doesn't exist"; - exit; - } - $lines = validInteger(getset('lines',ZM_EYEZM_LOG_LINES)); - logXml("Returning last ".$lines." lines of eyeZm Log from ".ZM_EYEZM_LOG_FILE); - echo shell_exec("tail -n ".$lines." ".ZM_EYEZM_LOG_FILE); - echo "\n\n--- Showing last ".$lines." lines ---\n"; - echo "--- End of Log ---\n\n"; - } -} -?> diff --git a/web/skins/xml/views/console.php b/web/skins/xml/views/console.php deleted file mode 100644 index b512bc13a..000000000 --- a/web/skins/xml/views/console.php +++ /dev/null @@ -1,259 +0,0 @@ - translate('Events'), - "filter" => array( - "terms" => array( - ) - ), - ), - array( - "title" => translate('Hour'), - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "-1 hour" ), - ) - ), - ), - array( - "title" => translate('Day'), - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "-1 day" ), - ) - ), - ), - array( - "title" => translate('Week'), - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "-7 day" ), - ) - ), - ), - array( - "title" => translate('Month'), - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "0" ), - array( "cnj" => "and", "attr" => "DateTime", "op" => ">=", "val" => "-1 month" ), - ) - ), - ), - array( - "title" => translate('Archived'), - "filter" => array( - "terms" => array( - array( "attr" => "Archived", "op" => "=", "val" => "1" ), - ) - ), - ), -); - -$running = daemonCheck(); -$status = $running?translate('Running'):translate('Stopped'); - -if ( $group = dbFetchOne( 'SELECT * FROM Groups WHERE Id = ?', NULL, array(empty($_COOKIE['zmGroup'])?0:$_COOKIE['zmGroup']) ) ) - $groupIds = array_flip(split( ',', $group['MonitorIds'] )); - -$maxWidth = 0; -$maxHeight = 0; -$cycleCount = 0; -$minSequence = 0; -$maxSequence = 1; -$seqIdList = array(); -$monitors = dbFetchAll( "select * from Monitors order by Sequence asc" ); -$displayMonitors = array(); -for ( $i = 0; $i < count($monitors); $i++ ) -{ - if ( !visibleMonitor( $monitors[$i]['Id'] ) ) - { - continue; - } - if ( $group && !empty($groupIds) && !array_key_exists( $monitors[$i]['Id'], $groupIds ) ) - { - continue; - } - $monitors[$i]['Show'] = true; - if ( empty($minSequence) || ($monitors[$i]['Sequence'] < $minSequence) ) - { - $minSequence = $monitors[$i]['Sequence']; - } - if ( $monitors[$i]['Sequence'] > $maxSequence ) - { - $maxSequence = $monitors[$i]['Sequence']; - } - if (isset($_GET['nostatus'])) { - $monitors[$i]['zmc'] = 1; - $monitors[$i]['zma'] = 1; - } else { - $monitors[$i]['zmc'] = zmcStatus( $monitors[$i] ); - $monitors[$i]['zma'] = zmaStatus( $monitors[$i] ); - } - $monitors[$i]['ZoneCount'] = dbFetchOne( 'select count(Id) as ZoneCount from Zones where MonitorId = ?', 'ZoneCount', array($monitors[$i]['Id']) ); - $counts = array(); - for ( $j = 0; $j < count($eventCounts); $j++ ) - { - $filter = addFilterTerm( $eventCounts[$j]['filter'], count($eventCounts[$j]['filter']['terms']), array( "cnj" => "and", "attr" => "MonitorId", "op" => "=", "val" => $monitors[$i]['Id'] ) ); - parseFilter( $filter ); - $counts[] = "count(if(1".$filter['sql'].",1,NULL)) as EventCount$j"; - $monitors[$i]['eventCounts'][$j]['filter'] = $filter; - } - $sql = 'SELECT '.join($counts,", ").' from Events as E where MonitorId = ?'; - $counts = dbFetchOne( $sql, NULL, array( $monitors[$i]['Id'] ) ); - if ( $monitors[$i]['Function'] != 'None' ) - { - $cycleCount++; - $scaleWidth = reScale( $monitors[$i]['Width'], $monitors[$i]['DefaultScale'], ZM_WEB_DEFAULT_SCALE ); - $scaleHeight = reScale( $monitors[$i]['Height'], $monitors[$i]['DefaultScale'], ZM_WEB_DEFAULT_SCALE ); - if ( $maxWidth < $scaleWidth ) $maxWidth = $scaleWidth; - if ( $maxHeight < $scaleHeight ) $maxHeight = $scaleHeight; - } - $monitors[$i] = array_merge( $monitors[$i], $counts ); - $seqIdList[] = $monitors[$i]['Id']; - $displayMonitors[] = $monitors[$i]; -} -$states = dbFetchAll("select * from States"); -/* XML Dump Starts here */ -xml_header(); -/* Print out the general section */ -xml_tag_sec("ZM_XML", 1); -xml_tag_sec("GENERAL", 1); -xml_tag_val("RUNNING", $running); -xml_tag_val("PROTOVER", ZM_EYEZM_PROTOCOL_VERSION); -xml_tag_val("FEATURESET", ZM_EYEZM_FEATURE_SET); -xml_tag_val("VERSION", ZM_VERSION); -xml_tag_val("CANSTR264", canStream264(1)); -xml_tag_val("GD", gdExists()); -xml_tag_val("FVCODEC", ZM_EYEZM_FEED_VCODEC); -xml_tag_val("FVTMT", ZM_EYEZM_H264_TIMEOUT); -xml_tag_val("USER", $user['Username']); -xml_tag_val("UID", $user['Id']); -/* Permissions block */ -xml_tag_sec("PERMS", 1); -xml_tag_val("STREAM", $user['Stream']); -xml_tag_val("EVENTS", $user['Events']); -xml_tag_val("CONTROL", $user['Control']); -xml_tag_val("MONITORS", $user['Monitors']); -xml_tag_val("DEVICES", $user['Devices']); -xml_tag_val("SYSTEM", $user['System']); -xml_tag_sec("PERMS", 0); -/* End permissions block */ -if (canEdit('System')) { - if ($running) { - xml_tag_val("STATE", "stop"); - xml_tag_val("STATE", "restart"); - } else { - xml_tag_val("STATE", "start"); - } - foreach ($states as $state) { - xml_tag_val("STATE", $state['Name']); - } -} -/* End general section */ -xml_tag_sec("GENERAL", 0); -/* Print out the monitors section */ -xml_tag_sec("MONITOR_LIST", 1); -foreach( $displayMonitors as $monitor ) -{ - if (!canView('Monitors')) continue; - xml_tag_sec("MONITOR", 1); - xml_tag_val("ID", $monitor['Id']); - xml_tag_val("NAME", $monitor['Name']); - xml_tag_val("FUNCTION", $monitor['Function']); - xml_tag_val("NUMEVENTS", $monitor['EventCount0']); - xml_tag_val("ENABLED", $monitor['Enabled']); - xml_tag_val("ZMC", $monitor['zmc']); - xml_tag_val("ZMA", $monitor['zma']); - xml_tag_val("STATE", ($monitor['zmc']!=1)?"ERROR":( - ($monitor['zma']==1)?"OK":"WARN")); - xml_tag_val("WIDTH", $monitor['Width']); - xml_tag_val("HEIGHT", $monitor['Height']); - - /* Form the data-base query for this monitor */ - $pageOffset = 0; - $offset = 0; - if (isset($_GET['numEvents'])) { - $numEvents = validInteger($_GET['numEvents']); - $eventsSql = "select E.Id,E.MonitorId,M.Name As MonitorName,E.Cause,E.Name,E.StartTime,E.Length,E.Frames,E.AlarmFrames,E.TotScore,E.AvgScore,E.MaxScore,E.Archived from Monitors as M inner join Events as E on (M.Id = E.MonitorId) and ( E.MonitorId = ? ) order by E.StartTime desc"; - $eventsSql .= " limit ".$numEvents; - /* If there is an pageOff tag for this monitor, then retrieve the offset. Otherwise, don't specify offset */ - if (isset($_GET['pageOff'.$monitor['Id']])) { - /* If pageOffset is greater than we actually have, - * we need to adjust it */ - $pageOffset = validInteger($_GET['pageOff'.$monitor['Id']]); - if ($pageOffset >= ceil($monitor['EventCount0']/$numEvents)) { - $pageOffset = 0; - } - $offset = $pageOffset * $numEvents; - } - $eventsSql .= " offset ".$offset; - } else { - unset($eventsSql); - } - xml_tag_val("PAGEOFF", $pageOffset); - xml_tag_sec("EVENTS",1); - if (canView('Events') && isset($eventsSql)) { - foreach ( dbFetchAll( $eventsSql, NULL, array($monitor['Id']) ) as $event ) - { - xml_tag_sec("EVENT",1); - xml_tag_val("ID",$event['Id']); - xml_tag_val("NAME",$event['Name']); - xml_tag_val("TIME", strftime( STRF_FMT_DATETIME_SHORTER, strtotime($event['StartTime']))); - xml_tag_val("DURATION", $event['Length']); - xml_tag_val("FRAMES", $event['Frames']); - xml_tag_val("FPS", ($event['Length'] > 0)?ceil($event['Frames']/$event['Length']):0); - xml_tag_val("TOTSCORE", $event['TotScore']); - xml_tag_val("AVGSCORE", $event['AvgScore']); - xml_tag_val("MAXSCORE", $event['MaxScore']); - /* Grab the max frame-id from Frames table. If AlarmFrames = 0, don't try - * to grab any frames, and just signal the max frame index as index 0 */ - $fridx = 1; - $alarmFrames = 1; - if ($event['AlarmFrames']) { - $framesSql = "SELECT FrameId FROM Frames WHERE (Type = 'Alarm') and (EventId = ?) ORDER BY Score DESC LIMIT 1"; - $fr = dbFetchOne($framesSql, NULL, array( $event['Id'] ) ); - $fridx = $fr['FrameId']; - $alarmFrames = $event['AlarmFrames']; - } - xml_tag_val("ALARMFRAMES", $alarmFrames); - xml_tag_val("MAXFRAMEID", $fridx); - xml_tag_sec("EVENT",0); - } - } - xml_tag_sec("EVENTS",0); - xml_tag_sec("MONITOR", 0); -} -xml_tag_sec("MONITOR_LIST", 0); -xml_tag_sec("ZM_XML", 0); -?> diff --git a/web/skins/xml/views/none.php b/web/skins/xml/views/none.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/skins/xml/views/notfound.png b/web/skins/xml/views/notfound.png deleted file mode 100644 index 219706897647c72375b90298de2d8a6622b7093d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7332 zcmd6s^Zm59;d-_2PJ@tjyu%19fz9cL0E( z#R9Ms1dP8aN5C8?X~jooXh98`sW=Rkk|LSX9`SNgU(<}|EI~3G^f0QbUS=IEjweq^ ziG0Isz<)K7W`S~z^Fzw(()h&T(;uOwZgU-kpJT-4d3jvTenHa&C4%Z|mWGIdSmf0z zC3eQ;*8{!%Kh^{kqG%p?0oSOSUU2%J-zNi(!)0apxDb?G09nv9Efs*!$wvs?jUzE^ zDCJs`MMje${L&<~s3MsFg^(1bazH_iEV3Zy5f~`G4A_o5w_gSHp8&RxBYsW;kp;)O zp=5wX1}8IFaT>sJ!y#S;aFzjTCX5qR0aGD>$x*9U3Rrjo2t6}#)BrxU0EqExw2c7O zRY1rfK86Rl917SD-oGCNMCSrbYI`QKfB5RI;dn2c%59WweITV8WkL1Co6^KYfSr5% z84DkixZNeYJOzQT!MV4eMu{>k?~ejNaT@c5+WqsOar(OPaq$#5z0H%2ZVD2Yz5Ob2 zeWKdyB5^MU#E6f4osGdE1Ia zuCJ{vX!a^u*bSS65uLu;AWY8PPr_x-2#3pED-WWcT1BZ}K3@JhdZ1l)cj6s&v_1M~ zs`^=PTW zt>BCTn<&D-IX2ykUf`?I7kW7_hQD@Hg+1IIQPh_e2dQq@aW2M_*(aLbPoZMTjXCD* z(YSm)=>f-3Jd**JR+^ZGuwf#E!$^Z|PtNC(RGg(+Tbj%u@buMLY=^pVMpUDL+|1Qx z<i>dO;144*jw8cjA8FvKxmw+S=aX>_d3(a)^NEJQ%h#h+5!B+B1C==J*cCNQwM}&wG%7jnJ`iPG zq?Vv2k2d)Fm@B+_>F#*^M#_D_Z5Of~rL&s|TwA$Tn`Ub$D|!Sw{?r;l6TUV7H> z5i)gsN^Q#1@IIcuDqmFN&i(YE#TRaklu{Y|9DIW@YXxiH)aNd{9X~Q&`nwgI>S$PE^Rj_gx21aYNZ!`i)t+ED( z)u|bYfLE)iXR@k|U~9{G4ud)v^9jV!e+V#*i-qc-wQ%+1iujU{xhj$|9N~CQXL>8IB;z)g15R_kOz6 zIPQw<{qRH#(=N{n4{N!ocB`<1r5h|OJIl0MquQWaeX~=%Zo8tOyi>K^>@oS=t`gYoS+SE-*kv7As12>a1b5>8-VGBx zhn#!-tvFP_YD&>`^#KLy>i8|$J~3~oESul}>W_i4)i(v@GP_K>>>tr-t&_5)vuep| z3~yZeEmt3`dh~nrmp-C+#Q8`|XG3Qv&rqkeoTpqyTSj|eY;^3y*j%nyzMSyF4Rw`x+WEvS7s*IwIR!C29%o32}3 zIOp{3(;xT{ysG8)r}YI2R2|#{9%koc&*Ie5SNClvy)!+mEiCz5j*>18Nng!o&KBfe`&CDP1Ent+v-Qi)L}t>Q~uZON>u%h_>Rj?9J**!w1}tBOvLy5w?XA)gY`)e zZBeF>8@47~PgyU@sTp@)@VQ``N$vcnma;$?!ETpD{z%@ZXjOhyRs!=BV`eidfoK_Q z8PWR&EwqWjDo5NWyq-(a>mofUFc)f@NW7?W5~idVepok`(r zvA{{RvM*NUuS%8*Cf`X|PpbZjrWmh0Ou$ukQKC(>4b(5-Xf`@)T44IjUF)ut0B@bR zr+XLnY3zZI|XR^EK`aPLOo z!xWm}uWVnPxCAG~C*v2CEqU2>_cVBQLf&nqb%+H&=o2a9UvG_mT=lj?n@)QvU%K#S zUI2&3Q#t8Q;n(ld-g+y+ICawDP8&`?9Ro&c9AX-YeV$1zg6x@;LvBrPYp$3*p@A!v z|ALrv&+}3?Iysm)c8?_tOJ!9T@{MheHVvcRO1$4KB5hy)di}>ccv-BL$rCoypPedxl^2G?Te)(i+jM$AoR7 z=eMo&Oa;xb&31od3s~iu6B6r~P%PQZ5ewYtpmo+b=x}!~I^%Oyb#Lp73CAf%{7=l2 zLJRsVSoY6sdQUp!;%7Rn@#pQsBUO}O_82#+{WV;Ovks@vPMZjzx&#>hIP28Is#e#- zdwYO)!EPCsz3i&(H5_=HZJ&M5hP|H^$YmEbizff`F- zr;}a`coSOlgL3*_0Gkt=psP~eUY=S$IPcWL-l9!!RDN=90~2zlj=IP2UR2gBSaTmT zkYKOZ_lf1wRCIU3F&MObtK?f3nj*v4myMX+$7D-7D~x2 zb?%2i34Me^?9HWcpU3CpBkjn*$2+whdL1?g3fqcE<)ye;kOdLFu#1jxMFbY_PomWc z6fv(Sh-rtZ49Zthb5loR>0&nvCFP~0RzN=I__GS-i5C-(3R#FBh$D3@HwD9wXE*1^ zCvzrCviGvnyFFf(oo^sEZ`Y&xzxK0t4F!n^TOSyoZubPD1KD;5U#(XQ~?}|w)P75WpyZa{B@Yj^ySljyIlr3@mB~jmW zzjWJRMxm!klGi=;jhh_;V>nD{YA&D6 zZ3iT}&nqW)K3q=ZNLy%Vw?#3*R(?Fxahw!3K5)j*#kF#}OAbU9ML!lL10n&ce+>t4 z3HUEiMFPOTH*$5DQ{$yW7%&jlN`lo*|;j8wfKH^@4puiJ)0eZFf zq~(j#96wOMglcJCa%*RqY-+;o7fx(K<7DMz+CjTS*$-hBr=3TkjC|NycN-*o!@*%~ zXUh@M?=%ozkgs~`N%xqco4B}HuX=E1GT|gwq{@H3J2kDPr~ban?`N$D)aBk~g+Z}{ z&5|Z%r~C9pva%6DUBRiLTkFqpDFsQUXM1Ys`1lrV&?y2%$t7L5y)fBu-(FO${*85l z+_73ZnWAK@D~zhren)=VhFC_ziO0Np43E6>q8JZ~+}_WK%=o-?wP3us&BECdx7 z+|HL0^{qsA(e4UtnJ+MVub_k8KzkIjUb$lYp++(iBeNjOrBHupZ?8-t;noyGfcDP0HW{}LYn+|tT4Zt6anLq zhm+5P!-@{V3>kZiSVMe&jrl0Jit3jwXMfZjG^TzztzHpZ5qrO`pli;*mXFj1=K$bq z!C55e32p>LIR8^wwmkofK>zt24M%DWCOc&J(D-r+YeZ|qdH+#-8hD`YUVB$n9EO?M zrniFh@-G_i%h*?+w9Aa;)B7=(r!v4&E^JDZS3>;gqQmgEY_Am!uG_U zN*P@(tFD%{t4UoI(5`xW*S|Y9yWyb(lnx!*LP^zOBVqXDl_)dlbaHDOiE6IU*yptz z!Se4~V>+*3oE}A%ZO(60VSPaL)~FEDJwkUIX?7JG@iM|ceD-8^gVc>|{>%aFfsZd) z`A(}hmFp*Vb9Yz-Nqh(@hWxQORJFoAN=b|a!|rD8{@(2^=;x#8Bkv1L+|9Trp~G2b z`;I;0XcdVaC&K;7H3K$yH`hiU59p@MT7Sz9WZPVN|F&*=dHS^pMSVs^Iau|nQS|g- z-nnzY%K%xBLRo-35jzkOcoxVgCle}(}sppp}P5{{`i89Jzk7&RrJ;XB5`h*`i&k)$@vQt(=x3?6<33 zjeaL}F>Ehu?z_JVKKQh7LuMwBdu4g(HGv-EX5GiVJ(nE+U%vL|gbiSpwbLY|UgfI1+%a+al<|Ir z+D>xKq(GI8ktG2(pw-hD7~$VtdDzC<-E(5chvt!FlMfEs@?tx$`R(qa*>N$kFG6>P z!~M?oj@Nz4WJ5bcY&N!cx9k6&x!bsNn9jB*@LFLHq*1sUyBeJ#c6|fhw3s6?M zf7i&&7WMkbQ^s^_S|NMxQvqpN$1wITtfnE!#ATYRNW7~`NgCQLm+vBcGP>zrn4yo z>D2hcTO~h9>eu~p1WE9GYA)hCY~M;&QvF@+8Yil1Q-`R>dLk1YKUX%=UU+whS@GkB zuKX^oI3Jx?aF6rOu1Tt;-1W(>+H?0)WV{lD5@8M=+k|k>vmM8VhaGSIXksK+r@*jQ zQn51+1f03-=`k{TKS+TPN2a{RE;bp_KB860$oloddmu-mxZ-F-YH8nGPqkQs+~v>o z6vU&|N{ieLMT8UKiNpGsof%R8Y`Sosw`1XcE@xB68)TwvtG*t%IIDXBnS63Ci6Wur z(~zIbT|EgsVwa5j_CFs{Jgz8cVjeTUX(Mpu?K*U)e+fo3gN-`!g)`?@c1a$o8X@vh z@IIk%s9QvB=ZbViz;-As5FQA({4;iXcc#5xq@HcVY9s9ua1cKaczmui5GiSy43CdFeS=PYlI@| zK(&bClX=AW#d^y>!Ok#?`p(^%TR^{U3ND_5xWjTBuqNi|8BShU#Cp_7bwv#yFZfAS zhvU4!#X37XIKl62j)&R=lZPG!y%)WbQ>!mm6Fql(u#vfat3jmt(o4sE-KL5lRu7!J zLN#Hcql&O~sNs6p^uS2dEj;{bdtZ}c`(%K|Iq&X%_BQFT&S3QP{fpOT*6lhSBEmAl z7N`3KfoIdk$b-wgk?v-}Zr`U^!pJEZ=f!57e%9o z&mkhC+=r#x($ds2-WfYb^f+x{4AVP&a_~fjiGe9DsqCoIyeVt(;Rd=H{p)nN&PtPf zd268QM$-+((o?O>6s9jJAW(?kfphP0AfJSZ=N!8iC4tVGy`#fX|6~;pQd8+wxH=QQ zluYqsYvy2OYNh^W1T$l972bHr_zU=ZUFE39Z|`|)a5nGg7}4SF79FIss7P8~-KYrL zA(oymHz9Im4AQ_Z`Sd$T-=IO4GHV{?8O&_Z9)Z+^0LTwyLWG64S=uEpit6Xc`dH-_ zBrDygzZpQePXkg(Nx`tdyG)+ z&`7nH1D_016Rk!$>V9nqE0vIU08 z2Bz?_JMi~fj|}B*#{8m~R$ouE|CL<`wRXPpyO~0yj#zMJiMvDjB#oix+X=j2KHc?N zS6oMNXH>wT1$bT`QNujS$Llk@ZHg1@5M9LXN#xH+&AxBlK^_g#b|k|sYH?Au2qqy5 zLkwbiqpCXOH9|TGBLOMVc0)UY+L*HENYyThEe}D3?UQ6eS0+~@g5GYb_ zn6Iiqmsa!kFnXmD8B2XTN`ZD`worngMJx@6g<(LX`|QeD^3FJjwDw^Gbm!#EjEr;2I)u&IMsm^t^sk#7}Q^*!Vs^l&ri zi%hHQv|cSS>)g7srE`uNW>mEA&ztIhIN&!r%D}dz2&^?^x4`R+z}&%Z{;u15BNixQ zEewuZPU_)_pU z@VDyusWKjX$7T+l1|C~6Fea~u@kjnnR!`zX2cNtDYAwkv$(`L5dDi{qom|)2kCUX_ zhm^sJBCI)6`(*<~^3rmma-aWVXE&h8O-mBQH*8?0X4(@<-`U!>WZ11yG_n<3SW6_n z8WXxQn)Oab%mgRs=DvIa3*Ure(*I6x;*&8an8YaA^9&;z4y2~qon`3Rx*92&xVLg5 z`YFux?9*>M&XqZItz64d1|N%yt4QdUChcOktI3vHL@P%pDM>I>ylDm&{c-F89^J(R zOp}dW9Mf`ra{tusTc$|Hi{ieby28yrhIiYi*56$l_JXb#F{;oPH8-zov)MMs+;BFw zSGX?6c#%)y4l$k<%wqlJx6(fS;yB#5iSKRjIsbXEhZ8RYA+iV|42Q4RCmBA; zqJZ}p8K5QcaUO2eViAz-U%N@h8>t^^TT}g^!3>$G)S2{qS}F(`B|~?sxx9ZWGS7rZ ztKMyv$+7^~Ci@i1<}@<$HWlCh?dUsza7fU03EyJH3d2UNO=mgU=A9UTRjb7Wnt^-aTgVoHqlJ1S1cr;_2O3&e#&AF}3!%7eqltqXE zxG$d7XVE#AD1d7K*}vwp0s#CM$gW*{pZz-&fXl#t;eTA#KQ{bZS;bQ%2B1dpZ7}r* R>Js3hJyX?HsZ+9j^?#`>R7U^+ From 6b169af655fcdd3a5f93f7723b440e76d2479e66 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 02:00:33 +1100 Subject: [PATCH 045/193] Remove eyezm configdata Conflicts: scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in --- .../lib/ZoneMinder/ConfigData.pm.in | 135 ------------------ 1 file changed, 135 deletions(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index 703d47c30..c9d48f52f 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -3942,141 +3942,6 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s readonly => 1, category => "dynamic", }, - { - name => "ZM_EYEZM_DEBUG", - default => "no", - description => "Switch additional debugging on for eyeZm Plugin", - help => qqq(" - Enable or Disable extra debugging from the eyeZm Plugin. Extra - debugging information will be displayed in it's own file - (EYEZM_LOG_TO_FILE is set), or your Apache error log - "), - type => $types{boolean}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_LOG_TO_FILE", - default => "yes", - description => "When eyeZm Debugging is enabled, enabling this logs output to it's own file", - help => qqq(" - When EYEZM_DEBUG is on and EYEZM_LOG_TO_FILE is on, output - generated from the eyeZm Plugin will go to it's own file. - Otherwise it will go to the apache error log. - "), - type => $types{boolean}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_LOG_FILE", - default => "@ZM_LOGDIR@/zm_xml.log", - description => "Default filename to use when logging eyeZm Output and EYEZM_LOG_TO_FILE is enabled", - help => qqq(" - This file will contain it's own output from the eyeZm Plugin - when EYEZM_LOG_TO_FILE and EYEZM_DEBUG are both enabled - "), - type => $types{string}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_EVENT_VCODEC", - default => "mpeg4", - description => "Default video-codec to use for encoding events", - help => qqq(" - The eyeZm Plugin calls FFMPEG externally to encode the captured - images. If your FFMPEG is not built with support for H264, - change this to MPEG-4. If using H264, please check - http://www.eyezm.com for H264 requirements and that your eyeZm - version supports H264 (v1.2+). - "), - type => { - db_type =>"string", - hint =>"mpeg4|h264", - pattern =>qr|^([mh])|i, - format =>q( $1 =~ /^m/ ? "mpeg4" : "h264" ) - }, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_FEED_VCODEC", - default => "mjpeg", - description => "Default video-codec to use for streaming the live feed", - help => qqq(" - Determines whether the live stream is generated using native - MJPEG streaming with ZoneMinder, or H264 using FFMPEG and - HTML-5 streaming. If using H264, please check - http://www.eyezm.com for H264 requirements and that your eyeZm - version supports H264 (v1.2+). This is just a default - parameter, and can be overridden with eyeZm. - "), - type => { - db_type =>"string", - hint =>"mjpeg|h264", - pattern =>qr|^([mh])|i, - format =>q( $1 =~ /^m/ ? "mjpeg" : "h264" ) - }, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_H264_DEFAULT_BR", - default => "96k", - description => "Default bit-rate to use with FFMPEG for H264 streaming", - help => qqq(" - When using the eyeZm Plugin to stream H264 data, FFMPEG - requires a bitrate to control the quality and bandwidth of the - video. This should be specified in a format acceptable to - FFMPEG. The default value is sufficient for most installations. - This is just a default parameter, and can be overridden with - eyeZm. - "), - type => $types{string}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_H264_DEFAULT_EVBR", - default => "128k", - description => "Default bit-rate to use with FFMPEG for H264 event viewing", - help => qqq(" - When using the eyeZm Plugin to view events in H264, FFMPEG - requires a bitrate to control the quality and bandwidth of the - video. This should be specified in a format acceptable to - FFMPEG. The default value is sufficient for most installations. - This is just a default parameter, and can be overridden with - eyeZm. - "), - type => $types{string}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_H264_TIMEOUT", - default => "20", - description => "Timeout (sec) to wait for H264 stream to start before terminating", - help => qqq(" - The eyeZm Plugin will attempt to spawn an H264 stream when - requested, and require that it complete within the timeout - specified. If you have a slow system or find through the logs - that the H264 stream is not starting because the timeout is - expiring, even though FFMPEG is running, try increasing this - value. If you have a fast system, decreasing this value can - improve the responsiveness when there are issues starting H264 - streams - "), - type => $types{string}, - category => "eyeZm", - }, - { - name => "ZM_EYEZM_SEG_DURATION", - default => "3", - description => "Segment duration used for streaming using HTTP-5 Streaming protocol", - help => qqq(" - The HTTP-5 Live Streaming Protocol segments the input video - stream into small chunks of a duration specified by this - parameter. Increasing the segment duration will help with - choppy connections on the other end, but will increase the - latency in starting a stream. - "), - type => $types{string}, - category => "eyeZm", - }, ); our %options_hash = map { ( $_->{name}, $_ ) } @options; From 4837585601abd50da8fc89e6737aedf6836a5dc0 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 02:35:43 +1100 Subject: [PATCH 046/193] Deleted eyezm options documentation and references to it in other areas of documentation. Removed zmstreamer.cpp. Conflicts: src/zmstreamer.cpp --- docs/userguide/components.rst | 9 +- docs/userguide/options.rst | 1 - docs/userguide/options/options_eyezm.rst | 26 --- src/zmstreamer.cpp | 252 ----------------------- web/skins/classic/views/options.php | 1 - 5 files changed, 3 insertions(+), 286 deletions(-) delete mode 100644 docs/userguide/options/options_eyezm.rst delete mode 100644 src/zmstreamer.cpp diff --git a/docs/userguide/components.rst b/docs/userguide/components.rst index ebedc8c7e..48aff0be4 100644 --- a/docs/userguide/components.rst +++ b/docs/userguide/components.rst @@ -26,16 +26,13 @@ Binaries PHP --- -As well as this there are the web PHP files in the web directory. Currently these consist of 4 possible skins. +As well as this there are the web PHP files in the web directory. Currently these consist of a single skin with Classic and Flat styles. **Classic** Original ZoneMinder skin **Flat** - An updated version of classic skin, retaining the same layout with a more modern style -**XML** - Displays certain views as XML. Used by eyeZM as an interfacing skin (Note that eyeZM no longer seems to work with later versions of Zoneminder). New developers of 3rd party clients should use the API instead (:doc:`../api`) -**Mobile** - A skin that displays views in a more condensed and single page format, likely suitable for smaller mobile devices, should one choose to access the ZoneMinder console using such devices. Note that there are also third party mobile clients one could use (:doc:`mobile`) + An updated version of Classic skin, retaining the same layout with a more modern style. Originally a skin this is now just a CSS style. + Perl ---- diff --git a/docs/userguide/options.rst b/docs/userguide/options.rst index 4a0b357f6..8f7fbad30 100644 --- a/docs/userguide/options.rst +++ b/docs/userguide/options.rst @@ -20,5 +20,4 @@ If you have changed the value of an option you should then ‘save’ it. A numb options/options_x10 options/options_bw options/options_phonebw - options/options_eyezm options/options_users diff --git a/docs/userguide/options/options_eyezm.rst b/docs/userguide/options/options_eyezm.rst deleted file mode 100644 index 21c780bc0..000000000 --- a/docs/userguide/options/options_eyezm.rst +++ /dev/null @@ -1,26 +0,0 @@ -Options - eyeZM ---------------- - -.. NOTE:: - eyeZM does not seem to be actively maintained by the developers and does not work with later versions of ZoneMinder. - - -.. image:: images/Options_eyezm.png - -EYEZM_DEBUG - Enable or Disable extra debugging from the eyeZm Plugin. Extra debugging information will be displayed in it's own file (EYEZM_LOG_TO_FILE is set), or your Apache error log - -EYEZM_LOG_TO_FILE - When EYEZM_DEBUG is on and EYEZM_LOG_TO_FILE is on, output generated from the eyeZm Plugin will go to it's own file. Otherwise it will go to the apache error log. - -EYEZM_LOG_FILE - Default filename to use when logging eyeZm Output and EYEZM_LOG_TO_FILE is enabled. This file will contain it's own output from the eyeZm Plugin when EYEZM_LOG_TO_FILE and EYEZM_DEBUG are both enabled. - -EYEZM_EVENT_VCODEC - The eyeZm Plugin calls FFMPEG externally to encode the captured images. If your FFMPEG is not built with support for H264, change this to MPEG-4. If using H264, please check http://www.eyezm.com for H264 requirements and that your eyeZm version supports H264 (v1.2+). - -EYEZM_FEED_VCODEC - Determines whether the live stream is generated using native MJPEG streaming with ZoneMinder, or H264 using FFMPEG and HTML-5 streaming. If using H264, please check http://www.eyezm.com for H264 requirements and that your eyeZm version supports H264 (v1.2+). This is just a default parameter, and can be overridden with eyeZm. - -EYEZM_H264_DEFAULT_BR - Default bit-rate to use with FFMPEG for H264 streaming. When using the eyeZm Plugin to stream H264 data, FFMPEG requires a bitrate to control the quality and bandwidth of the video. This should be specified in a format acceptable to FFMPEG. The default value is sufficient for most installations. This is just a default parameter, and can be overridden with eyeZm. - -EYEZM_H264_DEFAULT_EVBR - Default bit-rate to use with FFMPEG for H264 event viewing. When using the eyeZm Plugin to view events in H264, FFMPEG requires a bitrate to control the quality and bandwidth of the video. This should be specified in a format acceptable to FFMPEG. The default value is sufficient for most installations. This is just a default parameter, and can be overridden with eyeZm. - -EYEZM_H264_TIMEOUT - Timeout (sec) to wait for H264 stream to start before terminating. The eyeZm Plugin will attempt to spawn an H264 stream when requested, and require that it complete within the timeout specified. If you have a slow system or find through the logs that the H264 stream is not starting because the timeout is expiring, even though FFMPEG is running, try increasing this value. If you have a fast system, decreasing this value can improve the responsiveness when there are issues starting H264 streams. - -EYEZM_SEG_DURATION - Segment duration used for streaming using HTTP-5 Streaming protocol. The HTTP-5 Live Streaming Protocol segments the input video stream into small chunks of a duration specified by this parameter. Increasing the segment duration will help with choppy connections on the other end, but will increase the latency in starting a stream. diff --git a/src/zmstreamer.cpp b/src/zmstreamer.cpp deleted file mode 100644 index a16e50704..000000000 --- a/src/zmstreamer.cpp +++ /dev/null @@ -1,252 +0,0 @@ -// -// ZoneMinder Streamer, $Date: 2010-10-14 23:21:00 +0200 (Thu, 14 Oct 2010) $ -// Copyright (C) 2001-2010 Philip Coombes, Chris Kistner -// -// This program is based on revision 3143 of -// http://svn.zoneminder.com/svn/zm/trunk/src/zms.cpp -// -// 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. - -/* - -=head1 NAME - -zmstreamer - eyeZM video streamer - -=head1 SYNOPSIS - - zmstreamer -e - zmstreamer -o - zmstreamer -u - zmstreamer -f - zmstreamer -s - zmstreamer -b - zmstreamer -m - zmstreamer -d - zmstreamer -i - zmstreamer -? - zmstreamer -h - zmstreamer -v - -=head1 DESCRIPTION - -*DEPRECIATED* The xml skin and all files associated with the xml skin are now -depreciated. Please use the ZoneMinder API instead. - -This binary works in conjunction with the XML skin to stream video to iPhones -running the eyeZm app. - -=head1 OPTIONS - - -e - Specify output mode: mpeg/jpg/zip/single/raw. - -o - Specify output format. - -u - Specify buffer size in ms. - -f - Specify maximum framerate. - -s - Specify scale. - -b - Specify bitrate. - -m - Specify monitor id. - -d - 0 = off, 1 = no streaming, 2 = with streaming. - -i, -?, -h - Display usage information - -v - Print the installed version of ZoneMinder - -=cut - -*/ - -#include -#include - -#include -#include - -#include "zm.h" -#include "zm_db.h" -#include "zm_user.h" -#include "zm_signal.h" -#include "zm_monitor.h" -#include "zm_stream.h" - -// Possible command-line options -#define OPTIONS "e:o:u:f:s:b:m:d:i:?:h:v" - -// Default ZMS values -#define ZMS_DEFAULT_DEBUG 0 -#define ZMS_DEFAULT_ID 1 -#define ZMS_DEFAULT_BITRATE 100000 -#define ZMS_DEFAULT_SCALE 100 -#define ZMS_DEFAULT_MODE "mpeg" -#define ZMS_DEFAULT_FORMAT "asf" -#define ZMS_DEFAULT_FPS 25.0 -#define ZMS_DEFAULT_BUFFER 1000 - -int main(int argc, char** argv) { - self = argv[0]; - // Set initial values to the default values - int debug = ZMS_DEFAULT_DEBUG; - int id = ZMS_DEFAULT_ID; - int bitrate = ZMS_DEFAULT_BITRATE; - int scale = ZMS_DEFAULT_SCALE; - char mode[32]; - sprintf(mode, "%s", ZMS_DEFAULT_MODE); - char format[32]; - sprintf(format, "%s", ZMS_DEFAULT_FORMAT); - double maxfps = ZMS_DEFAULT_FPS; - int buffer = ZMS_DEFAULT_BUFFER; - - // Parse command-line options - int arg; - while ((arg = getopt(argc, argv, OPTIONS)) != -1) { - switch (arg) { - case 'e': - sprintf(mode, "%s", optarg); - break; - case 'o': - sprintf(format, "%s", optarg); - break; - case 'u': - buffer = atoi(optarg); - break; - case 'f': - maxfps = atof(optarg); - break; - case 's': - scale = atoi(optarg); - break; - case 'b': - bitrate = atoi(optarg); - break; - case 'm': - id = atoi(optarg); - break; - case 'd': - debug = atoi(optarg); - break; - case 'h': - case 'i': - case '?': - printf("-e : Specify output mode: mpeg/jpg/zip/single/raw. Default = %s\n", ZMS_DEFAULT_MODE); - printf("-o : Specify output format. Default = %s\n", ZMS_DEFAULT_FORMAT); - printf("-u : Specify buffer size in ms. Default = %d\n", ZMS_DEFAULT_BUFFER); - printf("-f : Specify maximum framerate. Default = %lf\n", ZMS_DEFAULT_FPS); - printf("-s : Specify scale. Default = %d\n", ZMS_DEFAULT_SCALE); - printf("-b : Specify bitrate. Default = %d\n", ZMS_DEFAULT_BITRATE); - printf("-m : Specify monitor id. Default = %d\n", ZMS_DEFAULT_ID); - printf("-d : 0 = off, 1 = no streaming, 2 = with streaming. Default = 0\n"); - printf("-i or -? or -h: This information\n"); - printf("-v : This installed version of ZoneMinder\n"); - return EXIT_SUCCESS; - case 'v': - std::cout << ZM_VERSION << "\n"; - exit(0); - } - } - - // Set stream type - StreamBase::StreamType streamtype; - if (!strcasecmp("raw", mode)) - streamtype = MonitorStream::STREAM_RAW; - else if (!strcasecmp("mpeg", mode)) - streamtype = MonitorStream::STREAM_MPEG; - else if (!strcasecmp("jpg", mode)) - streamtype = MonitorStream::STREAM_JPEG; - else if (!strcasecmp("single", mode)) - streamtype = MonitorStream::STREAM_SINGLE; - else if (!strcasecmp("zip", mode)) - streamtype = MonitorStream::STREAM_ZIP; - else - streamtype = MonitorStream::STREAM_MPEG; - - if (debug) { - // Show stream parameters - printf("Stream parameters:\n"); - switch (streamtype) { - case MonitorStream::STREAM_MPEG: - printf("Output mode (-e) = %s\n", "mpeg"); - printf("Output format (-o) = %s\n", format); - break; - default: - printf("Output mode (-e) = %s\n", mode); - } - printf("Buffer size (-u) = %d ms\n", buffer); - printf("Maximum FPS (-f) = %lf FPS\n", maxfps); - printf("Scale (-s) = %d%%\n", scale); - printf("Bitrate (-b) = %d bps\n", bitrate); - printf("Monitor Id (-m) = %d\n", id); - } - - if (debug) { - // Set ZM debugger to print to stdout - printf("Setting up ZoneMinder debugger to print to stdout..."); - setenv("ZM_DBG_PRINT", "1", 1); - printf("Done.\n"); - } - - // Loading ZM configurations - printf("Loading ZoneMinder configurations..."); - zmLoadConfig(); - printf("Done.\n"); - - logInit("zmstreamer"); - - ssedetect(); - - // Setting stream parameters - MonitorStream stream; - stream.setStreamScale(scale); // default = 100 (scale) - stream.setStreamReplayRate(100); // default = 100 (rate) - stream.setStreamMaxFPS(maxfps); // default = 10 (maxfps) - if (debug) stream.setStreamTTL(1); - else stream.setStreamTTL(0); // default = 0 (ttl) - stream.setStreamQueue(0); // default = 0 (connkey) - stream.setStreamBuffer(buffer); // default = 0 (buffer) - stream.setStreamStart(id); // default = 0 (monitor_id) - stream.setStreamType(streamtype); - if (streamtype == MonitorStream::STREAM_MPEG) { -#if HAVE_LIBAVCODEC - if (debug) printf("HAVE_LIBAVCODEC is set\n"); - stream.setStreamFormat(format); // default = "" (format) - stream.setStreamBitrate(bitrate); // default = 100000 (bitrate) -#else - fprintf(stderr, "MPEG streaming is disabled.\nYou should configure with the --with-ffmpeg option and rebuild to use this functionality.\n"); - logTerm(); - zmDbClose(); - return EXIT_FAILURE; -#endif - } - - if (debug != 1) { - if (debug) printf("Running stream..."); - - // Output headers - fprintf(stdout, "Server: ZoneMinder Video Server/%s\r\n", ZM_VERSION); - time_t now = time(0); - char date_string[64]; - strftime(date_string, sizeof (date_string) - 1, "%a, %d %b %Y %H:%M:%S GMT", gmtime(&now)); - fprintf(stdout, "Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n"); - fprintf(stdout, "Last-Modified: %s\r\n", date_string); - fprintf(stdout, "Cache-Control: no-store, no-cache, must-revalidate\r\n"); - fprintf(stdout, "Cache-Control: post-check=0, pre-check=0\r\n"); - fprintf(stdout, "Pragma: no-cache\r\n"); - - // Run stream - stream.runStream(); - } - if (debug) printf("Done.\n"); - - logTerm(); - zmDbClose(); - - return (EXIT_SUCCESS); -} diff --git a/web/skins/classic/views/options.php b/web/skins/classic/views/options.php index 9c3b4a418..30ea85f43 100644 --- a/web/skins/classic/views/options.php +++ b/web/skins/classic/views/options.php @@ -43,7 +43,6 @@ $tabs['highband'] = translate('HighBW'); $tabs['medband'] = translate('MediumBW'); $tabs['lowband'] = translate('LowBW'); $tabs['phoneband'] = translate('PhoneBW'); -$tabs['eyeZm'] = "eyeZm"; $tabs['users'] = translate('Users'); if ( isset($_REQUEST['tab']) ) From 0277a66700fdaa047a709f26b64a4bf5d4af2213 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 03:03:04 +1100 Subject: [PATCH 047/193] Remove eyezm from distros and Cmake. Conflicts: distros/debian8/control --- .gitignore | 1 - distros/debian8/control | 23 +------------------ distros/debian8/zoneminder-ui-mobile.install | 1 - distros/debian8/zoneminder-ui-xml.install | 1 - .../fedora/archive/zoneminder.cmake.f19.spec | 1 - distros/fedora/archive/zoneminder.f19.spec | 1 - distros/fedora/archive/zoneminder.f20.spec | 1 - distros/fedora/archive/zoneminder.f21.spec | 1 - distros/fedora/zoneminder.f22.spec | 1 - distros/fedora/zoneminder.f23.spec | 1 - distros/redhat/archive/zoneminder.el6.spec | 1 - distros/redhat/zoneminder.el6.spec | 1 - distros/redhat/zoneminder.el7.spec | 1 - .../ubuntu1504_cmake_split_packages/control | 23 +------------------ .../zoneminder-ui-mobile.install | 1 - .../zoneminder-ui-xml.install | 1 - src/CMakeLists.txt | 8 +++---- 17 files changed, 5 insertions(+), 63 deletions(-) delete mode 100644 distros/debian8/zoneminder-ui-mobile.install delete mode 100644 distros/debian8/zoneminder-ui-xml.install delete mode 100644 distros/ubuntu1504_cmake_split_packages/zoneminder-ui-mobile.install delete mode 100644 distros/ubuntu1504_cmake_split_packages/zoneminder-ui-xml.install diff --git a/.gitignore b/.gitignore index fa066279c..bd66e684a 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,6 @@ src/zma src/zmc src/zmf src/zms -src/zmstreamer src/zmu web/includes/config.php zm.conf diff --git a/distros/debian8/control b/distros/debian8/control index af5ba9ad0..4ab0c07e6 100644 --- a/distros/debian8/control +++ b/distros/debian8/control @@ -13,9 +13,7 @@ Depends: ${misc:Depends}, zoneminder-database (>= ${source:Version}), zoneminder-core (>= ${binary:Version}), zoneminder-ui-base (>= ${source:Version}), - zoneminder-ui-classic (>= ${source:Version}), - zoneminder-ui-mobile (>= ${source:Version}), - zoneminder-ui-xml (>= ${source:Version}) + zoneminder-ui-classic (>= ${source:Version}) Description: Video camera security and surveillance solution (metapackage) ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child @@ -101,22 +99,3 @@ Description: Classic web user interface for ZoneMinder ZoneMinder is a video camera security and surveillance solution. . This package provides the classic web user interface. - -Package: zoneminder-ui-mobile -Section: web -Architecture: all -Depends: zoneminder-ui-base (>= ${source:Version}), ${misc:Depends} -Description: Mobile web user interface for ZoneMinder - ZoneMinder is a video camera security and surveillance solution. - . - This package provides the web user interface for mobile devices. - -Package: zoneminder-ui-xml -Section: web -Architecture: all -Depends: zoneminder-ui-base (>= ${source:Version}), ${misc:Depends} -Description: XML interface for ZoneMinder - ZoneMinder is a video camera security and surveillance solution. - . - This package provides a XML interface mainly intended for use with the eyeZm - iPhone Application, but can be used with any other custom programs as well. diff --git a/distros/debian8/zoneminder-ui-mobile.install b/distros/debian8/zoneminder-ui-mobile.install deleted file mode 100644 index 464bb74eb..000000000 --- a/distros/debian8/zoneminder-ui-mobile.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/zoneminder/skins/mobile diff --git a/distros/debian8/zoneminder-ui-xml.install b/distros/debian8/zoneminder-ui-xml.install deleted file mode 100644 index 6617707f8..000000000 --- a/distros/debian8/zoneminder-ui-xml.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/zoneminder/skins/xml diff --git a/distros/fedora/archive/zoneminder.cmake.f19.spec b/distros/fedora/archive/zoneminder.cmake.f19.spec index 771209247..0af88f41f 100644 --- a/distros/fedora/archive/zoneminder.cmake.f19.spec +++ b/distros/fedora/archive/zoneminder.cmake.f19.spec @@ -140,7 +140,6 @@ fi # zmfix removed from zoneminder 1.26.6 #%attr(4755,root,root) %{_bindir}/zmfix %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/fedora/archive/zoneminder.f19.spec b/distros/fedora/archive/zoneminder.f19.spec index 11a8ba249..d1be12aa2 100644 --- a/distros/fedora/archive/zoneminder.f19.spec +++ b/distros/fedora/archive/zoneminder.f19.spec @@ -232,7 +232,6 @@ fi # zmfix removed from zoneminder 1.26.6 #%attr(4755,root,root) %{_bindir}/zmfix %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/fedora/archive/zoneminder.f20.spec b/distros/fedora/archive/zoneminder.f20.spec index b06db673d..513a9cfee 100644 --- a/distros/fedora/archive/zoneminder.f20.spec +++ b/distros/fedora/archive/zoneminder.f20.spec @@ -142,7 +142,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/fedora/archive/zoneminder.f21.spec b/distros/fedora/archive/zoneminder.f21.spec index 6dfabceea..35662bf6c 100644 --- a/distros/fedora/archive/zoneminder.f21.spec +++ b/distros/fedora/archive/zoneminder.f21.spec @@ -142,7 +142,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/fedora/zoneminder.f22.spec b/distros/fedora/zoneminder.f22.spec index 9beef6319..40343090f 100644 --- a/distros/fedora/zoneminder.f22.spec +++ b/distros/fedora/zoneminder.f22.spec @@ -154,7 +154,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/fedora/zoneminder.f23.spec b/distros/fedora/zoneminder.f23.spec index 14b653117..6fabd143d 100644 --- a/distros/fedora/zoneminder.f23.spec +++ b/distros/fedora/zoneminder.f23.spec @@ -154,7 +154,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/redhat/archive/zoneminder.el6.spec b/distros/redhat/archive/zoneminder.el6.spec index d61a153e7..46bce099a 100644 --- a/distros/redhat/archive/zoneminder.el6.spec +++ b/distros/redhat/archive/zoneminder.el6.spec @@ -237,7 +237,6 @@ fi # zmfix removed from zoneminder 1.26.6 #%attr(4755,root,root) %{_bindir}/zmfix %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/redhat/zoneminder.el6.spec b/distros/redhat/zoneminder.el6.spec index 82406d431..1059d5930 100644 --- a/distros/redhat/zoneminder.el6.spec +++ b/distros/redhat/zoneminder.el6.spec @@ -145,7 +145,6 @@ rm -rf %{_docdir}/%{name}-%{version} %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/redhat/zoneminder.el7.spec b/distros/redhat/zoneminder.el7.spec index c350553b3..6dd0f5e1d 100644 --- a/distros/redhat/zoneminder.el7.spec +++ b/distros/redhat/zoneminder.el7.spec @@ -154,7 +154,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu diff --git a/distros/ubuntu1504_cmake_split_packages/control b/distros/ubuntu1504_cmake_split_packages/control index 4a152c46b..6b6692414 100644 --- a/distros/ubuntu1504_cmake_split_packages/control +++ b/distros/ubuntu1504_cmake_split_packages/control @@ -28,9 +28,7 @@ Depends: ${misc:Depends}, zoneminder-database (>= ${source:Version}), zoneminder-core (>= ${binary:Version}), zoneminder-ui-base (>= ${source:Version}), - zoneminder-ui-classic (>= ${source:Version}), - zoneminder-ui-mobile (>= ${source:Version}), - zoneminder-ui-xml (>= ${source:Version}) + zoneminder-ui-classic (>= ${source:Version}) Description: Video camera security and surveillance solution (metapackage) ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child @@ -117,25 +115,6 @@ Description: Classic web user interface for ZoneMinder . This package provides the classic web user interface. -Package: zoneminder-ui-mobile -Section: web -Architecture: all -Depends: zoneminder-ui-base (>= ${source:Version}), ${misc:Depends} -Description: Mobile web user interface for ZoneMinder - ZoneMinder is a video camera security and surveillance solution. - . - This package provides the web user interface for mobile devices. - -Package: zoneminder-ui-xml -Section: web -Architecture: all -Depends: zoneminder-ui-base (>= ${source:Version}), ${misc:Depends} -Description: XML interface for ZoneMinder - ZoneMinder is a video camera security and surveillance solution. - . - This package provides a XML interface mainly intended for use with the eyeZm - iPhone Application, but can be used with any other custom programs as well. - Package: zoneminder-ui-api Section: web Architecture: all diff --git a/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-mobile.install b/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-mobile.install deleted file mode 100644 index 464bb74eb..000000000 --- a/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-mobile.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/zoneminder/skins/mobile diff --git a/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-xml.install b/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-xml.install deleted file mode 100644 index 6617707f8..000000000 --- a/distros/ubuntu1504_cmake_split_packages/zoneminder-ui-xml.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/zoneminder/skins/xml diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea254ac2f..9876e2a87 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,21 +14,19 @@ add_executable(zma zma.cpp) add_executable(zmu zmu.cpp) add_executable(zmf zmf.cpp) add_executable(zms zms.cpp) -add_executable(zmstreamer zmstreamer.cpp) target_link_libraries(zmc zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) target_link_libraries(zma zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) target_link_libraries(zmu zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) target_link_libraries(zmf zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) target_link_libraries(zms zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) -target_link_libraries(zmstreamer zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) # Generate man files for the binaries destined for the bin folder -FOREACH(CBINARY zma zmc zmf zmu zmstreamer) +FOREACH(CBINARY zma zmc zmf zmu) POD2MAN(${CMAKE_CURRENT_SOURCE_DIR}/${CBINARY}.cpp zoneminder-${CBINARY} 8) -ENDFOREACH(CBINARY zma zmc zmf zmu zmstreamer) +ENDFOREACH(CBINARY zma zmc zmf zmu) -install(TARGETS zmc zma zmu zmf zmstreamer RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(TARGETS zmc zma zmu zmf RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(TARGETS zms RUNTIME DESTINATION "${ZM_CGIDIR}" PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(CODE "execute_process(COMMAND ln -sf zms nph-zms WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})" ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/nph-zms DESTINATION "${ZM_CGIDIR}") From d40bf89b17995af756adb76326c4894e41318530 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Tue, 29 Dec 2015 08:04:02 +1100 Subject: [PATCH 048/193] Remove Phone BW settings used with mobile skin --- docs/userguide/options.rst | 1 - docs/userguide/options/options_phonebw.rst | 20 --- .../lib/ZoneMinder/ConfigData.pm.in | 155 ------------------ web/includes/actions.php | 1 - web/skins/classic/views/options.php | 1 - 5 files changed, 178 deletions(-) delete mode 100644 docs/userguide/options/options_phonebw.rst diff --git a/docs/userguide/options.rst b/docs/userguide/options.rst index 8f7fbad30..8186d8b6a 100644 --- a/docs/userguide/options.rst +++ b/docs/userguide/options.rst @@ -19,5 +19,4 @@ If you have changed the value of an option you should then ‘save’ it. A numb options/options_upload options/options_x10 options/options_bw - options/options_phonebw options/options_users diff --git a/docs/userguide/options/options_phonebw.rst b/docs/userguide/options/options_phonebw.rst deleted file mode 100644 index e2389bccf..000000000 --- a/docs/userguide/options/options_phonebw.rst +++ /dev/null @@ -1,20 +0,0 @@ -Options - Phone Bandwidth -------------------------- - -.. image:: images/Options_BW_Phone.png - -WEB_P_CAN_STREAM - Override the automatic detection of browser streaming capability. If you know that your browser can handle image streams of the type 'multipart/x-mixed-replace' but ZoneMinder does not detect this correctly you can set this option to ensure that the stream is delivered with or without the use of the Cambozola plugin. Selecting 'yes' will tell ZoneMinder that your browser can handle the streams natively, 'no' means that it can't and so the plugin will be used while 'auto' lets ZoneMinder decide. - -WEB_P_STREAM_METHOD - ZoneMinder can be configured to use either mpeg encoded video or a series or still jpeg images when sending video streams. This option defines which is used. If you choose mpeg you should ensure that you have the appropriate plugins available on your browser whereas choosing jpeg will work natively on Mozilla and related browsers and with a Java applet on Internet Explorer" - -WEB_P_DEFAULT_SCALE - Normally ZoneMinder will display 'live' or 'event' streams in their native size. However if you have monitors with large dimensions or a slow link you may prefer to reduce this size, alternatively for small monitors you can enlarge it. This options lets you specify what the default scaling factor will be. It is expressed as a percentage so 100 is normal size, 200 is double size etc. - -WEB_P_DEFAULT_RATE - Normally ZoneMinder will display 'event' streams at their native rate, i.e. as close to real-time as possible. However if you have long events it is often convenient to replay them at a faster rate for review. This option lets you specify what the default replay rate will be. It is expressed as a percentage so 100 is normal rate, 200 is double speed etc. - -WEB_P_VIDEO_BITRATE - When encoding real video via the ffmpeg library a bit rate can be specified which roughly corresponds to the available bandwidth used for the stream. This setting effectively corresponds to a 'quality' setting for the video. A low value will result in a blocky image whereas a high value will produce a clearer view. Note that this setting does not control the frame rate of the video however the quality of the video produced is affected both by this setting and the frame rate that the video is produced at. A higher frame rate at a particular bit rate result in individual frames being at a lower quality. - -WEB_P_VIDEO_MAXFPS - When using streamed video the main control is the bitrate which determines how much data can be transmitted. However a lower bitrate at high frame rates results in a lower quality image. This option allows you to limit the maximum frame rate to ensure that video quality is maintained. An additional advantage is that encoding video at high frame rates is a processor intensive task when for the most part a very high frame rate offers little perceptible improvement over one that has a more manageable resource requirement. Note, this option is implemented as a cap beyond which binary reduction takes place. So if you have a device capturing at 15fps and set this option to 10fps then the video is not produced at 10fps, but rather at 7.5fps (15 divided by 2) as the final frame rate must be the original divided by a power of 2. - -WEB_P_SCALE_THUMBS - If unset, this option sends the whole image to the browser which resizes it in the window. If set the image is scaled down on the server before sending a reduced size image to the browser to conserve bandwidth at the cost of cpu on the server. Note that ZM can only perform the resizing if the appropriate PHP graphics functionality is installed. This is usually available in the php-gd package. - -WEB_P_AJAX_TIMEOUT - The newer versions of the live feed and event views use Ajax to request information from the server and populate the views dynamically. This option allows you to specify a timeout if required after which requests are abandoned. A timeout may be necessary if requests would overwise hang such as on a slow connection. This would tend to consume a lot of browser memory and make the interface unresponsive. Ordinarily no requests should timeout so this setting should be set to a value greater than the slowest expected response. This value is in milliseconds but if set to zero then no timeout will be used. \ No newline at end of file diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in index c9d48f52f..0c421fec6 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in @@ -3721,161 +3721,6 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s type => $types{integer}, category => "lowband", }, - { - name => "ZM_WEB_P_CAN_STREAM", - default => "auto", - description => "Override the automatic detection of browser streaming capability", - help => qqq(" - If you know that your browser can handle image streams of the - type 'multipart/x-mixed-replace' but ZoneMinder does not detect - this correctly you can set this option to ensure that the - stream is delivered with or without the use of the Cambozola - plugin. Selecting 'yes' will tell ZoneMinder that your browser - can handle the streams natively, 'no' means that it can't and - so the plugin will be used while 'auto' lets ZoneMinder decide. - "), - type => $types{tristate}, - category => "phoneband", - }, - { - name => "ZM_WEB_P_STREAM_METHOD", - default => "jpeg", - description => "Which method should be used to send video streams to your browser.", - help => qqq(" - ZoneMinder can be configured to use either mpeg encoded video - or a series or still jpeg images when sending video streams. - This option defines which is used. If you choose mpeg you - should ensure that you have the appropriate plugins available - on your browser whereas choosing jpeg will work natively on - Mozilla and related browsers and with a Java applet on Internet - Explorer - "), - type => { - db_type =>"string", - hint =>"mpeg|jpeg", - pattern =>qr|^([mj])|i, - format =>q( $1 =~ /^m/ ? "mpeg" : "jpeg" ) - }, - category => "phoneband", - }, - { - name => "ZM_WEB_P_DEFAULT_SCALE", - default => "100", - description => "What the default scaling factor applied to 'live' or 'event' views is (%)", - help => qqq(" - Normally ZoneMinder will display 'live' or 'event' streams in - their native size. However if you have monitors with large - dimensions or a slow link you may prefer to reduce this size, - alternatively for small monitors you can enlarge it. This - options lets you specify what the default scaling factor will - be. It is expressed as a percentage so 100 is normal size, 200 - is double size etc. - "), - type => { - db_type =>"integer", - hint =>"25|33|50|75|100|150|200|300|400", - pattern =>qr|^(\d+)$|, format=>q( $1 ) - }, - category => "phoneband", - }, - { - name => "ZM_WEB_P_DEFAULT_RATE", - default => "100", - description => "What the default replay rate factor applied to 'event' views is (%)", - help => qqq(" - Normally ZoneMinder will display 'event' streams at their - native rate, i.e. as close to real-time as possible. However if - you have long events it is often convenient to replay them at a - faster rate for review. This option lets you specify what the - default replay rate will be. It is expressed as a percentage so - 100 is normal rate, 200 is double speed etc. - "), - type => { - db_type =>"integer", - hint =>"25|50|100|150|200|400|1000|2500|5000|10000", - pattern =>qr|^(\d+)$|, - format =>q( $1 ) - }, - category => "phoneband", - }, - { - name => "ZM_WEB_P_VIDEO_BITRATE", - default => "8000", - description => "What the bitrate of the video encoded stream should be set to", - help => qqq(" - When encoding real video via the ffmpeg library a bit rate can - be specified which roughly corresponds to the available - bandwidth used for the stream. This setting effectively - corresponds to a 'quality' setting for the video. A low value - will result in a blocky image whereas a high value will produce - a clearer view. Note that this setting does not control the - frame rate of the video however the quality of the video - produced is affected both by this setting and the frame rate - that the video is produced at. A higher frame rate at a - particular bit rate result in individual frames being at a - lower quality. - "), - type => $types{integer}, - category => "phoneband", - }, - { - name => "ZM_WEB_P_VIDEO_MAXFPS", - default => "5", - description => "What the maximum frame rate for streamed video should be", - help => qqq(" - When using streamed video the main control is the bitrate which - determines how much data can be transmitted. However a lower - bitrate at high frame rates results in a lower quality image. - This option allows you to limit the maximum frame rate to - ensure that video quality is maintained. An additional - advantage is that encoding video at high frame rates is a - processor intensive task when for the most part a very high - frame rate offers little perceptible improvement over one that - has a more manageable resource requirement. Note, this option - is implemented as a cap beyond which binary reduction takes - place. So if you have a device capturing at 15fps and set this - option to 10fps then the video is not produced at 10fps, but - rather at 7.5fps (15 divided by 2) as the final frame rate must - be the original divided by a power of 2. - "), - type => $types{integer}, - category => "phoneband", - }, - { - name => "ZM_WEB_P_SCALE_THUMBS", - default => "yes", - description => "Scale thumbnails in events, bandwidth versus cpu in rescaling", - help => qqq(" - If unset, this option sends the whole image to the browser - which resizes it in the window. If set the image is scaled down - on the server before sending a reduced size image to the - browser to conserve bandwidth at the cost of cpu on the server. - Note that ZM can only perform the resizing if the appropriate - PHP graphics functionality is installed. This is usually - available in the php-gd package. - "), - type => $types{boolean}, - category => "phoneband", - }, - { - name => "ZM_WEB_P_AJAX_TIMEOUT", - default => "10000", - description => "How long to wait for Ajax request responses (ms)", - help => qqq(" - The newer versions of the live feed and event views use Ajax to - request information from the server and populate the views - dynamically. This option allows you to specify a timeout if - required after which requests are abandoned. A timeout may be - necessary if requests would overwise hang such as on a slow - connection. This would tend to consume a lot of browser memory - and make the interface unresponsive. Ordinarily no requests - should timeout so this setting should be set to a value greater - than the slowest expected response. This value is in - milliseconds but if set to zero then no timeout will be used. - "), - type => $types{integer}, - category => "phoneband", - }, { name => "ZM_DYN_LAST_VERSION", default => "", diff --git a/web/includes/actions.php b/web/includes/actions.php index 7de7a8238..4cd056116 100644 --- a/web/includes/actions.php +++ b/web/includes/actions.php @@ -921,7 +921,6 @@ if ( !empty($action) ) case "highband" : case "medband" : case "lowband" : - case "phoneband" : break; } } diff --git a/web/skins/classic/views/options.php b/web/skins/classic/views/options.php index 30ea85f43..1140b7bfd 100644 --- a/web/skins/classic/views/options.php +++ b/web/skins/classic/views/options.php @@ -42,7 +42,6 @@ $tabs['x10'] = translate('X10'); $tabs['highband'] = translate('HighBW'); $tabs['medband'] = translate('MediumBW'); $tabs['lowband'] = translate('LowBW'); -$tabs['phoneband'] = translate('PhoneBW'); $tabs['users'] = translate('Users'); if ( isset($_REQUEST['tab']) ) From 84801fcb86d676ba39c91b2ab23a3bfb8d13cd85 Mon Sep 17 00:00:00 2001 From: arjunrc Date: Sat, 27 Feb 2016 13:06:33 -0500 Subject: [PATCH 049/193] typo in function name --- web/views/image.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/views/image.php b/web/views/image.php index de8205f76..cbaf2f731 100644 --- a/web/views/image.php +++ b/web/views/image.php @@ -132,7 +132,7 @@ else } if($width==$oldWidth && $height==$oldHeight) // See if we really need to scale { - imagejpg($i); + imagejpeg($i); imagedestroy($i); } else // we do need to scale From 35d013136f79722eed7ed5c4ba06fdafe53792e3 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sun, 28 Feb 2016 12:27:04 -0600 Subject: [PATCH 050/193] add redhat instructions to readthe docs --- docs/installationguide/centos.rst | 5 - docs/installationguide/fedora.rst | 4 - docs/installationguide/index.rst | 3 +- docs/installationguide/redhat.rst | 155 ++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+), 11 deletions(-) delete mode 100644 docs/installationguide/centos.rst delete mode 100644 docs/installationguide/fedora.rst create mode 100644 docs/installationguide/redhat.rst diff --git a/docs/installationguide/centos.rst b/docs/installationguide/centos.rst deleted file mode 100644 index 606aaffd5..000000000 --- a/docs/installationguide/centos.rst +++ /dev/null @@ -1,5 +0,0 @@ -Centos -====== - - - diff --git a/docs/installationguide/fedora.rst b/docs/installationguide/fedora.rst deleted file mode 100644 index 09ffe4297..000000000 --- a/docs/installationguide/fedora.rst +++ /dev/null @@ -1,4 +0,0 @@ -Fedora -====== - - diff --git a/docs/installationguide/index.rst b/docs/installationguide/index.rst index be0df2c06..e030ed7cf 100644 --- a/docs/installationguide/index.rst +++ b/docs/installationguide/index.rst @@ -8,6 +8,5 @@ Contents: ubuntu debian - fedora - centos + redhat multiserver diff --git a/docs/installationguide/redhat.rst b/docs/installationguide/redhat.rst new file mode 100644 index 000000000..d05a85150 --- /dev/null +++ b/docs/installationguide/redhat.rst @@ -0,0 +1,155 @@ +Redhat +====== + +.. contents:: + +These instructions apply to all Redhat distros and their clones, including but not limited to: Fedora, RHEL, CentOS, Scientific Linux, and others. While the installation instructions are the same for each distro, the reason why one might use one distro over the other is different. A short description follows, which is intended to help you chose what distro best fits your needs. + +Background: RHEL, CentOS, and clones +------------------------------------ + +These distributions are classified as enterprise operating systems and have a long operating lifetime of many years. By design, they will not have the latest and greatest versions of any package. Instead, stable packages are the emphasis. + +Replacing any core package in these distributions with a newer package from a third party is expressly verboten. The ZoneMinder development team will not do this, and neither should you. If you have the perception that you've got to have a newer version of mysql, gnome, apache, etc. then, rather than upgrade these packages, you should instead consider using a different distribution such as Fedora. + +The ZoneMinder team will not provide support for systems which have had any core package replaced with a package from a third party. + +Background: Fedora +------------------------------------ + +One can think of Fedora as RHEL or CentOS Beta. This is in fact, what it is. Fedora is primarily geared towards development and testing of newer, sometimes bleeding edge, packages. The ZoneMinder team uses this distro to determine the interoperability of ZoneMinder with the latest and greatest versions of packages like mysql, apache, systemd, and others. If a problem is detected, it will be addressed long before it makes it way into RHEL. + +Fedora has a short life-cycle of just 6 months. However, Fedora, and consequently ZoneMinder, is available on armv7 architecture. Rejoice, Raspberry Pi users! + +If you desire newer packages than what it available in RHEL and CentOS, then you should consider using Fedora. + +Zmrepo – A ZoneMinder RPM Repository +------------------------------------ + +Zmrepo is a turn key solution. It will install all of ZoneMinder's dependencies for you. This is the easiest and the recommended way to install ZoneMinder on any system running a Redhat based distribution. + +The following notes are based on real problems which have occurred: +* Zmrepo assumes you have installed the underlying distrubution using the official installation media for that distro. Third party "Spins" are not supported and may not work correctly. +* ZoneMinder is intended to be installed in an environment dedicated to ZoneMinder. While ZoneMinder will play well with many applications, but some invariably will not. Astericks is one such example. +* Be advised that you need to start with a clean system before using zmrepo. +* IMPORTANT: If you have previously installed ZoneMinder from-source, then your system is NOT clean. You must manually search for and delete all ZoneMinder related files before using zmrepo (look under /usr/local). Make uninstall helps, but it will not do this for you correctly. You WILL have problems if you ignore this step. +* It is not necessary, and not recommended, to install a LAMP stack ahead of time. +* Disable other third party repos and uninstall any of ZoneMinder's third party dependencies, which might already be on the system, especially ffmpeg and vlc. Attempting to install dependencies yourself often causes problems. +* Each ZoneMinder rpm includes a README file under /usr/share/doc. You must follow the all steps in this README file, precisely, each and every time ZoneMinder is installed or upgraded. Failure to do so is guaranteed to result in a non-functional system. + +To being the installation of ZoneMinder on your Redhat based distro, please navigate to: http://zmrepo.zoneminder.com + +How to Build a (Custom) ZoneMinder Package +------------------------------------------ + +If you are looking to do development or the packages in zmrepo just don't suit you, then you should follow these steps to learn how to build your own ZoneMinder RPM. + +##### Background +The following method documents how to build ZoneMinder into an RPM package, compatible with Fedora, Redhat, CentOS, and other compatible clones. This is exactly how the RPMS in zmrepo are built. + +The method documented below was chosen because: +- All of ZoneMinder's dependencies are downloaded and installed automatically +- Cross platform capable. The build host does not have to be the same distro or release version as the target. +- Once your build environment is set up, few steps are required to run the build again in the future. +- Troubleshooting becomes easier if we are all building ZoneMinder the same way. + +The build instructions below make use of a custom script called "buildzm.sh". Advanced users are encouraged to view the contents of this script. Notice that the script doesn't really do a whole lot. The goal of the script is to simply make the process a little easier for the first time user. Once you become familar with the build process, you can issue the mock commands found in the buildzm.sh script yourself if you so desire. + +***IMPORTANT*** +Certain commands in these instructions require root privileges while other commands do not. Pay close attention to this. If the instructions below state to issue a command without a “sudo†prefix, then you should *not* be root while issuing the command. Getting this incorrect will result in a failed build. + +##### Set Up Your Environment +Before you begin, set up an rpmbuild environment by following [this guide](http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment) by the CentOS developers. + +Next, navigate to [Zmrepo](http://zmrepo.zoneminder.com/), and follow the instructions to enable zmrepo on your system. + +With zmrepo enabled, issue the following command: +````bash +sudo yum install zmrepo-mock-configs mock +``` + +Add your user account to the group mock: +```bash +sudo gpasswd -a {your account name} mock +``` + +Your build environment is now set up. + +##### Build from SRPM +To continue, you need a ZoneMinder SRPM. For starters, let's use one of the SRPMS from zmrepo. Go browse the [Zmrepo](http://zmrepo.zoneminder.com/) site and choose an appropriate SRPM and place it into the ~/rpmbuild/SRPMS folder. + +For CentOS 7, I have chosen the following SRPM: +```bash +wget -P ~/rpmbuild/SRPMS http://zmrepo.zoneminder.com/el/7/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm +``` + +Now comes the fun part. To build ZoneMinder, issue the following command: +```bash +buildzm.sh zmrepo-el7-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm +``` + +Want to build ZoneMinder for Fedora, instead of CentOS, from the same host? Once you download the Fedora SRPM, issue the following: +```bash +buildzm.sh zmrepo-f21-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-1.fc21.src.rpm +``` +Notice that the buildzm.sh tool requires the following parameters: +```bash +buildzm.sh MOCKCONFIG ZONEMINDER_SRPM +``` +The list of available Mock config files are available here: +```bash +ls /etc/mock/zmrepo*.cfg +``` + +You choose the config file based on the desired distro (e.g. el6, el7, f20, f21) and basearch (e.g. x86, x86_64, arhmhfp). Notice that, when specifying the Mock config as a commandline parameter, you should leave off the ".cfg" filename extension. + +##### Installation +Once the build completes, you will be presented with a folder containing the RPM's that were built. Copy the newly built ZoneMinder RPM to the desired system, enable zmrepo per the instruction on the [Zmrepo](http://zmrepo.zoneminder.com/) website, and then install the rpm by issuing the appropriate yum install command. Finish the installation by following the zoneminder setup instructions in the distro specific readme file, named README.{distroname}, which will be installed into the /usr/share/doc/zoneminder* folder. + +Finally, you may want to consider editing the zmrepo repo file under /etc/yum.repos.d and placing an “exclude=zoneminder*†line into the config file. This will prevent your system from overwriting your manually built RPM with the ZoneMinder RPM found in the repo. + +##### How to Modify the Source Prior to Build + +Before attempting this part of the instructions, make sure and follow the previous instructions for building one of the unmodified SRPMS from zmrepo. Knowing this part works will assist in troubleshooting should something go wrong. + +These instructions may vary depending on what exactly you want to do. The following example assumes you want to build a development snapshot from the master branch. + +From the previous instructions, we downloaded a CentOS 7 ZoneMinder SRPM and placed it into ~/rpmbuild/SRPMS. For this example, install it onto your system: +```bash +rpm -Uvh ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm +``` + +IMPORTANT: This operation must be done with your normal user account. Do *not* perform this command as root. + +Make sure you have git installed: +```bash +sudo yum install git +``` + +Now clone the ZoneMinder git repository: +```bash +git clone https://github.com/ZoneMinder/ZoneMinder +``` +This will create a sub-folder called ZoneMinder, which will contain the latest development. + +We want to turn this into a tarball, but first we need to figure out what to name it. Look here: +```bash +ls ~/rpmbuild/SOURCES +``` +The tarball from the previsouly installed SRPM should be there. This is the name we will use. For this example, the name is ZoneMinder-1.28.1.tar.gz. From one folder above the local ZoneMinder git repository, execute the following: +```bash +mv ZoneMinder ZoneMinder-1.28.1 +tar -cvzf ~/rpmbuild/SOURCES/ZoneMinder-1.28.1.tar.gz ZoneMinder-1.28.1/* +``` +The trailing "/*" leaves off the hidden dot "." file and folders from the git repo, which is what we want. +Note that we are overwriting the original tarball. If you wish to keep the original tarball then create a copy prior to creating the new tarball. + +Now build a new src.rpm: +```bash +rpmbuild -bs --nodeps ~/rpmbuild/SPECS/zoneminder.el7.spec +``` +This step will overwrite the SRPM you originally downloaded, so you may want to back it up prior to completing this step. Note that the name of the specfile will vary slightly depending on what distro you are building for. + +You should now have a a new SRPM under ~/rpmbuild/SRPMS. In our example, the SRPM is called zoneminder-1.28.1-2.el7.centos.src.rpm. Now follow the previous instructions that describe how to use the buildzm script, using ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm as the path to your SRPM. + + From 72c8ae3735bbf5d8f6f4951d7d1bb38b4e0f1ab1 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sun, 28 Feb 2016 12:32:45 -0600 Subject: [PATCH 051/193] Remove package building instructions from README.md --- README.md | 197 +----------------------------------------------------- 1 file changed, 1 insertion(+), 196 deletions(-) diff --git a/README.md b/README.md index fcd96bfd6..5f37cd0b3 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ When building a package, it is best to do this work in a separate environment, d Lastly, if you desire to build a development snapshot from the master branch, it is recommended you first build your package using an official release of ZoneMinder. This will help identify whether any problems you may encounter are caused by the build process or is a new issue in the master branch. -What follows are instructions for various distros to build ZoneMinder into a package. +Please visit our [ReadtheDocs site](https://zoneminder.readthedocs.org/en/stable/installationguide/index.html) for distro specific instructions. ### Package Maintainers Many of the ZoneMinder configration variable default values are not configurable at build time through autotools or cmake. A new tool called *zmeditconfigdata.sh* has been added to allow package maintainers to manipulate any variable stored in ConfigData.pm without patching the source. @@ -54,201 +54,6 @@ For example, let's say I have created a new ZoneMinder package that contains the Note that zmeditconfigdata.sh is intended to be called, from the root build folder, prior to running cmake or configure. -#### Ubuntu - -A fresh build based on master branch running Ubuntu 1204 LTS. Will likely work for other versions as well. - -```bash -root@host:~# aptitude install -y apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf libjpeg8-dev libjpeg8 apache2-mpm-prefork libapache2-mod-php5 php5-cli libphp-serialization-perl libgnutls-dev libjpeg8-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev libtool ffmpeg libnetpbm10-dev libavdevice-dev libmime-lite-perl dh-autoreconf dpatch; - -root@host:~# git clone https://github.com/ZoneMinder/ZoneMinder.git zoneminder; -root@host:~# cd zoneminder; -root@host:~# ln -s distros/ubuntu1204 debian; -root@host:~# dpkg-checkbuilddeps; -root@host:~# dpkg-buildpackage; -``` - -One level above you'll now find a deb package matching the architecture of the build host: - -```bash -root@host:~# ls -1 ~/zoneminder*; -/root/zoneminder_1.26.4-1_amd64.changes -/root/zoneminder_1.26.4-1_amd64.deb -/root/zoneminder_1.26.4-1.dsc -/root/zoneminder_1.26.4-1.tar.gz -``` - -The dpkg command itself does not resolve dependencies. That's what high-level interfaces like aptitude and apt-get are normally for. Unfortunately, unlike RPM, there's no easy way to install a separate deb package not contained with any repository. - -To overcome this "limitation" we'll use dpkg only to install the zoneminder package and apt-get to fetch all needed dependencies afterwards. Running dpkg-reconfigure in the end will ensure that the setup scripts e.g. for database provisioning were executed. - -```bash -root@host:~# dpkg -i /root/zoneminder_1.26.4-1_amd64.deb; apt-get install -f; -root@host:~# dpkg-reconfigure zoneminder; -``` -Alternatively you may also use gdebi to automatically resolve dependencies during installation: - -```bash -root@host:~# aptitude install -y gdebi; -root@host:~# gdebi /root/zoneminder_1.26.4-1_amd64.deb; -``` -```bash -sudo apt-get install apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev \ -libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 \ -libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf libjpeg-turbo8-dev libjpeg-turbo8 \ -apache2-mpm-prefork libapache2-mod-php5 php5-cli -``` - -#### Debian - -A fresh build based on master branch running Debian 7 (wheezy): - -```bash -root@host:~# aptitude install -y apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm automake autoconf libjpeg8-dev libjpeg8 apache2-mpm-prefork libapache2-mod-php5 php5-cli libphp-serialization-perl libgnutls-dev libjpeg8-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev libtool ffmpeg libnetpbm10-dev libavdevice-dev libmime-lite-perl dh-autoreconf dpatch; - -root@host:~# git clone https://github.com/ZoneMinder/ZoneMinder.git zoneminder; -root@host:~# cd zoneminder; -root@host:~# ln -s distros/debian; -root@host:~# dpkg-checkbuilddeps; -root@host:~# dpkg-buildpackage; -``` - -One level above you'll now find a deb package matching the architecture of the build host: - -```bash -root@host:~# ls -1 ~/zoneminder*; -/root/zoneminder_1.26.4-1_amd64.changes -/root/zoneminder_1.26.4-1_amd64.deb -/root/zoneminder_1.26.4-1.dsc -/root/zoneminder_1.26.4-1.tar.gz -``` - -The dpkg command itself does not resolve dependencies. That's what high-level interfaces like aptitude and apt-get are normally for. Unfortunately, unlike RPM, there's no easy way to install a separate deb package not contained with any repository. - -To overcome this "limitation" we'll use dpkg only to install the zoneminder package and apt-get to fetch all needed dependencies afterwards. Running dpkg-reconfigure in the end will ensure that the setup scripts e.g. for database provisioning were executed. - -```bash -root@host:~# dpkg -i /root/zoneminder_1.26.4-1_amd64.deb; apt-get install -f; -root@host:~# dpkg-reconfigure zoneminder; -``` -Alternatively you may also use gdebi to automatically resolve dependencies during installation: - -```bash -root@host:~# aptitude install -y gdebi; -root@host:~# gdebi /root/zoneminder_1.26.4-1_amd64.deb; -``` - -#### Fedora / CentOS / RHEL - -##### Background -The following method documents how to build ZoneMinder into an RPM package, compatible with Fedora, Redhat, CentOS, and other compatible clones. This is exactly how the RPMS in zmrepo are built. - -The method documented below was chosen because: -- All of ZoneMinder's dependencies are downloaded and installed automatically -- Cross platform capable. The build host does not have to be the same distro or release version as the target. -- Once your build environment is set up, few steps are required to run the build again in the future. -- Troubleshooting becomes easier if we are all building ZoneMinder the same way. - -The build instructions below make use of a custom script called "buildzm.sh". Advanced users are encouraged to view the contents of this script. Notice that the script doesn't really do a whole lot. The goal of the script is to simply make the process a little easier for the first time user. Once you become familar with the build process, you can issue the mock commands found in the buildzm.sh script yourself if you so desire. - -***IMPORTANT*** -Certain commands in these instructions require root privileges while other commands do not. Pay close attention to this. If the instructions below state to issue a command without a “sudo†prefix, then you should *not* be root while issuing the command. Getting this incorrect will result in a failed build. - -##### Set Up Your Environment -Before you begin, set up an rpmbuild environment by following [this guide](http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment) by the CentOS developers. - -Next, navigate to [Zmrepo](http://zmrepo.zoneminder.com/), and follow the instructions to enable zmrepo on your system. - -With zmrepo enabled, issue the following command: -````bash -sudo yum install zmrepo-mock-configs mock -``` - -Add your user account to the group mock: -```bash -sudo gpasswd -a {your account name} mock -``` - -Your build environment is now set up. - -##### Build from SRPM -To continue, you need a ZoneMinder SRPM. For starters, let's use one of the SRPMS from zmrepo. Go browse the [Zmrepo](http://zmrepo.zoneminder.com/) site and choose an appropriate SRPM and place it into the ~/rpmbuild/SRPMS folder. - -For CentOS 7, I have chosen the following SRPM: -```bash -wget -P ~/rpmbuild/SRPMS http://zmrepo.zoneminder.com/el/7/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` - -Now comes the fun part. To build ZoneMinder, issue the following command: -```bash -buildzm.sh zmrepo-el7-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` - -Want to build ZoneMinder for Fedora, instead of CentOS, from the same host? Once you download the Fedora SRPM, issue the following: -```bash -buildzm.sh zmrepo-f21-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-1.fc21.src.rpm -``` -Notice that the buildzm.sh tool requires the following parameters: -```bash -buildzm.sh MOCKCONFIG ZONEMINDER_SRPM -``` -The list of available Mock config files are available here: -```bash -ls /etc/mock/zmrepo*.cfg -``` - -You choose the config file based on the desired distro (e.g. el6, el7, f20, f21) and basearch (e.g. x86, x86_64, arhmhfp). Notice that, when specifying the Mock config as a commandline parameter, you should leave off the ".cfg" filename extension. - -##### Installation -Once the build completes, you will be presented with a folder containing the RPM's that were built. Copy the newly built ZoneMinder RPM to the desired system, enable zmrepo per the instruction on the [Zmrepo](http://zmrepo.zoneminder.com/) website, and then install the rpm by issuing the appropriate yum install command. Finish the installation by following the zoneminder setup instructions in the distro specific readme file, named README.{distroname}, which will be installed into the /usr/share/doc/zoneminder* folder. - -Finally, you may want to consider editing the zmrepo repo file under /etc/yum.repos.d and placing an “exclude=zoneminder*†line into the config file. This will prevent your system from overwriting your manually built RPM with the ZoneMinder RPM found in the repo. - -##### How to Modify the Source Prior to Build -** UNFINISHED ** - -Before attempting this part of the instructions, make sure and follow the previous instructions for building one of the unmodified SRPMS from zmrepo. Knowing this part works will assist in troubleshooting should something go wrong. - -These instructions may vary depending on what exactly you want to do. The following example assumes you want to build a development snapshot from the master branch. - -From the previous instructions, we downloaded a CentOS 7 ZoneMinder SRPM and placed it into ~/rpmbuild/SRPMS. For this example, install it onto your system: -```bash -rpm -Uvh ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` - -IMPORTANT: This operation must be done with your normal user account. Do *not* perform this command as root. - -Make sure you have git installed: -```bash -sudo yum install git -``` - -Now clone the ZoneMinder git repository: -```bash -git clone https://github.com/ZoneMinder/ZoneMinder -``` -This will create a sub-folder called ZoneMinder, which will contain the latest development. - -We want to turn this into a tarball, but first we need to figure out what to name it. Look here: -```bash -ls ~/rpmbuild/SOURCES -``` -The tarball from the previsouly installed SRPM should be there. This is the name we will use. For this example, the name is ZoneMinder-1.28.1.tar.gz. From one folder above the local ZoneMinder git repository, execute the following: -```bash -mv ZoneMinder ZoneMinder-1.28.1 -tar -cvzf ~/rpmbuild/SOURCES/ZoneMinder-1.28.1.tar.gz ZoneMinder-1.28.1/* -``` -The trailing "/*" leaves off the hidden dot "." file and folders from the git repo, which is what we want. -Note that we are overwriting the original tarball. If you wish to keep the original tarball then create a copy prior to creating the new tarball. - -Now build a new src.rpm: -```bash -rpmbuild -bs --nodeps ~/rpmbuild/SPECS/zoneminder.el7.spec -``` -This step will overwrite the SRPM you originally downloaded, so you may want to back it up prior to completing this step. Note that the name of the specfile will vary slightly depending on what distro you are building for. - -You should now have a a new SRPM under ~/rpmbuild/SRPMS. In our example, the SRPM is called zoneminder-1.28.1-2.el7.centos.src.rpm. Now follow the previous instructions that describe how to use the buildzm script, using ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm as the path to your SRPM. - #### Docker Docker is a system to run applications inside isolated containers. ZoneMinder, and the ZM webserver, will run using the From b7259b973a84dcdc5692f71ed094238eb0a4193d Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sun, 28 Feb 2016 12:54:21 -0600 Subject: [PATCH 052/193] first formatting pass --- docs/installationguide/redhat.rst | 162 +++++++++++++++++++----------- 1 file changed, 103 insertions(+), 59 deletions(-) diff --git a/docs/installationguide/redhat.rst b/docs/installationguide/redhat.rst index d05a85150..17157cfb6 100644 --- a/docs/installationguide/redhat.rst +++ b/docs/installationguide/redhat.rst @@ -5,7 +5,7 @@ Redhat These instructions apply to all Redhat distros and their clones, including but not limited to: Fedora, RHEL, CentOS, Scientific Linux, and others. While the installation instructions are the same for each distro, the reason why one might use one distro over the other is different. A short description follows, which is intended to help you chose what distro best fits your needs. -Background: RHEL, CentOS, and clones +Background: RHEL, CentOS, and Clones ------------------------------------ These distributions are classified as enterprise operating systems and have a long operating lifetime of many years. By design, they will not have the latest and greatest versions of any package. Instead, stable packages are the emphasis. @@ -28,14 +28,23 @@ Zmrepo – A ZoneMinder RPM Repository Zmrepo is a turn key solution. It will install all of ZoneMinder's dependencies for you. This is the easiest and the recommended way to install ZoneMinder on any system running a Redhat based distribution. +Zmrepo supports the two most recent, major, releases of each Redhat based distro. + The following notes are based on real problems which have occurred: -* Zmrepo assumes you have installed the underlying distrubution using the official installation media for that distro. Third party "Spins" are not supported and may not work correctly. -* ZoneMinder is intended to be installed in an environment dedicated to ZoneMinder. While ZoneMinder will play well with many applications, but some invariably will not. Astericks is one such example. -* Be advised that you need to start with a clean system before using zmrepo. -* IMPORTANT: If you have previously installed ZoneMinder from-source, then your system is NOT clean. You must manually search for and delete all ZoneMinder related files before using zmrepo (look under /usr/local). Make uninstall helps, but it will not do this for you correctly. You WILL have problems if you ignore this step. -* It is not necessary, and not recommended, to install a LAMP stack ahead of time. -* Disable other third party repos and uninstall any of ZoneMinder's third party dependencies, which might already be on the system, especially ffmpeg and vlc. Attempting to install dependencies yourself often causes problems. -* Each ZoneMinder rpm includes a README file under /usr/share/doc. You must follow the all steps in this README file, precisely, each and every time ZoneMinder is installed or upgraded. Failure to do so is guaranteed to result in a non-functional system. + +- Zmrepo assumes you have installed the underlying distrubution **using the official installation media for that distro**. Third party "Spins" are not supported and may not work correctly. + +- ZoneMinder is intended to be installed in an environment dedicated to ZoneMinder. While ZoneMinder will play well with many applications, but some invariably will not. Astericks is one such example. + +- Be advised that you need to start with a clean system before using zmrepo. + +- If you have previously installed ZoneMinder from-source, then your system is **NOT** clean. You must manually search for and delete all ZoneMinder related files before using zmrepo (look under /usr/local). Make uninstall helps, but it will not do this for you correctly. You WILL have problems if you ignore this step. + +- It is not necessary, and not recommended, to install a LAMP stack ahead of time. + +- Disable other third party repos and uninstall any of ZoneMinder's third party dependencies, which might already be on the system, especially ffmpeg and vlc. Attempting to install dependencies yourself often causes problems. + +- Each ZoneMinder rpm includes a README file under /usr/share/doc. You must follow the all steps in this README file, precisely, each and every time ZoneMinder is installed or upgraded. **Failure to do so is guaranteed to result in a non-functional system.** To being the installation of ZoneMinder on your Redhat based distro, please navigate to: http://zmrepo.zoneminder.com @@ -44,13 +53,18 @@ How to Build a (Custom) ZoneMinder Package If you are looking to do development or the packages in zmrepo just don't suit you, then you should follow these steps to learn how to build your own ZoneMinder RPM. -##### Background +Background +********** The following method documents how to build ZoneMinder into an RPM package, compatible with Fedora, Redhat, CentOS, and other compatible clones. This is exactly how the RPMS in zmrepo are built. The method documented below was chosen because: + - All of ZoneMinder's dependencies are downloaded and installed automatically + - Cross platform capable. The build host does not have to be the same distro or release version as the target. + - Once your build environment is set up, few steps are required to run the build again in the future. + - Troubleshooting becomes easier if we are all building ZoneMinder the same way. The build instructions below make use of a custom script called "buildzm.sh". Advanced users are encouraged to view the contents of this script. Notice that the script doesn't really do a whole lot. The goal of the script is to simply make the process a little easier for the first time user. Once you become familar with the build process, you can issue the mock commands found in the buildzm.sh script yourself if you so desire. @@ -58,96 +72,126 @@ The build instructions below make use of a custom script called "buildzm.sh". Ad ***IMPORTANT*** Certain commands in these instructions require root privileges while other commands do not. Pay close attention to this. If the instructions below state to issue a command without a “sudo†prefix, then you should *not* be root while issuing the command. Getting this incorrect will result in a failed build. -##### Set Up Your Environment -Before you begin, set up an rpmbuild environment by following [this guide](http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment) by the CentOS developers. +Set Up Your Environment +*********************** +Before you begin, set up an rpmbuild environment by following `this guide `_ by the CentOS developers. -Next, navigate to [Zmrepo](http://zmrepo.zoneminder.com/), and follow the instructions to enable zmrepo on your system. +Next, navigate to `Zmrepo `_, and follow the instructions to enable zmrepo on your system. With zmrepo enabled, issue the following command: -````bash -sudo yum install zmrepo-mock-configs mock -``` + +:: + + sudo yum install zmrepo-mock-configs mock + Add your user account to the group mock: -```bash -sudo gpasswd -a {your account name} mock -``` + +:: + + sudo gpasswd -a {your account name} mock + Your build environment is now set up. -##### Build from SRPM -To continue, you need a ZoneMinder SRPM. For starters, let's use one of the SRPMS from zmrepo. Go browse the [Zmrepo](http://zmrepo.zoneminder.com/) site and choose an appropriate SRPM and place it into the ~/rpmbuild/SRPMS folder. +Build from SRPM +*************** +To continue, you need a ZoneMinder SRPM. For starters, let's use one of the SRPMS from zmrepo. Go browse the `Zmrepo `_ site and choose an appropriate SRPM and place it into the ~/rpmbuild/SRPMS folder. For CentOS 7, I have chosen the following SRPM: -```bash -wget -P ~/rpmbuild/SRPMS http://zmrepo.zoneminder.com/el/7/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` + +:: + + wget -P ~/rpmbuild/SRPMS http://zmrepo.zoneminder.com/el/7/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm + Now comes the fun part. To build ZoneMinder, issue the following command: -```bash -buildzm.sh zmrepo-el7-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` + +:: + + buildzm.sh zmrepo-el7-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm + Want to build ZoneMinder for Fedora, instead of CentOS, from the same host? Once you download the Fedora SRPM, issue the following: -```bash -buildzm.sh zmrepo-f21-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-1.fc21.src.rpm -``` + +:: + + buildzm.sh zmrepo-f21-x86_64 ~/rpmbuild/SRPMS/zoneminder-1.28.1-1.fc21.src.rpm + Notice that the buildzm.sh tool requires the following parameters: -```bash -buildzm.sh MOCKCONFIG ZONEMINDER_SRPM -``` + +:: + + buildzm.sh MOCKCONFIG ZONEMINDER_SRPM + The list of available Mock config files are available here: -```bash -ls /etc/mock/zmrepo*.cfg -``` + +:: + + ls /etc/mock/zmrepo*.cfg + You choose the config file based on the desired distro (e.g. el6, el7, f20, f21) and basearch (e.g. x86, x86_64, arhmhfp). Notice that, when specifying the Mock config as a commandline parameter, you should leave off the ".cfg" filename extension. -##### Installation -Once the build completes, you will be presented with a folder containing the RPM's that were built. Copy the newly built ZoneMinder RPM to the desired system, enable zmrepo per the instruction on the [Zmrepo](http://zmrepo.zoneminder.com/) website, and then install the rpm by issuing the appropriate yum install command. Finish the installation by following the zoneminder setup instructions in the distro specific readme file, named README.{distroname}, which will be installed into the /usr/share/doc/zoneminder* folder. +Installation +************ +Once the build completes, you will be presented with a folder containing the RPM's that were built. Copy the newly built ZoneMinder RPM to the desired system, enable zmrepo per the instruction on the `Zmrepo `_ +website, and then install the rpm by issuing the appropriate yum install command. Finish the installation by following the zoneminder setup instructions in the distro specific readme file, named README.{distroname}, which will be installed into the /usr/share/doc/zoneminder* folder. Finally, you may want to consider editing the zmrepo repo file under /etc/yum.repos.d and placing an “exclude=zoneminder*†line into the config file. This will prevent your system from overwriting your manually built RPM with the ZoneMinder RPM found in the repo. -##### How to Modify the Source Prior to Build - +How to Modify the Source Prior to Build +*************************************** Before attempting this part of the instructions, make sure and follow the previous instructions for building one of the unmodified SRPMS from zmrepo. Knowing this part works will assist in troubleshooting should something go wrong. These instructions may vary depending on what exactly you want to do. The following example assumes you want to build a development snapshot from the master branch. From the previous instructions, we downloaded a CentOS 7 ZoneMinder SRPM and placed it into ~/rpmbuild/SRPMS. For this example, install it onto your system: -```bash -rpm -Uvh ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm -``` + +:: + + rpm -Uvh ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm + IMPORTANT: This operation must be done with your normal user account. Do *not* perform this command as root. Make sure you have git installed: -```bash -sudo yum install git -``` + +:: + + sudo yum install git + Now clone the ZoneMinder git repository: -```bash -git clone https://github.com/ZoneMinder/ZoneMinder -``` + +:: + + git clone https://github.com/ZoneMinder/ZoneMinder + This will create a sub-folder called ZoneMinder, which will contain the latest development. We want to turn this into a tarball, but first we need to figure out what to name it. Look here: -```bash -ls ~/rpmbuild/SOURCES -``` + +:: + + ls ~/rpmbuild/SOURCES + The tarball from the previsouly installed SRPM should be there. This is the name we will use. For this example, the name is ZoneMinder-1.28.1.tar.gz. From one folder above the local ZoneMinder git repository, execute the following: -```bash -mv ZoneMinder ZoneMinder-1.28.1 -tar -cvzf ~/rpmbuild/SOURCES/ZoneMinder-1.28.1.tar.gz ZoneMinder-1.28.1/* -``` -The trailing "/*" leaves off the hidden dot "." file and folders from the git repo, which is what we want. + +:: + + mv ZoneMinder ZoneMinder-1.28.1 + tar -cvzf ~/rpmbuild/SOURCES/ZoneMinder-1.28.1.tar.gz ZoneMinder-1.28.1/* + +The trailing "/\*" leaves off the hidden dot "." file and folders from the git repo, which is what we want. Note that we are overwriting the original tarball. If you wish to keep the original tarball then create a copy prior to creating the new tarball. Now build a new src.rpm: -```bash -rpmbuild -bs --nodeps ~/rpmbuild/SPECS/zoneminder.el7.spec -``` + +:: + + rpmbuild -bs --nodeps ~/rpmbuild/SPECS/zoneminder.el7.spec + This step will overwrite the SRPM you originally downloaded, so you may want to back it up prior to completing this step. Note that the name of the specfile will vary slightly depending on what distro you are building for. You should now have a a new SRPM under ~/rpmbuild/SRPMS. In our example, the SRPM is called zoneminder-1.28.1-2.el7.centos.src.rpm. Now follow the previous instructions that describe how to use the buildzm script, using ~/rpmbuild/SRPMS/zoneminder-1.28.1-2.el7.centos.src.rpm as the path to your SRPM. From 1c9633f1bd68729d56415d213b3a07d8d8608b3e Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Tue, 1 Mar 2016 08:43:36 -0600 Subject: [PATCH 053/193] add comment/warning for ZM_SERVER_HOST --- zm.conf.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zm.conf.in b/zm.conf.in index 9cc3d42de..decca3b19 100644 --- a/zm.conf.in +++ b/zm.conf.in @@ -46,5 +46,9 @@ ZM_DB_USER=@ZM_DB_USER@ # ZoneMinder database password ZM_DB_PASS=@ZM_DB_PASS@ -# Host of this machine +# Do NOT set ZM_SERVER_HOST if you are not using Multi-Server +# You have been warned +# +# The name specified here must have a corresponding entry +# in the Servers tab under Options ZM_SERVER_HOST= From 466f2b2ae3d0f83401fbcc54f3d97d6e0941f874 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Tue, 1 Mar 2016 11:12:54 -0600 Subject: [PATCH 054/193] change multi-server error message text --- web/includes/config.php.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/includes/config.php.in b/web/includes/config.php.in index 466e195f2..2ca819210 100644 --- a/web/includes/config.php.in +++ b/web/includes/config.php.in @@ -173,14 +173,14 @@ if ( ! defined('ZM_SERVER_ID') ) { if ( defined('ZM_SERVER_NAME') and ZM_SERVER_NAME ) { $server_id = dbFetchOne('SELECT Id FROM Servers WHERE Name=?', 'Id', array(ZM_SERVER_NAME)); if ( ! $server_id ) { - Error("ZM_SERVER_NAME set to " . ZM_SERVER_NAME . " in config, but not found in Servers table."); + Error("Invalid Multi-Server configration detected. ZM_SERVER_NAME set to " . ZM_SERVER_NAME . " in zm.conf, but no corresponding entry found in Servers table."); } else { define( 'ZM_SERVER_ID', $server_id ); } } else if ( defined('ZM_SERVER_HOST') and ZM_SERVER_HOST ) { $server_id = dbFetchOne('SELECT Id FROM Servers WHERE Name=?', 'Id', array(ZM_SERVER_HOST)); if ( ! $server_id ) { - Error("ZM_SERVER_HOST set to " . ZM_SERVER_HOST . " in config, but not found in Servers table."); + Error("Invalid Multi-Server configration detected. ZM_SERVER_HOST set to " . ZM_SERVER_HOST . " in zm.conf, but no corresponding entry found in Servers table."); } else { define( 'ZM_SERVER_ID', $server_id ); } From 7d346747d6b6e596ff1cc8c3621b27e6fae49f16 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 2 Mar 2016 10:18:58 -0500 Subject: [PATCH 055/193] use Digest::SHA instead of Digest::SHA1. API appears to be the same --- onvif/modules/lib/WSSecurity/SecuritySerializer.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/onvif/modules/lib/WSSecurity/SecuritySerializer.pm b/onvif/modules/lib/WSSecurity/SecuritySerializer.pm index cbb6ae8f9..11a918af7 100644 --- a/onvif/modules/lib/WSSecurity/SecuritySerializer.pm +++ b/onvif/modules/lib/WSSecurity/SecuritySerializer.pm @@ -26,7 +26,7 @@ use strict; use warnings; use SOAP::WSDL::Factory::Serializer; use Time::Local; -use Digest::SHA1; +use Digest::SHA; use MIME::Base64; @@ -94,7 +94,7 @@ sub ws_authen { my $nonce = $nonce_generator->(); my $timestamp = timestamp(); - my $pwDigest = Digest::SHA1::sha1( $nonce . $timestamp . $password ); + my $pwDigest = Digest::SHA::sha1( $nonce . $timestamp . $password ); my $passwordHash = MIME::Base64::encode_base64($pwDigest,""); my $nonceHash = MIME::Base64::encode_base64($nonce,""); From d4ed493333bf42d815c96cb9acbe48076ef504ee Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 2 Mar 2016 10:56:07 -0500 Subject: [PATCH 056/193] add onvif dependencies and cleanup build-depends --- distros/ubuntu1504_cmake/control | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/distros/ubuntu1504_cmake/control b/distros/ubuntu1504_cmake/control index 65e11fac9..cb916dd64 100644 --- a/distros/ubuntu1504_cmake/control +++ b/distros/ubuntu1504_cmake/control @@ -7,20 +7,15 @@ Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apa ,cmake ,libavcodec-ffmpeg-dev, libavformat-ffmpeg-dev, libswscale-ffmpeg-dev, libavutil-ffmpeg-dev, libavdevice-ffmpeg-dev ,libbz2-dev - ,libdate-manip-perl - ,libdbd-mysql-perl ,libgcrypt-dev ,libcurl4-gnutls-dev ,libgnutls-openssl-dev ,libjpeg-dev ,libmysqlclient-dev ,libpcre3-dev - ,libphp-serialization-perl ,libpolkit-gobject-1-dev - ,libsys-mmap-perl [!hurd-any] ,libv4l-dev (>= 0.8.3) [!hurd-any] ,libvlc-dev - ,libwww-perl # Unbundled (dh_linktree): ,libjs-jquery ,libjs-mootools @@ -35,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,javascript-common ,libav-tools ,libdate-manip-perl + ,libdbd-mysql-perl ,libmime-lite-perl ,libmime-tools-perl ,libphp-serialization-perl @@ -49,6 +45,11 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,libsys-mmap-perl [!hurd-any] ,liburi-encode-perl ,libwww-perl + ,libdata-dump-perl + ,libclass-std-fast-perl + ,libsoap-wsdl-perl + ,libio-socket-multicast-perl + ,libdigest-sha-perl ,mysql-client | virtual-mysql-client ,perl-modules ,php5-mysql From 61ffae79d1671d2ad16f60bf6ddd5eaf826d60f2 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 08:58:53 -0500 Subject: [PATCH 057/193] split into multiple lines and add onvif deps --- distros/debian/control | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/distros/debian/control b/distros/debian/control index 70d03eaa5..a48dd357d 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -2,12 +2,41 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 9), autoconf, automake, quilt, libphp-serialization-perl, libgnutls-dev|libgnutls28-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, libarchive-zip-perl, libmime-lite-perl, dh-autoreconf, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev|libgcrypt20-dev, libpolkit-gobject-1-dev +Build-Depends: debhelper (>= 9), autoconf, automake, quilt , libtool, dh-autoreconf +,libgnutls-dev|libgnutls28-dev +,libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl +,libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev +,libpcre3-dev +,libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libavdevice-dev +,libv4l-dev (>= 0.8.3), libvlccore-dev, libvlc-dev +,libbz2-dev +,libsys-mmap-perl +,libnetpbm10-dev +,libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev +,libgcrypt11-dev|libgcrypt20-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, php5-gd +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, php5-gd +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-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 From 41db18a8c6d129ec4969cf39c3ebceb93fa7f0de Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 08:59:03 -0500 Subject: [PATCH 058/193] split into multiple lines and add onvif deps --- distros/debian8/control | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/debian8/control b/distros/debian8/control index af5ba9ad0..dd19f95c5 100644 --- a/distros/debian8/control +++ b/distros/debian8/control @@ -63,6 +63,7 @@ Depends: libzoneminder-perl (= ${source:Version}), libmime-tools-perl, libnet-sftp-foreign-perl, libphp-serialization-perl, debconf, ffmpeg | libav-tools, rsyslog | system-log-daemon, netpbm, zip, policykit-1, apache2 +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl Description: Core binaries and perl scripts for ZoneMinder ZoneMinder is a video camera security and surveillance solution. . From 3c9173fa5c550e7a7429e28f83362c4e9ae151ac Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 08:59:11 -0500 Subject: [PATCH 059/193] split into multiple lines and add onvif deps --- distros/debian_cmake/control | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/distros/debian_cmake/control b/distros/debian_cmake/control index 4c4d405e9..6c260bdaf 100644 --- a/distros/debian_cmake/control +++ b/distros/debian_cmake/control @@ -2,12 +2,42 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 9), cmake, libphp-serialization-perl, libgnutls-dev, libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl, libdate-manip-perl, libwww-perl, libjpeg8-dev, libpcre3-dev, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libv4l-dev (>= 0.8.3), libbz2-dev, libsys-mmap-perl, libav-tools, libnetpbm10-dev, libavdevice-dev, libdevice-serialport-perl, libarchive-zip-perl, libmime-lite-perl, libvlccore-dev, libvlc-dev, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libgcrypt11-dev, libpolkit-gobject-1-dev +Build-Depends: debhelper (>= 9), cmake +, libphp-serialization-perl +, libgnutls-dev +, libmysqlclient-dev | libmariadbclient-dev +, libjpeg8-dev +, libpcre3-dev +, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev +, libv4l-dev (>= 0.8.3) +, libbz2-dev +, libav-tools +, libnetpbm10-dev +, libavdevice-dev +, 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 | httpd, libapache2-mod-php5 | libapache2-mod-fcgid | php5-fpm, php5-mysqlnd | php5-mysql, 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, libav-tools, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, netpbm, libavdevice53, libjpeg8, zip, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, libvlccore5 | libvlccore7, libvlc5, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev, libpolkit-gobject-1-0, php5-gd +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +, apache2 | httpd, libapache2-mod-php5 | libapache2-mod-fcgid | php5-fpm +, php5-mysqlnd | php5-mysql, libphp-serialization-perl +, mariadb-client | mysql-client +, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, libdbd-mysql-perl +, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl +, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl +, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libpcre3 +, libav-tools, libavdevice53 +, rsyslog | system-log-daemon +, netpbm , libjpeg8 +, zip +, libvlccore5 | libvlccore7, libvlc5 +, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev +, libpolkit-gobject-1-0, php5-gd Recommends: mysql-server | mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security From 4f4e65f86cc8a9cbc6702cad58d110fcd5fdc57c Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 09:00:08 -0500 Subject: [PATCH 060/193] split into multiple lines and add onvif deps --- distros/ubuntu1204/control | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/distros/ubuntu1204/control b/distros/ubuntu1204/control index 170504b5a..ab6cbce0d 100644 --- a/distros/ubuntu1204/control +++ b/distros/ubuntu1204/control @@ -2,12 +2,41 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -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 +Build-Depends: debhelper (>= 9), autoconf, automake, quilt, dh-autoreconf, libtool +, libgnutls-dev +, libmysqlclient-dev | libmariadbclient-dev +, 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 +, libavdevice-dev +, 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|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, php5-gd +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd +, mariadb-client|mysql-client|mysql-client-5.6 +, libpcre3 +, ffmpeg | libav-tools +, rsyslog | system-log-daemon +, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl +, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl +, libdbd-mysql-perl +, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl +, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, liburi-encode-perl +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libavdevice53 | libavdevice55 +, libjpeg8|libjpeg9|libjpeg62-turbo +, zip +, libvlccore5 | libvlccore7 | libvlccore8, libvlc5 +, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev +, libpolkit-gobject-1-0 +, php5-gd Recommends: mysql-server|mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security From 5e617753e599d838ab5603fff1f083a129d19a74 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 09:01:15 -0500 Subject: [PATCH 061/193] split into multiple lines and add onvif deps --- distros/ubuntu1204_cmake/control | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/distros/ubuntu1204_cmake/control b/distros/ubuntu1204_cmake/control index fd7a53049..cdd4b20b7 100644 --- a/distros/ubuntu1204_cmake/control +++ b/distros/ubuntu1204_cmake/control @@ -7,20 +7,15 @@ Build-Depends: debhelper (>= 9), python-sphinx | python3-sphinx, apache2-dev, dh ,cmake ,libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev, libavdevice-dev ,libbz2-dev - ,libdate-manip-perl - ,libdbd-mysql-perl ,libgcrypt-dev ,libcurl4-gnutls-dev ,libgnutls-openssl-dev ,libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, ,libmysqlclient-dev ,libpcre3-dev - ,libphp-serialization-perl ,libpolkit-gobject-1-dev - ,libsys-mmap-perl [!hurd-any] ,libv4l-dev (>= 0.8.3) [!hurd-any] ,libvlc-dev - ,libwww-perl # Unbundled (dh_linktree): ,libjs-jquery ,libjs-mootools @@ -35,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,javascript-common ,libav-tools|ffmpeg ,libdate-manip-perl + ,libdbd-mysql-perl ,libmime-lite-perl ,libmime-tools-perl ,libphp-serialization-perl @@ -55,6 +51,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,policykit-1 ,rsyslog | system-log-daemon ,zip + ,libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl Recommends: ${misc:Recommends} ,libapache2-mod-php5 | php5-fpm ,mysql-server | virtual-mysql-server From 3340f9e3755822e5d3ec6bbaacb724693c80a8de Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 3 Mar 2016 09:01:26 -0500 Subject: [PATCH 062/193] split into multiple lines and add onvif deps --- distros/ubuntu1504/control | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/distros/ubuntu1504/control b/distros/ubuntu1504/control index 8fa3f3596..2fd99da1f 100644 --- a/distros/ubuntu1504/control +++ b/distros/ubuntu1504/control @@ -3,14 +3,11 @@ Section: net Priority: optional Maintainer: Isaac Connor Build-Depends: debhelper (>= 9), dh-systemd (>= 1.5), autoconf, automake, quilt, libtool, dh-autoreconf - , libphp-serialization-perl, libgnutls-dev - , libmysqlclient-dev | libmariadbclient-dev, libdbd-mysql-perl - , libdate-manip-perl, libwww-perl + , libgnutls-dev + , libmysqlclient-dev | libmariadbclient-dev , libjpeg8-dev|libjpeg9-dev|libjpeg62-turbo-dev, libpcre3-dev , libavcodec-ffmpeg-dev, libavformat-ffmpeg-dev, libswscale-ffmpeg-dev, libavutil-ffmpeg-dev, libavdevice-ffmpeg-dev , libv4l-dev (>= 0.8.3), libbz2-dev - , libsys-mmap-perl - , libdevice-serialport-perl, libpcre3, libarchive-zip-perl, libmime-lite-perl , libvlccore-dev, libvlc-dev , libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev , libgcrypt11-dev, libpolkit-gobject-1-dev @@ -19,7 +16,23 @@ Homepage: http://www.zoneminder.com/ 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|mysql-client-5.6, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl, libpcre3, ffmpeg, rsyslog | system-log-daemon, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl, libavdevice-ffmpeg56, 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, php5-gd +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd +, mariadb-client|mysql-client|mysql-client-5.6 +, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl +, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl +, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl +, libnet-sftp-foreign-perl , libio-pty-perl, libexpect-perl , liburi-encode-perl , libdbd-mysql-perl +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libpcre3 +, ffmpeg, libavdevice-ffmpeg56 +, rsyslog | system-log-daemon +, libjpeg8|libjpeg9|libjpeg62-turbo +, zip +, libvlccore5 | libvlccore7 | libvlccore8, libvlc5 +, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev +, libpolkit-gobject-1-0 +, php5-gd Recommends: mysql-server|mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security From de85e188290f16b2c98e203c1d1cd74d6965db35 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 3 Mar 2016 08:33:49 -0600 Subject: [PATCH 063/193] rpm specfile changes for 1.30.0 --- distros/fedora/CMakeLists.txt | 2 +- distros/fedora/README.Fedora | 34 +-- distros/fedora/zonemidner.f22.spec | 1 + distros/fedora/zoneminder.f22.spec | 409 ----------------------------- distros/fedora/zoneminder.f23.spec | 23 +- distros/redhat/CMakeLists.txt | 2 +- distros/redhat/README.CentOS | 25 +- distros/redhat/README.Centos7 | 33 ++- distros/redhat/zoneminder.el6.spec | 24 +- distros/redhat/zoneminder.el7.spec | 22 +- 10 files changed, 112 insertions(+), 463 deletions(-) create mode 120000 distros/fedora/zonemidner.f22.spec delete mode 100644 distros/fedora/zoneminder.f22.spec diff --git a/distros/fedora/CMakeLists.txt b/distros/fedora/CMakeLists.txt index ba1b743ba..e6fc72add 100644 --- a/distros/fedora/CMakeLists.txt +++ b/distros/fedora/CMakeLists.txt @@ -10,7 +10,7 @@ configure_file(zoneminder.tmpfiles.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.tmp configure_file(zoneminder.logrotate.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.logrotate @ONLY) # Download jscalendar & move files into position -file(DOWNLOAD http://downloads.sourceforge.net/jscalendar/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc) +file(DOWNLOAD http://iweb.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc) if(download_jsc EQUAL 0) message(STATUS "Jscalander successfully downloaded. Installing...") execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ERROR_VARIABLE unzip_jsc) diff --git a/distros/fedora/README.Fedora b/distros/fedora/README.Fedora index 0f88a9a16..18d091772 100644 --- a/distros/fedora/README.Fedora +++ b/distros/fedora/README.Fedora @@ -5,27 +5,19 @@ What's New "/cgi-bin-zm/zms". This has been to done to avoid this bug: https://bugzilla.redhat.com/show_bug.cgi?id=973067 - IMPORTANT: ZoneMinder will not update this value during an upgrade. You must - manually update ZM_PATH_ZMS yourself under Options. This does not affect - new installs. + IMPORTANT: You must manually inspect the value for PATH_ZMS under Options + and verify it is set to "/cgi-bin-zm/nph-zms". Failure to do so will result + in a broken system. You have been warned. -2. The ZoneMinder config file, zm.conf, has been moved under /etc/zm. - -3. Due to the active state of the ZoneMinder project, we now recommend granting +2. Due to the active state of the ZoneMinder project, we now recommend granting ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -4. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -5. This package now requires the HTTPS protocol to access the web portal. +3. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. -6. This package ships with the new ZoneMinder API enabled. +4. This package ships with the new ZoneMinder API enabled. New installs ============ @@ -86,13 +78,22 @@ New installs SELINUX line from "enforcing" to "disabled". This change will take effect after a reboot. +6. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: -6. Now start the web server: + sudo yum install mod_ssl + + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. + +7. Now start the web server: sudo systemctl enable httpd sudo systemctl start httpd -7. Now start zoneminder: +8. Now start zoneminder: sudo systemctl enable zoneminder sudo systemctl start zoneminder @@ -131,6 +132,7 @@ Upgrades /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/fedora/zonemidner.f22.spec b/distros/fedora/zonemidner.f22.spec new file mode 120000 index 000000000..808e7cb9f --- /dev/null +++ b/distros/fedora/zonemidner.f22.spec @@ -0,0 +1 @@ +zoneminder.f23.spec \ No newline at end of file diff --git a/distros/fedora/zoneminder.f22.spec b/distros/fedora/zoneminder.f22.spec deleted file mode 100644 index 9beef6319..000000000 --- a/distros/fedora/zoneminder.f22.spec +++ /dev/null @@ -1,409 +0,0 @@ -%define zmuid $(id -un) -%define zmgid $(id -gn) -%define zmuid_final apache -%define zmgid_final apache - -%global _hardened_build 1 - -### Delete the lines below to build with ffmpeg and/or x10 -%define _without_ffmpeg 1 -%define _without_x10 1 - -Name: zoneminder -Version: 1.29.0 -Release: 1%{?dist} -Summary: A camera monitoring and analysis tool -Group: System Environment/Daemons -# jscalendar is LGPL (any version): http://www.dynarch.com/projects/calendar/ -# Mootools is inder the MIT license: http://mootools.net/ -License: GPLv2+ and LGPLv2+ and MIT -URL: http://www.zoneminder.com/ - -#Source: https://github.com/ZoneMinder/ZoneMinder/archive/v%{version}.tar.gz -Source: ZoneMinder-%{version}.tar.gz - -BuildRequires: cmake gnutls-devel systemd-units bzip2-devel -BuildRequires: mariadb-devel pcre-devel libjpeg-turbo-devel -BuildRequires: perl(Archive::Tar) perl(Archive::Zip) perl-podlators -BuildRequires: perl(Date::Manip) perl(DBD::mysql) -BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) -BuildRequires: perl(MIME::Entity) perl(MIME::Lite) -BuildRequires: perl(PHP::Serialization) perl(Sys::Mmap) -BuildRequires: perl(Time::HiRes) perl(Net::SFTP::Foreign) -BuildRequires: perl(Expect) perl(Sys::Syslog) -BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel libv4l-devel -%{!?_without_ffmpeg:BuildRequires: ffmpeg-devel} -%{!?_without_x10:BuildRequires: 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 -%{!?_without_ffmpeg:BuildRequires: ffmpeg} - -Requires: httpd php php-gd 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) -Requires: perl(MIME::Entity) perl(MIME::Lite) perl(Net::SMTP) perl(Net::FTP) -Requires: perl(LWP::Protocol::https) -%{!?_without_ffmpeg:Requires: ffmpeg} - -Requires(post): systemd-units systemd-sysv -Requires(post): /usr/bin/gpasswd -Requires(post): /usr/bin/less -Requires(preun): systemd-units -Requires(postun): systemd-units - -%description -ZoneMinder is a set of applications which is intended to provide a complete -solution allowing you to capture, analyse, record and monitor any cameras you -have attached to a Linux based machine. It is designed to run on kernels which -support the Video For Linux (V4L) interface and has been tested with cameras -attached to BTTV cards, various USB cameras and IP network cameras. It is -designed to support as many cameras as you can attach to your computer without -too much degradation of performance. - -%prep -%setup -q -n ZoneMinder-%{version} - -# Change the following default values -./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin-zm/nph-zms -./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes -./utils/zmeditconfigdata.sh ZM_PATH_SWAP /dev/shm -./utils/zmeditconfigdata.sh ZM_UPLOAD_FTP_LOC_DIR /var/spool/zoneminder-upload -./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes -./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no -./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no - -%build -%cmake \ - -DZM_TARGET_DISTRO="f22" \ -%{?_without_ffmpeg:-DZM_NO_FFMPEG=ON} \ -%{?_without_x10:-DZM_NO_X10=ON} \ - . - -make %{?_smp_mflags} - -%install -export DESTDIR=%{buildroot} -make install - -%post -if [ $1 -eq 1 ] ; then - # Initial installation - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -fi - -# Allow zoneminder access to local video sources, serial ports, and x10 -/usr/bin/gpasswd -a %{zmuid_final} video -/usr/bin/gpasswd -a %{zmuid_final} dialout - -# Upgrade from a previous version of zoneminder -if [ $1 -eq 2 ] ; then - # Freshen the database - /usr/bin/zmupdate.pl -f - - # We can't run this automatically when new sql account permissions need to - # be manually added first - # Run zmupdate non-interactively - #/usr/bin/zmupdate.pl --nointeractive -fi - -# Warn the end user to read the README file -echo -e "\nVERY IMPORTANT: Before starting ZoneMinder, read README.Fedora to finish the\ninstallation or upgrade!\n" -echo -e "\nThe README file is located here: %{_docdir}/%{name}\n" - -%preun -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable zoneminder.service > /dev/null 2>&1 || : - /bin/systemctl stop zoneminder.service > /dev/null 2>&1 || : -fi - -%postun -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - /bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : -fi - -%triggerun -- zoneminder < 1.25.0-4 -# Save the current service runlevel info -# User must manually run systemd-sysv-convert --apply zoneminder -# to migrate them to systemd targets -/usr/bin/systemd-sysv-convert --save zoneminder >/dev/null 2>&1 ||: - -# Run these because the SysV package being removed won't do them -/sbin/chkconfig --del zoneminder >/dev/null 2>&1 || : -/bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : - - -%files -%defattr(-,root,root,-) -%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/README.https distros/fedora/jscalendar-doc -%config %attr(640,root,%{zmgid_final}) /etc/zm/zm.conf -%config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf -%config(noreplace) /etc/tmpfiles.d/zoneminder.conf -%config(noreplace) /etc/logrotate.d/zoneminder - -%{_unitdir}/zoneminder.service - -%{_bindir}/zma -%{_bindir}/zmaudit.pl -%{_bindir}/zmc -%{_bindir}/zmcontrol.pl -%{_bindir}/zmdc.pl -%{_bindir}/zmf -%{_bindir}/zmfilter.pl -%{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer -%{_bindir}/zmtrack.pl -%{_bindir}/zmtrigger.pl -%{_bindir}/zmu -%{_bindir}/zmupdate.pl -%{_bindir}/zmvideo.pl -%{_bindir}/zmwatch.pl -%{_bindir}/zmcamtool.pl -%{_bindir}/zmsystemctl.pl -%{!?_without_x10:%{_bindir}/zmx10.pl} - -%{perl_vendorlib}/ZoneMinder* -%{_mandir}/man*/* -%dir %{_libexecdir}/zoneminder -%{_libexecdir}/zoneminder/cgi-bin -%dir %{_datadir}/zoneminder -%{_datadir}/zoneminder/db -%{_datadir}/zoneminder/www - -%{_datadir}/polkit-1/actions/com.zoneminder.systemctl.policy -%{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules - -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/events -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/images -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/sock -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/swap -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/lib/zoneminder/temp -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/log/zoneminder -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/spool/zoneminder-upload -%dir %attr(755,%{zmuid_final},%{zmgid_final}) /run/zoneminder - - -%changelog -* Sat Feb 14 2015 Andrew Bauer - 1.28.1 -- Bump version for 1.28.1 release on Fedora 21. - -* Sun Oct 5 2014 Andrew Bauer - 1.28.0 -- Bump version for 1.28.0 release. - -* Fri Mar 14 2014 Andrew Bauer - 1.27 -- Tweak build requirements for cmake - -* Sat Feb 01 2014 Andrew Bauer - 1.27 -- Add zmcamtool.pl. Bump version for 1.27 release. - -* Mon Dec 16 2013 Andrew Bauer - 1.26.5 -- This is a bug fixe release -- RTSP fixes, cmake enhancements, couple other misc fixes - -* Mon Oct 07 2013 Andrew Bauer - 1.26.4 -- Initial cmake build. - -* Sat Oct 05 2013 Andrew Bauer - 1.26.4 -- Fedora specific path changes have been moved to zoneminder-1.26.0-defaults.patch -- All files are now part of the zoneminder source tree. Update specfile accordingly. - -* Sat Sep 21 2013 Andrew Bauer - 1.26.3 -- Initial rebuild for ZoneMinder 1.26.3 release. - -* Fri Feb 15 2013 Fedora Release Engineering - 1.25.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Mon Jan 21 2013 Adam Tkac - 1.25.0-12 -- rebuild due to "jpeg8-ABI" feature drop - -* Mon Jan 7 2013 Remi Collet - 1.25.0-11 -- fix configuration file for httpd 2.4, #871502 - -* Fri Dec 21 2012 Adam Tkac - 1.25.0-10 -- rebuild against new libjpeg - -* Thu Aug 09 2012 Jason L Tibbitts III - 1.25.0-9 -- Add patch to work around v4l2 api breakage in 3.5 kernel. - -* Sun Jul 22 2012 Fedora Release Engineering - 1.25.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jun 23 2012 Petr Pisar - 1.25.0-7 -- Perl 5.16 rebuild - -* Wed Mar 21 2012 Jason L Tibbitts III - 1.25.0-6 -- Fix stupid thinko in sql modifications. - -* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-5 -- Clean up macro usage. - -* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-4 -- Convert to systemd. -- Add tmpfiles.d configuration since the initscript isn't around to create - /run/zoneminder. -- Remove some pointless executable permissions. -- Add logrotate file. - -* Wed Feb 22 2012 Jason L Tibbitts III - 1.25.0-3 -- Update README.Fedora to reference systemctl and mention timezone info in - php.ini. -- Add proper default for EYEZM_LOG_TO_FILE. - - -* Thu Feb 09 2012 Jason L Tibbitts III - 1.25.0-2 -- Rebuild for new pcre. - -* Thu Jan 19 2012 Jason L Tibbitts III - 1.25.0-1 -- Update to 1.25.0 -- Fix gcc4.7 build problems. -- Drop gcc4.4 build fixes; for whatever reason they now break the build. -- Clean up old patches. -- Force setting of ZM_TMPDIR and ZM_RUNDIR. - -* Sat Jan 14 2012 Fedora Release Engineering - 1.24.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-3 -- Re-add the dist-tag that somehow got lost. - -* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-2 -- Add patch for bug 711780 - fix syntax issue in Mapped.pm. -- Undo that patch, and undo another which was the cause of the whole mess. -- Fix up other patches so ZM_PATH_BUILD is both defined and useful. -- Make sure database creation mods actually take. -- Update Fedora-specific docs with some additional info. -- Use bundled mootools (javascript, so no guideline violation). -- Update download location. -- Update the gcrypt patch to actually work. -- Upstream changed the tarball without changing the version to patch a - vulnerability, so redownload. - -* Sun Aug 14 2011 Jason L Tibbitts III - 1.24.4-1 -- Initial attempt to upgrade to 1.24.4. -- Add patch from BZ 460310 to build against libgcrypt instead of requiring the - gnutls openssl libs. - -* Thu Jul 21 2011 Petr Sabata - 1.24.3-7.20110324svn3310 -- Perl mass rebuild - -* Wed Jul 20 2011 Petr Sabata - 1.24.3-6.20110324svn3310 -- Perl mass rebuild - -* Mon May 09 2011 Jason L Tibbitts III - 1.24.3-5.20110324svn3310 -- Bump for gnutls update. - -* Thu Mar 24 2011 Jason L Tibbitts III - 1.24.3-4.20110324svn3310 -- Update to latest 1.24.3 subversion. Turns out that what upstream was calling - 1.24.3 is really just an occasionally updated devel snapshot. -- Rebase various patches. - -* Wed Mar 23 2011 Dan Horák - 1.24.3-3 -- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient) - -* Tue Feb 08 2011 Fedora Release Engineering - 1.24.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Tue Jan 25 2011 Jason L Tibbitts III - 1.24.3-1 -- Update to latest upstream version. -- Rebase patches. -- Initial incomplete attempt to disable v4l1 support. - -* Fri Jan 21 2011 Jason L Tibbitts III - 1.24.2-6 -- Unbundle cambozola; instead link to the separately pacakged copy. -- Remove BuildRoot:, %%clean and buildroot cleaning in %%install. -- Git rid of mixed space/tab usage by removing all tabs. -- Remove unnecessary Conflicts: line. -- Attempt to force short_open_tag on for the code directories. -- Move default location of sockets, swaps, logfiles and some temporary files to - make more sense and allow things to work better with a future selinux policy. -- Fix errors in README.Fedora. - -* Wed Jun 02 2010 Marcela Maslanova - 1.24.2-5 -- Mass rebuild with perl-5.12.0 - -* Fri Dec 4 2009 Stepan Kasal - 1.24.2-4 -- rebuild against perl 5.10.1 -- use Perl vendorarch and archlib variables correctly - -* Mon Jul 27 2009 Fedora Release Engineering - 1.24.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-2 -- Bump release since 1.24.2-1 was mistakenly tagged a few months ago. - -* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-1 -- Initial update to 1.24.2. -- Rebase patches. -- Update mootools download location. -- Update to mootools 1.2.3. -- Add additional dependencies for some optional features. - -* Sat Apr 11 2009 Martin Ebourne - 1.24.1-3 -- Remove unused Sys::Mmap perl dependency RPM is finding - -* Sat Apr 11 2009 Martin Ebourne - 1.24.1-2 -- Update gcc44 patch to disable -frepo, seems to be broken with gcc44 -- Added noffmpeg patch to make building outside mock easier - -* Sat Mar 21 2009 Martin Ebourne - 1.24.1-1 -- Patch for gcc 4.4 compilation errors -- Upgrade to 1.24.1 - -* Wed Feb 25 2009 Fedora Release Engineering - 1.23.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sat Jan 24 2009 Caolán McNamara - 1.23.3-3 -- rebuild for dependencies - -* Mon Dec 15 2008 Martin Ebourne - 1.23.3-2 -- Fix permissions on zm.conf - -* Fri Jul 11 2008 Jason L Tibbitts III - 1.23.3-1 -- Initial attempt at packaging 1.23. - -* Tue Jul 1 2008 Martin Ebourne - 1.22.3-15 -- Add perl module compat dependency, bz #453590 - -* Tue May 6 2008 Martin Ebourne - 1.22.3-14 -- Remove default runlevel, bz #441315 - -* Mon Apr 28 2008 Jason L Tibbitts III - 1.22.3-13 -- Backport patch for CVE-2008-1381 from 1.23.3 to 1.22.3. - -* Tue Feb 19 2008 Fedora Release Engineering - 1.22.3-12 -- Autorebuild for GCC 4.3 - -* Thu Jan 3 2008 Martin Ebourne - 1.22.3-11 -- Fix compilation on gcc 4.3 - -* Thu Dec 6 2007 Martin Ebourne - 1.22.3-10 -- Rebuild for new openssl - -* Thu Aug 2 2007 Martin Ebourne - 1.22.3-8 -- Fix licence tag - -* Thu Jul 12 2007 Martin Ebourne - 1.22.3-7 -- Fixes from testing by Jitz including missing dependencies and database creation - -* Sat Jun 30 2007 Martin Ebourne - 1.22.3-6 -- Disable crashtrace on ppc - -* Sat Jun 30 2007 Martin Ebourne - 1.22.3-5 -- Fix uid for directories in /var/lib/zoneminder - -* Tue Jun 26 2007 Martin Ebourne - 1.22.3-4 -- Added perl Archive::Tar dependency -- Disabled web interface due to lack of access control on the event images - -* Sun Jun 10 2007 Martin Ebourne - 1.22.3-3 -- Changes recommended in review by Jason Tibbitts - -* Mon Apr 2 2007 Martin Ebourne - 1.22.3-2 -- Standardised on package name of zoneminder - -* Thu Dec 28 2006 Martin Ebourne - 1.22.3-1 -- First version. Uses some parts from zm-1.20.1 by Corey DeLasaux and Serg Oskin diff --git a/distros/fedora/zoneminder.f23.spec b/distros/fedora/zoneminder.f23.spec index 14b653117..435a3ba58 100644 --- a/distros/fedora/zoneminder.f23.spec +++ b/distros/fedora/zoneminder.f23.spec @@ -10,7 +10,7 @@ %define _without_x10 1 Name: zoneminder -Version: 1.29.0 +Version: 1.30.0 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 libv4l-devel BuildRequires: httpd polkit-devel %{!?_without_ffmpeg:BuildRequires: ffmpeg} -Requires: httpd php php-gd php-mysql cambozola polkit net-tools psmisc mod_ssl +Requires: httpd php php-gd 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) @@ -72,6 +72,7 @@ too much degradation of performance. ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build %cmake \ @@ -87,6 +88,10 @@ export DESTDIR=%{buildroot} make install %post + +# Add any new PTZ control configurations to the database (will not overwrite) +%{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + if [ $1 -eq 1 ] ; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : @@ -98,8 +103,12 @@ fi # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -163,9 +172,14 @@ fi %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.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 @@ -188,6 +202,9 @@ fi %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Sat Nov 21 2015 Andrew Bauer - 1.29.0 - Bump version for 1.29.0 release on Fedora 23. diff --git a/distros/redhat/CMakeLists.txt b/distros/redhat/CMakeLists.txt index 849ef1073..5de834109 100644 --- a/distros/redhat/CMakeLists.txt +++ b/distros/redhat/CMakeLists.txt @@ -16,7 +16,7 @@ else(ZM_TARGET_DISTRO STREQUAL "el7") endif(ZM_TARGET_DISTRO STREQUAL "el7") # Download jscalendar & move files into position -file(DOWNLOAD http://skylineservers.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip LOG jsc_log STATUS download_jsc) +file(DOWNLOAD http://iweb.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip LOG jsc_log STATUS download_jsc) #message(STATUS "Log of jscalender script was: ${jsc_log}") if(download_jsc EQUAL 0) message(STATUS "Jscalander successfully downloaded. Installing...") diff --git a/distros/redhat/README.CentOS b/distros/redhat/README.CentOS index f0e627c90..35718a691 100644 --- a/distros/redhat/README.CentOS +++ b/distros/redhat/README.CentOS @@ -5,16 +5,14 @@ What's New ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -2. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -3. This package now requires the HTTPS protocol to access the web portal. +2. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. +3. The php package that ships with CentOS 6 does not support the new ZoneMinder + API. If you require API functionality (such as using a mobile app) then you + should consider an upgrade to CentOS 7 or use Fedora. + New installs ============ @@ -40,7 +38,7 @@ New installs 3. If you have chosen to change the zoneminder mysql credentials to something other than zmuser/zmpass then you must now edit /etc/zm.conf. Change - ZM_DB_USER and ZM_DB_PASS to the values you created in step 2. + ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. Additionally, you must also edit /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. @@ -55,11 +53,15 @@ New installs If you are not sure of the proper timezone specification to use, look at http://php.net/date.timezone -5. Verify the default ZoneMinder Apache configuration meets your needs: +5. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: - /etc/httpd/conf.d/zoneminder.conf + sudo yum install mod_ssl - When in doubt, leave this configuration as it is. + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. 6. Configure the web server to start automatically: @@ -122,6 +124,7 @@ New installs /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/redhat/README.Centos7 b/distros/redhat/README.Centos7 index f4566b01c..de0bd52d6 100644 --- a/distros/redhat/README.Centos7 +++ b/distros/redhat/README.Centos7 @@ -1,17 +1,19 @@ What's New ========== -1. Due to the active state of the ZoneMinder project, we now recommend granting +1. The Apache ScriptAlias has been changed from "/cgi-bin/zm/zms" to + "/cgi-bin-zm/zms". This has been to done to avoid this bug: + https://bugzilla.redhat.com/show_bug.cgi?id=973067 + + IMPORTANT: You must manually verify the value of PATH_ZMS under Options. + Make sure it is set to "/cgi-bin-zm/nph-zms". Failure to do so will result + in a broken system. You have been warned. + +2. Due to the active state of the ZoneMinder project, we now recommend granting ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -2. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -3. This package now requires the HTTPS protocol to access the web portal. +3. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. @@ -74,12 +76,22 @@ New installs SELINUX line from "enforcing" to "disabled". This change will take effect after a reboot. -6. Now start the web server: +6. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: + + sudo yum install mod_ssl + + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. + +7. Now start the web server: sudo systemctl enable httpd sudo systemctl start httpd -7. Now start zoneminder: +8. Now start zoneminder: sudo systemctl enable zoneminder sudo systemctl start zoneminder @@ -118,6 +130,7 @@ Upgrades /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/redhat/zoneminder.el6.spec b/distros/redhat/zoneminder.el6.spec index 82406d431..69e3b972f 100644 --- a/distros/redhat/zoneminder.el6.spec +++ b/distros/redhat/zoneminder.el6.spec @@ -4,7 +4,7 @@ %define zmgid_final apache Name: zoneminder -Version: 1.29.0 +Version: 1.30.0 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-gd php-mysql mysql-server libjpeg-turbo cambozola polkit net-tools mod_ssl +Requires: httpd php php-gd php-mysql mysql-server libjpeg-turbo cambozola polkit net-tools Requires: psmisc 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) @@ -69,6 +69,7 @@ too much degradation of performance. ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build # Have to override CMAKE_INSTALL_LIBDIR for cmake < 2.8.7 due to this bug: @@ -98,8 +99,12 @@ echo -e "\nCreating and installing a ZoneMinder SELinux policy module. Please wa # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -154,14 +159,16 @@ rm -rf %{_docdir}/%{name}-%{version} %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.pl %{_bindir}/zmx10.pl -#%{_bindir}/zmonvif-probe.pl +%{_bindir}/zmonvif-probe.pl %{perl_vendorlib}/ZoneMinder* %{perl_vendorarch}/auto/ZoneMinder/.packlist -#%{perl_vendorlib}/ONVIF* -#%{perl_vendorlib}/WSDiscovery* -#%{perl_vendorlib}/WSSecurity* +%{perl_vendorarch}/auto/ONVIF/.packlist +%{perl_vendorlib}/ONVIF* +%{perl_vendorlib}/WSDiscovery* +%{perl_vendorlib}/WSSecurity* %{_mandir}/man*/* %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/cgi-bin @@ -182,6 +189,9 @@ rm -rf %{_docdir}/%{name}-%{version} %dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/spool/zoneminder-upload %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Tue Sep 8 2015 Andrew Bauer - 1.28.1 - Require https, freshen dB on updates. diff --git a/distros/redhat/zoneminder.el7.spec b/distros/redhat/zoneminder.el7.spec index c350553b3..485c214c2 100644 --- a/distros/redhat/zoneminder.el7.spec +++ b/distros/redhat/zoneminder.el7.spec @@ -6,7 +6,7 @@ %global _hardened_build 1 Name: zoneminder -Version: 1.29.0 +Version: 1.30.0 Release: 1%{?dist} Summary: A camera monitoring and analysis tool Group: System Environment/Daemons @@ -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-gd php-mysql mariadb-server cambozola polkit net-tools mod_ssl +Requires: httpd php php-gd php-mysql mariadb-server cambozola polkit net-tools Requires: psmisc 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) @@ -65,6 +65,7 @@ too much degradation of performance. ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build %cmake \ @@ -96,8 +97,12 @@ fi # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -163,12 +168,16 @@ fi %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.pl %{_bindir}/zmx10.pl +%{_bindir}/zmonvif-probe.pl %{perl_vendorlib}/ZoneMinder* %{perl_vendorarch}/auto/ZoneMinder/.packlist -#%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ZoneMinder* -#%{perl_archlib}/ZoneMinder* +%{perl_vendorarch}/auto/ONVIF/.packlist +%{perl_vendorlib}/ONVIF* +%{perl_vendorlib}/WSDiscovery* +%{perl_vendorlib}/WSSecurity* %{_mandir}/man*/* %dir %{_libexecdir}/zoneminder %{_libexecdir}/zoneminder/cgi-bin @@ -191,6 +200,9 @@ fi %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Mon Sep 7 2015 Andrew Bauer - 1.28.1 - Require https, disable selinux module, freshen dB on updates. From ab3c35c629266d804c5f0c29839ddcfb9a2cceb7 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Fri, 4 Mar 2016 17:21:32 -0600 Subject: [PATCH 064/193] fix missing Net::SFTP::Foreign::debug warning --- scripts/zmfilter.pl.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 1db114d9d..2bf32b528 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -935,10 +935,12 @@ sub uploadArchFile if $Config{ZM_UPLOAD_PORT}; $sftpOptions{timeout} = $Config{ZM_UPLOAD_TIMEOUT} if $Config{ZM_UPLOAD_TIMEOUT}; - $sftpOptions{more} = [ '-o'=>'StrictHostKeyChecking=no' ] + my @more_ssh_args; + push @more_ssh_args, ['-o'=>'StrictHostKeyChecking=no'] if ! $Config{ZM_UPLOAD_STRICT}; - $Net::SFTP::Foreign::debug = -1 + push @more_ssh_args, ['-v'] if $Config{ZM_UPLOAD_DEBUG}; + $sftpOptions{more} = [@more_ssh_args]; my $sftp = Net::SFTP::Foreign->new( $Config{ZM_UPLOAD_HOST}, %sftpOptions ); if ( $sftp->error ) { From 97249110a4f45c987bb89ec8faaab8c954b70196 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 7 Mar 2016 22:18:22 -0500 Subject: [PATCH 065/193] must still support libgnutls28 for raspbian --- distros/debian_cmake/control | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/distros/debian_cmake/control b/distros/debian_cmake/control index 6c260bdaf..e8c5ea1b7 100644 --- a/distros/debian_cmake/control +++ b/distros/debian_cmake/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Isaac Connor Build-Depends: debhelper (>= 9), cmake , libphp-serialization-perl -, libgnutls-dev +, libgnutls28-dev | libgnutls-dev , libmysqlclient-dev | libmariadbclient-dev , libjpeg8-dev , libpcre3-dev @@ -36,7 +36,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} , netpbm , libjpeg8 , zip , libvlccore5 | libvlccore7, libvlc5 -, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev , libpolkit-gobject-1-0, php5-gd Recommends: mysql-server | mariadb-server Description: Video camera security and surveillance solution From 455c268a0c5c934eb38232f4fe1e1d5e6adb5486 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:55:11 -0500 Subject: [PATCH 066/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/debian_cmake/control | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/distros/debian_cmake/control b/distros/debian_cmake/control index e8c5ea1b7..c366c6d15 100644 --- a/distros/debian_cmake/control +++ b/distros/debian_cmake/control @@ -23,13 +23,15 @@ Package: zoneminder Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} , apache2 | httpd, libapache2-mod-php5 | libapache2-mod-fcgid | php5-fpm -, php5-mysqlnd | php5-mysql, libphp-serialization-perl +, php5-mysqlnd | php5-mysql , mariadb-client | mysql-client +, libphp-serialization-perl , libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, libdbd-mysql-perl , libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl , libmodule-load-perl, libsys-mmap-perl, libjson-any-perl , libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libsys-cpu-perl, libsys-meminfo-perl , libpcre3 , libav-tools, libavdevice53 , rsyslog | system-log-daemon From cfbf2cced1273aa165a28e2fa515fe5a38a09ad9 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:55:29 -0500 Subject: [PATCH 067/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/debian/control b/distros/debian/control index a48dd357d..538b24770 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -37,6 +37,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} , libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev , libpolkit-gobject-1-0, liburi-encode-perl, php5-gd , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libsys-cpu-perl, libsys-meminfo-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 From b9996b4fc0b3769f10ef8d6efc7a2a6eeac7aa11 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:55:37 -0500 Subject: [PATCH 068/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/debian8/control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/distros/debian8/control b/distros/debian8/control index dd19f95c5..4839e0033 100644 --- a/distros/debian8/control +++ b/distros/debian8/control @@ -60,9 +60,10 @@ Depends: libzoneminder-perl (= ${source:Version}), zoneminder-database (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libarchive-tar-perl, libarchive-zip-perl, libdate-manip-perl, libdbi-perl, libmodule-load-conditional-perl, libmime-lite-perl, - libmime-tools-perl, libnet-sftp-foreign-perl, libphp-serialization-perl, + libmime-tools-perl, libnet-sftp-foreign-perl, libphp-serialization-perl debconf, ffmpeg | libav-tools, rsyslog | system-log-daemon, netpbm, zip, policykit-1, apache2 +, libsys-cpu-perl, libsys-meminfo-perl , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl Description: Core binaries and perl scripts for ZoneMinder ZoneMinder is a video camera security and surveillance solution. From cf1d475dbb7c3c319054c3414d130238e43af0e3 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:55:56 -0500 Subject: [PATCH 069/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/ubuntu1204_cmake/control | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/ubuntu1204_cmake/control b/distros/ubuntu1204_cmake/control index cdd4b20b7..6368d9417 100644 --- a/distros/ubuntu1204_cmake/control +++ b/distros/ubuntu1204_cmake/control @@ -52,6 +52,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,rsyslog | system-log-daemon ,zip ,libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl + , libsys-cpu-perl, libsys-meminfo-perl Recommends: ${misc:Recommends} ,libapache2-mod-php5 | php5-fpm ,mysql-server | virtual-mysql-server From 12a277912e47c9eadba65e7614b69b641c34dafb Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:56:01 -0500 Subject: [PATCH 070/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/ubuntu1504/control | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/ubuntu1504/control b/distros/ubuntu1504/control index 2fd99da1f..991b4157c 100644 --- a/distros/ubuntu1504/control +++ b/distros/ubuntu1504/control @@ -24,6 +24,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} , libmodule-load-perl, libsys-mmap-perl, libjson-any-perl , libnet-sftp-foreign-perl , libio-pty-perl, libexpect-perl , liburi-encode-perl , libdbd-mysql-perl , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libsys-cpu-perl, libsys-meminfo-perl , libpcre3 , ffmpeg, libavdevice-ffmpeg56 , rsyslog | system-log-daemon From b0835660b1ff11808f773e3a11784a68b5c6ef81 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:56:08 -0500 Subject: [PATCH 071/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/ubuntu1504_cmake/control | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/distros/ubuntu1504_cmake/control b/distros/ubuntu1504_cmake/control index cb916dd64..f049e6460 100644 --- a/distros/ubuntu1504_cmake/control +++ b/distros/ubuntu1504_cmake/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Dmitry Smirnov Uploaders: Vagrant Cascadian -Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apache2-dev, dh-linktree +Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apache2-dev, dh-linktree, ,cmake ,libavcodec-ffmpeg-dev, libavformat-ffmpeg-dev, libswscale-ffmpeg-dev, libavutil-ffmpeg-dev, libavdevice-ffmpeg-dev ,libbz2-dev @@ -16,6 +16,11 @@ Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apa ,libpolkit-gobject-1-dev ,libv4l-dev (>= 0.8.3) [!hurd-any] ,libvlc-dev + ,libdate-manip-perl + ,libdbd-mysql-perl + ,libphp-serialization-perl + ,libsys-mmap-perl [!hurd-any] + ,libwww-perl # Unbundled (dh_linktree): ,libjs-jquery ,libjs-mootools @@ -36,7 +41,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,libphp-serialization-perl ,libmodule-load-conditional-perl ,libnet-sftp-foreign-perl -# ,libzoneminder-perl (= ${source:Version}) ,libarchive-zip-perl ,libdbd-mysql-perl ,libdevice-serialport-perl @@ -50,6 +54,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,libsoap-wsdl-perl ,libio-socket-multicast-perl ,libdigest-sha-perl + ,libsys-cpu-perl, libsys-meminfo-perl ,mysql-client | virtual-mysql-client ,perl-modules ,php5-mysql From c27387610c1cfe8c968fc365fa717aec7b3e527a Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:56:17 -0500 Subject: [PATCH 072/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/ubuntu1504_cmake_split_packages/control | 2 ++ 1 file changed, 2 insertions(+) diff --git a/distros/ubuntu1504_cmake_split_packages/control b/distros/ubuntu1504_cmake_split_packages/control index 4a152c46b..d6d318e96 100644 --- a/distros/ubuntu1504_cmake_split_packages/control +++ b/distros/ubuntu1504_cmake_split_packages/control @@ -78,6 +78,8 @@ Depends: libzoneminder-perl (= ${source:Version}), libmime-tools-perl, libnet-sftp-foreign-perl, libphp-serialization-perl, debconf, ffmpeg | libav-tools, rsyslog | system-log-daemon, zip, policykit-1, apache2, libmp4v2-2, libpcre++0 +, libsys-cpu-perl, libsys-meminfo-perl +, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl Description: Core binaries and perl scripts for ZoneMinder ZoneMinder is a video camera security and surveillance solution. . From f8582ad9b68824a633af6021ffa092602aed537e Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 15:56:26 -0500 Subject: [PATCH 073/193] add libsys-cpu-perl and libsys-meminfo-perl --- distros/ubuntu1204/control | 1 + 1 file changed, 1 insertion(+) diff --git a/distros/ubuntu1204/control b/distros/ubuntu1204/control index ab6cbce0d..f8ea3272e 100644 --- a/distros/ubuntu1204/control +++ b/distros/ubuntu1204/control @@ -30,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} , libmodule-load-perl, libsys-mmap-perl, libjson-any-perl , libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl, liburi-encode-perl , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl +, libsys-cpu-perl, libsys-meminfo-perl , libavdevice53 | libavdevice55 , libjpeg8|libjpeg9|libjpeg62-turbo , zip From 094b041c43a98c501b1b6b8d275c11e56bb7ea13 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 8 Mar 2016 16:06:16 -0500 Subject: [PATCH 074/193] There must be spaces before the comma --- distros/debian_cmake/control | 62 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/distros/debian_cmake/control b/distros/debian_cmake/control index c366c6d15..3b11f37b8 100644 --- a/distros/debian_cmake/control +++ b/distros/debian_cmake/control @@ -3,42 +3,42 @@ Section: net Priority: optional Maintainer: Isaac Connor Build-Depends: debhelper (>= 9), cmake -, libphp-serialization-perl -, libgnutls28-dev | libgnutls-dev -, libmysqlclient-dev | libmariadbclient-dev -, libjpeg8-dev -, libpcre3-dev -, libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev -, libv4l-dev (>= 0.8.3) -, libbz2-dev -, libav-tools -, libnetpbm10-dev -, libavdevice-dev -, libvlccore-dev, libvlc-dev -, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev -, libgcrypt11-dev, libpolkit-gobject-1-dev + , libphp-serialization-perl + , libgnutls28-dev | libgnutls-dev + , libmysqlclient-dev | libmariadbclient-dev + , libjpeg8-dev + , libpcre3-dev + , libavcodec-dev, libavformat-dev (>= 3:0.svn20090204), libswscale-dev (>= 3:0.svn20090204), libavutil-dev + , libv4l-dev (>= 0.8.3) + , libbz2-dev + , libav-tools + , libnetpbm10-dev + , libavdevice-dev + , 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 | httpd, libapache2-mod-php5 | libapache2-mod-fcgid | php5-fpm -, php5-mysqlnd | php5-mysql -, mariadb-client | mysql-client -, libphp-serialization-perl -, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, libdbd-mysql-perl -, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl -, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl -, libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl -, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl -, libsys-cpu-perl, libsys-meminfo-perl -, libpcre3 -, libav-tools, libavdevice53 -, rsyslog | system-log-daemon -, netpbm , libjpeg8 -, zip -, libvlccore5 | libvlccore7, libvlc5 -, libpolkit-gobject-1-0, php5-gd + , apache2 | httpd, libapache2-mod-php5 | libapache2-mod-fcgid | php5-fpm + , php5-mysqlnd | php5-mysql + , mariadb-client | mysql-client + , libphp-serialization-perl + , libdate-manip-perl, libmime-lite-perl, libmime-tools-perl, libdbd-mysql-perl + , libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl + , libmodule-load-perl, libsys-mmap-perl, libjson-any-perl + , libnet-sftp-foreign-perl, libio-pty-perl, libexpect-perl + , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl + , libsys-cpu-perl, libsys-meminfo-perl + , libpcre3 + , libav-tools, libavdevice53 + , rsyslog | system-log-daemon + , netpbm , libjpeg8 + , zip + , libvlccore5 | libvlccore7, libvlc5 + , libpolkit-gobject-1-0, php5-gd Recommends: mysql-server | mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security From 3280aff87683c793109c524d68790938de798bea Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Wed, 9 Mar 2016 09:43:44 -0600 Subject: [PATCH 075/193] disable save button when nothing slected. fixes #1322 --- web/skins/classic/views/group.php | 4 ++-- web/skins/classic/views/js/group.js | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/web/skins/classic/views/group.php b/web/skins/classic/views/group.php index 758b81f9e..1236835b9 100644 --- a/web/skins/classic/views/group.php +++ b/web/skins/classic/views/group.php @@ -67,7 +67,7 @@ xhtmlHeaders( __FILE__, translate('Group')." - ".$newGroup['Name'] ); if ( visibleMonitor( $monitor['Id'] ) ) { ?> - +
- disabled="disabled"/> +
diff --git a/web/skins/classic/views/js/group.js b/web/skins/classic/views/js/group.js index 7a5b0318e..d414c97ff 100644 --- a/web/skins/classic/views/js/group.js +++ b/web/skins/classic/views/js/group.js @@ -8,4 +8,16 @@ if ( refreshParent ) opener.location.reload(true); } +function configureButtons( element ) +{ + if ( canEditGroups ) + { + var form = element.form; + if ( element.selected ) + { + form.saveBtn.disabled = (element.value == 0); + } + } +} + window.focus(); From 740dc12f7c795df9933e99167f9970522e275516 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 9 Mar 2016 11:17:50 -0500 Subject: [PATCH 076/193] remove extra comma --- distros/ubuntu1504_cmake/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distros/ubuntu1504_cmake/control b/distros/ubuntu1504_cmake/control index f049e6460..50dee74c6 100644 --- a/distros/ubuntu1504_cmake/control +++ b/distros/ubuntu1504_cmake/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Dmitry Smirnov Uploaders: Vagrant Cascadian -Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apache2-dev, dh-linktree, +Build-Depends: debhelper (>= 9), dh-systemd, python-sphinx | python3-sphinx, apache2-dev, dh-linktree ,cmake ,libavcodec-ffmpeg-dev, libavformat-ffmpeg-dev, libswscale-ffmpeg-dev, libavutil-ffmpeg-dev, libavdevice-ffmpeg-dev ,libbz2-dev From ee0c134a9b4470e487d02f1959ffbf2b064bedad Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 9 Mar 2016 11:18:27 -0500 Subject: [PATCH 077/193] need spaces at beginning of lien --- distros/ubuntu1504/control | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/distros/ubuntu1504/control b/distros/ubuntu1504/control index 991b4157c..dddecf61e 100644 --- a/distros/ubuntu1504/control +++ b/distros/ubuntu1504/control @@ -17,23 +17,23 @@ Homepage: http://www.zoneminder.com/ Package: zoneminder Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} -, apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd -, mariadb-client|mysql-client|mysql-client-5.6 -, libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl -, libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl -, libmodule-load-perl, libsys-mmap-perl, libjson-any-perl -, libnet-sftp-foreign-perl , libio-pty-perl, libexpect-perl , liburi-encode-perl , libdbd-mysql-perl -, libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl -, libsys-cpu-perl, libsys-meminfo-perl -, libpcre3 -, ffmpeg, libavdevice-ffmpeg56 -, rsyslog | system-log-daemon -, libjpeg8|libjpeg9|libjpeg62-turbo -, zip -, libvlccore5 | libvlccore7 | libvlccore8, libvlc5 -, libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev -, libpolkit-gobject-1-0 -, php5-gd + , apache2, libapache2-mod-php5 | libapache2-mod-fcgid, php5, php5-mysql|php5-mysqlnd + , mariadb-client|mysql-client|mysql-client-5.6 + , libphp-serialization-perl, libdate-manip-perl, libmime-lite-perl, libmime-tools-perl + , libwww-perl, libarchive-tar-perl, libarchive-zip-perl, libdevice-serialport-perl + , libmodule-load-perl, libsys-mmap-perl, libjson-any-perl + , libnet-sftp-foreign-perl , libio-pty-perl, libexpect-perl , liburi-encode-perl , libdbd-mysql-perl + , libdata-dump-perl, libclass-std-fast-perl, libsoap-wsdl-perl, libio-socket-multicast-perl, libdigest-sha-perl + , libsys-cpu-perl, libsys-meminfo-perl + , libpcre3 + , ffmpeg, libavdevice-ffmpeg56 + , rsyslog | system-log-daemon + , libjpeg8|libjpeg9|libjpeg62-turbo + , zip + , libvlccore5 | libvlccore7 | libvlccore8, libvlc5 + , libcurl4-gnutls-dev | libcurl4-nss-dev | libcurl4-openssl-dev + , libpolkit-gobject-1-0 + , php5-gd Recommends: mysql-server|mariadb-server Description: Video camera security and surveillance solution ZoneMinder is intended for use in single or multi-camera video security From 1c481a3dbff1b2b324e1daedb9de582087067fe4 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 9 Mar 2016 11:25:16 -0500 Subject: [PATCH 078/193] add zmtelemetry.pl to autotools build --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b10dd44d5..c71854dc1 100644 --- a/configure.ac +++ b/configure.ac @@ -497,7 +497,7 @@ 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 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/dark/Makefile web/skins/classic/css/dark/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/zmtelemetry.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/dark/Makefile web/skins/classic/css/dark/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]) From 313f46dceb082e10eabecb943b2c1eb5d2615ac2 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 9 Mar 2016 11:26:10 -0500 Subject: [PATCH 079/193] add zmtelemetry.pl to autotools build --- scripts/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 5eacd8203..1d9de2893 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -10,6 +10,7 @@ bin_SCRIPTS = \ zmdc.pl \ zmaudit.pl \ zmfilter.pl \ + zmtelemetry.pl \ zmtrigger.pl \ zmx10.pl \ zmwatch.pl \ @@ -29,6 +30,7 @@ EXTRA_DIST = \ zmdc.pl.in \ zmaudit.pl.in \ zmfilter.pl.in \ + zmtelemetry.pl.in \ zmtrigger.pl.in \ zmx10.pl.in \ zmwatch.pl.in \ From 77f7a3642c1072ba0c384eaeeb7820e90af9eb27 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Wed, 9 Mar 2016 10:34:06 -0600 Subject: [PATCH 080/193] remove check for "selected" property --- web/skins/classic/views/js/group.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/web/skins/classic/views/js/group.js b/web/skins/classic/views/js/group.js index d414c97ff..c1ab79581 100644 --- a/web/skins/classic/views/js/group.js +++ b/web/skins/classic/views/js/group.js @@ -8,15 +8,11 @@ if ( refreshParent ) opener.location.reload(true); } -function configureButtons( element ) -{ - if ( canEditGroups ) - { +function configureButtons( element ) { + + if ( canEditGroups ) { var form = element.form; - if ( element.selected ) - { - form.saveBtn.disabled = (element.value == 0); - } + form.saveBtn.disabled = (element.value == 0); } } From 4606d2fbca9a7cca773a3ca12776821776a2ae55 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 10 Mar 2016 10:13:38 -0600 Subject: [PATCH 081/193] Update zmtrigger.pl.in mention the %Q placholder when using showtext --- scripts/zmtrigger.pl.in | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/scripts/zmtrigger.pl.in b/scripts/zmtrigger.pl.in index 222e42f79..f21982538 100644 --- a/scripts/zmtrigger.pl.in +++ b/scripts/zmtrigger.pl.in @@ -54,14 +54,15 @@ B|B|B|B|B|B Valid actions are 'on', 'off', 'cancel' or 'show' where 'on' forces an alarm condition on; 'off' forces an alarm condition off; - 'cancel' negates the previous 'on' or 'off'. - - The 'show' action merely updates some auxiliary text which can optionally - be displayed in the images captured by the monitor. Ordinarily you would - use 'on' and 'cancel', 'off' would tend to be used to suppress motion - based events. Additionally 'on' and 'off' can take an additional time - offset, e.g. on+20 which automatically 'cancel's the previous action - after that number of seconds. + 'cancel' negates the previous 'on' or 'off'; + 'show' updates the auxiliary text represented by the %Q + placeholder, which can optionally be added to the affected monitor's + timestamp label format. + + Ordinarily you would use 'on' and 'cancel', 'off' would tend to be + used to suppress motion based events. Additionally 'on' and 'off' can + take an additional time offset, e.g. on+20 which automatically + cancel's the previous action after that number of seconds. =item B From facae6cb0df80eff4bab8511601710e8a604ef39 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 10 Mar 2016 13:58:41 -0600 Subject: [PATCH 082/193] use make "-f" parameter instead of "--makefile" --- onvif/modules/CMakeLists.txt | 2 +- onvif/proxy/CMakeLists.txt | 2 +- scripts/ZoneMinder/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/onvif/modules/CMakeLists.txt b/onvif/modules/CMakeLists.txt index 9e46ef9f7..d7ddbf466 100644 --- a/onvif/modules/CMakeLists.txt +++ b/onvif/modules/CMakeLists.txt @@ -9,7 +9,7 @@ endif(NOT (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)) # MAKEMAKER_NOECHO_COMMAND previously defined in /scripts/zoneminder/CMakeLists.txt # Add build target for the perl modules -add_custom_target(zmonvifmodules ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl ONVIF proxy module") +add_custom_target(zmonvifmodules ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make -f MakefilePerl pure_install COMMENT "Building ZoneMinder perl ONVIF proxy module") # Add install target for the perl modules install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/output/" DESTINATION "/") diff --git a/onvif/proxy/CMakeLists.txt b/onvif/proxy/CMakeLists.txt index 0051bf2b1..1a40c0ffb 100644 --- a/onvif/proxy/CMakeLists.txt +++ b/onvif/proxy/CMakeLists.txt @@ -9,7 +9,7 @@ endif(NOT (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)) # MAKEMAKER_NOECHO_COMMAND previously defined in /scripts/zoneminder/CMakeLists.txt # Add build target for the perl modules -add_custom_target(zmonvifproxy ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl ONVIF proxy module") +add_custom_target(zmonvifproxy ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make -f MakefilePerl pure_install COMMENT "Building ZoneMinder perl ONVIF proxy module") # Add install target for the perl modules install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/output/" DESTINATION "/") diff --git a/scripts/ZoneMinder/CMakeLists.txt b/scripts/ZoneMinder/CMakeLists.txt index 09c02b816..3ed9bf7c6 100644 --- a/scripts/ZoneMinder/CMakeLists.txt +++ b/scripts/ZoneMinder/CMakeLists.txt @@ -24,7 +24,7 @@ else(CMAKE_VERBOSE_MAKEFILE) endif(CMAKE_VERBOSE_MAKEFILE) # Add build target for the perl modules -add_custom_target(zmperlmodules ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules") +add_custom_target(zmperlmodules ALL perl Makefile.PL ${ZM_PERL_MM_PARMS} FIRST_MAKEFILE=MakefilePerl DESTDIR="${CMAKE_CURRENT_BINARY_DIR}/output" ${MAKEMAKER_NOECHO_COMMAND} COMMAND make -f MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules") # Add install target for the perl modules install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/output/" DESTINATION "/") From 1d478a3b1c51eaf1de41a0044037fe54e33d50d3 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Thu, 10 Mar 2016 15:00:21 -0600 Subject: [PATCH 083/193] change linker flag to "-lexecinfo" --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8327045d4..57ea96981 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -205,7 +205,7 @@ if (HAVE_EXECINFO_H) if (NOT HAVE_DECL_BACKTRACE) find_library (EXECINFO_LIBRARY NAMES execinfo) if (EXECINFO_LIBRARY) - list(APPEND ZM_BIN_LIBS "-l${EXECINFO_LIBRARY}") + list(APPEND ZM_BIN_LIBS "-lexecinfo") endif (EXECINFO_LIBRARY) endif (NOT HAVE_DECL_BACKTRACE) check_function_exists("backtrace_symbols" HAVE_DECL_BACKTRACE_SYMBOLS) From b1d3be2cfc0d83d401cabd721d31852cd6bc3ea0 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 11 Mar 2016 07:38:29 -0600 Subject: [PATCH 084/193] add freeBSD cmake target distro --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57ea96981..6ca6bef4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -182,6 +182,16 @@ 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") +elseif(ZM_TARGET_DISTRO STREQUAL "freeBSD") + set(ZM_RUNDIR "/var/run/zm") + set(ZM_SOCKDIR "/var/run/zm") + set(ZM_TMPDIR "/var/tmp/zm") + set(ZM_CONTENTDIR "/usr/local/var/lib/zoneminder") + set(ZM_WEB_USER "www") + set(ZM_WEB_GROUP "www") + set(ZM_CONFIG_DIR "/usr/local/etc/zm") + set(ZM_WEBDIR "/usr/local/share/zoneminder/www") + set(ZM_CGIDIR "/usr/local/libexec/zoneminder/cgi-bin") endif((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) # Required for certain checks to work From b9085cea641c6a0fb85a086b5d191ecaf39f0162 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Fri, 11 Mar 2016 14:28:16 -0700 Subject: [PATCH 085/193] Fix issue where programs are installed in unexpected paths. For example, on freebsd, sudo is in /usr/local/bin, and as things were pre-this commit, sudo wasn't being found. --- scripts/zmaudit.pl.in | 2 +- scripts/zmcontrol.pl.in | 2 +- scripts/zmdc.pl.in | 2 +- scripts/zmfilter.pl.in | 2 +- scripts/zmpkg.pl.in | 2 +- scripts/zmtrack.pl.in | 2 +- scripts/zmtrigger.pl.in | 2 +- scripts/zmvideo.pl.in | 2 +- scripts/zmwatch.pl.in | 2 +- scripts/zmx10.pl.in | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/zmaudit.pl.in b/scripts/zmaudit.pl.in index 1e01628b8..7f2df08b9 100644 --- a/scripts/zmaudit.pl.in +++ b/scripts/zmaudit.pl.in @@ -83,7 +83,7 @@ use constant EVENT_PATH => ($Config{ZM_DIR_EVENTS}=~m|/|) $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmcontrol.pl.in b/scripts/zmcontrol.pl.in index aba1d1c36..9b34533f7 100644 --- a/scripts/zmcontrol.pl.in +++ b/scripts/zmcontrol.pl.in @@ -63,7 +63,7 @@ use constant MAX_COMMAND_WAIT => 1800; $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmdc.pl.in b/scripts/zmdc.pl.in index b120e2846..b068b9a49 100644 --- a/scripts/zmdc.pl.in +++ b/scripts/zmdc.pl.in @@ -73,7 +73,7 @@ use constant SOCK_FILE => $Config{ZM_PATH_SOCKS}.'/zmdc.sock'; $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 1db114d9d..6cebad07c 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -127,7 +127,7 @@ if ( $Config{ZM_OPT_MESSAGE} ) $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmpkg.pl.in b/scripts/zmpkg.pl.in index 53e29a8da..57708c62a 100644 --- a/scripts/zmpkg.pl.in +++ b/scripts/zmpkg.pl.in @@ -52,7 +52,7 @@ use Time::HiRes qw/gettimeofday/; use autouse 'Pod::Usage'=>qw(pod2usage); # Detaint our environment -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; my $store_state=""; # PP - will remember state name passed diff --git a/scripts/zmtrack.pl.in b/scripts/zmtrack.pl.in index b1eec2d7e..cd00e809d 100644 --- a/scripts/zmtrack.pl.in +++ b/scripts/zmtrack.pl.in @@ -68,7 +68,7 @@ use Time::HiRes qw( usleep ); $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmtrigger.pl.in b/scripts/zmtrigger.pl.in index f21982538..2f180e090 100644 --- a/scripts/zmtrigger.pl.in +++ b/scripts/zmtrigger.pl.in @@ -167,7 +167,7 @@ use Time::HiRes qw( usleep ); $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmvideo.pl.in b/scripts/zmvideo.pl.in index 6a63502ee..fd2005b16 100644 --- a/scripts/zmvideo.pl.in +++ b/scripts/zmvideo.pl.in @@ -70,7 +70,7 @@ use autouse 'Pod::Usage'=>qw(pod2usage); $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmwatch.pl.in b/scripts/zmwatch.pl.in index 5e0767487..4e2ff927c 100644 --- a/scripts/zmwatch.pl.in +++ b/scripts/zmwatch.pl.in @@ -61,7 +61,7 @@ use autouse 'Data::Dumper'=>qw(Dumper); $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; diff --git a/scripts/zmx10.pl.in b/scripts/zmx10.pl.in index d25e74c8a..8daa63c87 100644 --- a/scripts/zmx10.pl.in +++ b/scripts/zmx10.pl.in @@ -71,7 +71,7 @@ use constant SOCK_FILE => $Config{ZM_PATH_SOCKS}.'/zmx10.sock'; $| = 1; -$ENV{PATH} = '/bin:/usr/bin'; +$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin'; $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL}; delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; From 4e1af516d7dc88d24f64d798818f33a9d3a1391a Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Fri, 11 Mar 2016 14:29:48 -0700 Subject: [PATCH 086/193] Don't output sudo test cmd to /dev/null. Other tests aren't, and info us useful. --- scripts/ZoneMinder/lib/ZoneMinder/General.pm | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/General.pm b/scripts/ZoneMinder/lib/ZoneMinder/General.pm index 195bd265f..944781f6b 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/General.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/General.pm @@ -107,7 +107,6 @@ sub getCmdFormat my $suffix = ""; my $command = $prefix.$null_command.$suffix; Debug( "Testing \"$command\"\n" ); - $command .= " > /dev/null 2>&1"; my $output = qx($command); my $status = $? >> 8; if ( !$status ) From 16992a44cbd3625a4548a220ea1112a6b84a8706 Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Fri, 11 Mar 2016 15:56:29 -0600 Subject: [PATCH 087/193] add ZM_PERL_MM_PARMS --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ca6bef4a..b2014e1c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,6 +192,7 @@ elseif(ZM_TARGET_DISTRO STREQUAL "freeBSD") set(ZM_CONFIG_DIR "/usr/local/etc/zm") set(ZM_WEBDIR "/usr/local/share/zoneminder/www") set(ZM_CGIDIR "/usr/local/libexec/zoneminder/cgi-bin") + set(ZM_PERL_MM_PARMS "INSTALLDIRS=site") endif((ZM_TARGET_DISTRO STREQUAL "f22") OR (ZM_TARGET_DISTRO STREQUAL "f23")) # Required for certain checks to work From 8a47241e1862b4aff9b94cb9383bdb7432a8e785 Mon Sep 17 00:00:00 2001 From: arjunrc Date: Sat, 12 Mar 2016 08:07:25 -0500 Subject: [PATCH 088/193] address issue #1335 --- web/api/app/Controller/MonitorsController.php | 2 +- web/api/app/Controller/StatesController.php | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/web/api/app/Controller/MonitorsController.php b/web/api/app/Controller/MonitorsController.php index 9ab7461f9..11857942c 100644 --- a/web/api/app/Controller/MonitorsController.php +++ b/web/api/app/Controller/MonitorsController.php @@ -97,7 +97,7 @@ public function beforeFilter() { if ($this->Session->Read('systemPermission') != 'Edit') { - throw new UnauthotizedException(__('Insufficient privileges')); + throw new UnauthorizedException(__('Insufficient privileges')); return; } diff --git a/web/api/app/Controller/StatesController.php b/web/api/app/Controller/StatesController.php index 2b007f08f..051837b27 100644 --- a/web/api/app/Controller/StatesController.php +++ b/web/api/app/Controller/StatesController.php @@ -11,6 +11,18 @@ class StatesController extends AppController { public $components = array('RequestHandler'); +public function beforeFilter() { + parent::beforeFilter(); + $canView = $this->Session->Read('systemPermission'); + if ($canView =='None') + { + throw new UnauthorizedException(__('Insufficient Privileges')); + return; + } + +} + + /** * index method * @@ -46,7 +58,15 @@ public $components = array('RequestHandler'); * @return void */ public function add() { + if ($this->request->is('post')) { + + if ($this->Session->Read('systemPermission') != 'Edit') + { + throw new UnauthorizedException(__('Insufficient privileges')); + return; + } + $this->State->create(); if ($this->State->save($this->request->data)) { return $this->flash(__('The state has been saved.'), array('action' => 'index')); @@ -65,6 +85,13 @@ public $components = array('RequestHandler'); if (!$this->State->exists($id)) { throw new NotFoundException(__('Invalid state')); } + + if ($this->Session->Read('systemPermission') != 'Edit') + { + throw new UnauthorizedException(__('Insufficient privileges')); + return; + } + if ($this->request->is(array('post', 'put'))) { if ($this->State->save($this->request->data)) { return $this->flash(__('The state has been saved.'), array('action' => 'index')); @@ -84,6 +111,12 @@ public $components = array('RequestHandler'); */ public function delete($id = null) { $this->State->id = $id; + if ($this->Session->Read('systemPermission') != 'Edit') + { + throw new UnauthorizedException(__('Insufficient privileges')); + return; + } + if (!$this->State->exists()) { throw new NotFoundException(__('Invalid state')); } @@ -96,6 +129,12 @@ public $components = array('RequestHandler'); } public function change() { + if ($this->Session->Read('systemPermission') != 'Edit') + { + throw new UnauthorizedException(__('Insufficient privileges')); + return; + } + $newState = $this->request->params['pass'][0]; $blah = $this->packageControl($newState); From 2c0c01453564b5d78e61d9f8f16a6e53f6e804ae Mon Sep 17 00:00:00 2001 From: "Jan M. Hochstein" Date: Sun, 13 Mar 2016 10:16:20 +0100 Subject: [PATCH 089/193] Added Proxies for WSNotification and ONVIF-Analytics --- .../lib/ONVIF/Analytics/Attributes/actor.pm | 54 +++ .../ONVIF/Analytics/Attributes/contentType.pm | 64 +++ .../Analytics/Attributes/encodingStyle.pm | 54 +++ .../Attributes/expectedContentTypes.pm | 54 +++ .../Analytics/Attributes/mustUnderstand.pm | 64 +++ .../Elements/AudioDecoderConfiguration.pm | 58 +++ .../Elements/AudioEncoderConfiguration.pm | 72 +++ .../Elements/AudioOutputConfiguration.pm | 61 +++ .../Elements/AudioSourceConfiguration.pm | 59 +++ .../lib/ONVIF/Analytics/Elements/Body.pm | 58 +++ .../ONVIF/Analytics/Elements/Capabilities.pm | 58 +++ .../Elements/CreateAnalyticsModules.pm | 143 ++++++ .../CreateAnalyticsModulesResponse.pm | 90 ++++ .../ONVIF/Analytics/Elements/CreateRules.pm | 143 ++++++ .../Analytics/Elements/CreateRulesResponse.pm | 90 ++++ .../Elements/DeleteAnalyticsModules.pm | 135 ++++++ .../DeleteAnalyticsModulesResponse.pm | 90 ++++ .../ONVIF/Analytics/Elements/DeleteRules.pm | 135 ++++++ .../Analytics/Elements/DeleteRulesResponse.pm | 90 ++++ .../lib/ONVIF/Analytics/Elements/Envelope.pm | 62 +++ .../lib/ONVIF/Analytics/Elements/Fault.pm | 63 +++ .../Analytics/Elements/GetAnalyticsModules.pm | 121 +++++ .../Elements/GetAnalyticsModulesResponse.pm | 129 ++++++ .../lib/ONVIF/Analytics/Elements/GetRules.pm | 121 +++++ .../Analytics/Elements/GetRulesResponse.pm | 129 ++++++ .../Elements/GetServiceCapabilities.pm | 107 +++++ .../GetServiceCapabilitiesResponse.pm | 122 ++++++ .../Elements/GetSupportedAnalyticsModules.pm | 121 +++++ .../GetSupportedAnalyticsModulesResponse.pm | 138 ++++++ .../Analytics/Elements/GetSupportedRules.pm | 121 +++++ .../Elements/GetSupportedRulesResponse.pm | 138 ++++++ .../lib/ONVIF/Analytics/Elements/Header.pm | 58 +++ .../lib/ONVIF/Analytics/Elements/Include.pm | 58 +++ .../lib/ONVIF/Analytics/Elements/Message.pm | 207 +++++++++ .../Elements/MetadataConfiguration.pm | 89 ++++ .../Analytics/Elements/MetadataStream.pm | 192 ++++++++ .../Elements/ModifyAnalyticsModules.pm | 143 ++++++ .../ModifyAnalyticsModulesResponse.pm | 90 ++++ .../ONVIF/Analytics/Elements/ModifyRules.pm | 143 ++++++ .../Analytics/Elements/ModifyRulesResponse.pm | 90 ++++ .../Analytics/Elements/PTZConfiguration.pm | 106 +++++ .../lib/ONVIF/Analytics/Elements/Polygon.pm | 59 +++ .../lib/ONVIF/Analytics/Elements/Polyline.pm | 59 +++ .../Elements/VideoAnalyticsConfiguration.pm | 84 ++++ .../Elements/VideoEncoderConfiguration.pm | 88 ++++ .../Elements/VideoSourceConfiguration.pm | 70 +++ .../Analytics/AnalyticsEnginePort.pm | 338 ++++++++++++++ .../Interfaces/Analytics/RuleEnginePort.pm | 301 +++++++++++++ .../lib/ONVIF/Analytics/Typemaps/Analytics.pm | 154 +++++++ .../ONVIF/Analytics/Types/AACDecOptions.pm | 116 +++++ .../ONVIF/Analytics/Types/AbsoluteFocus.pm | 112 +++++ .../Analytics/Types/AbsoluteFocusOptions.pm | 118 +++++ .../Types/ActionEngineEventPayload.pm | 147 +++++++ .../ActionEngineEventPayloadExtension.pm | 94 ++++ .../Analytics/Types/AnalyticsCapabilities.pm | 121 +++++ .../Types/AnalyticsDeviceCapabilities.pm | 122 ++++++ .../AnalyticsDeviceEngineConfiguration.pm | 155 +++++++ ...yticsDeviceEngineConfigurationExtension.pm | 94 ++++ .../Types/AnalyticsDeviceExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AnalyticsEngine.pm | 162 +++++++ .../Types/AnalyticsEngineConfiguration.pm | 121 +++++ .../AnalyticsEngineConfigurationExtension.pm | 94 ++++ .../Analytics/Types/AnalyticsEngineControl.pm | 187 ++++++++ .../Analytics/Types/AnalyticsEngineInput.pm | 182 ++++++++ .../Types/AnalyticsEngineInputInfo.pm | 121 +++++ .../AnalyticsEngineInputInfoExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AnalyticsState.pm | 112 +++++ .../Types/AnalyticsStateInformation.pm | 115 +++++ .../lib/ONVIF/Analytics/Types/AnyHolder.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Appearance.pm | 174 ++++++++ .../Analytics/Types/AppearanceExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AttachmentData.pm | 155 +++++++ .../Analytics/Types/AudioAnalyticsStream.pm | 114 +++++ .../Types/AudioAnalyticsStreamExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AudioAttributes.pm | 121 +++++ .../Analytics/Types/AudioClassCandidate.pm | 112 +++++ .../Analytics/Types/AudioClassDescriptor.pm | 116 +++++ .../Types/AudioClassDescriptorExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AudioClassType.pm | 65 +++ .../Types/AudioDecoderConfiguration.pm | 107 +++++ .../Types/AudioDecoderConfigurationOptions.pm | 152 +++++++ ...dioDecoderConfigurationOptionsExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AudioDescriptor.pm | 139 ++++++ .../Types/AudioEncoderConfiguration.pm | 161 +++++++ .../Types/AudioEncoderConfigurationOption.pm | 125 ++++++ .../Types/AudioEncoderConfigurationOptions.pm | 111 +++++ .../ONVIF/Analytics/Types/AudioEncoding.pm | 65 +++ .../lib/ONVIF/Analytics/Types/AudioOutput.pm | 97 ++++ .../Types/AudioOutputConfiguration.pm | 134 ++++++ .../Types/AudioOutputConfigurationOptions.pm | 124 ++++++ .../lib/ONVIF/Analytics/Types/AudioSource.pm | 106 +++++ .../Types/AudioSourceConfiguration.pm | 116 +++++ .../Types/AudioSourceConfigurationOptions.pm | 113 +++++ .../Types/AudioSourceOptionsExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/AutoFocusMode.pm | 65 +++ .../ONVIF/Analytics/Types/AuxiliaryData.pm | 65 +++ .../Analytics/Types/BacklightCompensation.pm | 112 +++++ .../Types/BacklightCompensation20.pm | 112 +++++ .../Types/BacklightCompensationMode.pm | 65 +++ .../Types/BacklightCompensationOptions.pm | 115 +++++ .../Types/BacklightCompensationOptions20.pm | 115 +++++ .../lib/ONVIF/Analytics/Types/BackupFile.pm | 115 +++++ .../lib/ONVIF/Analytics/Types/Behaviour.pm | 212 +++++++++ .../Analytics/Types/BehaviourExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/BinaryData.pm | 147 +++++++ onvif/proxy/lib/ONVIF/Analytics/Types/Body.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Capabilities.pm | 167 +++++++ .../Analytics/Types/CapabilitiesExtension.pm | 201 +++++++++ .../Analytics/Types/CapabilitiesExtension2.pm | 94 ++++ .../Analytics/Types/CapabilityCategory.pm | 65 +++ .../lib/ONVIF/Analytics/Types/CellLayout.pm | 168 +++++++ .../lib/ONVIF/Analytics/Types/Certificate.pm | 114 +++++ .../Types/CertificateGenerationParameters.pm | 140 ++++++ ...ertificateGenerationParametersExtension.pm | 94 ++++ .../Analytics/Types/CertificateInformation.pm | 197 +++++++++ .../Types/CertificateInformationExtension.pm | 94 ++++ .../Analytics/Types/CertificateStatus.pm | 112 +++++ .../ONVIF/Analytics/Types/CertificateUsage.pm | 118 +++++ .../Types/CertificateWithPrivateKey.pm | 125 ++++++ .../ONVIF/Analytics/Types/ClassDescriptor.pm | 176 ++++++++ .../Types/ClassDescriptorExtension.pm | 116 +++++ .../Types/ClassDescriptorExtension2.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/ClassType.pm | 65 +++ .../Analytics/Types/CodingCapabilities.pm | 205 +++++++++ .../proxy/lib/ONVIF/Analytics/Types/Color.pm | 155 +++++++ .../ONVIF/Analytics/Types/ColorCovariance.pm | 188 ++++++++ .../ONVIF/Analytics/Types/ColorDescriptor.pm | 176 ++++++++ .../Types/ColorDescriptorExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/ColorOptions.pm | 128 ++++++ .../ONVIF/Analytics/Types/ColorspaceRange.pm | 139 ++++++ .../proxy/lib/ONVIF/Analytics/Types/Config.pm | 169 +++++++ .../Analytics/Types/ConfigDescription.pm | 248 +++++++++++ .../Types/ConfigDescriptionExtension.pm | 94 ++++ .../Analytics/Types/ConfigurationEntity.pm | 159 +++++++ .../ONVIF/Analytics/Types/ContinuousFocus.pm | 103 +++++ .../Analytics/Types/ContinuousFocusOptions.pm | 106 +++++ .../ONVIF/Analytics/Types/DNSInformation.pm | 148 +++++++ .../Types/DNSInformationExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/DNSName.pm | 65 +++ onvif/proxy/lib/ONVIF/Analytics/Types/Date.pm | 121 +++++ .../lib/ONVIF/Analytics/Types/DateTime.pm | 120 +++++ .../ONVIF/Analytics/Types/DateTimeRange.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/Description.pm | 65 +++ .../Analytics/Types/DeviceCapabilities.pm | 204 +++++++++ .../Types/DeviceCapabilitiesExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/DeviceEntity.pm | 124 ++++++ .../Analytics/Types/DeviceIOCapabilities.pm | 148 +++++++ .../lib/ONVIF/Analytics/Types/DigitalInput.pm | 97 ++++ .../lib/ONVIF/Analytics/Types/Direction.pm | 65 +++ .../ONVIF/Analytics/Types/DiscoveryMode.pm | 65 +++ .../Analytics/Types/DisplayCapabilities.pm | 112 +++++ .../proxy/lib/ONVIF/Analytics/Types/Domain.pm | 65 +++ .../Types/Dot11AuthAndMangementSuite.pm | 65 +++ .../Analytics/Types/Dot11AvailableNetworks.pm | 158 +++++++ .../Types/Dot11AvailableNetworksExtension.pm | 94 ++++ .../Analytics/Types/Dot11Capabilities.pm | 139 ++++++ .../lib/ONVIF/Analytics/Types/Dot11Cipher.pm | 65 +++ .../Analytics/Types/Dot11Configuration.pm | 151 +++++++ .../lib/ONVIF/Analytics/Types/Dot11PSK.pm | 65 +++ .../Analytics/Types/Dot11PSKPassphrase.pm | 65 +++ .../lib/ONVIF/Analytics/Types/Dot11PSKSet.pm | 122 ++++++ .../Analytics/Types/Dot11PSKSetExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/Dot11SSIDType.pm | 65 +++ .../Types/Dot11SecurityConfiguration.pm | 145 ++++++ .../Dot11SecurityConfigurationExtension.pm | 94 ++++ .../Analytics/Types/Dot11SecurityMode.pm | 65 +++ .../Analytics/Types/Dot11SignalStrength.pm | 65 +++ .../ONVIF/Analytics/Types/Dot11StationMode.pm | 65 +++ .../lib/ONVIF/Analytics/Types/Dot11Status.pm | 148 +++++++ .../Analytics/Types/Dot1XConfiguration.pm | 165 +++++++ .../Types/Dot1XConfigurationExtension.pm | 94 ++++ .../Analytics/Types/Dot3Configuration.pm | 94 ++++ .../proxy/lib/ONVIF/Analytics/Types/Duplex.pm | 65 +++ .../ONVIF/Analytics/Types/DurationRange.pm | 112 +++++ .../Analytics/Types/DynamicDNSInformation.pm | 131 ++++++ .../Types/DynamicDNSInformationExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/DynamicDNSType.pm | 65 +++ .../Analytics/Types/EAPMethodConfiguration.pm | 124 ++++++ .../proxy/lib/ONVIF/Analytics/Types/EFlip.pm | 103 +++++ .../lib/ONVIF/Analytics/Types/EFlipMode.pm | 65 +++ .../lib/ONVIF/Analytics/Types/EFlipOptions.pm | 113 +++++ .../Analytics/Types/EFlipOptionsExtension.pm | 94 ++++ .../Analytics/Types/EapMethodExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Enabled.pm | 65 +++ .../Analytics/Types/EngineConfiguration.pm | 151 +++++++ .../lib/ONVIF/Analytics/Types/Envelope.pm | 128 ++++++ .../Analytics/Types/EventCapabilities.pm | 130 ++++++ .../Analytics/Types/EventStreamExtension.pm | 94 ++++ .../Analytics/Types/EventSubscription.pm | 157 +++++++ .../lib/ONVIF/Analytics/Types/Exposure.pm | 202 +++++++++ .../lib/ONVIF/Analytics/Types/Exposure20.pm | 202 +++++++++ .../lib/ONVIF/Analytics/Types/ExposureMode.pm | 65 +++ .../ONVIF/Analytics/Types/ExposureOptions.pm | 220 ++++++++++ .../Analytics/Types/ExposureOptions20.pm | 220 ++++++++++ .../ONVIF/Analytics/Types/ExposurePriority.pm | 65 +++ .../Analytics/Types/FactoryDefaultType.pm | 65 +++ .../proxy/lib/ONVIF/Analytics/Types/Fault.pm | 131 ++++++ .../ONVIF/Analytics/Types/FindEventResult.pm | 139 ++++++ .../Analytics/Types/FindEventResultList.pm | 118 +++++ .../Analytics/Types/FindMetadataResult.pm | 121 +++++ .../Analytics/Types/FindMetadataResultList.pm | 116 +++++ .../Analytics/Types/FindPTZPositionResult.pm | 133 ++++++ .../Types/FindPTZPositionResultList.pm | 120 +++++ .../Types/FindRecordingResultList.pm | 132 ++++++ .../ONVIF/Analytics/Types/FloatAttrList.pm | 75 ++++ .../lib/ONVIF/Analytics/Types/FloatList.pm | 103 +++++ .../lib/ONVIF/Analytics/Types/FloatRange.pm | 112 +++++ .../Analytics/Types/FocusConfiguration.pm | 130 ++++++ .../Analytics/Types/FocusConfiguration20.pm | 140 ++++++ .../Types/FocusConfiguration20Extension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/FocusMove.pm | 129 ++++++ .../lib/ONVIF/Analytics/Types/FocusOptions.pm | 139 ++++++ .../ONVIF/Analytics/Types/FocusOptions20.pm | 149 +++++++ .../Types/FocusOptions20Extension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/FocusStatus.pm | 121 +++++ .../ONVIF/Analytics/Types/FocusStatus20.pm | 131 ++++++ .../Analytics/Types/FocusStatus20Extension.pm | 94 ++++ .../proxy/lib/ONVIF/Analytics/Types/Frame.pm | 274 ++++++++++++ .../ONVIF/Analytics/Types/FrameExtension.pm | 114 +++++ .../ONVIF/Analytics/Types/FrameExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/G711DecOptions.pm | 116 +++++ .../ONVIF/Analytics/Types/G726DecOptions.pm | 116 +++++ .../GenericEapPwdConfigurationExtension.pm | 94 ++++ .../Types/GetRecordingJobsResponseItem.pm | 130 ++++++ .../Types/GetRecordingsResponseItem.pm | 139 ++++++ .../Analytics/Types/GetTracksResponseItem.pm | 115 +++++ .../Analytics/Types/GetTracksResponseList.pm | 109 +++++ .../Analytics/Types/H264Configuration.pm | 112 +++++ .../ONVIF/Analytics/Types/H264DecOptions.pm | 139 ++++++ .../lib/ONVIF/Analytics/Types/H264Options.pm | 151 +++++++ .../lib/ONVIF/Analytics/Types/H264Options2.pm | 134 ++++++ .../lib/ONVIF/Analytics/Types/H264Profile.pm | 65 +++ .../proxy/lib/ONVIF/Analytics/Types/Header.pm | 94 ++++ .../Analytics/Types/HostnameInformation.pm | 122 ++++++ .../Types/HostnameInformationExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/HwAddress.pm | 65 +++ .../lib/ONVIF/Analytics/Types/IANA_IfTypes.pm | 65 +++ .../ONVIF/Analytics/Types/IOCapabilities.pm | 126 ++++++ .../Types/IOCapabilitiesExtension.pm | 122 ++++++ .../Types/IOCapabilitiesExtension2.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/IPAddress.pm | 121 +++++ .../ONVIF/Analytics/Types/IPAddressFilter.pm | 137 ++++++ .../Types/IPAddressFilterExtension.pm | 94 ++++ .../Analytics/Types/IPAddressFilterType.pm | 65 +++ .../proxy/lib/ONVIF/Analytics/Types/IPType.pm | 65 +++ .../lib/ONVIF/Analytics/Types/IPv4Address.pm | 65 +++ .../Analytics/Types/IPv4Configuration.pm | 139 ++++++ .../Analytics/Types/IPv4NetworkInterface.pm | 126 ++++++ .../IPv4NetworkInterfaceSetConfiguration.pm | 124 ++++++ .../lib/ONVIF/Analytics/Types/IPv6Address.pm | 65 +++ .../Analytics/Types/IPv6Configuration.pm | 170 +++++++ .../Types/IPv6ConfigurationExtension.pm | 94 ++++ .../Analytics/Types/IPv6DHCPConfiguration.pm | 65 +++ .../Analytics/Types/IPv6NetworkInterface.pm | 133 ++++++ .../IPv6NetworkInterfaceSetConfiguration.pm | 133 ++++++ .../Analytics/Types/ImageStabilization.pm | 122 ++++++ .../Types/ImageStabilizationExtension.pm | 94 ++++ .../Analytics/Types/ImageStabilizationMode.pm | 65 +++ .../Types/ImageStabilizationOptions.pm | 125 ++++++ .../ImageStabilizationOptionsExtension.pm | 94 ++++ .../Analytics/Types/ImagingCapabilities.pm | 103 +++++ .../ONVIF/Analytics/Types/ImagingOptions.pm | 271 ++++++++++++ .../ONVIF/Analytics/Types/ImagingOptions20.pm | 308 +++++++++++++ .../Types/ImagingOptions20Extension.pm | 133 ++++++ .../Types/ImagingOptions20Extension2.pm | 122 ++++++ .../Types/ImagingOptions20Extension3.pm | 94 ++++ .../ONVIF/Analytics/Types/ImagingSettings.pm | 222 ++++++++++ .../Analytics/Types/ImagingSettings20.pm | 243 ++++++++++ .../Types/ImagingSettingsExtension.pm | 94 ++++ .../Types/ImagingSettingsExtension20.pm | 127 ++++++ .../Types/ImagingSettingsExtension202.pm | 119 +++++ .../Types/ImagingSettingsExtension203.pm | 94 ++++ .../ONVIF/Analytics/Types/ImagingStatus.pm | 107 +++++ .../ONVIF/Analytics/Types/ImagingStatus20.pm | 119 +++++ .../Types/ImagingStatus20Extension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Include.pm | 139 ++++++ .../lib/ONVIF/Analytics/Types/IntAttrList.pm | 75 ++++ .../lib/ONVIF/Analytics/Types/IntList.pm | 103 +++++ .../lib/ONVIF/Analytics/Types/IntRange.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/IntRectangle.pm | 155 +++++++ .../Analytics/Types/IntRectangleRange.pm | 142 ++++++ .../Types/IrCutFilterAutoAdjustment.pm | 131 ++++++ .../IrCutFilterAutoAdjustmentExtension.pm | 94 ++++ .../Types/IrCutFilterAutoAdjustmentOptions.pm | 134 ++++++ ...CutFilterAutoAdjustmentOptionsExtension.pm | 94 ++++ .../Types/IrCutFilterAutoBoundaryType.pm | 65 +++ .../ONVIF/Analytics/Types/IrCutFilterMode.pm | 65 +++ .../lib/ONVIF/Analytics/Types/ItemList.pm | 240 ++++++++++ .../Analytics/Types/ItemListDescription.pm | 228 ++++++++++ .../Types/ItemListDescriptionExtension.pm | 94 ++++ .../Analytics/Types/ItemListExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/JobToken.pm | 65 +++ .../ONVIF/Analytics/Types/JpegDecOptions.pm | 130 ++++++ .../lib/ONVIF/Analytics/Types/JpegOptions.pm | 130 ++++++ .../lib/ONVIF/Analytics/Types/JpegOptions2.pm | 124 ++++++ .../proxy/lib/ONVIF/Analytics/Types/Layout.pm | 116 +++++ .../ONVIF/Analytics/Types/LayoutExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/LayoutOptions.pm | 117 +++++ .../Analytics/Types/LayoutOptionsExtension.pm | 94 ++++ .../Analytics/Types/MaximumNumberOfOSDs.pm | 177 ++++++++ .../ONVIF/Analytics/Types/MediaAttributes.pm | 157 +++++++ .../Analytics/Types/MediaCapabilities.pm | 131 ++++++ .../Types/MediaCapabilitiesExtension.pm | 105 +++++ .../lib/ONVIF/Analytics/Types/MediaUri.pm | 130 ++++++ .../proxy/lib/ONVIF/Analytics/Types/Merge.pm | 112 +++++ .../Analytics/Types/MessageDescription.pm | 193 ++++++++ .../Types/MessageDescriptionExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/MessageExtension.pm | 94 ++++ .../Analytics/Types/MetadataAttributes.pm | 168 +++++++ .../Analytics/Types/MetadataConfiguration.pm | 186 ++++++++ .../Types/MetadataConfigurationExtension.pm | 94 ++++ .../Types/MetadataConfigurationOptions.pm | 110 +++++ .../ONVIF/Analytics/Types/MetadataFilter.pm | 103 +++++ .../ONVIF/Analytics/Types/MetadataInput.pm | 121 +++++ .../Analytics/Types/MetadataInputExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/MetadataStream.pm | 260 +++++++++++ .../Types/MetadataStreamExtension.pm | 118 +++++ .../Types/MetadataStreamExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/ModeOfOperation.pm | 65 +++ .../ONVIF/Analytics/Types/MotionExpression.pm | 148 +++++++ .../Types/MotionExpressionConfiguration.pm | 105 +++++ .../ONVIF/Analytics/Types/MotionInCells.pm | 167 +++++++ .../lib/ONVIF/Analytics/Types/MoveOptions.pm | 144 ++++++ .../ONVIF/Analytics/Types/MoveOptions20.pm | 144 ++++++ .../lib/ONVIF/Analytics/Types/MoveStatus.pm | 65 +++ .../Analytics/Types/Mpeg4Configuration.pm | 112 +++++ .../ONVIF/Analytics/Types/Mpeg4DecOptions.pm | 139 ++++++ .../lib/ONVIF/Analytics/Types/Mpeg4Options.pm | 151 +++++++ .../ONVIF/Analytics/Types/Mpeg4Options2.pm | 134 ++++++ .../lib/ONVIF/Analytics/Types/Mpeg4Profile.pm | 65 +++ .../Analytics/Types/MulticastConfiguration.pm | 134 ++++++ .../ONVIF/Analytics/Types/NTPInformation.pm | 145 ++++++ .../Types/NTPInformationExtension.pm | 94 ++++ onvif/proxy/lib/ONVIF/Analytics/Types/Name.pm | 65 +++ .../Analytics/Types/NetworkCapabilities.pm | 143 ++++++ .../Types/NetworkCapabilitiesExtension.pm | 113 +++++ .../Types/NetworkCapabilitiesExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/NetworkGateway.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/NetworkHost.pm | 140 ++++++ .../Analytics/Types/NetworkHostExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/NetworkHostType.pm | 65 +++ .../ONVIF/Analytics/Types/NetworkInterface.pm | 233 ++++++++++ .../Types/NetworkInterfaceConfigPriority.pm | 65 +++ .../NetworkInterfaceConnectionSetting.pm | 121 +++++ .../Types/NetworkInterfaceExtension.pm | 150 +++++++ .../Types/NetworkInterfaceExtension2.pm | 94 ++++ .../Analytics/Types/NetworkInterfaceInfo.pm | 121 +++++ .../Analytics/Types/NetworkInterfaceLink.pm | 129 ++++++ .../Types/NetworkInterfaceSetConfiguration.pm | 191 ++++++++ ...tworkInterfaceSetConfigurationExtension.pm | 141 ++++++ ...workInterfaceSetConfigurationExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/NetworkProtocol.pm | 131 ++++++ .../Types/NetworkProtocolExtension.pm | 94 ++++ .../Analytics/Types/NetworkProtocolType.pm | 65 +++ .../Types/NetworkZeroConfiguration.pm | 133 ++++++ .../NetworkZeroConfigurationExtension.pm | 104 +++++ .../NetworkZeroConfigurationExtension2.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/OSDColor.pm | 148 +++++++ .../ONVIF/Analytics/Types/OSDColorOptions.pm | 144 ++++++ .../Types/OSDColorOptionsExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/OSDConfiguration.pm | 175 ++++++++ .../Types/OSDConfigurationExtension.pm | 94 ++++ .../Types/OSDConfigurationOptions.pm | 219 +++++++++ .../Types/OSDConfigurationOptionsExtension.pm | 94 ++++ .../Analytics/Types/OSDImgConfiguration.pm | 113 +++++ .../Types/OSDImgConfigurationExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/OSDImgOptions.pm | 113 +++++ .../Analytics/Types/OSDImgOptionsExtension.pm | 94 ++++ .../Analytics/Types/OSDPosConfiguration.pm | 122 ++++++ .../Types/OSDPosConfigurationExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/OSDReference.pm | 73 +++ .../Analytics/Types/OSDTextConfiguration.pm | 171 ++++++++ .../Types/OSDTextConfigurationExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/OSDTextOptions.pm | 215 +++++++++ .../Types/OSDTextOptionsExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/OSDType.pm | 65 +++ .../proxy/lib/ONVIF/Analytics/Types/Object.pm | 173 ++++++++ .../ONVIF/Analytics/Types/ObjectExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/ObjectId.pm | 122 ++++++ .../lib/ONVIF/Analytics/Types/ObjectTree.pm | 149 +++++++ .../Analytics/Types/ObjectTreeExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/OnvifVersion.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/OtherType.pm | 112 +++++ .../Analytics/Types/PTControlDirection.pm | 126 ++++++ .../Types/PTControlDirectionExtension.pm | 94 ++++ .../Types/PTControlDirectionOptions.pm | 130 ++++++ .../PTControlDirectionOptionsExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/PTZCapabilities.pm | 103 +++++ .../ONVIF/Analytics/Types/PTZConfiguration.pm | 251 +++++++++++ .../Types/PTZConfigurationExtension.pm | 122 ++++++ .../Types/PTZConfigurationExtension2.pm | 94 ++++ .../Types/PTZConfigurationOptions.pm | 218 +++++++++ .../Types/PTZConfigurationOptions2.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/PTZFilter.pm | 112 +++++ .../ONVIF/Analytics/Types/PTZMoveStatus.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/PTZNode.pm | 278 ++++++++++++ .../ONVIF/Analytics/Types/PTZNodeExtension.pm | 118 +++++ .../Analytics/Types/PTZNodeExtension2.pm | 94 ++++ .../Analytics/Types/PTZPositionFilter.pm | 127 ++++++ .../lib/ONVIF/Analytics/Types/PTZPreset.pm | 162 +++++++ .../Analytics/Types/PTZPresetTourDirection.pm | 65 +++ .../Analytics/Types/PTZPresetTourExtension.pm | 94 ++++ .../Analytics/Types/PTZPresetTourOperation.pm | 65 +++ .../Analytics/Types/PTZPresetTourOptions.pm | 162 +++++++ .../Types/PTZPresetTourPresetDetail.pm | 136 ++++++ .../Types/PTZPresetTourPresetDetailOptions.pm | 156 +++++++ ...ZPresetTourPresetDetailOptionsExtension.pm | 94 ++++ .../Analytics/Types/PTZPresetTourSpot.pm | 145 ++++++ .../Types/PTZPresetTourSpotExtension.pm | 94 ++++ .../Types/PTZPresetTourSpotOptions.pm | 138 ++++++ .../Types/PTZPresetTourStartingCondition.pm | 131 ++++++ ...PTZPresetTourStartingConditionExtension.pm | 94 ++++ .../PTZPresetTourStartingConditionOptions.pm | 137 ++++++ ...etTourStartingConditionOptionsExtension.pm | 94 ++++ .../Analytics/Types/PTZPresetTourState.pm | 65 +++ .../Analytics/Types/PTZPresetTourStatus.pm | 142 ++++++ .../Types/PTZPresetTourStatusExtension.pm | 94 ++++ .../Analytics/Types/PTZPresetTourSupported.pm | 122 ++++++ .../Types/PTZPresetTourSupportedExtension.pm | 94 ++++ .../Types/PTZPresetTourTypeExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/PTZSpaces.pm | 236 ++++++++++ .../Analytics/Types/PTZSpacesExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/PTZSpeed.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/PTZStatus.pm | 136 ++++++ .../Analytics/Types/PTZStatusFilterOptions.pm | 140 ++++++ .../Types/PTZStatusFilterOptionsExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/PTZStream.pm | 126 ++++++ .../Analytics/Types/PTZStreamExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/PTZVector.pm | 112 +++++ .../ONVIF/Analytics/Types/PanTiltLimits.pm | 113 +++++ .../Analytics/Types/PaneConfiguration.pm | 163 +++++++ .../lib/ONVIF/Analytics/Types/PaneLayout.pm | 112 +++++ .../Analytics/Types/PaneLayoutOptions.pm | 113 +++++ .../Analytics/Types/PaneOptionExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Polygon.pm | 103 +++++ .../Analytics/Types/PolygonConfiguration.pm | 105 +++++ .../lib/ONVIF/Analytics/Types/Polyline.pm | 103 +++++ .../ONVIF/Analytics/Types/PolylineArray.pm | 115 +++++ .../Types/PolylineArrayConfiguration.pm | 109 +++++ .../Analytics/Types/PolylineArrayExtension.pm | 94 ++++ .../Analytics/Types/PrefixedIPv4Address.pm | 112 +++++ .../Analytics/Types/PrefixedIPv6Address.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/PresetTour.pm | 247 +++++++++++ .../lib/ONVIF/Analytics/Types/Profile.pm | 414 ++++++++++++++++++ .../Analytics/Types/ProfileCapabilities.pm | 103 +++++ .../ONVIF/Analytics/Types/ProfileExtension.pm | 127 ++++++ .../Analytics/Types/ProfileExtension2.pm | 94 ++++ .../Analytics/Types/PropertyOperation.pm | 65 +++ .../Types/RealTimeStreamingCapabilities.pm | 131 ++++++ .../RealTimeStreamingCapabilitiesExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Receiver.pm | 121 +++++ .../Analytics/Types/ReceiverCapabilities.pm | 148 +++++++ .../Analytics/Types/ReceiverConfiguration.pm | 126 ++++++ .../lib/ONVIF/Analytics/Types/ReceiverMode.pm | 65 +++ .../Analytics/Types/ReceiverReference.pm | 65 +++ .../ONVIF/Analytics/Types/ReceiverState.pm | 65 +++ .../Types/ReceiverStateInformation.pm | 112 +++++ .../Analytics/Types/RecordingCapabilities.pm | 148 +++++++ .../Analytics/Types/RecordingConfiguration.pm | 127 ++++++ .../Analytics/Types/RecordingInformation.pm | 169 +++++++ .../Types/RecordingJobConfiguration.pm | 151 +++++++ .../RecordingJobConfigurationExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/RecordingJobMode.pm | 65 +++ .../Analytics/Types/RecordingJobReference.pm | 65 +++ .../Analytics/Types/RecordingJobSource.pm | 136 ++++++ .../Types/RecordingJobSourceExtension.pm | 94 ++++ .../Analytics/Types/RecordingJobState.pm | 65 +++ .../Types/RecordingJobStateInformation.pm | 144 ++++++ .../RecordingJobStateInformationExtension.pm | 94 ++++ .../Types/RecordingJobStateSource.pm | 130 ++++++ .../Analytics/Types/RecordingJobStateTrack.pm | 130 ++++++ .../Types/RecordingJobStateTracks.pm | 108 +++++ .../Analytics/Types/RecordingJobTrack.pm | 112 +++++ .../Analytics/Types/RecordingReference.pm | 65 +++ .../Types/RecordingSourceInformation.pm | 139 ++++++ .../ONVIF/Analytics/Types/RecordingStatus.pm | 65 +++ .../ONVIF/Analytics/Types/RecordingSummary.pm | 121 +++++ .../lib/ONVIF/Analytics/Types/Rectangle.pm | 155 +++++++ .../ONVIF/Analytics/Types/ReferenceToken.pm | 65 +++ .../ONVIF/Analytics/Types/RelativeFocus.pm | 112 +++++ .../Analytics/Types/RelativeFocusOptions.pm | 118 +++++ .../Analytics/Types/RelativeFocusOptions20.pm | 118 +++++ .../ONVIF/Analytics/Types/RelayIdleState.pm | 65 +++ .../Analytics/Types/RelayLogicalState.pm | 65 +++ .../lib/ONVIF/Analytics/Types/RelayMode.pm | 65 +++ .../lib/ONVIF/Analytics/Types/RelayOutput.pm | 110 +++++ .../Analytics/Types/RelayOutputSettings.pm | 121 +++++ .../lib/ONVIF/Analytics/Types/RemoteUser.pm | 121 +++++ .../proxy/lib/ONVIF/Analytics/Types/Rename.pm | 112 +++++ .../Analytics/Types/ReplayCapabilities.pm | 103 +++++ .../Analytics/Types/ReplayConfiguration.pm | 103 +++++ .../lib/ONVIF/Analytics/Types/Reverse.pm | 103 +++++ .../lib/ONVIF/Analytics/Types/ReverseMode.pm | 65 +++ .../ONVIF/Analytics/Types/ReverseOptions.pm | 113 +++++ .../Types/ReverseOptionsExtension.pm | 94 ++++ .../proxy/lib/ONVIF/Analytics/Types/Rotate.pm | 122 ++++++ .../ONVIF/Analytics/Types/RotateExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/RotateMode.pm | 65 +++ .../ONVIF/Analytics/Types/RotateOptions.pm | 124 ++++++ .../Analytics/Types/RotateOptionsExtension.pm | 94 ++++ .../Types/RuleEngineConfiguration.pm | 121 +++++ .../Types/RuleEngineConfigurationExtension.pm | 94 ++++ .../proxy/lib/ONVIF/Analytics/Types/Scope.pm | 112 +++++ .../ONVIF/Analytics/Types/ScopeDefinition.pm | 65 +++ .../Analytics/Types/SearchCapabilities.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/SearchScope.pm | 133 ++++++ .../Analytics/Types/SearchScopeExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/SearchState.pm | 65 +++ .../Analytics/Types/SecurityCapabilities.pm | 200 +++++++++ .../Types/SecurityCapabilitiesExtension.pm | 122 ++++++ .../Types/SecurityCapabilitiesExtension2.pm | 121 +++++ .../ONVIF/Analytics/Types/SetDateTimeType.pm | 65 +++ .../ONVIF/Analytics/Types/ShapeDescriptor.pm | 133 ++++++ .../Types/ShapeDescriptorExtension.pm | 94 ++++ .../Analytics/Types/SourceIdentification.pm | 122 ++++++ .../Types/SourceIdentificationExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/SourceReference.pm | 148 +++++++ .../Analytics/Types/Space1DDescription.pm | 115 +++++ .../Analytics/Types/Space2DDescription.pm | 127 ++++++ .../proxy/lib/ONVIF/Analytics/Types/Split.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/StreamSetup.pm | 114 +++++ .../lib/ONVIF/Analytics/Types/StreamType.pm | 65 +++ .../ONVIF/Analytics/Types/StringAttrList.pm | 75 ++++ .../Analytics/Types/SupportInformation.pm | 115 +++++ .../Types/SupportedAnalyticsModules.pm | 134 ++++++ .../SupportedAnalyticsModulesExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/SupportedRules.pm | 134 ++++++ .../Types/SupportedRulesExtension.pm | 94 ++++ .../Analytics/Types/SystemCapabilities.pm | 176 ++++++++ .../Types/SystemCapabilitiesExtension.pm | 140 ++++++ .../Types/SystemCapabilitiesExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/SystemDateTime.pm | 173 ++++++++ .../Types/SystemDateTimeExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/SystemLog.pm | 115 +++++ .../ONVIF/Analytics/Types/SystemLogType.pm | 65 +++ .../lib/ONVIF/Analytics/Types/SystemLogUri.pm | 112 +++++ .../ONVIF/Analytics/Types/SystemLogUriList.pm | 106 +++++ .../ONVIF/Analytics/Types/TLSConfiguration.pm | 103 +++++ onvif/proxy/lib/ONVIF/Analytics/Types/Time.pm | 121 +++++ .../lib/ONVIF/Analytics/Types/TimeZone.pm | 103 +++++ .../Analytics/Types/TopicNamespaceLocation.pm | 65 +++ .../ONVIF/Analytics/Types/TrackAttributes.pm | 160 +++++++ .../Types/TrackAttributesExtension.pm | 94 ++++ .../Analytics/Types/TrackConfiguration.pm | 112 +++++ .../ONVIF/Analytics/Types/TrackInformation.pm | 139 ++++++ .../ONVIF/Analytics/Types/TrackReference.pm | 65 +++ .../lib/ONVIF/Analytics/Types/TrackType.pm | 65 +++ .../ONVIF/Analytics/Types/Transformation.pm | 122 ++++++ .../Types/TransformationExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/Transport.pm | 103 +++++ .../Analytics/Types/TransportProtocol.pm | 65 +++ onvif/proxy/lib/ONVIF/Analytics/Types/User.pm | 131 ++++++ .../ONVIF/Analytics/Types/UserExtension.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/UserLevel.pm | 65 +++ .../proxy/lib/ONVIF/Analytics/Types/Vector.pm | 133 ++++++ .../lib/ONVIF/Analytics/Types/Vector1D.pm | 135 ++++++ .../lib/ONVIF/Analytics/Types/Vector2D.pm | 146 ++++++ .../Types/VideoAnalyticsConfiguration.pm | 149 +++++++ .../Analytics/Types/VideoAnalyticsStream.pm | 211 +++++++++ .../Types/VideoAnalyticsStreamExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/VideoAttributes.pm | 139 ++++++ .../Types/VideoDecoderConfigurationOptions.pm | 172 ++++++++ ...deoDecoderConfigurationOptionsExtension.pm | 94 ++++ .../Types/VideoEncoderConfiguration.pm | 201 +++++++++ .../Types/VideoEncoderConfigurationOptions.pm | 212 +++++++++ .../Types/VideoEncoderOptionsExtension.pm | 146 ++++++ .../Types/VideoEncoderOptionsExtension2.pm | 94 ++++ .../ONVIF/Analytics/Types/VideoEncoding.pm | 65 +++ .../lib/ONVIF/Analytics/Types/VideoOutput.pm | 153 +++++++ .../Types/VideoOutputConfiguration.pm | 116 +++++ .../Types/VideoOutputConfigurationOptions.pm | 94 ++++ .../Analytics/Types/VideoOutputExtension.pm | 94 ++++ .../ONVIF/Analytics/Types/VideoRateControl.pm | 121 +++++ .../ONVIF/Analytics/Types/VideoResolution.pm | 112 +++++ .../lib/ONVIF/Analytics/Types/VideoSource.pm | 243 ++++++++++ .../Types/VideoSourceConfiguration.pm | 143 ++++++ .../VideoSourceConfigurationExtension.pm | 118 +++++ .../VideoSourceConfigurationExtension2.pm | 94 ++++ .../Types/VideoSourceConfigurationOptions.pm | 149 +++++++ ...ideoSourceConfigurationOptionsExtension.pm | 120 +++++ ...deoSourceConfigurationOptionsExtension2.pm | 94 ++++ .../Analytics/Types/VideoSourceExtension.pm | 175 ++++++++ .../Analytics/Types/VideoSourceExtension2.pm | 94 ++++ .../lib/ONVIF/Analytics/Types/WhiteBalance.pm | 121 +++++ .../ONVIF/Analytics/Types/WhiteBalance20.pm | 131 ++++++ .../Types/WhiteBalance20Extension.pm | 94 ++++ .../ONVIF/Analytics/Types/WhiteBalanceMode.pm | 65 +++ .../Analytics/Types/WhiteBalanceOptions.pm | 127 ++++++ .../Analytics/Types/WhiteBalanceOptions20.pm | 137 ++++++ .../Types/WhiteBalanceOptions20Extension.pm | 94 ++++ .../ONVIF/Analytics/Types/WideDynamicMode.pm | 65 +++ .../ONVIF/Analytics/Types/WideDynamicRange.pm | 112 +++++ .../Analytics/Types/WideDynamicRange20.pm | 112 +++++ .../Types/WideDynamicRangeOptions.pm | 115 +++++ .../Types/WideDynamicRangeOptions20.pm | 115 +++++ .../ONVIF/Analytics/Types/XPathExpression.pm | 65 +++ .../lib/ONVIF/Analytics/Types/ZoomLimits.pm | 109 +++++ .../lib/ONVIF/Analytics/Types/base64Binary.pm | 117 +++++ .../proxy/lib/ONVIF/Analytics/Types/detail.pm | 94 ++++ .../ONVIF/Analytics/Types/encodingStyle.pm | 75 ++++ .../lib/ONVIF/Analytics/Types/hexBinary.pm | 117 +++++ .../ONVIF/Media/Types/TopicNamespaceType.pm | 4 +- .../lib/ONVIF/PTZ/Types/TopicNamespaceType.pm | 4 +- .../Attributes/IsReferenceParameter.pm | 54 +++ .../lib/WSNotification/Attributes/base.pm | 54 +++ .../proxy/lib/WSNotification/Attributes/id.pm | 54 +++ .../lib/WSNotification/Attributes/lang.pm | 72 +++ .../lib/WSNotification/Attributes/space.pm | 64 +++ .../lib/WSNotification/Attributes/topic.pm | 54 +++ .../Attributes/topicNamespaceLocation.pm | 54 +++ .../lib/WSNotification/Elements/Action.pm | 57 +++ .../lib/WSNotification/Elements/BaseFault.pm | 72 +++ .../Elements/ConsumerReference.pm | 63 +++ .../Elements/CreatePullPoint.pm | 107 +++++ .../Elements/CreatePullPointResponse.pm | 127 ++++++ .../WSNotification/Elements/CreationTime.pm | 57 +++ .../WSNotification/Elements/CurrentTime.pm | 57 +++ .../Elements/DestroyPullPoint.pm | 107 +++++ .../Elements/DestroyPullPointResponse.pm | 107 +++++ .../Elements/EndpointReference.pm | 63 +++ .../lib/WSNotification/Elements/FaultTo.pm | 63 +++ .../lib/WSNotification/Elements/Filter.pm | 62 +++ .../WSNotification/Elements/FixedTopicSet.pm | 57 +++ .../proxy/lib/WSNotification/Elements/From.pm | 63 +++ .../Elements/GetCurrentMessage.pm | 122 ++++++ .../Elements/GetCurrentMessageResponse.pm | 107 +++++ .../WSNotification/Elements/GetMessages.pm | 121 +++++ .../Elements/GetMessagesResponse.pm | 147 +++++++ .../Elements/InvalidFilterFault.pm | 59 +++ .../InvalidMessageContentExpressionFault.pm | 58 +++ ...nvalidProducerPropertiesExpressionFault.pm | 58 +++ .../Elements/InvalidTopicExpressionFault.pm | 58 +++ .../WSNotification/Elements/MessageContent.pm | 58 +++ .../lib/WSNotification/Elements/MessageID.pm | 57 +++ .../lib/WSNotification/Elements/Metadata.pm | 58 +++ .../Elements/MultipleTopicsSpecifiedFault.pm | 58 +++ .../Elements/NoCurrentMessageOnTopicFault.pm | 58 +++ .../Elements/NotificationMessage.pm | 76 ++++ .../Elements/NotificationProducerRP.pm | 193 ++++++++ .../lib/WSNotification/Elements/Notify.pm | 147 +++++++ .../NotifyMessageNotSupportedFault.pm | 58 +++ .../Elements/PauseFailedFault.pm | 58 +++ .../Elements/PauseSubscription.pm | 107 +++++ .../Elements/PauseSubscriptionResponse.pm | 107 +++++ .../WSNotification/Elements/ProblemAction.pm | 60 +++ .../WSNotification/Elements/ProblemHeader.pm | 58 +++ .../Elements/ProblemHeaderQName.pm | 57 +++ .../lib/WSNotification/Elements/ProblemIRI.pm | 57 +++ .../Elements/ProducerProperties.pm | 58 +++ .../Elements/ProducerReference.pm | 63 +++ .../lib/WSNotification/Elements/RelatesTo.pm | 57 +++ .../lib/WSNotification/Elements/Renew.pm | 121 +++++ .../WSNotification/Elements/RenewResponse.pm | 149 +++++++ .../lib/WSNotification/Elements/ReplyTo.pm | 63 +++ .../Elements/ResumeFailedFault.pm | 58 +++ .../Elements/ResumeSubscription.pm | 107 +++++ .../Elements/ResumeSubscriptionResponse.pm | 107 +++++ .../lib/WSNotification/Elements/RetryAfter.pm | 57 +++ .../lib/WSNotification/Elements/Subscribe.pm | 219 +++++++++ .../Elements/SubscribeCreationFailedFault.pm | 58 +++ .../Elements/SubscribeResponse.pm | 169 +++++++ .../Elements/SubscriptionManagerRP.pm | 203 +++++++++ .../Elements/SubscriptionPolicy.pm | 58 +++ .../Elements/SubscriptionReference.pm | 63 +++ .../Elements/TerminationTime.pm | 57 +++ onvif/proxy/lib/WSNotification/Elements/To.pm | 57 +++ .../lib/WSNotification/Elements/Topic.pm | 58 +++ .../Elements/TopicExpression.pm | 58 +++ .../Elements/TopicExpressionDialect.pm | 57 +++ .../TopicExpressionDialectUnknownFault.pm | 58 +++ .../WSNotification/Elements/TopicNamespace.pm | 60 +++ .../Elements/TopicNotSupportedFault.pm | 58 +++ .../lib/WSNotification/Elements/TopicSet.pm | 58 +++ .../Elements/UnableToCreatePullPointFault.pm | 58 +++ .../Elements/UnableToDestroyPullPointFault.pm | 58 +++ .../UnableToDestroySubscriptionFault.pm | 58 +++ .../Elements/UnableToGetMessagesFault.pm | 58 +++ ...UnacceptableInitialTerminationTimeFault.pm | 60 +++ .../UnacceptableTerminationTimeFault.pm | 60 +++ .../UnrecognizedPolicyRequestFault.pm | 59 +++ .../WSNotification/Elements/Unsubscribe.pm | 107 +++++ .../Elements/UnsubscribeResponse.pm | 107 +++++ .../Elements/UnsupportedPolicyRequestFault.pm | 59 +++ .../lib/WSNotification/Elements/UseRaw.pm | 90 ++++ .../NotificationProducerPort.pm | 184 ++++++++ .../SubscriptionManagerPort.pm | 167 +++++++ .../Typemaps/WSBaseNotificationSender.pm | 210 +++++++++ .../Types/AbsoluteOrRelativeTimeType.pm | 76 ++++ .../WSNotification/Types/AttributedAnyType.pm | 94 ++++ .../Types/AttributedQNameType.pm | 73 +++ .../WSNotification/Types/AttributedURIType.pm | 73 +++ .../Types/AttributedUnsignedLongType.pm | 73 +++ .../lib/WSNotification/Types/BaseFaultType.pm | 288 ++++++++++++ .../Types/ConcreteTopicExpression.pm | 65 +++ .../lib/WSNotification/Types/Documentation.pm | 94 ++++ .../Types/EndpointReferenceType.pm | 130 ++++++ .../Types/ExtensibleDocumented.pm | 104 +++++ .../Types/FaultCodesOpenEnumType.pm | 76 ++++ .../WSNotification/Types/FaultCodesType.pm | 65 +++ .../lib/WSNotification/Types/FilterType.pm | 128 ++++++ .../Types/FullTopicExpression.pm | 65 +++ .../Types/InvalidFilterFaultType.pm | 261 +++++++++++ ...nvalidMessageContentExpressionFaultType.pm | 252 +++++++++++ ...idProducerPropertiesExpressionFaultType.pm | 252 +++++++++++ .../Types/InvalidTopicExpressionFaultType.pm | 252 +++++++++++ .../lib/WSNotification/Types/MetadataType.pm | 94 ++++ .../Types/MultipleTopicsSpecifiedFaultType.pm | 252 +++++++++++ .../Types/NoCurrentMessageOnTopicFaultType.pm | 252 +++++++++++ .../Types/NotificationMessageHolderType.pm | 209 +++++++++ .../NotifyMessageNotSupportedFaultType.pm | 252 +++++++++++ .../Types/PauseFailedFaultType.pm | 252 +++++++++++ .../WSNotification/Types/ProblemActionType.pm | 119 +++++ .../Types/QueryExpressionType.pm | 139 ++++++ .../Types/ReferenceParametersType.pm | 94 ++++ .../lib/WSNotification/Types/RelatesToType.pm | 118 +++++ .../WSNotification/Types/RelationshipType.pm | 65 +++ .../Types/RelationshipTypeOpenEnum.pm | 76 ++++ .../Types/ResumeFailedFaultType.pm | 252 +++++++++++ .../Types/SimpleTopicExpression.pm | 65 +++ .../Types/SubscribeCreationFailedFaultType.pm | 252 +++++++++++ .../Types/SubscriptionPolicyType.pm | 94 ++++ .../TopicExpressionDialectUnknownFaultType.pm | 252 +++++++++++ .../Types/TopicExpressionType.pm | 120 +++++ .../Types/TopicNamespaceType.pm | 256 +++++++++++ .../Types/TopicNotSupportedFaultType.pm | 252 +++++++++++ .../lib/WSNotification/Types/TopicSetType.pm | 102 +++++ .../lib/WSNotification/Types/TopicType.pm | 168 +++++++ .../Types/UnableToCreatePullPointFaultType.pm | 252 +++++++++++ .../UnableToDestroyPullPointFaultType.pm | 252 +++++++++++ .../UnableToDestroySubscriptionFaultType.pm | 252 +++++++++++ .../Types/UnableToGetMessagesFaultType.pm | 252 +++++++++++ ...ceptableInitialTerminationTimeFaultType.pm | 270 ++++++++++++ .../UnacceptableTerminationTimeFaultType.pm | 270 ++++++++++++ .../UnrecognizedPolicyRequestFaultType.pm | 261 +++++++++++ .../UnsupportedPolicyRequestFaultType.pm | 261 +++++++++++ 735 files changed, 85682 insertions(+), 4 deletions(-) create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Attributes/actor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Attributes/contentType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Attributes/encodingStyle.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Attributes/expectedContentTypes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Attributes/mustUnderstand.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/AudioDecoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/AudioEncoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/AudioOutputConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/AudioSourceConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Body.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Capabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Envelope.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Fault.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetRulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilitiesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Header.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Include.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Message.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataStream.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRulesResponse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/PTZConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Polygon.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/Polyline.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/VideoAnalyticsConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/VideoEncoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Elements/VideoSourceConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/AnalyticsEnginePort.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/RuleEnginePort.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Typemaps/Analytics.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AACDecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocusOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayload.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayloadExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngine.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineControl.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfo.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfoExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsStateInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AnyHolder.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Appearance.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AppearanceExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AttachmentData.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStream.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStreamExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioAttributes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassCandidate.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptorExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioDescriptor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOption.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoding.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioSource.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AutoFocusMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/AuxiliaryData.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BackupFile.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Behaviour.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BehaviourExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/BinaryData.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Body.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Capabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CapabilityCategory.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CellLayout.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Certificate.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParameters.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParametersExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateUsage.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CertificateWithPrivateKey.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ClassType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/CodingCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Color.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ColorCovariance.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptorExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ColorOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ColorspaceRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Config.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescriptionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ConfigurationEntity.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocusOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DNSName.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Date.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DateTime.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DateTimeRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Description.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DeviceCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DeviceCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DeviceEntity.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DeviceIOCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DigitalInput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Direction.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DiscoveryMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DisplayCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Domain.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11AuthAndMangementSuite.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11AvailableNetworks.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11AvailableNetworksExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11Capabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11Cipher.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11PSK.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11PSKPassphrase.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11PSKSet.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11PSKSetExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11SSIDType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11SecurityConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11SecurityConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11SecurityMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11SignalStrength.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11StationMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot11Status.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot1XConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot1XConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Dot3Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Duplex.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DurationRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DynamicDNSInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DynamicDNSInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/DynamicDNSType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EAPMethodConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EFlip.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EFlipMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EFlipOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EFlipOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EapMethodExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Enabled.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EngineConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Envelope.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EventCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EventStreamExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/EventSubscription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Exposure.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Exposure20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ExposureMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ExposureOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ExposureOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ExposurePriority.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FactoryDefaultType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Fault.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindEventResult.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindEventResultList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindMetadataResult.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindMetadataResultList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindPTZPositionResult.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindPTZPositionResultList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FindRecordingResultList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FloatAttrList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FloatList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FloatRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusConfiguration20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusConfiguration20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusMove.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusOptions20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusStatus20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FocusStatus20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Frame.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FrameExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/FrameExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/G711DecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/G726DecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/GenericEapPwdConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/GetRecordingJobsResponseItem.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/GetRecordingsResponseItem.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/GetTracksResponseItem.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/GetTracksResponseList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/H264Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/H264DecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/H264Options.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/H264Options2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/H264Profile.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Header.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/HostnameInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/HostnameInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/HwAddress.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IANA_IfTypes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IOCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IOCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IOCapabilitiesExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPAddress.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPAddressFilter.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPAddressFilterExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPAddressFilterType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv4Address.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv4Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv4NetworkInterface.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv4NetworkInterfaceSetConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6Address.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6ConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6DHCPConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6NetworkInterface.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IPv6NetworkInterfaceSetConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImageStabilization.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImageStabilizationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImageStabilizationMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImageStabilizationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImageStabilizationOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingOptions20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingOptions20Extension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingOptions20Extension3.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettings.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettings20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettingsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettingsExtension20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettingsExtension202.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingSettingsExtension203.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingStatus20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ImagingStatus20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Include.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IntAttrList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IntList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IntRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IntRectangle.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IntRectangleRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterAutoAdjustment.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterAutoAdjustmentExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterAutoAdjustmentOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterAutoAdjustmentOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterAutoBoundaryType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/IrCutFilterMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ItemList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ItemListDescription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ItemListDescriptionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ItemListExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/JobToken.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/JpegDecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/JpegOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/JpegOptions2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Layout.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/LayoutExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/LayoutOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/LayoutOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MaximumNumberOfOSDs.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MediaAttributes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MediaCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MediaCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MediaUri.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Merge.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MessageDescription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MessageDescriptionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MessageExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataAttributes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataFilter.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataInput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataInputExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataStream.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataStreamExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MetadataStreamExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ModeOfOperation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MotionExpression.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MotionExpressionConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MotionInCells.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MoveOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MoveOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MoveStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Mpeg4Configuration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Mpeg4DecOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Mpeg4Options.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Mpeg4Options2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Mpeg4Profile.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/MulticastConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NTPInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NTPInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Name.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkCapabilitiesExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkGateway.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkHost.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkHostExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkHostType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterface.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceConfigPriority.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceConnectionSetting.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceInfo.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceLink.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceSetConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceSetConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkInterfaceSetConfigurationExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkProtocol.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkProtocolExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkProtocolType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkZeroConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkZeroConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/NetworkZeroConfigurationExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDColor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDColorOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDColorOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDConfigurationOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDImgConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDImgConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDImgOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDImgOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDPosConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDPosConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDTextConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDTextConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDTextOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDTextOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OSDType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Object.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ObjectExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ObjectId.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ObjectTree.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ObjectTreeExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OnvifVersion.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/OtherType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTControlDirection.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTControlDirectionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTControlDirectionOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTControlDirectionOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZConfigurationExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZConfigurationOptions2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZFilter.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZMoveStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZNode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZNodeExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZNodeExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPositionFilter.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPreset.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourDirection.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourOperation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourPresetDetail.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourPresetDetailOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourPresetDetailOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourSpot.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourSpotExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourSpotOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStartingCondition.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStartingConditionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStartingConditionOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStartingConditionOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourStatusExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourSupported.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourSupportedExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZPresetTourTypeExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZSpaces.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZSpacesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZSpeed.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZStatusFilterOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZStatusFilterOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZStream.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZStreamExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PTZVector.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PanTiltLimits.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PaneConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PaneLayout.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PaneLayoutOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PaneOptionExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Polygon.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PolygonConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Polyline.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PolylineArray.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PolylineArrayConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PolylineArrayExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PrefixedIPv4Address.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PrefixedIPv6Address.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PresetTour.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Profile.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ProfileCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ProfileExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ProfileExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/PropertyOperation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RealTimeStreamingCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RealTimeStreamingCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Receiver.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReceiverStateInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobSource.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobSourceExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobStateInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobStateInformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobStateSource.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobStateTrack.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobStateTracks.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingJobTrack.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingSourceInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingStatus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RecordingSummary.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Rectangle.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReferenceToken.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelativeFocus.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelativeFocusOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelativeFocusOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelayIdleState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelayLogicalState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelayMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelayOutput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RelayOutputSettings.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RemoteUser.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Rename.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReplayCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReplayConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Reverse.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReverseMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReverseOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ReverseOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Rotate.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RotateExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RotateMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RotateOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RotateOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RuleEngineConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/RuleEngineConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Scope.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ScopeDefinition.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SearchCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SearchScope.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SearchScopeExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SearchState.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SecurityCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SecurityCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SecurityCapabilitiesExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SetDateTimeType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ShapeDescriptor.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ShapeDescriptorExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SourceIdentification.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SourceIdentificationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SourceReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Space1DDescription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Space2DDescription.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Split.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/StreamSetup.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/StreamType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/StringAttrList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SupportInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SupportedAnalyticsModules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SupportedAnalyticsModulesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SupportedRules.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SupportedRulesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemCapabilities.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemCapabilitiesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemCapabilitiesExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemDateTime.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemDateTimeExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemLog.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemLogType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemLogUri.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/SystemLogUriList.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TLSConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Time.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TimeZone.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TopicNamespaceLocation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackAttributes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackAttributesExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackInformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackReference.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TrackType.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Transformation.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TransformationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Transport.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/TransportProtocol.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/User.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/UserExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/UserLevel.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Vector.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Vector1D.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/Vector2D.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoAnalyticsConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoAnalyticsStream.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoAnalyticsStreamExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoAttributes.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoDecoderConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoDecoderConfigurationOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoEncoderConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoEncoderConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoEncoderOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoEncoderOptionsExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoEncoding.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoOutput.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoOutputConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoOutputConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoOutputExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoRateControl.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoResolution.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSource.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfiguration.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfigurationExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfigurationExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfigurationOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfigurationOptionsExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceConfigurationOptionsExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceExtension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/VideoSourceExtension2.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalance.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalance20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalance20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalanceMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalanceOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalanceOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WhiteBalanceOptions20Extension.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WideDynamicMode.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WideDynamicRange.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WideDynamicRange20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WideDynamicRangeOptions.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/WideDynamicRangeOptions20.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/XPathExpression.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/ZoomLimits.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/base64Binary.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/detail.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/encodingStyle.pm create mode 100644 onvif/proxy/lib/ONVIF/Analytics/Types/hexBinary.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/IsReferenceParameter.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/base.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/id.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/lang.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/space.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/topic.pm create mode 100644 onvif/proxy/lib/WSNotification/Attributes/topicNamespaceLocation.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Action.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/BaseFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ConsumerReference.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/CreatePullPoint.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/CreatePullPointResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/CreationTime.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/CurrentTime.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/DestroyPullPoint.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/DestroyPullPointResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/EndpointReference.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/FaultTo.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Filter.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/FixedTopicSet.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/From.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/GetCurrentMessage.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/GetCurrentMessageResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/GetMessages.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/GetMessagesResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/InvalidFilterFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/InvalidMessageContentExpressionFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/InvalidProducerPropertiesExpressionFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/InvalidTopicExpressionFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/MessageContent.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/MessageID.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Metadata.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/MultipleTopicsSpecifiedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/NoCurrentMessageOnTopicFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/NotificationMessage.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/NotificationProducerRP.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Notify.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/NotifyMessageNotSupportedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/PauseFailedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/PauseSubscription.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/PauseSubscriptionResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProblemAction.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProblemHeader.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProblemHeaderQName.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProblemIRI.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProducerProperties.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ProducerReference.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/RelatesTo.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Renew.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/RenewResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ReplyTo.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ResumeFailedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ResumeSubscription.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/ResumeSubscriptionResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/RetryAfter.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Subscribe.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/SubscribeCreationFailedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/SubscribeResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/SubscriptionManagerRP.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/SubscriptionPolicy.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/SubscriptionReference.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TerminationTime.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/To.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Topic.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicExpression.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicExpressionDialect.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicExpressionDialectUnknownFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicNamespace.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicNotSupportedFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/TopicSet.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnableToCreatePullPointFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnableToDestroyPullPointFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnableToDestroySubscriptionFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnableToGetMessagesFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnacceptableInitialTerminationTimeFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnacceptableTerminationTimeFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnrecognizedPolicyRequestFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/Unsubscribe.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnsubscribeResponse.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UnsupportedPolicyRequestFault.pm create mode 100644 onvif/proxy/lib/WSNotification/Elements/UseRaw.pm create mode 100644 onvif/proxy/lib/WSNotification/Interfaces/WSBaseNotificationSender/NotificationProducerPort.pm create mode 100644 onvif/proxy/lib/WSNotification/Interfaces/WSBaseNotificationSender/SubscriptionManagerPort.pm create mode 100644 onvif/proxy/lib/WSNotification/Typemaps/WSBaseNotificationSender.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/AbsoluteOrRelativeTimeType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/AttributedAnyType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/AttributedQNameType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/AttributedURIType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/AttributedUnsignedLongType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/BaseFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/ConcreteTopicExpression.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/Documentation.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/EndpointReferenceType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/ExtensibleDocumented.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/FaultCodesOpenEnumType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/FaultCodesType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/FilterType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/FullTopicExpression.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/InvalidFilterFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/InvalidMessageContentExpressionFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/InvalidProducerPropertiesExpressionFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/InvalidTopicExpressionFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/MetadataType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/MultipleTopicsSpecifiedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/NoCurrentMessageOnTopicFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/NotificationMessageHolderType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/NotifyMessageNotSupportedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/PauseFailedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/ProblemActionType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/QueryExpressionType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/ReferenceParametersType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/RelatesToType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/RelationshipType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/RelationshipTypeOpenEnum.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/ResumeFailedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/SimpleTopicExpression.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/SubscribeCreationFailedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/SubscriptionPolicyType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicExpressionDialectUnknownFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicExpressionType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicNamespaceType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicNotSupportedFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicSetType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/TopicType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnableToCreatePullPointFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnableToDestroyPullPointFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnableToDestroySubscriptionFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnableToGetMessagesFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnacceptableInitialTerminationTimeFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnacceptableTerminationTimeFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnrecognizedPolicyRequestFaultType.pm create mode 100644 onvif/proxy/lib/WSNotification/Types/UnsupportedPolicyRequestFaultType.pm diff --git a/onvif/proxy/lib/ONVIF/Analytics/Attributes/actor.pm b/onvif/proxy/lib/ONVIF/Analytics/Attributes/actor.pm new file mode 100644 index 000000000..32ec1b360 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Attributes/actor.pm @@ -0,0 +1,54 @@ + +package ONVIF::Analytics::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::Analytics::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::Analytics::Attributes::actor->new($data); + +Constructor. The following data structure may be passed to new(): + + { value => $value } + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Attributes/contentType.pm b/onvif/proxy/lib/ONVIF/Analytics/Attributes/contentType.pm new file mode 100644 index 000000000..7efcde9bc --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Attributes/contentType.pm @@ -0,0 +1,64 @@ + +package ONVIF::Analytics::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: new($data); + +Constructor. The following data structure may be passed to new(): + + { value => $value } + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Attributes/encodingStyle.pm b/onvif/proxy/lib/ONVIF/Analytics/Attributes/encodingStyle.pm new file mode 100644 index 000000000..7f16b80d3 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Attributes/encodingStyle.pm @@ -0,0 +1,54 @@ + +package ONVIF::Analytics::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::Analytics::Types::encodingStyle +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Attributes::encodingStyle->new($data); + +Constructor. The following data structure may be passed to new(): + + { value => $value } + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Attributes/expectedContentTypes.pm b/onvif/proxy/lib/ONVIF/Analytics/Attributes/expectedContentTypes.pm new file mode 100644 index 000000000..cfcb44a2d --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Attributes/expectedContentTypes.pm @@ -0,0 +1,54 @@ + +package ONVIF::Analytics::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::Analytics::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::Analytics::Attributes::expectedContentTypes->new($data); + +Constructor. The following data structure may be passed to new(): + + { value => $value } + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Attributes/mustUnderstand.pm b/onvif/proxy/lib/ONVIF/Analytics/Attributes/mustUnderstand.pm new file mode 100644 index 000000000..363cec963 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Attributes/mustUnderstand.pm @@ -0,0 +1,64 @@ + +package ONVIF::Analytics::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: new($data); + +Constructor. The following data structure may be passed to new(): + + { value => $value } + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioDecoderConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioDecoderConfiguration.pm new file mode 100644 index 000000000..d0fc89bd0 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioDecoderConfiguration.pm @@ -0,0 +1,58 @@ + +package ONVIF::Analytics::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::Analytics::Types::AudioDecoderConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::AudioDecoderConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioDecoderConfiguration + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioEncoderConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioEncoderConfiguration.pm new file mode 100644 index 000000000..6c0db80d6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioEncoderConfiguration.pm @@ -0,0 +1,72 @@ + +package ONVIF::Analytics::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::Analytics::Types::AudioEncoderConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::AudioEncoderConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioEncoderConfiguration + Encoding => $some_value, # AudioEncoding + Bitrate => $some_value, # int + SampleRate => $some_value, # int + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioOutputConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioOutputConfiguration.pm new file mode 100644 index 000000000..f7c0f7b32 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioOutputConfiguration.pm @@ -0,0 +1,61 @@ + +package ONVIF::Analytics::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::Analytics::Types::AudioOutputConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::AudioOutputConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioOutputConfiguration + OutputToken => $some_value, # ReferenceToken + SendPrimacy => $some_value, # anyURI + OutputLevel => $some_value, # int + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioSourceConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioSourceConfiguration.pm new file mode 100644 index 000000000..d1cb63ff7 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/AudioSourceConfiguration.pm @@ -0,0 +1,59 @@ + +package ONVIF::Analytics::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::Analytics::Types::AudioSourceConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::AudioSourceConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioSourceConfiguration + SourceToken => $some_value, # ReferenceToken + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Body.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Body.pm new file mode 100644 index 000000000..41611b087 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Body.pm @@ -0,0 +1,58 @@ + +package ONVIF::Analytics::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::Analytics::Types::Body +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::Body->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Body + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Capabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Capabilities.pm new file mode 100644 index 000000000..7c134f381 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Capabilities.pm @@ -0,0 +1,58 @@ + +package ONVIF::Analytics::Elements::Capabilities; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/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::Analytics::Types::Capabilities +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Capabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Capabilities from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Capabilities->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Capabilities + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModules.pm new file mode 100644 index 000000000..a0f19cb3b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModules.pm @@ -0,0 +1,143 @@ + +package ONVIF::Analytics::Elements::CreateAnalyticsModules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('CreateAnalyticsModules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %AnalyticsModule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + AnalyticsModule + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'AnalyticsModule' => \%AnalyticsModule_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'AnalyticsModule' => 'AnalyticsModule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::CreateAnalyticsModules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +CreateAnalyticsModules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * AnalyticsModule + + $element->set_AnalyticsModule($data); + $element->get_AnalyticsModule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::CreateAnalyticsModules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModulesResponse.pm new file mode 100644 index 000000000..c23ffecc0 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateAnalyticsModulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::CreateAnalyticsModulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('CreateAnalyticsModulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::CreateAnalyticsModulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +CreateAnalyticsModulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::CreateAnalyticsModulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRules.pm new file mode 100644 index 000000000..d149b29dc --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRules.pm @@ -0,0 +1,143 @@ + +package ONVIF::Analytics::Elements::CreateRules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('CreateRules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %Rule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + Rule + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'Rule' => \%Rule_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'Rule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'Rule' => 'Rule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::CreateRules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +CreateRules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * Rule + + $element->set_Rule($data); + $element->get_Rule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::CreateRules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRulesResponse.pm new file mode 100644 index 000000000..3c28a2165 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/CreateRulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::CreateRulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('CreateRulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::CreateRulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +CreateRulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::CreateRulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModules.pm new file mode 100644 index 000000000..6f977ae23 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModules.pm @@ -0,0 +1,135 @@ + +package ONVIF::Analytics::Elements::DeleteAnalyticsModules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('DeleteAnalyticsModules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %AnalyticsModuleName_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + AnalyticsModuleName + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'AnalyticsModuleName' => \%AnalyticsModuleName_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'AnalyticsModuleName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'AnalyticsModuleName' => 'AnalyticsModuleName', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::DeleteAnalyticsModules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +DeleteAnalyticsModules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * AnalyticsModuleName + + $element->set_AnalyticsModuleName($data); + $element->get_AnalyticsModuleName(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::DeleteAnalyticsModules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModuleName => $some_value, # string + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModulesResponse.pm new file mode 100644 index 000000000..f723a7331 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteAnalyticsModulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::DeleteAnalyticsModulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('DeleteAnalyticsModulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::DeleteAnalyticsModulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +DeleteAnalyticsModulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::DeleteAnalyticsModulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRules.pm new file mode 100644 index 000000000..cc007d5f5 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRules.pm @@ -0,0 +1,135 @@ + +package ONVIF::Analytics::Elements::DeleteRules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('DeleteRules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %RuleName_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + RuleName + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'RuleName' => \%RuleName_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'RuleName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'RuleName' => 'RuleName', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::DeleteRules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +DeleteRules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * RuleName + + $element->set_RuleName($data); + $element->get_RuleName(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::DeleteRules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + RuleName => $some_value, # string + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRulesResponse.pm new file mode 100644 index 000000000..d8b7d5969 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/DeleteRulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::DeleteRulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('DeleteRulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::DeleteRulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +DeleteRulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::DeleteRulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Envelope.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Envelope.pm new file mode 100644 index 000000000..65b60aeb4 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Envelope.pm @@ -0,0 +1,62 @@ + +package ONVIF::Analytics::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::Analytics::Types::Envelope +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::Envelope->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Envelope + Header => { # ONVIF::Analytics::Types::Header + }, + Body => { # ONVIF::Analytics::Types::Body + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Fault.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Fault.pm new file mode 100644 index 000000000..d8903ea39 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Fault.pm @@ -0,0 +1,63 @@ + +package ONVIF::Analytics::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::Analytics::Types::Fault +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::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::Analytics::Elements::Fault->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Fault + faultcode => $some_value, # QName + faultstring => $some_value, # string + faultactor => $some_value, # anyURI + detail => { # ONVIF::Analytics::Types::detail + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModules.pm new file mode 100644 index 000000000..23039ed5d --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModules.pm @@ -0,0 +1,121 @@ + +package ONVIF::Analytics::Elements::GetAnalyticsModules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetAnalyticsModules'); +__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 %ConfigurationToken_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetAnalyticsModules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetAnalyticsModules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetAnalyticsModules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModulesResponse.pm new file mode 100644 index 000000000..01509ac6b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetAnalyticsModulesResponse.pm @@ -0,0 +1,129 @@ + +package ONVIF::Analytics::Elements::GetAnalyticsModulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetAnalyticsModulesResponse'); +__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 %AnalyticsModule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AnalyticsModule + + ) ], + { + 'AnalyticsModule' => \%AnalyticsModule_of, + }, + { + 'AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'AnalyticsModule' => 'AnalyticsModule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetAnalyticsModulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetAnalyticsModulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AnalyticsModule + + $element->set_AnalyticsModule($data); + $element->get_AnalyticsModule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetAnalyticsModulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + + { + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRules.pm new file mode 100644 index 000000000..7d96f0a1c --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRules.pm @@ -0,0 +1,121 @@ + +package ONVIF::Analytics::Elements::GetRules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetRules'); +__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 %ConfigurationToken_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetRules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetRules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetRules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRulesResponse.pm new file mode 100644 index 000000000..510591322 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetRulesResponse.pm @@ -0,0 +1,129 @@ + +package ONVIF::Analytics::Elements::GetRulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetRulesResponse'); +__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 %Rule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Rule + + ) ], + { + 'Rule' => \%Rule_of, + }, + { + 'Rule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'Rule' => 'Rule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetRulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetRulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Rule + + $element->set_Rule($data); + $element->get_Rule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetRulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + + { + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilities.pm new file mode 100644 index 000000000..dd8589e07 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilities.pm @@ -0,0 +1,107 @@ + +package ONVIF::Analytics::Elements::GetServiceCapabilities; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetServiceCapabilities'); +__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::Analytics::Elements::GetServiceCapabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetServiceCapabilities from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetServiceCapabilities->new($data); + +Constructor. The following data structure may be passed to new(): + + { + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilitiesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilitiesResponse.pm new file mode 100644 index 000000000..3361117af --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetServiceCapabilitiesResponse.pm @@ -0,0 +1,122 @@ + +package ONVIF::Analytics::Elements::GetServiceCapabilitiesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetServiceCapabilitiesResponse'); +__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); + +__PACKAGE__->_factory( + [ qw( Capabilities + + ) ], + { + 'Capabilities' => \%Capabilities_of, + }, + { + 'Capabilities' => 'ONVIF::Analytics::Types::Capabilities', + }, + { + + 'Capabilities' => 'Capabilities', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetServiceCapabilitiesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetServiceCapabilitiesResponse from the namespace http://www.onvif.org/ver20/analytics/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::Analytics::Elements::GetServiceCapabilitiesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + + { + Capabilities => { # ONVIF::Analytics::Types::Capabilities + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModules.pm new file mode 100644 index 000000000..d2f6fc924 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModules.pm @@ -0,0 +1,121 @@ + +package ONVIF::Analytics::Elements::GetSupportedAnalyticsModules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetSupportedAnalyticsModules'); +__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 %ConfigurationToken_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetSupportedAnalyticsModules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetSupportedAnalyticsModules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetSupportedAnalyticsModules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModulesResponse.pm new file mode 100644 index 000000000..9962a617c --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedAnalyticsModulesResponse.pm @@ -0,0 +1,138 @@ + +package ONVIF::Analytics::Elements::GetSupportedAnalyticsModulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetSupportedAnalyticsModulesResponse'); +__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 %SupportedAnalyticsModules_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( SupportedAnalyticsModules + + ) ], + { + 'SupportedAnalyticsModules' => \%SupportedAnalyticsModules_of, + }, + { + 'SupportedAnalyticsModules' => 'ONVIF::Analytics::Types::SupportedAnalyticsModules', + }, + { + + 'SupportedAnalyticsModules' => 'SupportedAnalyticsModules', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetSupportedAnalyticsModulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetSupportedAnalyticsModulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * SupportedAnalyticsModules + + $element->set_SupportedAnalyticsModules($data); + $element->get_SupportedAnalyticsModules(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetSupportedAnalyticsModulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + + { + SupportedAnalyticsModules => { # ONVIF::Analytics::Types::SupportedAnalyticsModules + AnalyticsModuleContentSchemaLocation => $some_value, # anyURI + AnalyticsModuleDescription => { # ONVIF::Analytics::Types::ConfigDescription + Parameters => { # ONVIF::Analytics::Types::ItemListDescription + SimpleItemDescription => , + ElementItemDescription => , + Extension => { # ONVIF::Analytics::Types::ItemListDescriptionExtension + }, + }, + Messages => { + ParentTopic => $some_value, # string + }, + Extension => { # ONVIF::Analytics::Types::ConfigDescriptionExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::SupportedAnalyticsModulesExtension + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRules.pm new file mode 100644 index 000000000..7dfd0aa7d --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRules.pm @@ -0,0 +1,121 @@ + +package ONVIF::Analytics::Elements::GetSupportedRules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetSupportedRules'); +__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 %ConfigurationToken_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetSupportedRules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetSupportedRules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetSupportedRules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRulesResponse.pm new file mode 100644 index 000000000..c23b26b6b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/GetSupportedRulesResponse.pm @@ -0,0 +1,138 @@ + +package ONVIF::Analytics::Elements::GetSupportedRulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('GetSupportedRulesResponse'); +__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 %SupportedRules_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( SupportedRules + + ) ], + { + 'SupportedRules' => \%SupportedRules_of, + }, + { + 'SupportedRules' => 'ONVIF::Analytics::Types::SupportedRules', + }, + { + + 'SupportedRules' => 'SupportedRules', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::GetSupportedRulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +GetSupportedRulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * SupportedRules + + $element->set_SupportedRules($data); + $element->get_SupportedRules(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::GetSupportedRulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + + { + SupportedRules => { # ONVIF::Analytics::Types::SupportedRules + RuleContentSchemaLocation => $some_value, # anyURI + RuleDescription => { # ONVIF::Analytics::Types::ConfigDescription + Parameters => { # ONVIF::Analytics::Types::ItemListDescription + SimpleItemDescription => , + ElementItemDescription => , + Extension => { # ONVIF::Analytics::Types::ItemListDescriptionExtension + }, + }, + Messages => { + ParentTopic => $some_value, # string + }, + Extension => { # ONVIF::Analytics::Types::ConfigDescriptionExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::SupportedRulesExtension + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Header.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Header.pm new file mode 100644 index 000000000..4f64e72ba --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Header.pm @@ -0,0 +1,58 @@ + +package ONVIF::Analytics::Elements::Header; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' } + +__PACKAGE__->__set_name('Header'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::Header +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Header + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Header from the namespace http://schemas.xmlsoap.org/soap/envelope/. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Header->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Header + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Include.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Include.pm new file mode 100644 index 000000000..9db022058 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Include.pm @@ -0,0 +1,58 @@ + +package ONVIF::Analytics::Elements::Include; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.w3.org/2004/08/xop/include' } + +__PACKAGE__->__set_name('Include'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::Include +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Include + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Include from the namespace http://www.w3.org/2004/08/xop/include. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Include->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Include + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Message.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Message.pm new file mode 100644 index 000000000..d71b8e03c --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Message.pm @@ -0,0 +1,207 @@ + +package ONVIF::Analytics::Elements::Message; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('Message'); +__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 = 'ONVIF::Analytics::Elements::Message::XmlAttr'; + +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 %Source_of :ATTR(:get); +my %Key_of :ATTR(:get); +my %Data_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Source + Key + Data + Extension + + ) ], + { + 'Source' => \%Source_of, + 'Key' => \%Key_of, + 'Data' => \%Data_of, + 'Extension' => \%Extension_of, + }, + { + 'Source' => 'ONVIF::Analytics::Types::ItemList', + 'Key' => 'ONVIF::Analytics::Types::ItemList', + 'Data' => 'ONVIF::Analytics::Types::ItemList', + 'Extension' => 'ONVIF::Analytics::Types::MessageExtension', + }, + { + + 'Source' => 'Source', + 'Key' => 'Key', + 'Data' => 'Data', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Elements::Message::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %UtcTime_of :ATTR(:get); +my %PropertyOperation_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + UtcTime + PropertyOperation + ) ], + { + + UtcTime => \%UtcTime_of, + + PropertyOperation => \%PropertyOperation_of, + }, + { + UtcTime => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime', + PropertyOperation => 'ONVIF::Analytics::Types::PropertyOperation', + } +); + +} # end BLOCK + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Message + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Message from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Source + + $element->set_Source($data); + $element->get_Source(); + + + + +=item * Key + + $element->set_Key($data); + $element->get_Key(); + + + + +=item * Data + + $element->set_Data($data); + $element->get_Data(); + + + + +=item * Extension + + $element->set_Extension($data); + $element->get_Extension(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Message->new($data); + +Constructor. The following data structure may be passed to new(): + + { + Source => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + Key => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + Data => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::MessageExtension + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataConfiguration.pm new file mode 100644 index 000000000..24662efd0 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataConfiguration.pm @@ -0,0 +1,89 @@ + +package ONVIF::Analytics::Elements::MetadataConfiguration; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('MetadataConfiguration'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::MetadataConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::MetadataConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +MetadataConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::MetadataConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::MetadataConfiguration + PTZStatus => { # ONVIF::Analytics::Types::PTZFilter + Status => $some_value, # boolean + Position => $some_value, # boolean + }, + Analytics => $some_value, # boolean + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + AnalyticsEngineConfiguration => { # ONVIF::Analytics::Types::AnalyticsEngineConfiguration + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::MetadataConfigurationExtension + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataStream.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataStream.pm new file mode 100644 index 000000000..eb0831001 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/MetadataStream.pm @@ -0,0 +1,192 @@ + +package ONVIF::Analytics::Elements::MetadataStream; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('MetadataStream'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::MetadataStream +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::MetadataStream + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +MetadataStream from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::MetadataStream->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::MetadataStream + # One of the following elements. + # No occurance checks yet, so be sure to pass just one... + VideoAnalytics => { # ONVIF::Analytics::Types::VideoAnalyticsStream + # One of the following elements. + # No occurance checks yet, so be sure to pass just one... + Frame => { # ONVIF::Analytics::Types::Frame + PTZStatus => { # ONVIF::Analytics::Types::PTZStatus + Position => { # ONVIF::Analytics::Types::PTZVector + PanTilt => , + Zoom => , + }, + MoveStatus => { # ONVIF::Analytics::Types::PTZMoveStatus + PanTilt => $some_value, # MoveStatus + Zoom => $some_value, # MoveStatus + }, + Error => $some_value, # string + UtcTime => $some_value, # dateTime + }, + Transformation => { # ONVIF::Analytics::Types::Transformation + Translate => , + Scale => , + Extension => { # ONVIF::Analytics::Types::TransformationExtension + }, + }, + Object => { # ONVIF::Analytics::Types::Object + Appearance => { # ONVIF::Analytics::Types::Appearance + Transformation => { # ONVIF::Analytics::Types::Transformation + Translate => , + Scale => , + Extension => { # ONVIF::Analytics::Types::TransformationExtension + }, + }, + Shape => { # ONVIF::Analytics::Types::ShapeDescriptor + BoundingBox => , + CenterOfGravity => , + Polygon => { # ONVIF::Analytics::Types::Polygon + Point => , + }, + Extension => { # ONVIF::Analytics::Types::ShapeDescriptorExtension + }, + }, + Color => { # ONVIF::Analytics::Types::ColorDescriptor + ColorCluster => { + Color => , + Weight => $some_value, # float + Covariance => , + }, + Extension => { # ONVIF::Analytics::Types::ColorDescriptorExtension + }, + }, + Class => { # ONVIF::Analytics::Types::ClassDescriptor + ClassCandidate => { + Type => $some_value, # ClassType + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension + OtherTypes => { # ONVIF::Analytics::Types::OtherType + Type => $some_value, # string + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension2 + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AppearanceExtension + }, + }, + Behaviour => { # ONVIF::Analytics::Types::Behaviour + Removed => { + }, + Idle => { + }, + Extension => { # ONVIF::Analytics::Types::BehaviourExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::ObjectExtension + }, + }, + ObjectTree => { # ONVIF::Analytics::Types::ObjectTree + Rename => { # ONVIF::Analytics::Types::Rename + from => , + to => , + }, + Split => { # ONVIF::Analytics::Types::Split + from => , + to => , + }, + Merge => { # ONVIF::Analytics::Types::Merge + from => , + to => , + }, + Delete => , + Extension => { # ONVIF::Analytics::Types::ObjectTreeExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::FrameExtension + MotionInCells => { # ONVIF::Analytics::Types::MotionInCells + }, + Extension => { # ONVIF::Analytics::Types::FrameExtension2 + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::VideoAnalyticsStreamExtension + }, + }, + PTZ => { # ONVIF::Analytics::Types::PTZStream + # One of the following elements. + # No occurance checks yet, so be sure to pass just one... + PTZStatus => { # ONVIF::Analytics::Types::PTZStatus + Position => { # ONVIF::Analytics::Types::PTZVector + PanTilt => , + Zoom => , + }, + MoveStatus => { # ONVIF::Analytics::Types::PTZMoveStatus + PanTilt => $some_value, # MoveStatus + Zoom => $some_value, # MoveStatus + }, + Error => $some_value, # string + UtcTime => $some_value, # dateTime + }, + Extension => { # ONVIF::Analytics::Types::PTZStreamExtension + }, + }, + Event => $some_value, # anyType + Extension => { # ONVIF::Analytics::Types::MetadataStreamExtension + AudioAnalyticsStream => { # ONVIF::Analytics::Types::AudioAnalyticsStream + AudioDescriptor => { # ONVIF::Analytics::Types::AudioDescriptor + }, + Extension => { # ONVIF::Analytics::Types::AudioAnalyticsStreamExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::MetadataStreamExtension2 + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModules.pm new file mode 100644 index 000000000..b1115dbe6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModules.pm @@ -0,0 +1,143 @@ + +package ONVIF::Analytics::Elements::ModifyAnalyticsModules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('ModifyAnalyticsModules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %AnalyticsModule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + AnalyticsModule + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'AnalyticsModule' => \%AnalyticsModule_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'AnalyticsModule' => 'AnalyticsModule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::ModifyAnalyticsModules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +ModifyAnalyticsModules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * AnalyticsModule + + $element->set_AnalyticsModule($data); + $element->get_AnalyticsModule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::ModifyAnalyticsModules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModulesResponse.pm new file mode 100644 index 000000000..50d373978 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyAnalyticsModulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::ModifyAnalyticsModulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('ModifyAnalyticsModulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::ModifyAnalyticsModulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +ModifyAnalyticsModulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::ModifyAnalyticsModulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRules.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRules.pm new file mode 100644 index 000000000..cda8c66d6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRules.pm @@ -0,0 +1,143 @@ + +package ONVIF::Analytics::Elements::ModifyRules; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('ModifyRules'); +__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 %ConfigurationToken_of :ATTR(:get); +my %Rule_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ConfigurationToken + Rule + + ) ], + { + 'ConfigurationToken' => \%ConfigurationToken_of, + 'Rule' => \%Rule_of, + }, + { + 'ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'Rule' => 'ONVIF::Analytics::Types::Config', + }, + { + + 'ConfigurationToken' => 'ConfigurationToken', + 'Rule' => 'Rule', + } +); + +} # end BLOCK + + + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::ModifyRules + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +ModifyRules from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ConfigurationToken + + $element->set_ConfigurationToken($data); + $element->get_ConfigurationToken(); + + + + +=item * Rule + + $element->set_Rule($data); + $element->get_Rule(); + + + + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::ModifyRules->new($data); + +Constructor. The following data structure may be passed to new(): + + { + ConfigurationToken => $some_value, # ReferenceToken + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRulesResponse.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRulesResponse.pm new file mode 100644 index 000000000..0efce26d5 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/ModifyRulesResponse.pm @@ -0,0 +1,90 @@ + +package ONVIF::Analytics::Elements::ModifyRulesResponse; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' } + +__PACKAGE__->__set_name('ModifyRulesResponse'); +__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; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + + + + +} # end of BLOCK + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::ModifyRulesResponse + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +ModifyRulesResponse from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + + +=head1 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + +=back + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::ModifyRulesResponse->new($data); + +Constructor. The following data structure may be passed to new(): + +, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/PTZConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/PTZConfiguration.pm new file mode 100644 index 000000000..40870ad10 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/PTZConfiguration.pm @@ -0,0 +1,106 @@ + +package ONVIF::Analytics::Elements::PTZConfiguration; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('PTZConfiguration'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::PTZConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::PTZConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +PTZConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::PTZConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::PTZConfiguration + NodeToken => $some_value, # ReferenceToken + DefaultAbsolutePantTiltPositionSpace => $some_value, # anyURI + DefaultAbsoluteZoomPositionSpace => $some_value, # anyURI + DefaultRelativePanTiltTranslationSpace => $some_value, # anyURI + DefaultRelativeZoomTranslationSpace => $some_value, # anyURI + DefaultContinuousPanTiltVelocitySpace => $some_value, # anyURI + DefaultContinuousZoomVelocitySpace => $some_value, # anyURI + DefaultPTZSpeed => { # ONVIF::Analytics::Types::PTZSpeed + PanTilt => , + Zoom => , + }, + DefaultPTZTimeout => $some_value, # duration + PanTiltLimits => { # ONVIF::Analytics::Types::PanTiltLimits + Range => { # ONVIF::Analytics::Types::Space2DDescription + URI => $some_value, # anyURI + XRange => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + YRange => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + }, + ZoomLimits => { # ONVIF::Analytics::Types::ZoomLimits + Range => { # ONVIF::Analytics::Types::Space1DDescription + URI => $some_value, # anyURI + XRange => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::PTZConfigurationExtension + PTControlDirection => { # ONVIF::Analytics::Types::PTControlDirection + EFlip => { # ONVIF::Analytics::Types::EFlip + Mode => $some_value, # EFlipMode + }, + Reverse => { # ONVIF::Analytics::Types::Reverse + Mode => $some_value, # ReverseMode + }, + Extension => { # ONVIF::Analytics::Types::PTControlDirectionExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::PTZConfigurationExtension2 + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Polygon.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Polygon.pm new file mode 100644 index 000000000..4d4ff9f05 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Polygon.pm @@ -0,0 +1,59 @@ + +package ONVIF::Analytics::Elements::Polygon; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('Polygon'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::Polygon +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Polygon + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Polygon from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Polygon->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Polygon + Point => , + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/Polyline.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/Polyline.pm new file mode 100644 index 000000000..9948d4835 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/Polyline.pm @@ -0,0 +1,59 @@ + +package ONVIF::Analytics::Elements::Polyline; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('Polyline'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::Polyline +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::Polyline + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +Polyline from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::Polyline->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Polyline + Point => , + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoAnalyticsConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoAnalyticsConfiguration.pm new file mode 100644 index 000000000..147929963 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoAnalyticsConfiguration.pm @@ -0,0 +1,84 @@ + +package ONVIF::Analytics::Elements::VideoAnalyticsConfiguration; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('VideoAnalyticsConfiguration'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::VideoAnalyticsConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::VideoAnalyticsConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +VideoAnalyticsConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::VideoAnalyticsConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::VideoAnalyticsConfiguration + AnalyticsEngineConfiguration => { # ONVIF::Analytics::Types::AnalyticsEngineConfiguration + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + }, + RuleEngineConfiguration => { # ONVIF::Analytics::Types::RuleEngineConfiguration + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::RuleEngineConfigurationExtension + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoEncoderConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoEncoderConfiguration.pm new file mode 100644 index 000000000..7b0759d9c --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoEncoderConfiguration.pm @@ -0,0 +1,88 @@ + +package ONVIF::Analytics::Elements::VideoEncoderConfiguration; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('VideoEncoderConfiguration'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::VideoEncoderConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::VideoEncoderConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +VideoEncoderConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::VideoEncoderConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::VideoEncoderConfiguration + Encoding => $some_value, # VideoEncoding + Resolution => { # ONVIF::Analytics::Types::VideoResolution + Width => $some_value, # int + Height => $some_value, # int + }, + Quality => $some_value, # float + RateControl => { # ONVIF::Analytics::Types::VideoRateControl + FrameRateLimit => $some_value, # int + EncodingInterval => $some_value, # int + BitrateLimit => $some_value, # int + }, + MPEG4 => { # ONVIF::Analytics::Types::Mpeg4Configuration + GovLength => $some_value, # int + Mpeg4Profile => $some_value, # Mpeg4Profile + }, + H264 => { # ONVIF::Analytics::Types::H264Configuration + GovLength => $some_value, # int + H264Profile => $some_value, # H264Profile + }, + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoSourceConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoSourceConfiguration.pm new file mode 100644 index 000000000..50fe94f88 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Elements/VideoSourceConfiguration.pm @@ -0,0 +1,70 @@ + +package ONVIF::Analytics::Elements::VideoSourceConfiguration; +use strict; +use warnings; + +{ # BLOCK to scope variables + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' } + +__PACKAGE__->__set_name('VideoSourceConfiguration'); +__PACKAGE__->__set_nillable(); +__PACKAGE__->__set_minOccurs(); +__PACKAGE__->__set_maxOccurs(); +__PACKAGE__->__set_ref(); +use base qw( + SOAP::WSDL::XSD::Typelib::Element + ONVIF::Analytics::Types::VideoSourceConfiguration +); + +} + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Elements::VideoSourceConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined element +VideoSourceConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + + +=head1 METHODS + +=head2 new + + my $element = ONVIF::Analytics::Elements::VideoSourceConfiguration->new($data); + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::VideoSourceConfiguration + SourceToken => $some_value, # ReferenceToken + Bounds => , + Extension => { # ONVIF::Analytics::Types::VideoSourceConfigurationExtension + Rotate => { # ONVIF::Analytics::Types::Rotate + Mode => $some_value, # RotateMode + Degree => $some_value, # int + Extension => { # ONVIF::Analytics::Types::RotateExtension + }, + }, + Extension => { # ONVIF::Analytics::Types::VideoSourceConfigurationExtension2 + }, + }, + }, + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/AnalyticsEnginePort.pm b/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/AnalyticsEnginePort.pm new file mode 100644 index 000000000..481d254ce --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/AnalyticsEnginePort.pm @@ -0,0 +1,338 @@ +package ONVIF::Analytics::Interfaces::Analytics::AnalyticsEnginePort; +use strict; +use warnings; +use Class::Std::Fast::Storable; +use Scalar::Util qw(blessed); +use base qw(SOAP::WSDL::Client::Base); + +# only load if it hasn't been loaded before +require ONVIF::Analytics::Typemaps::Analytics + if not ONVIF::Analytics::Typemaps::Analytics->can('get_class'); + +sub START { + $_[0]->set_proxy('http://www.examples.com/Analytics/') if not $_[2]->{proxy}; + $_[0]->set_class_resolver('ONVIF::Analytics::Typemaps::Analytics') + if not $_[2]->{class_resolver}; + + $_[0]->set_prefix($_[2]->{use_prefix}) if exists $_[2]->{use_prefix}; +} + +sub GetServiceCapabilities { + my ($self, $body, $header) = @_; + die "GetServiceCapabilities must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'GetServiceCapabilities', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/GetServiceCapabilities', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::GetServiceCapabilities )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub GetSupportedAnalyticsModules { + my ($self, $body, $header) = @_; + die "GetSupportedAnalyticsModules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'GetSupportedAnalyticsModules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/GetSupportedAnalyticsModules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::GetSupportedAnalyticsModules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub CreateAnalyticsModules { + my ($self, $body, $header) = @_; + die "CreateAnalyticsModules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'CreateAnalyticsModules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/CreateAnalyticsModules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::CreateAnalyticsModules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub DeleteAnalyticsModules { + my ($self, $body, $header) = @_; + die "DeleteAnalyticsModules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'DeleteAnalyticsModules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/DeleteAnalyticsModules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::DeleteAnalyticsModules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub GetAnalyticsModules { + my ($self, $body, $header) = @_; + die "GetAnalyticsModules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'GetAnalyticsModules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/GetAnalyticsModules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::GetAnalyticsModules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub ModifyAnalyticsModules { + my ($self, $body, $header) = @_; + die "ModifyAnalyticsModules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'ModifyAnalyticsModules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/ModifyAnalyticsModules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::ModifyAnalyticsModules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + + + +1; + + + +__END__ + +=pod + +=head1 NAME + +ONVIF::Analytics::Interfaces::Analytics::AnalyticsEnginePort - SOAP Interface for the Analytics Web Service + +=head1 SYNOPSIS + + use ONVIF::Analytics::Interfaces::Analytics::AnalyticsEnginePort; + my $interface = ONVIF::Analytics::Interfaces::Analytics::AnalyticsEnginePort->new(); + + my $response; + $response = $interface->GetServiceCapabilities(); + $response = $interface->GetSupportedAnalyticsModules(); + $response = $interface->CreateAnalyticsModules(); + $response = $interface->DeleteAnalyticsModules(); + $response = $interface->GetAnalyticsModules(); + $response = $interface->ModifyAnalyticsModules(); + + + +=head1 DESCRIPTION + +SOAP Interface for the Analytics web service +located at http://www.examples.com/Analytics/. + +=head1 SERVICE Analytics + + + +=head2 Port AnalyticsEnginePort + + + +=head1 METHODS + +=head2 General methods + +=head3 new + +Constructor. + +All arguments are forwarded to L. + +=head2 SOAP Service methods + +Method synopsis is displayed with hash refs as parameters. + +The commented class names in the method's parameters denote that objects +of the corresponding class can be passed instead of the marked hash ref. + +You may pass any combination of objects, hash and list refs to these +methods, as long as you meet the structure. + +List items (i.e. multiple occurences) are not displayed in the synopsis. +You may generally pass a list ref of hash refs (or objects) instead of a hash +ref - this may result in invalid XML if used improperly, though. Note that +SOAP::WSDL always expects list references at maximum depth position. + +XML attributes are not displayed in this synopsis and cannot be set using +hash refs. See the respective class' documentation for additional information. + + + +=head3 GetServiceCapabilities + +Returns the capabilities of the analytics service. The result is returned in a typed answer. + +Returns a L object. + + $response = $interface->GetServiceCapabilities( { + },, + ); + +=head3 GetSupportedAnalyticsModules + +List all analytics modules that are supported by the given VideoAnalyticsConfiguration. The result of this method may depend on the overall Video analytics configuration of the device, which is available via the current set of profiles. + +Returns a L object. + + $response = $interface->GetSupportedAnalyticsModules( { + ConfigurationToken => $some_value, # ReferenceToken + },, + ); + +=head3 CreateAnalyticsModules + +The device shall ensure that a corresponding analytics engine starts operation when a client subscribes directly or indirectly for events produced by the analytics or rule engine or when a client requests the corresponding scene description stream. An analytics module must be attached to a Video source using the media profiles before it can be used. In case differing analytics configurations are attached to the same profile it is undefined which of the analytics module configuration becomes active if no stream is activated or multiple streams with different profiles are activated at the same time. + +Returns a L object. + + $response = $interface->CreateAnalyticsModules( { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + },, + ); + +=head3 DeleteAnalyticsModules + + + +Returns a L object. + + $response = $interface->DeleteAnalyticsModules( { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModuleName => $some_value, # string + },, + ); + +=head3 GetAnalyticsModules + +List the currently assigned set of analytics modules of a VideoAnalyticsConfiguration. + +Returns a L object. + + $response = $interface->GetAnalyticsModules( { + ConfigurationToken => $some_value, # ReferenceToken + },, + ); + +=head3 ModifyAnalyticsModules + +Modify the settings of one or more analytics modules of a VideoAnalyticsConfiguration. The modules are referenced by their names. It is allowed to pass only a subset to be modified. + +Returns a L object. + + $response = $interface->ModifyAnalyticsModules( { + ConfigurationToken => $some_value, # ReferenceToken + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + },, + ); + + + +=head1 AUTHOR + +Generated by SOAP::WSDL on Tue Jul 15 19:19:50 2014 + +=cut diff --git a/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/RuleEnginePort.pm b/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/RuleEnginePort.pm new file mode 100644 index 000000000..835e119ff --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Interfaces/Analytics/RuleEnginePort.pm @@ -0,0 +1,301 @@ +package ONVIF::Analytics::Interfaces::Analytics::RuleEnginePort; +use strict; +use warnings; +use Class::Std::Fast::Storable; +use Scalar::Util qw(blessed); +use base qw(SOAP::WSDL::Client::Base); + +# only load if it hasn't been loaded before +require ONVIF::Analytics::Typemaps::Analytics + if not ONVIF::Analytics::Typemaps::Analytics->can('get_class'); + +sub START { + $_[0]->set_proxy('http://www.examples.com/Analytics/') if not $_[2]->{proxy}; + $_[0]->set_class_resolver('ONVIF::Analytics::Typemaps::Analytics') + if not $_[2]->{class_resolver}; + + $_[0]->set_prefix($_[2]->{use_prefix}) if exists $_[2]->{use_prefix}; +} + +sub GetSupportedRules { + my ($self, $body, $header) = @_; + die "GetSupportedRules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'GetSupportedRules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/GetSupportedRules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::GetSupportedRules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub CreateRules { + my ($self, $body, $header) = @_; + die "CreateRules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'CreateRules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/CreateRules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::CreateRules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub DeleteRules { + my ($self, $body, $header) = @_; + die "DeleteRules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'DeleteRules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/DeleteRules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::DeleteRules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub GetRules { + my ($self, $body, $header) = @_; + die "GetRules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'GetRules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/GetRules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::GetRules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + +sub ModifyRules { + my ($self, $body, $header) = @_; + die "ModifyRules must be called as object method (\$self is <$self>)" if not blessed($self); + return $self->SUPER::call({ + operation => 'ModifyRules', + soap_action => 'http://www.onvif.org/ver20/analytics/wsdl/ModifyRules', + style => 'document', + body => { + + + 'use' => 'literal', + namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', + encodingStyle => '', + parts => [qw( ONVIF::Analytics::Elements::ModifyRules )], + + }, + header => { + + }, + headerfault => { + + } + }, $body, $header); +} + + + + +1; + + + +__END__ + +=pod + +=head1 NAME + +ONVIF::Analytics::Interfaces::Analytics::RuleEnginePort - SOAP Interface for the Analytics Web Service + +=head1 SYNOPSIS + + use ONVIF::Analytics::Interfaces::Analytics::RuleEnginePort; + my $interface = ONVIF::Analytics::Interfaces::Analytics::RuleEnginePort->new(); + + my $response; + $response = $interface->GetSupportedRules(); + $response = $interface->CreateRules(); + $response = $interface->DeleteRules(); + $response = $interface->GetRules(); + $response = $interface->ModifyRules(); + + + +=head1 DESCRIPTION + +SOAP Interface for the Analytics web service +located at http://www.examples.com/Analytics/. + +=head1 SERVICE Analytics + + + +=head2 Port RuleEnginePort + + + +=head1 METHODS + +=head2 General methods + +=head3 new + +Constructor. + +All arguments are forwarded to L. + +=head2 SOAP Service methods + +Method synopsis is displayed with hash refs as parameters. + +The commented class names in the method's parameters denote that objects +of the corresponding class can be passed instead of the marked hash ref. + +You may pass any combination of objects, hash and list refs to these +methods, as long as you meet the structure. + +List items (i.e. multiple occurences) are not displayed in the synopsis. +You may generally pass a list ref of hash refs (or objects) instead of a hash +ref - this may result in invalid XML if used improperly, though. Note that +SOAP::WSDL always expects list references at maximum depth position. + +XML attributes are not displayed in this synopsis and cannot be set using +hash refs. See the respective class' documentation for additional information. + + + +=head3 GetSupportedRules + +List all rules that are supported by the given VideoAnalyticsConfiguration. The result of this method may depend on the overall Video analytics configuration of the device, which is available via the current set of profiles. + +Returns a L object. + + $response = $interface->GetSupportedRules( { + ConfigurationToken => $some_value, # ReferenceToken + },, + ); + +=head3 CreateRules + +GetCompatibleVideoAnalyticsConfigurations. + +Returns a L object. + + $response = $interface->CreateRules( { + ConfigurationToken => $some_value, # ReferenceToken + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + },, + ); + +=head3 DeleteRules + +Remove one or more rules from a VideoAnalyticsConfiguration. + +Returns a L object. + + $response = $interface->DeleteRules( { + ConfigurationToken => $some_value, # ReferenceToken + RuleName => $some_value, # string + },, + ); + +=head3 GetRules + +List the currently assigned set of rules of a VideoAnalyticsConfiguration. + +Returns a L object. + + $response = $interface->GetRules( { + ConfigurationToken => $some_value, # ReferenceToken + },, + ); + +=head3 ModifyRules + +Modify one or more rules of a VideoAnalyticsConfiguration. The rules are referenced by their names. + +Returns a L object. + + $response = $interface->ModifyRules( { + ConfigurationToken => $some_value, # ReferenceToken + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + },, + ); + + + +=head1 AUTHOR + +Generated by SOAP::WSDL on Tue Jul 15 19:19:50 2014 + +=cut diff --git a/onvif/proxy/lib/ONVIF/Analytics/Typemaps/Analytics.pm b/onvif/proxy/lib/ONVIF/Analytics/Typemaps/Analytics.pm new file mode 100644 index 000000000..7b2dfb989 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Typemaps/Analytics.pm @@ -0,0 +1,154 @@ + +package ONVIF::Analytics::Typemaps::Analytics; +use strict; +use warnings; + +our $typemap_1 = { + 'ModifyAnalyticsModules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription' => 'ONVIF::Analytics::Types::ConfigDescription', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Data' => 'ONVIF::Analytics::Types::ItemListDescription', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Extension' => 'ONVIF::Analytics::Types::ConfigDescriptionExtension', + 'ModifyRules/Rule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'DeleteRules/RuleName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'CreateAnalyticsModules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'CreateAnalyticsModules/AnalyticsModule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'ModifyAnalyticsModules/AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + 'GetSupportedRulesResponse/SupportedRules/Extension' => 'ONVIF::Analytics::Types::SupportedRulesExtension', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/ParentTopic' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'CreateRules/Rule' => 'ONVIF::Analytics::Types::Config', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Parameters/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'ModifyAnalyticsModules/AnalyticsModule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'CreateRules/Rule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'GetAnalyticsModulesResponse/AnalyticsModule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Source/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Key' => 'ONVIF::Analytics::Types::ItemListDescription', + 'GetAnalyticsModulesResponse/AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + 'GetServiceCapabilitiesResponse/Capabilities' => 'ONVIF::Analytics::Types::Capabilities', + 'ModifyRules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Data/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'GetRulesResponse/Rule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Data/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Key/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Parameters/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'ModifyAnalyticsModulesResponse' => 'ONVIF::Analytics::Elements::ModifyAnalyticsModulesResponse', + 'GetRulesResponse/Rule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'GetSupportedAnalyticsModulesResponse' => 'ONVIF::Analytics::Elements::GetSupportedAnalyticsModulesResponse', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Key/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'CreateRules/Rule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'GetSupportedAnalyticsModules' => 'ONVIF::Analytics::Elements::GetSupportedAnalyticsModules', + 'DeleteAnalyticsModules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'Fault/faultactor' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleContentSchemaLocation' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'DeleteAnalyticsModulesResponse' => 'ONVIF::Analytics::Elements::DeleteAnalyticsModulesResponse', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Data' => 'ONVIF::Analytics::Types::ItemListDescription', + 'Fault/faultstring' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'ModifyRules/Rule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Parameters' => 'ONVIF::Analytics::Types::ItemListDescription', + 'Fault' => 'SOAP::WSDL::SOAP::Typelib::Fault11', + 'CreateRules' => 'ONVIF::Analytics::Elements::CreateRules', + 'ModifyRules/Rule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'CreateRulesResponse' => 'ONVIF::Analytics::Elements::CreateRulesResponse', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Key/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Extension' => 'ONVIF::Analytics::Types::ConfigDescriptionExtension', + 'GetAnalyticsModules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'DeleteRules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Key/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages' => 'ONVIF::Analytics::Types::ConfigDescription::_Messages', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Key/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'DeleteAnalyticsModules/AnalyticsModuleName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'DeleteAnalyticsModules' => 'ONVIF::Analytics::Elements::DeleteAnalyticsModules', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Data/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/Extension' => 'ONVIF::Analytics::Types::SupportedAnalyticsModulesExtension', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/ParentTopic' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Parameters' => 'ONVIF::Analytics::Types::ItemListDescription', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules' => 'ONVIF::Analytics::Types::SupportedAnalyticsModules', + 'GetSupportedAnalyticsModules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Parameters/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'ModifyAnalyticsModules/AnalyticsModule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription' => 'ONVIF::Analytics::Types::ConfigDescription', + 'GetSupportedRulesResponse/SupportedRules' => 'ONVIF::Analytics::Types::SupportedRules', + 'GetSupportedRules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Data/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Data/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'GetServiceCapabilities' => 'ONVIF::Analytics::Elements::GetServiceCapabilities', + 'ModifyAnalyticsModules/AnalyticsModule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Source/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Source' => 'ONVIF::Analytics::Types::ItemListDescription', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Source/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetAnalyticsModulesResponse' => 'ONVIF::Analytics::Elements::GetAnalyticsModulesResponse', + 'GetRulesResponse/Rule/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListExtension', + 'ModifyRules' => 'ONVIF::Analytics::Elements::ModifyRules', + 'GetRulesResponse/Rule' => 'ONVIF::Analytics::Types::Config', + 'CreateRules/Rule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'GetRules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetAnalyticsModulesResponse/AnalyticsModule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Source' => 'ONVIF::Analytics::Types::ItemListDescription', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Extension' => 'ONVIF::Analytics::Types::MessageDescriptionExtension', + 'GetAnalyticsModulesResponse/AnalyticsModule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'CreateRules/Rule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'GetRulesResponse' => 'ONVIF::Analytics::Elements::GetRulesResponse', + 'GetSupportedRules' => 'ONVIF::Analytics::Elements::GetSupportedRules', + 'GetRulesResponse/Rule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'ModifyRulesResponse' => 'ONVIF::Analytics::Elements::ModifyRulesResponse', + 'GetAnalyticsModules' => 'ONVIF::Analytics::Elements::GetAnalyticsModules', + 'ModifyRules/Rule' => 'ONVIF::Analytics::Types::Config', + 'DeleteRulesResponse' => 'ONVIF::Analytics::Elements::DeleteRulesResponse', + 'GetServiceCapabilitiesResponse' => 'ONVIF::Analytics::Elements::GetServiceCapabilitiesResponse', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Data/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'DeleteRules' => 'ONVIF::Analytics::Elements::DeleteRules', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages' => 'ONVIF::Analytics::Types::ConfigDescription::_Messages', + 'ModifyAnalyticsModules' => 'ONVIF::Analytics::Elements::ModifyAnalyticsModules', + 'GetSupportedRulesResponse' => 'ONVIF::Analytics::Elements::GetSupportedRulesResponse', + 'CreateAnalyticsModules/AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Source/SimpleItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_SimpleItemDescription', + 'ModifyAnalyticsModules/AnalyticsModule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'GetAnalyticsModulesResponse/AnalyticsModule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Parameters/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'Fault/faultcode' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Extension' => 'ONVIF::Analytics::Types::MessageDescriptionExtension', + 'CreateAnalyticsModules/AnalyticsModule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'CreateAnalyticsModulesResponse' => 'ONVIF::Analytics::Elements::CreateAnalyticsModulesResponse', + 'CreateRules/ConfigurationToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Source/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'CreateAnalyticsModules/AnalyticsModule/Parameters' => 'ONVIF::Analytics::Types::ItemList', + 'CreateAnalyticsModules' => 'ONVIF::Analytics::Elements::CreateAnalyticsModules', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Source/Extension' => 'ONVIF::Analytics::Types::ItemListDescriptionExtension', + 'GetSupportedAnalyticsModulesResponse/SupportedAnalyticsModules/AnalyticsModuleDescription/Messages/Key/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'CreateAnalyticsModules/AnalyticsModule/Parameters/SimpleItem' => 'ONVIF::Analytics::Types::ItemList::_SimpleItem', + 'ModifyRules/Rule/Parameters/ElementItem' => 'ONVIF::Analytics::Types::ItemList::_ElementItem', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Parameters/ElementItemDescription' => 'ONVIF::Analytics::Types::ItemListDescription::_ElementItemDescription', + 'GetRules' => 'ONVIF::Analytics::Elements::GetRules', + 'GetSupportedRulesResponse/SupportedRules/RuleContentSchemaLocation' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'GetSupportedRulesResponse/SupportedRules/RuleDescription/Messages/Key' => 'ONVIF::Analytics::Types::ItemListDescription' + }; +; + +sub get_class { + my $name = join '/', @{ $_[1] }; + return $typemap_1->{ $name }; +} + +sub get_typemap { + return $typemap_1; +} + +1; + +__END__ + +__END__ + +=pod + +=head1 NAME + +ONVIF::Analytics::Typemaps::Analytics - typemap for Analytics + +=head1 DESCRIPTION + +Typemap created by SOAP::WSDL for map-based SOAP message parsers. + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AACDecOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AACDecOptions.pm new file mode 100644 index 000000000..376a03c4e --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AACDecOptions.pm @@ -0,0 +1,116 @@ +package ONVIF::Analytics::Types::AACDecOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Bitrate_of :ATTR(:get); +my %SampleRateRange_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Bitrate + SampleRateRange + + ) ], + { + 'Bitrate' => \%Bitrate_of, + 'SampleRateRange' => \%SampleRateRange_of, + }, + { + 'Bitrate' => 'ONVIF::Analytics::Types::IntList', + 'SampleRateRange' => 'ONVIF::Analytics::Types::IntList', + }, + { + + 'Bitrate' => 'Bitrate', + 'SampleRateRange' => 'SampleRateRange', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AACDecOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AACDecOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Bitrate + + +=item * SampleRateRange + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AACDecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocus.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocus.pm new file mode 100644 index 000000000..652d075ed --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocus.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::AbsoluteFocus; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Position_of :ATTR(:get); +my %Speed_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Position + Speed + + ) ], + { + 'Position' => \%Position_of, + 'Speed' => \%Speed_of, + }, + { + 'Position' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + 'Speed' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Position' => 'Position', + 'Speed' => 'Speed', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AbsoluteFocus + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AbsoluteFocus from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Position + + +=item * Speed + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AbsoluteFocus + Position => $some_value, # float + Speed => $some_value, # float + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocusOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocusOptions.pm new file mode 100644 index 000000000..4479d0524 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AbsoluteFocusOptions.pm @@ -0,0 +1,118 @@ +package ONVIF::Analytics::Types::AbsoluteFocusOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Position_of :ATTR(:get); +my %Speed_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Position + Speed + + ) ], + { + 'Position' => \%Position_of, + 'Speed' => \%Speed_of, + }, + { + 'Position' => 'ONVIF::Analytics::Types::FloatRange', + 'Speed' => 'ONVIF::Analytics::Types::FloatRange', + }, + { + + 'Position' => 'Position', + 'Speed' => 'Speed', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AbsoluteFocusOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AbsoluteFocusOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Position + + +=item * Speed + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AbsoluteFocusOptions + Position => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Speed => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayload.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayload.pm new file mode 100644 index 000000000..d696c2e9e --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayload.pm @@ -0,0 +1,147 @@ +package ONVIF::Analytics::Types::ActionEngineEventPayload; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %RequestInfo_of :ATTR(:get); +my %ResponseInfo_of :ATTR(:get); +my %Fault_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( RequestInfo + ResponseInfo + Fault + Extension + + ) ], + { + 'RequestInfo' => \%RequestInfo_of, + 'ResponseInfo' => \%ResponseInfo_of, + 'Fault' => \%Fault_of, + 'Extension' => \%Extension_of, + }, + { + 'RequestInfo' => 'ONVIF::Analytics::Types::Envelope', + 'ResponseInfo' => 'ONVIF::Analytics::Types::Envelope', + 'Fault' => 'ONVIF::Analytics::Types::Fault', + 'Extension' => 'ONVIF::Analytics::Types::ActionEngineEventPayloadExtension', + }, + { + + 'RequestInfo' => 'RequestInfo', + 'ResponseInfo' => 'ResponseInfo', + 'Fault' => 'Fault', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ActionEngineEventPayload + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ActionEngineEventPayload from the namespace http://www.onvif.org/ver10/schema. + +Action Engine Event Payload data structure contains the information about the ONVIF command invocations. Since this event could be generated by other or proprietary actions, the command invocation specific fields are defined as optional and additional extension mechanism is provided for future or additional action definitions. + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * RequestInfo + + +=item * ResponseInfo + + +=item * Fault + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ActionEngineEventPayload + RequestInfo => { # ONVIF::Analytics::Types::Envelope + Header => { # ONVIF::Analytics::Types::Header + }, + Body => { # ONVIF::Analytics::Types::Body + }, + }, + ResponseInfo => { # ONVIF::Analytics::Types::Envelope + Header => { # ONVIF::Analytics::Types::Header + }, + Body => { # ONVIF::Analytics::Types::Body + }, + }, + Fault => { # ONVIF::Analytics::Types::Fault + faultcode => $some_value, # QName + faultstring => $some_value, # string + faultactor => $some_value, # anyURI + detail => { # ONVIF::Analytics::Types::detail + }, + }, + Extension => { # ONVIF::Analytics::Types::ActionEngineEventPayloadExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayloadExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayloadExtension.pm new file mode 100644 index 000000000..0c6260802 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ActionEngineEventPayloadExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::ActionEngineEventPayloadExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ActionEngineEventPayloadExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ActionEngineEventPayloadExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ActionEngineEventPayloadExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsCapabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsCapabilities.pm new file mode 100644 index 000000000..ce9cf9183 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsCapabilities.pm @@ -0,0 +1,121 @@ +package ONVIF::Analytics::Types::AnalyticsCapabilities; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %XAddr_of :ATTR(:get); +my %RuleSupport_of :ATTR(:get); +my %AnalyticsModuleSupport_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( XAddr + RuleSupport + AnalyticsModuleSupport + + ) ], + { + 'XAddr' => \%XAddr_of, + 'RuleSupport' => \%RuleSupport_of, + 'AnalyticsModuleSupport' => \%AnalyticsModuleSupport_of, + }, + { + 'XAddr' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'RuleSupport' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + 'AnalyticsModuleSupport' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + }, + { + + 'XAddr' => 'XAddr', + 'RuleSupport' => 'RuleSupport', + 'AnalyticsModuleSupport' => 'AnalyticsModuleSupport', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsCapabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsCapabilities from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * XAddr + + +=item * RuleSupport + + +=item * AnalyticsModuleSupport + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsCapabilities + XAddr => $some_value, # anyURI + RuleSupport => $some_value, # boolean + AnalyticsModuleSupport => $some_value, # boolean + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceCapabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceCapabilities.pm new file mode 100644 index 000000000..c4165e3eb --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceCapabilities.pm @@ -0,0 +1,122 @@ +package ONVIF::Analytics::Types::AnalyticsDeviceCapabilities; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %XAddr_of :ATTR(:get); +my %RuleSupport_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( XAddr + RuleSupport + Extension + + ) ], + { + 'XAddr' => \%XAddr_of, + 'RuleSupport' => \%RuleSupport_of, + 'Extension' => \%Extension_of, + }, + { + 'XAddr' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'RuleSupport' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + 'Extension' => 'ONVIF::Analytics::Types::AnalyticsDeviceExtension', + }, + { + + 'XAddr' => 'XAddr', + 'RuleSupport' => 'RuleSupport', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsDeviceCapabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsDeviceCapabilities from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * XAddr + + +=item * RuleSupport + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsDeviceCapabilities + XAddr => $some_value, # anyURI + RuleSupport => $some_value, # boolean + Extension => { # ONVIF::Analytics::Types::AnalyticsDeviceExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfiguration.pm new file mode 100644 index 000000000..5bff395ea --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfiguration.pm @@ -0,0 +1,155 @@ +package ONVIF::Analytics::Types::AnalyticsDeviceEngineConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %EngineConfiguration_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( EngineConfiguration + Extension + + ) ], + { + 'EngineConfiguration' => \%EngineConfiguration_of, + 'Extension' => \%Extension_of, + }, + { + 'EngineConfiguration' => 'ONVIF::Analytics::Types::EngineConfiguration', + 'Extension' => 'ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension', + }, + { + + 'EngineConfiguration' => 'EngineConfiguration', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsDeviceEngineConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsDeviceEngineConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * EngineConfiguration + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsDeviceEngineConfiguration + EngineConfiguration => { # ONVIF::Analytics::Types::EngineConfiguration + VideoAnalyticsConfiguration => { # ONVIF::Analytics::Types::VideoAnalyticsConfiguration + AnalyticsEngineConfiguration => { # ONVIF::Analytics::Types::AnalyticsEngineConfiguration + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + }, + RuleEngineConfiguration => { # ONVIF::Analytics::Types::RuleEngineConfiguration + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::RuleEngineConfigurationExtension + }, + }, + }, + AnalyticsEngineInputInfo => { # ONVIF::Analytics::Types::AnalyticsEngineInputInfo + InputInfo => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfigurationExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfigurationExtension.pm new file mode 100644 index 000000000..24cb0cff3 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceEngineConfigurationExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsDeviceEngineConfigurationExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceExtension.pm new file mode 100644 index 000000000..b3c2756f9 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsDeviceExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AnalyticsDeviceExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsDeviceExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsDeviceExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsDeviceExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngine.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngine.pm new file mode 100644 index 000000000..b2d7e8682 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngine.pm @@ -0,0 +1,162 @@ +package ONVIF::Analytics::Types::AnalyticsEngine; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %AnalyticsEngineConfiguration_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + AnalyticsEngineConfiguration + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'AnalyticsEngineConfiguration' => \%AnalyticsEngineConfiguration_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'AnalyticsEngineConfiguration' => 'ONVIF::Analytics::Types::AnalyticsDeviceEngineConfiguration', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'AnalyticsEngineConfiguration' => 'AnalyticsEngineConfiguration', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngine + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngine from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AnalyticsEngineConfiguration + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngine + AnalyticsEngineConfiguration => { # ONVIF::Analytics::Types::AnalyticsDeviceEngineConfiguration + EngineConfiguration => { # ONVIF::Analytics::Types::EngineConfiguration + VideoAnalyticsConfiguration => { # ONVIF::Analytics::Types::VideoAnalyticsConfiguration + AnalyticsEngineConfiguration => { # ONVIF::Analytics::Types::AnalyticsEngineConfiguration + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + }, + RuleEngineConfiguration => { # ONVIF::Analytics::Types::RuleEngineConfiguration + Rule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::RuleEngineConfigurationExtension + }, + }, + }, + AnalyticsEngineInputInfo => { # ONVIF::Analytics::Types::AnalyticsEngineInputInfo + InputInfo => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsDeviceEngineConfigurationExtension + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfiguration.pm new file mode 100644 index 000000000..487e999e5 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfiguration.pm @@ -0,0 +1,121 @@ +package ONVIF::Analytics::Types::AnalyticsEngineConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %AnalyticsModule_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AnalyticsModule + Extension + + ) ], + { + 'AnalyticsModule' => \%AnalyticsModule_of, + 'Extension' => \%Extension_of, + }, + { + 'AnalyticsModule' => 'ONVIF::Analytics::Types::Config', + 'Extension' => 'ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension', + }, + { + + 'AnalyticsModule' => 'AnalyticsModule', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AnalyticsModule + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineConfiguration + AnalyticsModule => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfigurationExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfigurationExtension.pm new file mode 100644 index 000000000..314131958 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineConfigurationExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineConfigurationExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineConfigurationExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineControl.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineControl.pm new file mode 100644 index 000000000..b67097ceb --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineControl.pm @@ -0,0 +1,187 @@ +package ONVIF::Analytics::Types::AnalyticsEngineControl; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %EngineToken_of :ATTR(:get); +my %EngineConfigToken_of :ATTR(:get); +my %InputToken_of :ATTR(:get); +my %ReceiverToken_of :ATTR(:get); +my %Multicast_of :ATTR(:get); +my %Subscription_of :ATTR(:get); +my %Mode_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + EngineToken + EngineConfigToken + InputToken + ReceiverToken + Multicast + Subscription + Mode + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'EngineToken' => \%EngineToken_of, + 'EngineConfigToken' => \%EngineConfigToken_of, + 'InputToken' => \%InputToken_of, + 'ReceiverToken' => \%ReceiverToken_of, + 'Multicast' => \%Multicast_of, + 'Subscription' => \%Subscription_of, + 'Mode' => \%Mode_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'EngineToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'EngineConfigToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'InputToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'ReceiverToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'Multicast' => 'ONVIF::Analytics::Types::MulticastConfiguration', + 'Subscription' => 'ONVIF::Analytics::Types::Config', + 'Mode' => 'ONVIF::Analytics::Types::ModeOfOperation', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'EngineToken' => 'EngineToken', + 'EngineConfigToken' => 'EngineConfigToken', + 'InputToken' => 'InputToken', + 'ReceiverToken' => 'ReceiverToken', + 'Multicast' => 'Multicast', + 'Subscription' => 'Subscription', + 'Mode' => 'Mode', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineControl + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineControl from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * EngineToken + + +=item * EngineConfigToken + + +=item * InputToken + + +=item * ReceiverToken + + +=item * Multicast + + +=item * Subscription + + +=item * Mode + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineControl + EngineToken => $some_value, # ReferenceToken + EngineConfigToken => $some_value, # ReferenceToken + InputToken => $some_value, # ReferenceToken + ReceiverToken => $some_value, # ReferenceToken + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + }, + Subscription => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Mode => $some_value, # ModeOfOperation + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInput.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInput.pm new file mode 100644 index 000000000..2fb5b214f --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInput.pm @@ -0,0 +1,182 @@ +package ONVIF::Analytics::Types::AnalyticsEngineInput; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %SourceIdentification_of :ATTR(:get); +my %VideoInput_of :ATTR(:get); +my %MetadataInput_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + SourceIdentification + VideoInput + MetadataInput + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'SourceIdentification' => \%SourceIdentification_of, + 'VideoInput' => \%VideoInput_of, + 'MetadataInput' => \%MetadataInput_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'SourceIdentification' => 'ONVIF::Analytics::Types::SourceIdentification', + 'VideoInput' => 'ONVIF::Analytics::Types::VideoEncoderConfiguration', + 'MetadataInput' => 'ONVIF::Analytics::Types::MetadataInput', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'SourceIdentification' => 'SourceIdentification', + 'VideoInput' => 'VideoInput', + 'MetadataInput' => 'MetadataInput', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineInput + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineInput from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * SourceIdentification + + +=item * VideoInput + + +=item * MetadataInput + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineInput + SourceIdentification => { # ONVIF::Analytics::Types::SourceIdentification + Name => $some_value, # string + Token => $some_value, # ReferenceToken + Extension => { # ONVIF::Analytics::Types::SourceIdentificationExtension + }, + }, + VideoInput => { # ONVIF::Analytics::Types::VideoEncoderConfiguration + Encoding => $some_value, # VideoEncoding + Resolution => { # ONVIF::Analytics::Types::VideoResolution + Width => $some_value, # int + Height => $some_value, # int + }, + Quality => $some_value, # float + RateControl => { # ONVIF::Analytics::Types::VideoRateControl + FrameRateLimit => $some_value, # int + EncodingInterval => $some_value, # int + BitrateLimit => $some_value, # int + }, + MPEG4 => { # ONVIF::Analytics::Types::Mpeg4Configuration + GovLength => $some_value, # int + Mpeg4Profile => $some_value, # Mpeg4Profile + }, + H264 => { # ONVIF::Analytics::Types::H264Configuration + GovLength => $some_value, # int + H264Profile => $some_value, # H264Profile + }, + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + }, + MetadataInput => { # ONVIF::Analytics::Types::MetadataInput + MetadataConfig => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::MetadataInputExtension + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfo.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfo.pm new file mode 100644 index 000000000..440a44bab --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfo.pm @@ -0,0 +1,121 @@ +package ONVIF::Analytics::Types::AnalyticsEngineInputInfo; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %InputInfo_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( InputInfo + Extension + + ) ], + { + 'InputInfo' => \%InputInfo_of, + 'Extension' => \%Extension_of, + }, + { + 'InputInfo' => 'ONVIF::Analytics::Types::Config', + 'Extension' => 'ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension', + }, + { + + 'InputInfo' => 'InputInfo', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineInputInfo + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineInputInfo from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * InputInfo + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineInputInfo + InputInfo => { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfoExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfoExtension.pm new file mode 100644 index 000000000..81e5e7049 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsEngineInputInfoExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsEngineInputInfoExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsEngineInputInfoExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsState.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsState.pm new file mode 100644 index 000000000..738e47eef --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsState.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::AnalyticsState; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Error_of :ATTR(:get); +my %State_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Error + State + + ) ], + { + 'Error' => \%Error_of, + 'State' => \%State_of, + }, + { + 'Error' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'State' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + }, + { + + 'Error' => 'Error', + 'State' => 'State', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsState + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsState from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Error + + +=item * State + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsState + Error => $some_value, # string + State => $some_value, # string + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsStateInformation.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsStateInformation.pm new file mode 100644 index 000000000..6f2694cee --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnalyticsStateInformation.pm @@ -0,0 +1,115 @@ +package ONVIF::Analytics::Types::AnalyticsStateInformation; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %AnalyticsEngineControlToken_of :ATTR(:get); +my %State_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AnalyticsEngineControlToken + State + + ) ], + { + 'AnalyticsEngineControlToken' => \%AnalyticsEngineControlToken_of, + 'State' => \%State_of, + }, + { + 'AnalyticsEngineControlToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'State' => 'ONVIF::Analytics::Types::AnalyticsState', + }, + { + + 'AnalyticsEngineControlToken' => 'AnalyticsEngineControlToken', + 'State' => 'State', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnalyticsStateInformation + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnalyticsStateInformation from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AnalyticsEngineControlToken + + +=item * State + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnalyticsStateInformation + AnalyticsEngineControlToken => $some_value, # ReferenceToken + State => { # ONVIF::Analytics::Types::AnalyticsState + Error => $some_value, # string + State => $some_value, # string + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AnyHolder.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AnyHolder.pm new file mode 100644 index 000000000..3094a2b53 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AnyHolder.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AnyHolder; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AnyHolder + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AnyHolder from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AnyHolder + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Appearance.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Appearance.pm new file mode 100644 index 000000000..f115839da --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Appearance.pm @@ -0,0 +1,174 @@ +package ONVIF::Analytics::Types::Appearance; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Transformation_of :ATTR(:get); +my %Shape_of :ATTR(:get); +my %Color_of :ATTR(:get); +my %Class_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Transformation + Shape + Color + Class + Extension + + ) ], + { + 'Transformation' => \%Transformation_of, + 'Shape' => \%Shape_of, + 'Color' => \%Color_of, + 'Class' => \%Class_of, + 'Extension' => \%Extension_of, + }, + { + 'Transformation' => 'ONVIF::Analytics::Types::Transformation', + 'Shape' => 'ONVIF::Analytics::Types::ShapeDescriptor', + 'Color' => 'ONVIF::Analytics::Types::ColorDescriptor', + 'Class' => 'ONVIF::Analytics::Types::ClassDescriptor', + 'Extension' => 'ONVIF::Analytics::Types::AppearanceExtension', + }, + { + + 'Transformation' => 'Transformation', + 'Shape' => 'Shape', + 'Color' => 'Color', + 'Class' => 'Class', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Appearance + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Appearance from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Transformation + + +=item * Shape + + +=item * Color + + +=item * Class + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Appearance + Transformation => { # ONVIF::Analytics::Types::Transformation + Translate => , + Scale => , + Extension => { # ONVIF::Analytics::Types::TransformationExtension + }, + }, + Shape => { # ONVIF::Analytics::Types::ShapeDescriptor + BoundingBox => , + CenterOfGravity => , + Polygon => { # ONVIF::Analytics::Types::Polygon + Point => , + }, + Extension => { # ONVIF::Analytics::Types::ShapeDescriptorExtension + }, + }, + Color => { # ONVIF::Analytics::Types::ColorDescriptor + ColorCluster => { + Color => , + Weight => $some_value, # float + Covariance => , + }, + Extension => { # ONVIF::Analytics::Types::ColorDescriptorExtension + }, + }, + Class => { # ONVIF::Analytics::Types::ClassDescriptor + ClassCandidate => { + Type => $some_value, # ClassType + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension + OtherTypes => { # ONVIF::Analytics::Types::OtherType + Type => $some_value, # string + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension2 + }, + }, + }, + Extension => { # ONVIF::Analytics::Types::AppearanceExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AppearanceExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AppearanceExtension.pm new file mode 100644 index 000000000..100aab4aa --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AppearanceExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AppearanceExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AppearanceExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AppearanceExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AppearanceExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AttachmentData.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AttachmentData.pm new file mode 100644 index 000000000..f6af419d8 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AttachmentData.pm @@ -0,0 +1,155 @@ +package ONVIF::Analytics::Types::AttachmentData; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::AttachmentData::_AttachmentData::XmlAttr'; + +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 %Include_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Include + + ) ], + { + 'Include' => \%Include_of, + }, + { + 'Include' => 'ONVIF::Analytics::Elements::Include', + + }, + { + + 'Include' => '', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::AttachmentData::_AttachmentData::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %contentType_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + contentType + ) ], + { + + contentType => \%contentType_of, + }, + { + + contentType => 'ONVIF::Analytics::Attributes::contentType', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AttachmentData + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AttachmentData from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Include + +Note: The name of this property has been altered, because it didn't match +perl's notion of variable/subroutine names. The altered name is used in +perl code only, XML output uses the original name: + + + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AttachmentData + Include => { # ONVIF::Analytics::Types::Include + }, + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::AttachmentData::_AttachmentData::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * contentType + + + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStream.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStream.pm new file mode 100644 index 000000000..2c408028c --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStream.pm @@ -0,0 +1,114 @@ +package ONVIF::Analytics::Types::AudioAnalyticsStream; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %AudioDescriptor_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AudioDescriptor + Extension + + ) ], + { + 'AudioDescriptor' => \%AudioDescriptor_of, + 'Extension' => \%Extension_of, + }, + { + 'AudioDescriptor' => 'ONVIF::Analytics::Types::AudioDescriptor', + 'Extension' => 'ONVIF::Analytics::Types::AudioAnalyticsStreamExtension', + }, + { + + 'AudioDescriptor' => 'AudioDescriptor', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioAnalyticsStream + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioAnalyticsStream from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AudioDescriptor + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioAnalyticsStream + AudioDescriptor => { # ONVIF::Analytics::Types::AudioDescriptor + }, + Extension => { # ONVIF::Analytics::Types::AudioAnalyticsStreamExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStreamExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStreamExtension.pm new file mode 100644 index 000000000..45999e2f4 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAnalyticsStreamExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AudioAnalyticsStreamExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioAnalyticsStreamExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioAnalyticsStreamExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioAnalyticsStreamExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAttributes.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAttributes.pm new file mode 100644 index 000000000..a10502dea --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioAttributes.pm @@ -0,0 +1,121 @@ +package ONVIF::Analytics::Types::AudioAttributes; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Bitrate_of :ATTR(:get); +my %Encoding_of :ATTR(:get); +my %Samplerate_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Bitrate + Encoding + Samplerate + + ) ], + { + 'Bitrate' => \%Bitrate_of, + 'Encoding' => \%Encoding_of, + 'Samplerate' => \%Samplerate_of, + }, + { + 'Bitrate' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Encoding' => 'ONVIF::Analytics::Types::AudioEncoding', + 'Samplerate' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Bitrate' => 'Bitrate', + 'Encoding' => 'Encoding', + 'Samplerate' => 'Samplerate', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioAttributes + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioAttributes from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Bitrate + + +=item * Encoding + + +=item * Samplerate + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioAttributes + Bitrate => $some_value, # int + Encoding => $some_value, # AudioEncoding + Samplerate => $some_value, # int + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassCandidate.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassCandidate.pm new file mode 100644 index 000000000..995ae3393 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassCandidate.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::AudioClassCandidate; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Type_of :ATTR(:get); +my %Likelihood_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Type + Likelihood + + ) ], + { + 'Type' => \%Type_of, + 'Likelihood' => \%Likelihood_of, + }, + { + 'Type' => 'ONVIF::Analytics::Types::AudioClassType', + 'Likelihood' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Type' => 'Type', + 'Likelihood' => 'Likelihood', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioClassCandidate + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioClassCandidate from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Type + + +=item * Likelihood + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioClassCandidate + Type => $some_value, # AudioClassType + Likelihood => $some_value, # float + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptor.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptor.pm new file mode 100644 index 000000000..df1dddd75 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptor.pm @@ -0,0 +1,116 @@ +package ONVIF::Analytics::Types::AudioClassDescriptor; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %ClassCandidate_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ClassCandidate + Extension + + ) ], + { + 'ClassCandidate' => \%ClassCandidate_of, + 'Extension' => \%Extension_of, + }, + { + 'ClassCandidate' => 'ONVIF::Analytics::Types::AudioClassCandidate', + 'Extension' => 'ONVIF::Analytics::Types::AudioClassDescriptorExtension', + }, + { + + 'ClassCandidate' => 'ClassCandidate', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioClassDescriptor + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioClassDescriptor from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ClassCandidate + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioClassDescriptor + ClassCandidate => { # ONVIF::Analytics::Types::AudioClassCandidate + Type => $some_value, # AudioClassType + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::AudioClassDescriptorExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptorExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptorExtension.pm new file mode 100644 index 000000000..8e3b28511 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassDescriptorExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AudioClassDescriptorExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioClassDescriptorExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioClassDescriptorExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioClassDescriptorExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassType.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassType.pm new file mode 100644 index 000000000..628031103 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioClassType.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::AudioClassType; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +AudioClassType from the namespace http://www.onvif.org/ver10/schema. + +AudioClassType acceptable values are; gun_shot, scream, glass_breaking, tire_screech + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfiguration.pm new file mode 100644 index 000000000..d9c4599ad --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfiguration.pm @@ -0,0 +1,107 @@ +package ONVIF::Analytics::Types::AudioDecoderConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioDecoderConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioDecoderConfiguration from the namespace http://www.onvif.org/ver10/schema. + +The Audio Decoder Configuration does not contain any that parameter to configure the decoding .A decoder shall decode every data it receives (according to its capabilities). + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioDecoderConfiguration + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptions.pm new file mode 100644 index 000000000..700aa1dfa --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptions.pm @@ -0,0 +1,152 @@ +package ONVIF::Analytics::Types::AudioDecoderConfigurationOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %AACDecOptions_of :ATTR(:get); +my %G711DecOptions_of :ATTR(:get); +my %G726DecOptions_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AACDecOptions + G711DecOptions + G726DecOptions + Extension + + ) ], + { + 'AACDecOptions' => \%AACDecOptions_of, + 'G711DecOptions' => \%G711DecOptions_of, + 'G726DecOptions' => \%G726DecOptions_of, + 'Extension' => \%Extension_of, + }, + { + 'AACDecOptions' => 'ONVIF::Analytics::Types::AACDecOptions', + 'G711DecOptions' => 'ONVIF::Analytics::Types::G711DecOptions', + 'G726DecOptions' => 'ONVIF::Analytics::Types::G726DecOptions', + 'Extension' => 'ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension', + }, + { + + 'AACDecOptions' => 'AACDecOptions', + 'G711DecOptions' => 'G711DecOptions', + 'G726DecOptions' => 'G726DecOptions', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioDecoderConfigurationOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioDecoderConfigurationOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AACDecOptions + + +=item * G711DecOptions + + +=item * G726DecOptions + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioDecoderConfigurationOptions + AACDecOptions => { # ONVIF::Analytics::Types::AACDecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + G711DecOptions => { # ONVIF::Analytics::Types::G711DecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + G726DecOptions => { # ONVIF::Analytics::Types::G726DecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + Extension => { # ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptionsExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptionsExtension.pm new file mode 100644 index 000000000..399d1b374 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDecoderConfigurationOptionsExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioDecoderConfigurationOptionsExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDescriptor.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDescriptor.pm new file mode 100644 index 000000000..3f886044a --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioDescriptor.pm @@ -0,0 +1,139 @@ +package ONVIF::Analytics::Types::AudioDescriptor; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::AudioDescriptor::_AudioDescriptor::XmlAttr'; + +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 + + + + +package ONVIF::Analytics::Types::AudioDescriptor::_AudioDescriptor::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %UtcTime_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + UtcTime + ) ], + { + + UtcTime => \%UtcTime_of, + }, + { + UtcTime => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioDescriptor + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioDescriptor from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioDescriptor + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::AudioDescriptor::_AudioDescriptor::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * UtcTime + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfiguration.pm new file mode 100644 index 000000000..a869c1700 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfiguration.pm @@ -0,0 +1,161 @@ +package ONVIF::Analytics::Types::AudioEncoderConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %Encoding_of :ATTR(:get); +my %Bitrate_of :ATTR(:get); +my %SampleRate_of :ATTR(:get); +my %Multicast_of :ATTR(:get); +my %SessionTimeout_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + Encoding + Bitrate + SampleRate + Multicast + SessionTimeout + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'Encoding' => \%Encoding_of, + 'Bitrate' => \%Bitrate_of, + 'SampleRate' => \%SampleRate_of, + 'Multicast' => \%Multicast_of, + 'SessionTimeout' => \%SessionTimeout_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Encoding' => 'ONVIF::Analytics::Types::AudioEncoding', + 'Bitrate' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'SampleRate' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Multicast' => 'ONVIF::Analytics::Types::MulticastConfiguration', + 'SessionTimeout' => 'SOAP::WSDL::XSD::Typelib::Builtin::duration', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'Encoding' => 'Encoding', + 'Bitrate' => 'Bitrate', + 'SampleRate' => 'SampleRate', + 'Multicast' => 'Multicast', + 'SessionTimeout' => 'SessionTimeout', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioEncoderConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioEncoderConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Encoding + + +=item * Bitrate + + +=item * SampleRate + + +=item * Multicast + + +=item * SessionTimeout + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioEncoderConfiguration + Encoding => $some_value, # AudioEncoding + Bitrate => $some_value, # int + SampleRate => $some_value, # int + Multicast => { # ONVIF::Analytics::Types::MulticastConfiguration + Address => { # ONVIF::Analytics::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 + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOption.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOption.pm new file mode 100644 index 000000000..57a8e6de1 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOption.pm @@ -0,0 +1,125 @@ +package ONVIF::Analytics::Types::AudioEncoderConfigurationOption; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Encoding_of :ATTR(:get); +my %BitrateList_of :ATTR(:get); +my %SampleRateList_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Encoding + BitrateList + SampleRateList + + ) ], + { + 'Encoding' => \%Encoding_of, + 'BitrateList' => \%BitrateList_of, + 'SampleRateList' => \%SampleRateList_of, + }, + { + 'Encoding' => 'ONVIF::Analytics::Types::AudioEncoding', + 'BitrateList' => 'ONVIF::Analytics::Types::IntList', + 'SampleRateList' => 'ONVIF::Analytics::Types::IntList', + }, + { + + 'Encoding' => 'Encoding', + 'BitrateList' => 'BitrateList', + 'SampleRateList' => 'SampleRateList', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioEncoderConfigurationOption + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioEncoderConfigurationOption from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Encoding + + +=item * BitrateList + + +=item * SampleRateList + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioEncoderConfigurationOption + Encoding => $some_value, # AudioEncoding + BitrateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOptions.pm new file mode 100644 index 000000000..a044596dd --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoderConfigurationOptions.pm @@ -0,0 +1,111 @@ +package ONVIF::Analytics::Types::AudioEncoderConfigurationOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Options_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Options + + ) ], + { + 'Options' => \%Options_of, + }, + { + 'Options' => 'ONVIF::Analytics::Types::AudioEncoderConfigurationOption', + }, + { + + 'Options' => 'Options', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioEncoderConfigurationOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioEncoderConfigurationOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Options + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioEncoderConfigurationOptions + Options => { # ONVIF::Analytics::Types::AudioEncoderConfigurationOption + Encoding => $some_value, # AudioEncoding + BitrateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoding.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoding.pm new file mode 100644 index 000000000..ed5275839 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioEncoding.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::AudioEncoding; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +AudioEncoding from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutput.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutput.pm new file mode 100644 index 000000000..6f6203580 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutput.pm @@ -0,0 +1,97 @@ +package ONVIF::Analytics::Types::AudioOutput; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::DeviceEntity); +# Variety: sequence +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioOutput + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioOutput from the namespace http://www.onvif.org/ver10/schema. + +Representation of a physical audio outputs. + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioOutput + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfiguration.pm new file mode 100644 index 000000000..7be3bab34 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfiguration.pm @@ -0,0 +1,134 @@ +package ONVIF::Analytics::Types::AudioOutputConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %OutputToken_of :ATTR(:get); +my %SendPrimacy_of :ATTR(:get); +my %OutputLevel_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + OutputToken + SendPrimacy + OutputLevel + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'OutputToken' => \%OutputToken_of, + 'SendPrimacy' => \%SendPrimacy_of, + 'OutputLevel' => \%OutputLevel_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'OutputToken' => 'ONVIF::Analytics::Types::ReferenceToken', + 'SendPrimacy' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'OutputLevel' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'OutputToken' => 'OutputToken', + 'SendPrimacy' => 'SendPrimacy', + 'OutputLevel' => 'OutputLevel', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioOutputConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioOutputConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * OutputToken + + +=item * SendPrimacy + + +=item * OutputLevel + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioOutputConfiguration + OutputToken => $some_value, # ReferenceToken + SendPrimacy => $some_value, # anyURI + OutputLevel => $some_value, # int + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfigurationOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfigurationOptions.pm new file mode 100644 index 000000000..3baa764f4 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioOutputConfigurationOptions.pm @@ -0,0 +1,124 @@ +package ONVIF::Analytics::Types::AudioOutputConfigurationOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %OutputTokensAvailable_of :ATTR(:get); +my %SendPrimacyOptions_of :ATTR(:get); +my %OutputLevelRange_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( OutputTokensAvailable + SendPrimacyOptions + OutputLevelRange + + ) ], + { + 'OutputTokensAvailable' => \%OutputTokensAvailable_of, + 'SendPrimacyOptions' => \%SendPrimacyOptions_of, + 'OutputLevelRange' => \%OutputLevelRange_of, + }, + { + 'OutputTokensAvailable' => 'ONVIF::Analytics::Types::ReferenceToken', + 'SendPrimacyOptions' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + 'OutputLevelRange' => 'ONVIF::Analytics::Types::IntRange', + }, + { + + 'OutputTokensAvailable' => 'OutputTokensAvailable', + 'SendPrimacyOptions' => 'SendPrimacyOptions', + 'OutputLevelRange' => 'OutputLevelRange', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioOutputConfigurationOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioOutputConfigurationOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * OutputTokensAvailable + + +=item * SendPrimacyOptions + + +=item * OutputLevelRange + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioOutputConfigurationOptions + OutputTokensAvailable => $some_value, # ReferenceToken + SendPrimacyOptions => $some_value, # anyURI + OutputLevelRange => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSource.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSource.pm new file mode 100644 index 000000000..e2c7aa095 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSource.pm @@ -0,0 +1,106 @@ +package ONVIF::Analytics::Types::AudioSource; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::DeviceEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Channels_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Channels + + ) ], + { + 'Channels' => \%Channels_of, + }, + { + 'Channels' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Channels' => 'Channels', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioSource + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioSource from the namespace http://www.onvif.org/ver10/schema. + +Representation of a physical audio input. + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Channels + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioSource + Channels => $some_value, # int + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfiguration.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfiguration.pm new file mode 100644 index 000000000..e33e7f563 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfiguration.pm @@ -0,0 +1,116 @@ +package ONVIF::Analytics::Types::AudioSourceConfiguration; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::ConfigurationEntity); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); +my %SourceToken_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + SourceToken + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + 'SourceToken' => \%SourceToken_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'SourceToken' => 'ONVIF::Analytics::Types::ReferenceToken', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + 'SourceToken' => 'SourceToken', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioSourceConfiguration + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioSourceConfiguration from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * SourceToken + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioSourceConfiguration + SourceToken => $some_value, # ReferenceToken + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfigurationOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfigurationOptions.pm new file mode 100644 index 000000000..362255479 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceConfigurationOptions.pm @@ -0,0 +1,113 @@ +package ONVIF::Analytics::Types::AudioSourceConfigurationOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %InputTokensAvailable_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( InputTokensAvailable + Extension + + ) ], + { + 'InputTokensAvailable' => \%InputTokensAvailable_of, + 'Extension' => \%Extension_of, + }, + { + 'InputTokensAvailable' => 'ONVIF::Analytics::Types::ReferenceToken', + 'Extension' => 'ONVIF::Analytics::Types::AudioSourceOptionsExtension', + }, + { + + 'InputTokensAvailable' => 'InputTokensAvailable', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioSourceConfigurationOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioSourceConfigurationOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * InputTokensAvailable + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioSourceConfigurationOptions + InputTokensAvailable => $some_value, # ReferenceToken + Extension => { # ONVIF::Analytics::Types::AudioSourceOptionsExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceOptionsExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceOptionsExtension.pm new file mode 100644 index 000000000..deaaa172e --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AudioSourceOptionsExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::AudioSourceOptionsExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::AudioSourceOptionsExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +AudioSourceOptionsExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::AudioSourceOptionsExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AutoFocusMode.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AutoFocusMode.pm new file mode 100644 index 000000000..6020bd018 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AutoFocusMode.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::AutoFocusMode; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +AutoFocusMode from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/AuxiliaryData.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/AuxiliaryData.pm new file mode 100644 index 000000000..4b794ad4b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/AuxiliaryData.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::AuxiliaryData; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +AuxiliaryData from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation.pm new file mode 100644 index 000000000..2765f7939 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::BacklightCompensation; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Mode_of :ATTR(:get); +my %Level_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Mode + Level + + ) ], + { + 'Mode' => \%Mode_of, + 'Level' => \%Level_of, + }, + { + 'Mode' => 'ONVIF::Analytics::Types::BacklightCompensationMode', + 'Level' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Mode' => 'Mode', + 'Level' => 'Level', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BacklightCompensation + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BacklightCompensation from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Mode + + +=item * Level + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BacklightCompensation + Mode => $some_value, # BacklightCompensationMode + Level => $some_value, # float + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation20.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation20.pm new file mode 100644 index 000000000..825f37321 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensation20.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::BacklightCompensation20; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Mode_of :ATTR(:get); +my %Level_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Mode + Level + + ) ], + { + 'Mode' => \%Mode_of, + 'Level' => \%Level_of, + }, + { + 'Mode' => 'ONVIF::Analytics::Types::BacklightCompensationMode', + 'Level' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Mode' => 'Mode', + 'Level' => 'Level', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BacklightCompensation20 + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BacklightCompensation20 from the namespace http://www.onvif.org/ver10/schema. + +Type describing whether BLC mode is enabled or disabled (on/off). + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Mode + + +=item * Level + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BacklightCompensation20 + Mode => $some_value, # BacklightCompensationMode + Level => $some_value, # float + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationMode.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationMode.pm new file mode 100644 index 000000000..42b10ff10 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationMode.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::BacklightCompensationMode; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +BacklightCompensationMode from the namespace http://www.onvif.org/ver10/schema. + +Enumeration describing the available backlight compenstation modes. + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions.pm new file mode 100644 index 000000000..bdbdd60e6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions.pm @@ -0,0 +1,115 @@ +package ONVIF::Analytics::Types::BacklightCompensationOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Mode_of :ATTR(:get); +my %Level_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Mode + Level + + ) ], + { + 'Mode' => \%Mode_of, + 'Level' => \%Level_of, + }, + { + 'Mode' => 'ONVIF::Analytics::Types::WideDynamicMode', + 'Level' => 'ONVIF::Analytics::Types::FloatRange', + }, + { + + 'Mode' => 'Mode', + 'Level' => 'Level', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BacklightCompensationOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BacklightCompensationOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Mode + + +=item * Level + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BacklightCompensationOptions + Mode => $some_value, # WideDynamicMode + Level => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions20.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions20.pm new file mode 100644 index 000000000..1be4624ac --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BacklightCompensationOptions20.pm @@ -0,0 +1,115 @@ +package ONVIF::Analytics::Types::BacklightCompensationOptions20; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Mode_of :ATTR(:get); +my %Level_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Mode + Level + + ) ], + { + 'Mode' => \%Mode_of, + 'Level' => \%Level_of, + }, + { + 'Mode' => 'ONVIF::Analytics::Types::BacklightCompensationMode', + 'Level' => 'ONVIF::Analytics::Types::FloatRange', + }, + { + + 'Mode' => 'Mode', + 'Level' => 'Level', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BacklightCompensationOptions20 + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BacklightCompensationOptions20 from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Mode + + +=item * Level + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BacklightCompensationOptions20 + Mode => $some_value, # BacklightCompensationMode + Level => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BackupFile.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BackupFile.pm new file mode 100644 index 000000000..b935fc38e --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BackupFile.pm @@ -0,0 +1,115 @@ +package ONVIF::Analytics::Types::BackupFile; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Name_of :ATTR(:get); +my %Data_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + Data + + ) ], + { + 'Name' => \%Name_of, + 'Data' => \%Data_of, + }, + { + 'Name' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'Data' => 'ONVIF::Analytics::Types::AttachmentData', + }, + { + + 'Name' => 'Name', + 'Data' => 'Data', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BackupFile + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BackupFile from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Name + + +=item * Data + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BackupFile + Name => $some_value, # string + Data => { # ONVIF::Analytics::Types::AttachmentData + Include => { # ONVIF::Analytics::Types::Include + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Behaviour.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Behaviour.pm new file mode 100644 index 000000000..3bc6bddbe --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Behaviour.pm @@ -0,0 +1,212 @@ +package ONVIF::Analytics::Types::Behaviour; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Removed_of :ATTR(:get); +my %Idle_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Removed + Idle + Extension + + ) ], + { + 'Removed' => \%Removed_of, + 'Idle' => \%Idle_of, + 'Extension' => \%Extension_of, + }, + { + + 'Removed' => 'ONVIF::Analytics::Types::Behaviour::_Removed', + + 'Idle' => 'ONVIF::Analytics::Types::Behaviour::_Idle', + 'Extension' => 'ONVIF::Analytics::Types::BehaviourExtension', + }, + { + + 'Removed' => 'Removed', + 'Idle' => 'Idle', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::Behaviour::_Idle; +use strict; +use warnings; +{ +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 + + + + + + + +} + + + +package ONVIF::Analytics::Types::Behaviour::_Removed; +use strict; +use warnings; +{ +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 + + + + + + + +} + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Behaviour + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Behaviour from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Removed + + +=item * Idle + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Behaviour + Removed => { + }, + Idle => { + }, + Extension => { # ONVIF::Analytics::Types::BehaviourExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BehaviourExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BehaviourExtension.pm new file mode 100644 index 000000000..c9645a1b7 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BehaviourExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::BehaviourExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BehaviourExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BehaviourExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BehaviourExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/BinaryData.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/BinaryData.pm new file mode 100644 index 000000000..c6e84177b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/BinaryData.pm @@ -0,0 +1,147 @@ +package ONVIF::Analytics::Types::BinaryData; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::BinaryData::_BinaryData::XmlAttr'; + +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 %Data_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Data + + ) ], + { + 'Data' => \%Data_of, + }, + { + 'Data' => 'SOAP::WSDL::XSD::Typelib::Builtin::base64Binary', + }, + { + + 'Data' => 'Data', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::BinaryData::_BinaryData::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %contentType_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + contentType + ) ], + { + + contentType => \%contentType_of, + }, + { + + contentType => 'ONVIF::Analytics::Attributes::contentType', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::BinaryData + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +BinaryData from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Data + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::BinaryData + Data => $some_value, # base64Binary + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::BinaryData::_BinaryData::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * contentType + + + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Body.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Body.pm new file mode 100644 index 000000000..61a44e3de --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Body.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::Body; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://schemas.xmlsoap.org/soap/envelope/' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Body + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Body from the namespace http://schemas.xmlsoap.org/soap/envelope/. + +Prose in the spec does not specify that attributes are allowed on the Body element + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Body + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Capabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Capabilities.pm new file mode 100644 index 000000000..38a852a23 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Capabilities.pm @@ -0,0 +1,167 @@ +package ONVIF::Analytics::Types::Capabilities; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver20/analytics/wsdl' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::Capabilities::_Capabilities::XmlAttr'; + +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 + + + + +package ONVIF::Analytics::Types::Capabilities::_Capabilities::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %RuleSupport_of :ATTR(:get); +my %AnalyticsModuleSupport_of :ATTR(:get); +my %CellBasedSceneDescriptionSupported_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + RuleSupport + AnalyticsModuleSupport + CellBasedSceneDescriptionSupported + ) ], + { + + RuleSupport => \%RuleSupport_of, + + AnalyticsModuleSupport => \%AnalyticsModuleSupport_of, + + CellBasedSceneDescriptionSupported => \%CellBasedSceneDescriptionSupported_of, + }, + { + RuleSupport => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + AnalyticsModuleSupport => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + CellBasedSceneDescriptionSupported => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Capabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Capabilities from the namespace http://www.onvif.org/ver20/analytics/wsdl. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Capabilities + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::Capabilities::_Capabilities::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * RuleSupport + + Indication that the device supports the rules interface and the rules syntax. + + + +This attribute is of type L. + +=item * AnalyticsModuleSupport + + Indication that the device supports the scene analytics module interface. + + + +This attribute is of type L. + +=item * CellBasedSceneDescriptionSupported + + Indication that the device produces the cell based scene description + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension.pm new file mode 100644 index 000000000..c753a1282 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension.pm @@ -0,0 +1,201 @@ +package ONVIF::Analytics::Types::CapabilitiesExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %DeviceIO_of :ATTR(:get); +my %Display_of :ATTR(:get); +my %Recording_of :ATTR(:get); +my %Search_of :ATTR(:get); +my %Replay_of :ATTR(:get); +my %Receiver_of :ATTR(:get); +my %AnalyticsDevice_of :ATTR(:get); +my %Extensions_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( DeviceIO + Display + Recording + Search + Replay + Receiver + AnalyticsDevice + Extensions + + ) ], + { + 'DeviceIO' => \%DeviceIO_of, + 'Display' => \%Display_of, + 'Recording' => \%Recording_of, + 'Search' => \%Search_of, + 'Replay' => \%Replay_of, + 'Receiver' => \%Receiver_of, + 'AnalyticsDevice' => \%AnalyticsDevice_of, + 'Extensions' => \%Extensions_of, + }, + { + 'DeviceIO' => 'ONVIF::Analytics::Types::DeviceIOCapabilities', + 'Display' => 'ONVIF::Analytics::Types::DisplayCapabilities', + 'Recording' => 'ONVIF::Analytics::Types::RecordingCapabilities', + 'Search' => 'ONVIF::Analytics::Types::SearchCapabilities', + 'Replay' => 'ONVIF::Analytics::Types::ReplayCapabilities', + 'Receiver' => 'ONVIF::Analytics::Types::ReceiverCapabilities', + 'AnalyticsDevice' => 'ONVIF::Analytics::Types::AnalyticsDeviceCapabilities', + 'Extensions' => 'ONVIF::Analytics::Types::CapabilitiesExtension2', + }, + { + + 'DeviceIO' => 'DeviceIO', + 'Display' => 'Display', + 'Recording' => 'Recording', + 'Search' => 'Search', + 'Replay' => 'Replay', + 'Receiver' => 'Receiver', + 'AnalyticsDevice' => 'AnalyticsDevice', + 'Extensions' => 'Extensions', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CapabilitiesExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CapabilitiesExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * DeviceIO + + +=item * Display + + +=item * Recording + + +=item * Search + + +=item * Replay + + +=item * Receiver + + +=item * AnalyticsDevice + + +=item * Extensions + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CapabilitiesExtension + DeviceIO => { # ONVIF::Analytics::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::Analytics::Types::DisplayCapabilities + XAddr => $some_value, # anyURI + FixedLayout => $some_value, # boolean + }, + Recording => { # ONVIF::Analytics::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::Analytics::Types::SearchCapabilities + XAddr => $some_value, # anyURI + MetadataSearch => $some_value, # boolean + }, + Replay => { # ONVIF::Analytics::Types::ReplayCapabilities + XAddr => $some_value, # anyURI + }, + Receiver => { # ONVIF::Analytics::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::Analytics::Types::AnalyticsDeviceCapabilities + XAddr => $some_value, # anyURI + RuleSupport => $some_value, # boolean + Extension => { # ONVIF::Analytics::Types::AnalyticsDeviceExtension + }, + }, + Extensions => { # ONVIF::Analytics::Types::CapabilitiesExtension2 + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension2.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension2.pm new file mode 100644 index 000000000..787bc5652 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilitiesExtension2.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::CapabilitiesExtension2; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CapabilitiesExtension2 + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CapabilitiesExtension2 from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CapabilitiesExtension2 + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilityCategory.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilityCategory.pm new file mode 100644 index 000000000..50c163db1 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CapabilityCategory.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::CapabilityCategory; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +CapabilityCategory from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CellLayout.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CellLayout.pm new file mode 100644 index 000000000..818617d5d --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CellLayout.pm @@ -0,0 +1,168 @@ +package ONVIF::Analytics::Types::CellLayout; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::CellLayout::_CellLayout::XmlAttr'; + +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 %Transformation_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Transformation + + ) ], + { + 'Transformation' => \%Transformation_of, + }, + { + 'Transformation' => 'ONVIF::Analytics::Types::Transformation', + }, + { + + 'Transformation' => 'Transformation', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::CellLayout::_CellLayout::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %Columns_of :ATTR(:get); +my %Rows_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + Columns + Rows + ) ], + { + + Columns => \%Columns_of, + + Rows => \%Rows_of, + }, + { + Columns => 'SOAP::WSDL::XSD::Typelib::Builtin::integer', + Rows => 'SOAP::WSDL::XSD::Typelib::Builtin::integer', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CellLayout + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CellLayout from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Transformation + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CellLayout + Transformation => { # ONVIF::Analytics::Types::Transformation + Translate => , + Scale => , + Extension => { # ONVIF::Analytics::Types::TransformationExtension + }, + }, + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::CellLayout::_CellLayout::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * Columns + + Number of columns of the cell grid (x dimension) + + + +This attribute is of type L. + +=item * Rows + + Number of rows of the cell grid (y dimension) + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Certificate.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Certificate.pm new file mode 100644 index 000000000..afe0724de --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Certificate.pm @@ -0,0 +1,114 @@ +package ONVIF::Analytics::Types::Certificate; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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); +my %Certificate_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( CertificateID + Certificate + + ) ], + { + 'CertificateID' => \%CertificateID_of, + 'Certificate' => \%Certificate_of, + }, + { + 'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'Certificate' => 'ONVIF::Analytics::Types::BinaryData', + }, + { + + 'CertificateID' => 'CertificateID', + 'Certificate' => 'Certificate', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Certificate + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Certificate from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * CertificateID + + +=item * Certificate + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Certificate + CertificateID => $some_value, # token + Certificate => { # ONVIF::Analytics::Types::BinaryData + Data => $some_value, # base64Binary + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParameters.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParameters.pm new file mode 100644 index 000000000..c59489646 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParameters.pm @@ -0,0 +1,140 @@ +package ONVIF::Analytics::Types::CertificateGenerationParameters; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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); +my %Subject_of :ATTR(:get); +my %ValidNotBefore_of :ATTR(:get); +my %ValidNotAfter_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( CertificateID + Subject + ValidNotBefore + ValidNotAfter + Extension + + ) ], + { + 'CertificateID' => \%CertificateID_of, + 'Subject' => \%Subject_of, + 'ValidNotBefore' => \%ValidNotBefore_of, + 'ValidNotAfter' => \%ValidNotAfter_of, + 'Extension' => \%Extension_of, + }, + { + 'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'Subject' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'ValidNotBefore' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'ValidNotAfter' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'Extension' => 'ONVIF::Analytics::Types::CertificateGenerationParametersExtension', + }, + { + + 'CertificateID' => 'CertificateID', + 'Subject' => 'Subject', + 'ValidNotBefore' => 'ValidNotBefore', + 'ValidNotAfter' => 'ValidNotAfter', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateGenerationParameters + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateGenerationParameters from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * CertificateID + + +=item * Subject + + +=item * ValidNotBefore + + +=item * ValidNotAfter + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CertificateGenerationParameters + CertificateID => $some_value, # token + Subject => $some_value, # string + ValidNotBefore => $some_value, # token + ValidNotAfter => $some_value, # token + Extension => { # ONVIF::Analytics::Types::CertificateGenerationParametersExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParametersExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParametersExtension.pm new file mode 100644 index 000000000..028bc727b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateGenerationParametersExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::CertificateGenerationParametersExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateGenerationParametersExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateGenerationParametersExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CertificateGenerationParametersExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformation.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformation.pm new file mode 100644 index 000000000..406e406e7 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformation.pm @@ -0,0 +1,197 @@ +package ONVIF::Analytics::Types::CertificateInformation; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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); +my %IssuerDN_of :ATTR(:get); +my %SubjectDN_of :ATTR(:get); +my %KeyUsage_of :ATTR(:get); +my %ExtendedKeyUsage_of :ATTR(:get); +my %KeyLength_of :ATTR(:get); +my %Version_of :ATTR(:get); +my %SerialNum_of :ATTR(:get); +my %SignatureAlgorithm_of :ATTR(:get); +my %Validity_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( CertificateID + IssuerDN + SubjectDN + KeyUsage + ExtendedKeyUsage + KeyLength + Version + SerialNum + SignatureAlgorithm + Validity + Extension + + ) ], + { + 'CertificateID' => \%CertificateID_of, + 'IssuerDN' => \%IssuerDN_of, + 'SubjectDN' => \%SubjectDN_of, + 'KeyUsage' => \%KeyUsage_of, + 'ExtendedKeyUsage' => \%ExtendedKeyUsage_of, + 'KeyLength' => \%KeyLength_of, + 'Version' => \%Version_of, + 'SerialNum' => \%SerialNum_of, + 'SignatureAlgorithm' => \%SignatureAlgorithm_of, + 'Validity' => \%Validity_of, + 'Extension' => \%Extension_of, + }, + { + 'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'IssuerDN' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'SubjectDN' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'KeyUsage' => 'ONVIF::Analytics::Types::CertificateUsage', + 'ExtendedKeyUsage' => 'ONVIF::Analytics::Types::CertificateUsage', + 'KeyLength' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Version' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'SerialNum' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'SignatureAlgorithm' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + 'Validity' => 'ONVIF::Analytics::Types::DateTimeRange', + 'Extension' => 'ONVIF::Analytics::Types::CertificateInformationExtension', + }, + { + + 'CertificateID' => 'CertificateID', + 'IssuerDN' => 'IssuerDN', + 'SubjectDN' => 'SubjectDN', + 'KeyUsage' => 'KeyUsage', + 'ExtendedKeyUsage' => 'ExtendedKeyUsage', + 'KeyLength' => 'KeyLength', + 'Version' => 'Version', + 'SerialNum' => 'SerialNum', + 'SignatureAlgorithm' => 'SignatureAlgorithm', + 'Validity' => 'Validity', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateInformation + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateInformation from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * CertificateID + + +=item * IssuerDN + + +=item * SubjectDN + + +=item * KeyUsage + + +=item * ExtendedKeyUsage + + +=item * KeyLength + + +=item * Version + + +=item * SerialNum + + +=item * SignatureAlgorithm + + +=item * Validity + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::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::Analytics::Types::DateTimeRange + From => $some_value, # dateTime + Until => $some_value, # dateTime + }, + Extension => { # ONVIF::Analytics::Types::CertificateInformationExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformationExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformationExtension.pm new file mode 100644 index 000000000..e900a9c76 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateInformationExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::CertificateInformationExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateInformationExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateInformationExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CertificateInformationExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateStatus.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateStatus.pm new file mode 100644 index 000000000..64b2a41e3 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateStatus.pm @@ -0,0 +1,112 @@ +package ONVIF::Analytics::Types::CertificateStatus; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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); +my %Status_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( CertificateID + Status + + ) ], + { + 'CertificateID' => \%CertificateID_of, + 'Status' => \%Status_of, + }, + { + 'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'Status' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + }, + { + + 'CertificateID' => 'CertificateID', + 'Status' => 'Status', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateStatus + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateStatus from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * CertificateID + + +=item * Status + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CertificateStatus + CertificateID => $some_value, # token + Status => $some_value, # boolean + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateUsage.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateUsage.pm new file mode 100644 index 000000000..7ba79b94e --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateUsage.pm @@ -0,0 +1,118 @@ +package ONVIF::Analytics::Types::CertificateUsage; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::CertificateUsage::_CertificateUsage::XmlAttr'; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + +use base qw( + SOAP::WSDL::XSD::Typelib::ComplexType + SOAP::WSDL::XSD::Typelib::Builtin::string +); + +package ONVIF::Analytics::Types::CertificateUsage::_CertificateUsage::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %Critical_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + Critical + ) ], + { + + Critical => \%Critical_of, + }, + { + Critical => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateUsage + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateUsage from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { value => $some_value }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::CertificateUsage::_CertificateUsage::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * Critical + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateWithPrivateKey.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateWithPrivateKey.pm new file mode 100644 index 000000000..17a7f8b97 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CertificateWithPrivateKey.pm @@ -0,0 +1,125 @@ +package ONVIF::Analytics::Types::CertificateWithPrivateKey; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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); +my %Certificate_of :ATTR(:get); +my %PrivateKey_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( CertificateID + Certificate + PrivateKey + + ) ], + { + 'CertificateID' => \%CertificateID_of, + 'Certificate' => \%Certificate_of, + 'PrivateKey' => \%PrivateKey_of, + }, + { + 'CertificateID' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'Certificate' => 'ONVIF::Analytics::Types::BinaryData', + 'PrivateKey' => 'ONVIF::Analytics::Types::BinaryData', + }, + { + + 'CertificateID' => 'CertificateID', + 'Certificate' => 'Certificate', + 'PrivateKey' => 'PrivateKey', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CertificateWithPrivateKey + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CertificateWithPrivateKey from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * CertificateID + + +=item * Certificate + + +=item * PrivateKey + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CertificateWithPrivateKey + CertificateID => $some_value, # token + Certificate => { # ONVIF::Analytics::Types::BinaryData + Data => $some_value, # base64Binary + }, + PrivateKey => { # ONVIF::Analytics::Types::BinaryData + Data => $some_value, # base64Binary + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptor.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptor.pm new file mode 100644 index 000000000..e7bf8d651 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptor.pm @@ -0,0 +1,176 @@ +package ONVIF::Analytics::Types::ClassDescriptor; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %ClassCandidate_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ClassCandidate + Extension + + ) ], + { + 'ClassCandidate' => \%ClassCandidate_of, + 'Extension' => \%Extension_of, + }, + { + + 'ClassCandidate' => 'ONVIF::Analytics::Types::ClassDescriptor::_ClassCandidate', + 'Extension' => 'ONVIF::Analytics::Types::ClassDescriptorExtension', + }, + { + + 'ClassCandidate' => 'ClassCandidate', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::ClassDescriptor::_ClassCandidate; +use strict; +use warnings; +{ +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 %Type_of :ATTR(:get); +my %Likelihood_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Type + Likelihood + + ) ], + { + 'Type' => \%Type_of, + 'Likelihood' => \%Likelihood_of, + }, + { + 'Type' => 'ONVIF::Analytics::Types::ClassType', + 'Likelihood' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Type' => 'Type', + 'Likelihood' => 'Likelihood', + } +); + +} # end BLOCK + + + + + + + +} + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ClassDescriptor + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ClassDescriptor from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ClassCandidate + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ClassDescriptor + ClassCandidate => { + Type => $some_value, # ClassType + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension + OtherTypes => { # ONVIF::Analytics::Types::OtherType + Type => $some_value, # string + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension2 + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension.pm new file mode 100644 index 000000000..d0f2b1fa2 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension.pm @@ -0,0 +1,116 @@ +package ONVIF::Analytics::Types::ClassDescriptorExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %OtherTypes_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( OtherTypes + Extension + + ) ], + { + 'OtherTypes' => \%OtherTypes_of, + 'Extension' => \%Extension_of, + }, + { + 'OtherTypes' => 'ONVIF::Analytics::Types::OtherType', + 'Extension' => 'ONVIF::Analytics::Types::ClassDescriptorExtension2', + }, + { + + 'OtherTypes' => 'OtherTypes', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ClassDescriptorExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ClassDescriptorExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * OtherTypes + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ClassDescriptorExtension + OtherTypes => { # ONVIF::Analytics::Types::OtherType + Type => $some_value, # string + Likelihood => $some_value, # float + }, + Extension => { # ONVIF::Analytics::Types::ClassDescriptorExtension2 + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension2.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension2.pm new file mode 100644 index 000000000..4ef892aef --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassDescriptorExtension2.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::ClassDescriptorExtension2; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ClassDescriptorExtension2 + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ClassDescriptorExtension2 from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ClassDescriptorExtension2 + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ClassType.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassType.pm new file mode 100644 index 000000000..7d788ea56 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ClassType.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::ClassType; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::string); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +ClassType from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::string +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/CodingCapabilities.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/CodingCapabilities.pm new file mode 100644 index 000000000..8f761ca97 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/CodingCapabilities.pm @@ -0,0 +1,205 @@ +package ONVIF::Analytics::Types::CodingCapabilities; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %AudioEncodingCapabilities_of :ATTR(:get); +my %AudioDecodingCapabilities_of :ATTR(:get); +my %VideoDecodingCapabilities_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( AudioEncodingCapabilities + AudioDecodingCapabilities + VideoDecodingCapabilities + + ) ], + { + 'AudioEncodingCapabilities' => \%AudioEncodingCapabilities_of, + 'AudioDecodingCapabilities' => \%AudioDecodingCapabilities_of, + 'VideoDecodingCapabilities' => \%VideoDecodingCapabilities_of, + }, + { + 'AudioEncodingCapabilities' => 'ONVIF::Analytics::Types::AudioEncoderConfigurationOptions', + 'AudioDecodingCapabilities' => 'ONVIF::Analytics::Types::AudioDecoderConfigurationOptions', + 'VideoDecodingCapabilities' => 'ONVIF::Analytics::Types::VideoDecoderConfigurationOptions', + }, + { + + 'AudioEncodingCapabilities' => 'AudioEncodingCapabilities', + 'AudioDecodingCapabilities' => 'AudioDecodingCapabilities', + 'VideoDecodingCapabilities' => 'VideoDecodingCapabilities', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::CodingCapabilities + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +CodingCapabilities from the namespace http://www.onvif.org/ver10/schema. + +This type contains the Audio and Video coding capabilities of a display service. + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * AudioEncodingCapabilities + + +=item * AudioDecodingCapabilities + + +=item * VideoDecodingCapabilities + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::CodingCapabilities + AudioEncodingCapabilities => { # ONVIF::Analytics::Types::AudioEncoderConfigurationOptions + Options => { # ONVIF::Analytics::Types::AudioEncoderConfigurationOption + Encoding => $some_value, # AudioEncoding + BitrateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateList => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + }, + AudioDecodingCapabilities => { # ONVIF::Analytics::Types::AudioDecoderConfigurationOptions + AACDecOptions => { # ONVIF::Analytics::Types::AACDecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + G711DecOptions => { # ONVIF::Analytics::Types::G711DecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + G726DecOptions => { # ONVIF::Analytics::Types::G726DecOptions + Bitrate => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + SampleRateRange => { # ONVIF::Analytics::Types::IntList + Items => $some_value, # int + }, + }, + Extension => { # ONVIF::Analytics::Types::AudioDecoderConfigurationOptionsExtension + }, + }, + VideoDecodingCapabilities => { # ONVIF::Analytics::Types::VideoDecoderConfigurationOptions + JpegDecOptions => { # ONVIF::Analytics::Types::JpegDecOptions + ResolutionsAvailable => { # ONVIF::Analytics::Types::VideoResolution + Width => $some_value, # int + Height => $some_value, # int + }, + SupportedInputBitrate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + SupportedFrameRate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + }, + H264DecOptions => { # ONVIF::Analytics::Types::H264DecOptions + ResolutionsAvailable => { # ONVIF::Analytics::Types::VideoResolution + Width => $some_value, # int + Height => $some_value, # int + }, + SupportedH264Profiles => $some_value, # H264Profile + SupportedInputBitrate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + SupportedFrameRate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + }, + Mpeg4DecOptions => { # ONVIF::Analytics::Types::Mpeg4DecOptions + ResolutionsAvailable => { # ONVIF::Analytics::Types::VideoResolution + Width => $some_value, # int + Height => $some_value, # int + }, + SupportedMpeg4Profiles => $some_value, # Mpeg4Profile + SupportedInputBitrate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + SupportedFrameRate => { # ONVIF::Analytics::Types::IntRange + Min => $some_value, # int + Max => $some_value, # int + }, + }, + Extension => { # ONVIF::Analytics::Types::VideoDecoderConfigurationOptionsExtension + }, + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Color.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Color.pm new file mode 100644 index 000000000..8632b3d75 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Color.pm @@ -0,0 +1,155 @@ +package ONVIF::Analytics::Types::Color; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::Color::_Color::XmlAttr'; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + +package ONVIF::Analytics::Types::Color::_Color::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %X_of :ATTR(:get); +my %Y_of :ATTR(:get); +my %Z_of :ATTR(:get); +my %Colorspace_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + X + Y + Z + Colorspace + ) ], + { + + X => \%X_of, + + Y => \%Y_of, + + Z => \%Z_of, + + Colorspace => \%Colorspace_of, + }, + { + X => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + Y => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + Z => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + Colorspace => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Color + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Color from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + +, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::Color::_Color::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * X + + + +This attribute is of type L. + +=item * Y + + + +This attribute is of type L. + +=item * Z + + + +This attribute is of type L. + +=item * Colorspace + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ColorCovariance.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorCovariance.pm new file mode 100644 index 000000000..f3cafc4b6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorCovariance.pm @@ -0,0 +1,188 @@ +package ONVIF::Analytics::Types::ColorCovariance; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::ColorCovariance::_ColorCovariance::XmlAttr'; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + + +# There's no variety - empty complexType +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +__PACKAGE__->_factory(); + + +package ONVIF::Analytics::Types::ColorCovariance::_ColorCovariance::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %XX_of :ATTR(:get); +my %YY_of :ATTR(:get); +my %ZZ_of :ATTR(:get); +my %XY_of :ATTR(:get); +my %XZ_of :ATTR(:get); +my %YZ_of :ATTR(:get); +my %Colorspace_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + XX + YY + ZZ + XY + XZ + YZ + Colorspace + ) ], + { + + XX => \%XX_of, + + YY => \%YY_of, + + ZZ => \%ZZ_of, + + XY => \%XY_of, + + XZ => \%XZ_of, + + YZ => \%YZ_of, + + Colorspace => \%Colorspace_of, + }, + { + XX => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + YY => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + ZZ => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + XY => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + XZ => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + YZ => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + Colorspace => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ColorCovariance + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ColorCovariance from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + +, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::ColorCovariance::_ColorCovariance::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * XX + + + +This attribute is of type L. + +=item * YY + + + +This attribute is of type L. + +=item * ZZ + + + +This attribute is of type L. + +=item * XY + + + +This attribute is of type L. + +=item * XZ + + + +This attribute is of type L. + +=item * YZ + + + +This attribute is of type L. + +=item * Colorspace + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptor.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptor.pm new file mode 100644 index 000000000..102629f8d --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptor.pm @@ -0,0 +1,176 @@ +package ONVIF::Analytics::Types::ColorDescriptor; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %ColorCluster_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ColorCluster + Extension + + ) ], + { + 'ColorCluster' => \%ColorCluster_of, + 'Extension' => \%Extension_of, + }, + { + + 'ColorCluster' => 'ONVIF::Analytics::Types::ColorDescriptor::_ColorCluster', + 'Extension' => 'ONVIF::Analytics::Types::ColorDescriptorExtension', + }, + { + + 'ColorCluster' => 'ColorCluster', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::ColorDescriptor::_ColorCluster; +use strict; +use warnings; +{ +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 %Color_of :ATTR(:get); +my %Weight_of :ATTR(:get); +my %Covariance_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Color + Weight + Covariance + + ) ], + { + 'Color' => \%Color_of, + 'Weight' => \%Weight_of, + 'Covariance' => \%Covariance_of, + }, + { + 'Color' => 'ONVIF::Analytics::Types::Color', + 'Weight' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + 'Covariance' => 'ONVIF::Analytics::Types::ColorCovariance', + }, + { + + 'Color' => 'Color', + 'Weight' => 'Weight', + 'Covariance' => 'Covariance', + } +); + +} # end BLOCK + + + + + + + +} + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ColorDescriptor + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ColorDescriptor from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ColorCluster + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ColorDescriptor + ColorCluster => { + Color => , + Weight => $some_value, # float + Covariance => , + }, + Extension => { # ONVIF::Analytics::Types::ColorDescriptorExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptorExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptorExtension.pm new file mode 100644 index 000000000..bc67c8681 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorDescriptorExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::ColorDescriptorExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ColorDescriptorExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ColorDescriptorExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ColorDescriptorExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ColorOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorOptions.pm new file mode 100644 index 000000000..eaf6fea9f --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorOptions.pm @@ -0,0 +1,128 @@ +package ONVIF::Analytics::Types::ColorOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %ColorList_of :ATTR(:get); +my %ColorspaceRange_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( ColorList + ColorspaceRange + + ) ], + { + 'ColorList' => \%ColorList_of, + 'ColorspaceRange' => \%ColorspaceRange_of, + }, + { + 'ColorList' => 'ONVIF::Analytics::Types::Color', + 'ColorspaceRange' => 'ONVIF::Analytics::Types::ColorspaceRange', + }, + { + + 'ColorList' => 'ColorList', + 'ColorspaceRange' => 'ColorspaceRange', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ColorOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ColorOptions from the namespace http://www.onvif.org/ver10/schema. + +http://www.onvif.org/ver10/colorspace/HSV - HSV colourspace + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * ColorList + + +=item * ColorspaceRange + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ColorOptions + # One of the following elements. + # No occurance checks yet, so be sure to pass just one... + ColorList => , + ColorspaceRange => { # ONVIF::Analytics::Types::ColorspaceRange + X => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Y => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Z => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Colorspace => $some_value, # anyURI + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ColorspaceRange.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorspaceRange.pm new file mode 100644 index 000000000..9a41fd6e8 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ColorspaceRange.pm @@ -0,0 +1,139 @@ +package ONVIF::Analytics::Types::ColorspaceRange; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %X_of :ATTR(:get); +my %Y_of :ATTR(:get); +my %Z_of :ATTR(:get); +my %Colorspace_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( X + Y + Z + Colorspace + + ) ], + { + 'X' => \%X_of, + 'Y' => \%Y_of, + 'Z' => \%Z_of, + 'Colorspace' => \%Colorspace_of, + }, + { + 'X' => 'ONVIF::Analytics::Types::FloatRange', + 'Y' => 'ONVIF::Analytics::Types::FloatRange', + 'Z' => 'ONVIF::Analytics::Types::FloatRange', + 'Colorspace' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI', + }, + { + + 'X' => 'X', + 'Y' => 'Y', + 'Z' => 'Z', + 'Colorspace' => 'Colorspace', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ColorspaceRange + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ColorspaceRange from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * X + + +=item * Y + + +=item * Z + + +=item * Colorspace + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ColorspaceRange + X => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Y => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Z => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + Colorspace => $some_value, # anyURI + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Config.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Config.pm new file mode 100644 index 000000000..b4fbe9997 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Config.pm @@ -0,0 +1,169 @@ +package ONVIF::Analytics::Types::Config; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::Config::_Config::XmlAttr'; + +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 %Parameters_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Parameters + + ) ], + { + 'Parameters' => \%Parameters_of, + }, + { + 'Parameters' => 'ONVIF::Analytics::Types::ItemList', + }, + { + + 'Parameters' => 'Parameters', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::Config::_Config::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); +my %Type_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + Name + Type + ) ], + { + + Name => \%Name_of, + + Type => \%Type_of, + }, + { + Name => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + Type => 'SOAP::WSDL::XSD::Typelib::Builtin::QName', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Config + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Config from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Parameters + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Config + Parameters => { # ONVIF::Analytics::Types::ItemList + SimpleItem => , + ElementItem => { + }, + Extension => { # ONVIF::Analytics::Types::ItemListExtension + }, + }, + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::Config::_Config::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * Name + + Name of the configuration. + + + +This attribute is of type L. + +=item * Type + + Type of the configuration represented by a unique QName. The Type characterizes a ConfigDescription defining the Parameters. + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescription.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescription.pm new file mode 100644 index 000000000..e36c3ac0b --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescription.pm @@ -0,0 +1,248 @@ +package ONVIF::Analytics::Types::ConfigDescription; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::ConfigDescription::_ConfigDescription::XmlAttr'; + +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 %Parameters_of :ATTR(:get); +my %Messages_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Parameters + Messages + Extension + + ) ], + { + 'Parameters' => \%Parameters_of, + 'Messages' => \%Messages_of, + 'Extension' => \%Extension_of, + }, + { + 'Parameters' => 'ONVIF::Analytics::Types::ItemListDescription', + + 'Messages' => 'ONVIF::Analytics::Types::ConfigDescription::_Messages', + 'Extension' => 'ONVIF::Analytics::Types::ConfigDescriptionExtension', + }, + { + + 'Parameters' => 'Parameters', + 'Messages' => 'Messages', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::ConfigDescription::_Messages; +use strict; +use warnings; +{ +our $XML_ATTRIBUTE_CLASS; +undef $XML_ATTRIBUTE_CLASS; + +sub __get_attr_class { + return $XML_ATTRIBUTE_CLASS; +} + + +use base qw(ONVIF::Analytics::Types::MessageDescription); +# Variety: sequence +use Class::Std::Fast::Storable constructor => 'none'; +use base qw(SOAP::WSDL::XSD::Typelib::ComplexType); + +Class::Std::initialize(); + +{ # BLOCK to scope variables + +my %Source_of :ATTR(:get); +my %Key_of :ATTR(:get); +my %Data_of :ATTR(:get); +my %Extension_of :ATTR(:get); +my %ParentTopic_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Source + Key + Data + Extension + ParentTopic + + ) ], + { + 'Source' => \%Source_of, + 'Key' => \%Key_of, + 'Data' => \%Data_of, + 'Extension' => \%Extension_of, + 'ParentTopic' => \%ParentTopic_of, + }, + { + 'Source' => 'ONVIF::Analytics::Types::ItemListDescription', + 'Key' => 'ONVIF::Analytics::Types::ItemListDescription', + 'Data' => 'ONVIF::Analytics::Types::ItemListDescription', + 'Extension' => 'ONVIF::Analytics::Types::MessageDescriptionExtension', + 'ParentTopic' => 'SOAP::WSDL::XSD::Typelib::Builtin::string', + }, + { + + 'Source' => 'Source', + 'Key' => 'Key', + 'Data' => 'Data', + 'Extension' => 'Extension', + 'ParentTopic' => 'ParentTopic', + } +); + +} # end BLOCK + + + + + + + +} + + + +package ONVIF::Analytics::Types::ConfigDescription::_ConfigDescription::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %Name_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + Name + ) ], + { + + Name => \%Name_of, + }, + { + Name => 'SOAP::WSDL::XSD::Typelib::Builtin::QName', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ConfigDescription + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ConfigDescription from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Parameters + + +=item * Messages + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ConfigDescription + Parameters => { # ONVIF::Analytics::Types::ItemListDescription + SimpleItemDescription => , + ElementItemDescription => , + Extension => { # ONVIF::Analytics::Types::ItemListDescriptionExtension + }, + }, + Messages => { + ParentTopic => $some_value, # string + }, + Extension => { # ONVIF::Analytics::Types::ConfigDescriptionExtension + }, + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::ConfigDescription::_ConfigDescription::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * Name + + XML Type of the Configuration (e.g. "tt::LineDetector"). + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescriptionExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescriptionExtension.pm new file mode 100644 index 000000000..9c2eefde8 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigDescriptionExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::ConfigDescriptionExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ConfigDescriptionExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ConfigDescriptionExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ConfigDescriptionExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigurationEntity.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigurationEntity.pm new file mode 100644 index 000000000..8e544d6a6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ConfigurationEntity.pm @@ -0,0 +1,159 @@ +package ONVIF::Analytics::Types::ConfigurationEntity; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +our $XML_ATTRIBUTE_CLASS = 'ONVIF::Analytics::Types::ConfigurationEntity::_ConfigurationEntity::XmlAttr'; + +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 %Name_of :ATTR(:get); +my %UseCount_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Name + UseCount + + ) ], + { + 'Name' => \%Name_of, + 'UseCount' => \%UseCount_of, + }, + { + 'Name' => 'ONVIF::Analytics::Types::Name', + 'UseCount' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Name' => 'Name', + 'UseCount' => 'UseCount', + } +); + +} # end BLOCK + + + + +package ONVIF::Analytics::Types::ConfigurationEntity::_ConfigurationEntity::XmlAttr; +use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet); + +{ # BLOCK to scope variables + +my %token_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( + token + ) ], + { + + token => \%token_of, + }, + { + token => 'ONVIF::Analytics::Types::ReferenceToken', + } +); + +} # end BLOCK + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ConfigurationEntity + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ConfigurationEntity from the namespace http://www.onvif.org/ver10/schema. + +Base type defining the common properties of a configuration. + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Name + + +=item * UseCount + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ConfigurationEntity + Name => $some_value, # Name + UseCount => $some_value, # int + }, + + + +=head2 attr + +NOTE: Attribute documentation is experimental, and may be inaccurate. +See the correspondent WSDL/XML Schema if in question. + +This class has additional attributes, accessibly via the C method. + +attr() returns an object of the class ONVIF::Analytics::Types::ConfigurationEntity::_ConfigurationEntity::XmlAttr. + +The following attributes can be accessed on this object via the corresponding +get_/set_ methods: + +=over + +=item * token + + Token that uniquely refernces this configuration. Length up to 64 characters. + + + +This attribute is of type L. + + +=back + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocus.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocus.pm new file mode 100644 index 000000000..cf6f1cabe --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocus.pm @@ -0,0 +1,103 @@ +package ONVIF::Analytics::Types::ContinuousFocus; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Speed_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Speed + + ) ], + { + 'Speed' => \%Speed_of, + }, + { + 'Speed' => 'SOAP::WSDL::XSD::Typelib::Builtin::float', + }, + { + + 'Speed' => 'Speed', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ContinuousFocus + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ContinuousFocus from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Speed + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ContinuousFocus + Speed => $some_value, # float + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocusOptions.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocusOptions.pm new file mode 100644 index 000000000..f9970d781 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/ContinuousFocusOptions.pm @@ -0,0 +1,106 @@ +package ONVIF::Analytics::Types::ContinuousFocusOptions; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Speed_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Speed + + ) ], + { + 'Speed' => \%Speed_of, + }, + { + 'Speed' => 'ONVIF::Analytics::Types::FloatRange', + }, + { + + 'Speed' => 'Speed', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::ContinuousFocusOptions + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +ContinuousFocusOptions from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Speed + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::ContinuousFocusOptions + Speed => { # ONVIF::Analytics::Types::FloatRange + Min => $some_value, # float + Max => $some_value, # float + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformation.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformation.pm new file mode 100644 index 000000000..8c0e830bb --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformation.pm @@ -0,0 +1,148 @@ +package ONVIF::Analytics::Types::DNSInformation; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %FromDHCP_of :ATTR(:get); +my %SearchDomain_of :ATTR(:get); +my %DNSFromDHCP_of :ATTR(:get); +my %DNSManual_of :ATTR(:get); +my %Extension_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( FromDHCP + SearchDomain + DNSFromDHCP + DNSManual + Extension + + ) ], + { + 'FromDHCP' => \%FromDHCP_of, + 'SearchDomain' => \%SearchDomain_of, + 'DNSFromDHCP' => \%DNSFromDHCP_of, + 'DNSManual' => \%DNSManual_of, + 'Extension' => \%Extension_of, + }, + { + 'FromDHCP' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean', + 'SearchDomain' => 'SOAP::WSDL::XSD::Typelib::Builtin::token', + 'DNSFromDHCP' => 'ONVIF::Analytics::Types::IPAddress', + 'DNSManual' => 'ONVIF::Analytics::Types::IPAddress', + 'Extension' => 'ONVIF::Analytics::Types::DNSInformationExtension', + }, + { + + 'FromDHCP' => 'FromDHCP', + 'SearchDomain' => 'SearchDomain', + 'DNSFromDHCP' => 'DNSFromDHCP', + 'DNSManual' => 'DNSManual', + 'Extension' => 'Extension', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::DNSInformation + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +DNSInformation from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * FromDHCP + + +=item * SearchDomain + + +=item * DNSFromDHCP + + +=item * DNSManual + + +=item * Extension + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::DNSInformation + FromDHCP => $some_value, # boolean + SearchDomain => $some_value, # token + DNSFromDHCP => { # ONVIF::Analytics::Types::IPAddress + Type => $some_value, # IPType + IPv4Address => $some_value, # IPv4Address + IPv6Address => $some_value, # IPv6Address + }, + DNSManual => { # ONVIF::Analytics::Types::IPAddress + Type => $some_value, # IPType + IPv4Address => $some_value, # IPv4Address + IPv6Address => $some_value, # IPv6Address + }, + Extension => { # ONVIF::Analytics::Types::DNSInformationExtension + }, + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformationExtension.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformationExtension.pm new file mode 100644 index 000000000..e5ed4f566 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSInformationExtension.pm @@ -0,0 +1,94 @@ +package ONVIF::Analytics::Types::DNSInformationExtension; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::DNSInformationExtension + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +DNSInformationExtension from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::DNSInformationExtension + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/DNSName.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSName.pm new file mode 100644 index 000000000..b9f099649 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/DNSName.pm @@ -0,0 +1,65 @@ +package ONVIF::Analytics::Types::DNSName; +use strict; +use warnings; + +sub get_xmlns { 'http://www.onvif.org/ver10/schema'}; + +# derivation by restriction +use base qw( + SOAP::WSDL::XSD::Typelib::Builtin::token); + + + +1; + +__END__ + +=pod + +=head1 NAME + + + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined simpleType +DNSName from the namespace http://www.onvif.org/ver10/schema. + + + + + +This clase is derived from + SOAP::WSDL::XSD::Typelib::Builtin::token +. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly +like it's base type. + +# Description of restrictions not implemented yet. + + +=head1 METHODS + +=head2 new + +Constructor. + +=head2 get_value / set_value + +Getter and setter for the simpleType's value. + +=head1 OVERLOADING + +Depending on the simple type's base type, the following operations are overloaded + + Stringification + Numerification + Boolification + +Check L for more information. + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/Date.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/Date.pm new file mode 100644 index 000000000..e528318a0 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/Date.pm @@ -0,0 +1,121 @@ +package ONVIF::Analytics::Types::Date; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Year_of :ATTR(:get); +my %Month_of :ATTR(:get); +my %Day_of :ATTR(:get); + +__PACKAGE__->_factory( + [ qw( Year + Month + Day + + ) ], + { + 'Year' => \%Year_of, + 'Month' => \%Month_of, + 'Day' => \%Day_of, + }, + { + 'Year' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Month' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + 'Day' => 'SOAP::WSDL::XSD::Typelib::Builtin::int', + }, + { + + 'Year' => 'Year', + 'Month' => 'Month', + 'Day' => 'Day', + } +); + +} # end BLOCK + + + + + + + + +1; + + +=pod + +=head1 NAME + +ONVIF::Analytics::Types::Date + +=head1 DESCRIPTION + +Perl data type class for the XML Schema defined complexType +Date from the namespace http://www.onvif.org/ver10/schema. + + + + + + +=head2 PROPERTIES + +The following properties may be accessed using get_PROPERTY / set_PROPERTY +methods: + +=over + +=item * Year + + +=item * Month + + +=item * Day + + + + +=back + + +=head1 METHODS + +=head2 new + +Constructor. The following data structure may be passed to new(): + + { # ONVIF::Analytics::Types::Date + Year => $some_value, # int + Month => $some_value, # int + Day => $some_value, # int + }, + + + + +=head1 AUTHOR + +Generated by SOAP::WSDL + +=cut + diff --git a/onvif/proxy/lib/ONVIF/Analytics/Types/DateTime.pm b/onvif/proxy/lib/ONVIF/Analytics/Types/DateTime.pm new file mode 100644 index 000000000..c4e1ed2b6 --- /dev/null +++ b/onvif/proxy/lib/ONVIF/Analytics/Types/DateTime.pm @@ -0,0 +1,120 @@ +package ONVIF::Analytics::Types::DateTime; +use strict; +use warnings; + + +__PACKAGE__->_set_element_form_qualified(1); + +sub get_xmlns { 'http://www.onvif.org/ver10/schema' }; + +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 %Time_of :ATTR(:get