From 95087beeb97a01ef38fdca5e1eaf888292e118b4 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 12 Aug 2015 11:00:41 -0400 Subject: [PATCH 001/184] 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/184] 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/184] #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/184] 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/184] 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/184] 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 7365c053e6bcd67ef960d6de89bf722b44a3280f Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 12:56:40 -0500 Subject: [PATCH 007/184] Create a Filter object, out of some of the code in zmfilter.pl. The purpose is to be able to use it elsewhere like zmvideo.pl. --- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 494 +++++++++++++++++++ scripts/ZoneMinder/lib/ZoneMinder/Storage.pm | 160 ++++++ 2 files changed, 654 insertions(+) create mode 100644 scripts/ZoneMinder/lib/ZoneMinder/Filter.pm create mode 100644 scripts/ZoneMinder/lib/ZoneMinder/Storage.pm diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm new file mode 100644 index 000000000..4888636a6 --- /dev/null +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -0,0 +1,494 @@ +# ========================================================================== +# +# ZoneMinder Filter Module, $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. +# +# ========================================================================== +# +# This module contains the common definitions and functions used by the rest +# of the ZoneMinder scripts +# +package ZoneMinder::Filter; + +use 5.006; +use strict; +use warnings; + +require Exporter; +require ZoneMinder::Base; +require Date::Manip; + +our @ISA = qw(Exporter ZoneMinder::Base); + +# Items to export into callers namespace by default. Note: do not export +# names by default without a very good reason. Use EXPORT_OK instead. +# Do not simply export all your public functions/methods/constants. + +# This allows declaration use ZoneMinder ':all'; +# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK +# will save memory. +our %EXPORT_TAGS = ( + 'functions' => [ qw( + ) ] +); +push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS; + +our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); + +our @EXPORT = qw(); + +our $VERSION = $ZoneMinder::Base::VERSION; + +# ========================================================================== +# +# General Utility Functions +# +# ========================================================================== + +use ZoneMinder::Config qw(:all); +use ZoneMinder::Logger qw(:all); +use ZoneMinder::Database qw(:all); + +use POSIX; + +sub new { + my ( $parent, $id, $data ) = @_; + + my $self = {}; + bless $self, $parent; + $$self{dbh} = $ZoneMinder::Database::dbh; +#zmDbConnect(); + if ( ( $$self{Id} = $id ) or $data ) { +#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; + $self->load( $data ); + } + return $self; +} # end sub new + +sub load { + my ( $self, $data ) = @_; + my $type = ref $self; + if ( ! $data ) { +#$log->debug("Object::load Loading from db $type"); + $data = $$self{dbh}->selectrow_hashref( 'SELECT * FROM Filter WHERE Id=?', {}, $$self{Id} ); + if ( ! $data ) { + Error( "Failure to load Filter record for $$self{Id}: Reason: " . $$self{dbh}->errstr ); + } else { + Debug( 3, "Loaded Filter $$self{Id}" ); + } # end if + } # end if ! $data + if ( $data and %$data ) { + @$self{keys %$data} = values %$data; + } # end if +} # end sub load + +sub Name { + if ( @_ > 1 ) { + $_[0]{Name} = $_[1]; + } + return $_[0]{Name}; +} # end sub Path + +sub find { + +} +sub Execute { + my $self = $_[0]; + + my $sql = $self->Sql(); + + if ( $self->{HasDiskPercent} ) + { + my $disk_percent = getDiskPercent(); + $sql =~ s/zmDiskPercent/$disk_percent/g; + } + if ( $self->{HasDiskBlocks} ) + { + my $disk_blocks = getDiskBlocks(); + $sql =~ s/zmDiskBlocks/$disk_blocks/g; + } + if ( $self->{HasSystemLoad} ) + { + my $load = getLoad(); + $sql =~ s/zmSystemLoad/$load/g; + } + + my $sth = $$self{dbh}->prepare_cached( $sql ) + or Fatal( "Can't prepare '$sql': ".$$self{dbh}->errstr() ); + my $res = $sth->execute(); + if ( !$res ) + { + Error( "Can't execute filter '$sql', ignoring: ".$sth->errstr() ); + return; + } + my @results; + + while( my $event = $sth->fetchrow_hashref() ) { + push @results, $event; + } + $sth->finish(); + return @results; +} + +sub Sql { + my $self = $_[0]; + if ( ! $$self{Sql} ) { + my $filter_expr = ZoneMinder::General::jsonDecode( $self->{Query} ); + my $sql = "SELECT E.Id, + E.MonitorId, + M.Name as MonitorName, + M.DefaultRate, + M.DefaultScale, + E.Name, + E.Cause, + E.Notes, + E.StartTime, + unix_timestamp(E.StartTime) as Time, + E.Length, + E.Frames, + E.AlarmFrames, + E.TotScore, + E.AvgScore, + E.MaxScore, + E.Archived, + E.Videoed, + E.Uploaded, + E.Emailed, + E.Messaged, + E.Executed + FROM Events as E + INNER JOIN Monitors as M on M.Id = E.MonitorId + "; + $self->{Sql} = ''; + + if ( $filter_expr->{terms} ) { + for ( my $i = 0; $i < @{$filter_expr->{terms}}; $i++ ) { + if ( exists($filter_expr->{terms}[$i]->{cnj}) ) { + $self->{Sql} .= " ".$filter_expr->{terms}[$i]->{cnj}." "; + } + if ( exists($filter_expr->{terms}[$i]->{obr}) ) { + $self->{Sql} .= " ".str_repeat( "(", $filter_expr->{terms}[$i]->{obr} )." "; + } + my $value = $filter_expr->{terms}[$i]->{val}; + my @value_list; + if ( $filter_expr->{terms}[$i]->{attr} ) { + if ( $filter_expr->{terms}[$i]->{attr} =~ /^Monitor/ ) { + my ( $temp_attr_name ) = $filter_expr->{terms}[$i]->{attr} =~ /^Monitor(.+)$/; + $self->{Sql} .= "M.".$temp_attr_name; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DateTime' ) { + $self->{Sql} .= "E.StartTime"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Date' ) { + $self->{Sql} .= "to_days( E.StartTime )"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Time' ) { + $self->{Sql} .= "extract( hour_second from E.StartTime )"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Weekday' ) { + $self->{Sql} .= "weekday( E.StartTime )"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DiskPercent' ) { + $self->{Sql} .= "zmDiskPercent"; + $self->{HasDiskPercent} = !undef; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DiskBlocks' ) { + $self->{Sql} .= "zmDiskBlocks"; + $self->{HasDiskBlocks} = !undef; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'SystemLoad' ) { + $self->{Sql} .= "zmSystemLoad"; + $self->{HasSystemLoad} = !undef; + } else { + $self->{Sql} .= "E.".$filter_expr->{terms}[$i]->{attr}; + } + + ( my $stripped_value = $value ) =~ s/^["\']+?(.+)["\']+?$/$1/; + foreach my $temp_value ( split( /["'\s]*?,["'\s]*?/, $stripped_value ) ) { + if ( $filter_expr->{terms}[$i]->{attr} =~ /^Monitor/ ) { + $value = "'$temp_value'"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Name' + || $filter_expr->{terms}[$i]->{attr} eq 'Cause' + || $filter_expr->{terms}[$i]->{attr} eq 'Notes' + ) { + $value = "'$temp_value'"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DateTime' ) { + $value = DateTimeToSQL( $temp_value ); + if ( !$value ) { + Error( "Error parsing date/time '$temp_value', " + ."skipping filter '$self->{Name}'\n" ); + return; + } + $value = "'$value'"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Date' ) { + $value = DateTimeToSQL( $temp_value ); + if ( !$value ) { + Error( "Error parsing date/time '$temp_value', " + ."skipping filter '$self->{Name}'\n" ); + return; + } + $value = "to_days( '$value' )"; + } elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Time' ) { + $value = DateTimeToSQL( $temp_value ); + if ( !$value ) { + Error( "Error parsing date/time '$temp_value', " + ."skipping filter '$self->{Name}'\n" ); + return; + } + $value = "extract( hour_second from '$value' )"; + } else { + $value = $temp_value; + } + push( @value_list, $value ); + } # end foreach temp_value + } # end if has an attr + if ( $filter_expr->{terms}[$i]->{op} ) { + if ( $filter_expr->{terms}[$i]->{op} eq '=~' ) { + $self->{Sql} .= " regexp $value"; + } elsif ( $filter_expr->{terms}[$i]->{op} eq '!~' ) { + $self->{Sql} .= " not regexp $value"; + } elsif ( $filter_expr->{terms}[$i]->{op} eq '=[]' ) { + $self->{Sql} .= " in (".join( ",", @value_list ).")"; + } elsif ( $filter_expr->{terms}[$i]->{op} eq '!~' ) { + $self->{Sql} .= " not in (".join( ",", @value_list ).")"; + } else { + $self->{Sql} .= " ".$filter_expr->{terms}[$i]->{op}." $value"; + } + } # end if has an operator + if ( exists($filter_expr->{terms}[$i]->{cbr}) ) { + $self->{Sql} .= " ".str_repeat( ")", $filter_expr->{terms}[$i]->{cbr} )." "; + } + } # end foreach term + } # end if terms + + if ( $self->{Sql} ) + { + if ( $self->{AutoMessage} ) + { + # Include all events, including events that are still ongoing + # and have no EndTime yet + $sql .= " and ( ".$self->{Sql}." )"; + } + else + { + # Only include closed events (events with valid EndTime) + $sql .= " where not isnull(E.EndTime) and ( ".$self->{Sql}." )"; + } + } + my @auto_terms; + if ( $self->{AutoArchive} ) + { + push( @auto_terms, "E.Archived = 0" ) + } + if ( $self->{AutoVideo} ) + { + push( @auto_terms, "E.Videoed = 0" ) + } + if ( $self->{AutoUpload} ) + { + push( @auto_terms, "E.Uploaded = 0" ) + } + if ( $self->{AutoEmail} ) + { + push( @auto_terms, "E.Emailed = 0" ) + } + if ( $self->{AutoMessage} ) + { + push( @auto_terms, "E.Messaged = 0" ) + } + if ( $self->{AutoExecute} ) + { + push( @auto_terms, "E.Executed = 0" ) + } + if ( @auto_terms ) + { + $sql .= " and ( ".join( " or ", @auto_terms )." )"; + } + if ( !$filter_expr->{sort_field} ) + { + $filter_expr->{sort_field} = 'StartTime'; + $filter_expr->{sort_asc} = 0; + } + my $sort_column = ''; + if ( $filter_expr->{sort_field} eq 'Id' ) + { + $sort_column = "E.Id"; + } + elsif ( $filter_expr->{sort_field} eq 'MonitorName' ) + { + $sort_column = "M.Name"; + } + elsif ( $filter_expr->{sort_field} eq 'Name' ) + { + $sort_column = "E.Name"; + } + elsif ( $filter_expr->{sort_field} eq 'StartTime' ) + { + $sort_column = "E.StartTime"; + } + elsif ( $filter_expr->{sort_field} eq 'Secs' ) + { + $sort_column = "E.Length"; + } + elsif ( $filter_expr->{sort_field} eq 'Frames' ) + { + $sort_column = "E.Frames"; + } + elsif ( $filter_expr->{sort_field} eq 'AlarmFrames' ) + { + $sort_column = "E.AlarmFrames"; + } + elsif ( $filter_expr->{sort_field} eq 'TotScore' ) + { + $sort_column = "E.TotScore"; + } + elsif ( $filter_expr->{sort_field} eq 'AvgScore' ) + { + $sort_column = "E.AvgScore"; + } + elsif ( $filter_expr->{sort_field} eq 'MaxScore' ) + { + $sort_column = "E.MaxScore"; + } + else + { + $sort_column = "E.StartTime"; + } + my $sort_order = $filter_expr->{sort_asc}?"asc":"desc"; + $sql .= " order by ".$sort_column." ".$sort_order; + if ( $filter_expr->{limit} ) + { + $sql .= " limit 0,".$filter_expr->{limit}; + } + Debug( "SQL:$sql\n" ); + $self->{Sql} = $sql; + } # end if has Sql + return $self->{Sql}; +} # end sub Sql + +sub getDiskPercent +{ + my $command = "df ."; + my $df = qx( $command ); + my $space = -1; + if ( $df =~ /\s(\d+)%/ms ) + { + $space = $1; + } + return( $space ); +} +sub getDiskBlocks +{ + my $command = "df ."; + my $df = qx( $command ); + my $space = -1; + if ( $df =~ /\s(\d+)\s+\d+\s+\d+%/ms ) + { + $space = $1; + } + return( $space ); +} +sub getLoad +{ + my $command = "uptime ."; + my $uptime = qx( $command ); + my $load = -1; + if ( $uptime =~ /load average:\s+([\d.]+)/ms ) + { + $load = $1; + Info( "Load: $load" ); + } + return( $load ); +} + +# +# More or less replicates the equivalent PHP function +# +sub strtotime +{ + my $dt_str = shift; + return( Date::Manip::UnixDate( $dt_str, '%s' ) ); +} + +# +# More or less replicates the equivalent PHP function +# +sub str_repeat +{ + my $string = shift; + my $count = shift; + return( ${string}x${count} ); +} + +# Formats a date into MySQL format +sub DateTimeToSQL +{ + my $dt_str = shift; + my $dt_val = strtotime( $dt_str ); + if ( !$dt_val ) + { + Error( "Unable to parse date string '$dt_str'\n" ); + return( undef ); + } + return( strftime( "%Y-%m-%d %H:%M:%S", localtime( $dt_val ) ) ); +} + +1; +__END__ +# Below is stub documentation for your module. You'd better edit it! + +=head1 NAME + +ZoneMinder::Database - Perl extension for blah blah blah + +=head1 SYNOPSIS + + use ZoneMinder::Filter; + blah blah blah + +=head1 DESCRIPTION + +Stub documentation for ZoneMinder, created by h2xs. It looks like the +author of the extension was negligent enough to leave the stub +unedited. + +Blah blah blah. + +=head2 EXPORT + +None by default. + + + +=head1 SEE ALSO + +Mention other useful documentation such as the documentation of +related modules or operating system documentation (such as man pages +in UNIX), or any relevant external documentation such as RFCs or +standards. + +If you have a mailing list set up for your module, mention it here. + +If you have a web site set up for your module, mention it here. + +=head1 AUTHOR + +Philip Coombes, Ephilip.coombes@zoneminder.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2001-2008 Philip Coombes + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.3 or, +at your option, any later version of Perl 5 you may have available. + + +=cut diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm b/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm new file mode 100644 index 000000000..d89599e61 --- /dev/null +++ b/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm @@ -0,0 +1,160 @@ +# ========================================================================== +# +# ZoneMinder Storage Module, $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. +# +# ========================================================================== +# +# This module contains the common definitions and functions used by the rest +# of the ZoneMinder scripts +# +package ZoneMinder::Storage; + +use 5.006; +use strict; +use warnings; + +require Exporter; +require ZoneMinder::Base; + +our @ISA = qw(Exporter ZoneMinder::Base); + +# Items to export into callers namespace by default. Note: do not export +# names by default without a very good reason. Use EXPORT_OK instead. +# Do not simply export all your public functions/methods/constants. + +# This allows declaration use ZoneMinder ':all'; +# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK +# will save memory. +our %EXPORT_TAGS = ( + 'functions' => [ qw( + ) ] +); +push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS; + +our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); + +our @EXPORT = qw(); + +our $VERSION = $ZoneMinder::Base::VERSION; + +# ========================================================================== +# +# General Utility Functions +# +# ========================================================================== + +use ZoneMinder::Config qw(:all); +use ZoneMinder::Logger qw(:all); +use ZoneMinder::Database qw(:all); + +use POSIX; + +sub new { + my ( $parent, $id, $data ) = @_; + + my $self = {}; + bless $self, $parent; + if ( ( $$self{id} = $id ) or $data ) { +#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; + $self->load( $data ); + } +} # end sub new + +sub load { + my ( $self, $data ) = @_; + my $type = ref $self; + if ( ! $data ) { +#$log->debug("Object::load Loading from db $type"); + $data = $ZoneMinder::dbh->selectrow_hashref( 'SELECT * FROM Storage WHERE Id=?', {}, $$self{Id} ); + if ( ! $data ) { + if ( $ZoneMinder::dbh->errstr ) { + Error( "Failure to load Storage record for $$self{id}: Reason: " . $ZoneMinder::dbh->errstr ); + } # end if + } # end if + } # end if ! $data + if ( $data and %$data ) { + @$self{keys %$data} = values %$data; + } # end if +} # end sub load + +sub Path { + if ( @_ > 1 ) { + $_[0]{Path} = $_[1]; + } + return $_[0]{Path}; +} # end sub Path + +sub Name { + if ( @_ > 1 ) { + $_[0]{Name} = $_[1]; + } + return $_[0]{Name}; +} # end sub Path + +1; +__END__ +# Below is stub documentation for your module. You'd better edit it! + +=head1 NAME + +ZoneMinder::Database - Perl extension for blah blah blah + +=head1 SYNOPSIS + + use ZoneMinder::Storage; + blah blah blah + +=head1 DESCRIPTION + +Stub documentation for ZoneMinder, created by h2xs. It looks like the +author of the extension was negligent enough to leave the stub +unedited. + +Blah blah blah. + +=head2 EXPORT + +None by default. + + + +=head1 SEE ALSO + +Mention other useful documentation such as the documentation of +related modules or operating system documentation (such as man pages +in UNIX), or any relevant external documentation such as RFCs or +standards. + +If you have a mailing list set up for your module, mention it here. + +If you have a web site set up for your module, mention it here. + +=head1 AUTHOR + +Philip Coombes, Ephilip.coombes@zoneminder.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2001-2008 Philip Coombes + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.3 or, +at your option, any later version of Perl 5 you may have available. + + +=cut From 64f65b55cc3c1b98a1b47347fbe6b794a99ca2e5 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 12:57:14 -0500 Subject: [PATCH 008/184] use new Filter object to do some of the heavy lifting in zmfilter.pl --- scripts/zmfilter.pl.in | 362 ++--------------------------------------- 1 file changed, 13 insertions(+), 349 deletions(-) diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 54f372262..7e6c63563 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -60,10 +60,11 @@ use constant START_DELAY => 5; # How long to wait before starting @EXTRA_PERL_LIB@ use ZoneMinder; +require ZoneMinder::Filter; use DBI; use POSIX; use Time::HiRes qw/gettimeofday/; -use Date::Manip; +#use Date::Manip; use Getopt::Long; use autouse 'Pod::Usage'=>qw(pod2usage); use autouse 'Data::Dumper'=>qw(Dumper); @@ -137,36 +138,6 @@ my $filter_parm = ""; my $version = 0; # -# More or less replicates the equivalent PHP function -# -sub strtotime -{ - my $dt_str = shift; - return( UnixDate( $dt_str, '%s' ) ); -} - -# -# More or less replicates the equivalent PHP function -# -sub str_repeat -{ - my $string = shift; - my $count = shift; - return( ${string}x${count} ); -} - -# Formats a date into MySQL format -sub DateTimeToSQL -{ - my $dt_str = shift; - my $dt_val = strtotime( $dt_str ); - if ( !$dt_val ) - { - Error( "Unable to parse date string '$dt_str'\n" ); - return( undef ); - } - return( strftime( "%Y-%m-%d %H:%M:%S", localtime( $dt_val ) ) ); -} GetOptions( 'filter=s' =>\$filter_parm, @@ -299,298 +270,18 @@ sub getFilters } FILTER: while( my $db_filter = $sth->fetchrow_hashref() ) { + my $filter = new ZoneMinder::Filter( $$db_filter{Id}, $db_filter ); Debug( "Found filter '$db_filter->{Name}'\n" ); - my $filter_expr = jsonDecode( $db_filter->{Query} ); - my $sql = "SELECT E.Id, - E.MonitorId, - M.Name as MonitorName, - M.DefaultRate, - M.DefaultScale, - E.Name, - E.Cause, - E.Notes, - E.StartTime, - unix_timestamp(E.StartTime) as Time, - E.Length, - E.Frames, - E.AlarmFrames, - E.TotScore, - E.AvgScore, - E.MaxScore, - E.Archived, - E.Videoed, - E.Uploaded, - E.Emailed, - E.Messaged, - E.Executed - FROM Events as E - INNER JOIN Monitors as M on M.Id = E.MonitorId - "; - $db_filter->{Sql} = ''; + my $sql = $filter->Sql(); - if ( $filter_expr->{terms} ) - { - for ( my $i = 0; $i < @{$filter_expr->{terms}}; $i++ ) - { - if ( exists($filter_expr->{terms}[$i]->{cnj}) ) - { - $db_filter->{Sql} .= " ".$filter_expr->{terms}[$i]->{cnj}." "; - } - if ( exists($filter_expr->{terms}[$i]->{obr}) ) - { - $db_filter->{Sql} .= " ".str_repeat( "(", $filter_expr->{terms}[$i]->{obr} )." "; - } - my $value = $filter_expr->{terms}[$i]->{val}; - my @value_list; - if ( $filter_expr->{terms}[$i]->{attr} ) - { - if ( $filter_expr->{terms}[$i]->{attr} =~ /^Monitor/ ) - { - my ( $temp_attr_name ) = $filter_expr->{terms}[$i]->{attr} =~ /^Monitor(.+)$/; - $db_filter->{Sql} .= "M.".$temp_attr_name; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DateTime' ) - { - $db_filter->{Sql} .= "E.StartTime"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Date' ) - { - $db_filter->{Sql} .= "to_days( E.StartTime )"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Time' ) - { - $db_filter->{Sql} .= "extract( hour_second from E.StartTime )"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Weekday' ) - { - $db_filter->{Sql} .= "weekday( E.StartTime )"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DiskPercent' ) - { - $db_filter->{Sql} .= "zmDiskPercent"; - $db_filter->{HasDiskPercent} = !undef; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DiskBlocks' ) - { - $db_filter->{Sql} .= "zmDiskBlocks"; - $db_filter->{HasDiskBlocks} = !undef; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'SystemLoad' ) - { - $db_filter->{Sql} .= "zmSystemLoad"; - $db_filter->{HasSystemLoad} = !undef; - } - else - { - $db_filter->{Sql} .= "E.".$filter_expr->{terms}[$i]->{attr}; - } - - ( my $stripped_value = $value ) =~ s/^["\']+?(.+)["\']+?$/$1/; - foreach my $temp_value ( split( /["'\s]*?,["'\s]*?/, $stripped_value ) ) - { - if ( $filter_expr->{terms}[$i]->{attr} =~ /^Monitor/ ) - { - $value = "'$temp_value'"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Name' - || $filter_expr->{terms}[$i]->{attr} eq 'Cause' - || $filter_expr->{terms}[$i]->{attr} eq 'Notes' - ) - { - $value = "'$temp_value'"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'DateTime' ) - { - $value = DateTimeToSQL( $temp_value ); - if ( !$value ) - { - Error( "Error parsing date/time '$temp_value', " - ."skipping filter '$db_filter->{Name}'\n" ); - next FILTER; - } - $value = "'$value'"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Date' ) - { - $value = DateTimeToSQL( $temp_value ); - if ( !$value ) - { - Error( "Error parsing date/time '$temp_value', " - ."skipping filter '$db_filter->{Name}'\n" ); - next FILTER; - } - $value = "to_days( '$value' )"; - } - elsif ( $filter_expr->{terms}[$i]->{attr} eq 'Time' ) - { - $value = DateTimeToSQL( $temp_value ); - if ( !$value ) - { - Error( "Error parsing date/time '$temp_value', " - ."skipping filter '$db_filter->{Name}'\n" ); - next FILTER; - } - $value = "extract( hour_second from '$value' )"; - } - else - { - $value = $temp_value; - } - push( @value_list, $value ); - } - } - if ( $filter_expr->{terms}[$i]->{op} ) - { - if ( $filter_expr->{terms}[$i]->{op} eq '=~' ) - { - $db_filter->{Sql} .= " regexp $value"; - } - elsif ( $filter_expr->{terms}[$i]->{op} eq '!~' ) - { - $db_filter->{Sql} .= " not regexp $value"; - } - elsif ( $filter_expr->{terms}[$i]->{op} eq '=[]' ) - { - $db_filter->{Sql} .= " in (".join( ",", @value_list ).")"; - } - elsif ( $filter_expr->{terms}[$i]->{op} eq '!~' ) - { - $db_filter->{Sql} .= " not in (".join( ",", @value_list ).")"; - } - else - { - $db_filter->{Sql} .= " ".$filter_expr->{terms}[$i]->{op}." $value"; - } - } - if ( exists($filter_expr->{terms}[$i]->{cbr}) ) - { - $db_filter->{Sql} .= " ".str_repeat( ")", $filter_expr->{terms}[$i]->{cbr} )." "; - } - } - } - if ( $db_filter->{Sql} ) - { - if ( $db_filter->{AutoMessage} ) - { - # Include all events, including events that are still ongoing - # and have no EndTime yet - $sql .= " and ( ".$db_filter->{Sql}." )"; - } - else - { - # Only include closed events (events with valid EndTime) - $sql .= " where not isnull(E.EndTime) and ( ".$db_filter->{Sql}." )"; - } - } - my @auto_terms; - if ( $db_filter->{AutoArchive} ) - { - push( @auto_terms, "E.Archived = 0" ) - } - if ( $db_filter->{AutoVideo} ) - { - push( @auto_terms, "E.Videoed = 0" ) - } - if ( $db_filter->{AutoUpload} ) - { - push( @auto_terms, "E.Uploaded = 0" ) - } - if ( $db_filter->{AutoEmail} ) - { - push( @auto_terms, "E.Emailed = 0" ) - } - if ( $db_filter->{AutoMessage} ) - { - push( @auto_terms, "E.Messaged = 0" ) - } - if ( $db_filter->{AutoExecute} ) - { - push( @auto_terms, "E.Executed = 0" ) - } - if ( @auto_terms ) - { - $sql .= " and ( ".join( " or ", @auto_terms )." )"; - } - if ( !$filter_expr->{sort_field} ) - { - $filter_expr->{sort_field} = 'StartTime'; - $filter_expr->{sort_asc} = 0; - } - my $sort_column = ''; - if ( $filter_expr->{sort_field} eq 'Id' ) - { - $sort_column = "E.Id"; - } - elsif ( $filter_expr->{sort_field} eq 'MonitorName' ) - { - $sort_column = "M.Name"; - } - elsif ( $filter_expr->{sort_field} eq 'Name' ) - { - $sort_column = "E.Name"; - } - elsif ( $filter_expr->{sort_field} eq 'StartTime' ) - { - $sort_column = "E.StartTime"; - } - elsif ( $filter_expr->{sort_field} eq 'Secs' ) - { - $sort_column = "E.Length"; - } - elsif ( $filter_expr->{sort_field} eq 'Frames' ) - { - $sort_column = "E.Frames"; - } - elsif ( $filter_expr->{sort_field} eq 'AlarmFrames' ) - { - $sort_column = "E.AlarmFrames"; - } - elsif ( $filter_expr->{sort_field} eq 'TotScore' ) - { - $sort_column = "E.TotScore"; - } - elsif ( $filter_expr->{sort_field} eq 'AvgScore' ) - { - $sort_column = "E.AvgScore"; - } - elsif ( $filter_expr->{sort_field} eq 'MaxScore' ) - { - $sort_column = "E.MaxScore"; - } - else - { - $sort_column = "E.StartTime"; - } - my $sort_order = $filter_expr->{sort_asc}?"asc":"desc"; - $sql .= " order by ".$sort_column." ".$sort_order; - if ( $filter_expr->{limit} ) - { - $sql .= " limit 0,".$filter_expr->{limit}; - } - Debug( "SQL:$sql\n" ); - $db_filter->{Sql} = $sql; - if ( $db_filter->{AutoExecute} ) - { - my $script = $db_filter->{AutoExecuteCmd}; - $script =~ s/\s.*$//; - if ( !-e $script ) - { - Error( "Auto execute script '$script' not found, " - ."skipping filter '$db_filter->{Name}'\n" ); - next FILTER; - - } - elsif ( !-x $script ) - { - Error( "Auto execute script '$script' not executable, " - ."skipping filter '$db_filter->{Name}'\n" ); - next FILTER; - } - } - push( @filters, $db_filter ); + if ( ! $sql ) { + Error( "Error parsing Sql. skipping filter '$db_filter->{Name}'\n" ); + next FILTER; + } + push( @filters, $filter ); } $sth->finish(); - + Debug( "Got " . @filters . " filters" ); return( \@filters ); } @@ -608,37 +299,11 @@ sub checkFilter ($filter->{AutoExecute}?", execute":""). "\n" ); - my $sql = $filter->{Sql}; - if ( $filter->{HasDiskPercent} ) - { - my $disk_percent = getDiskPercent(); - $sql =~ s/zmDiskPercent/$disk_percent/g; - } - if ( $filter->{HasDiskBlocks} ) - { - my $disk_blocks = getDiskBlocks(); - $sql =~ s/zmDiskBlocks/$disk_blocks/g; - } - if ( $filter->{HasSystemLoad} ) - { - my $load = getLoad(); - $sql =~ s/zmSystemLoad/$load/g; - } - - my $sth = $dbh->prepare_cached( $sql ) - or Fatal( "Can't prepare '$sql': ".$dbh->errstr() ); - my $res = $sth->execute(); - if ( !$res ) - { - Error( "Can't execute filter '$sql', ignoring: ".$sth->errstr() ); - return; - } - - while( my $event = $sth->fetchrow_hashref() ) - { + foreach my $event ( $filter->Execute() ) { Debug( "Checking event $event->{Id}\n" ); my $delete_ok = !undef; +$dbh->ping(); if ( $filter->{AutoArchive} ) { Info( "Archiving event $event->{Id}\n" ); @@ -647,7 +312,7 @@ sub checkFilter my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare '$sql': ".$dbh->errstr() ); my $res = $sth->execute( $event->{Id} ) - or Fatal( "Can't execute '$sql': ".$sth->errstr() ); + or Error( "Can't execute '$sql': ".$sth->errstr() ); } if ( $Config{ZM_OPT_FFMPEG} && $filter->{AutoVideo} ) { @@ -719,7 +384,6 @@ sub checkFilter } } } - $sth->finish(); } sub generateVideo From 7a979bb8919b7372dfdbcfd701b22fbfc05db63f Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 13:11:15 -0500 Subject: [PATCH 009/184] remove duplicated routines --- scripts/zmfilter.pl.in | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/scripts/zmfilter.pl.in b/scripts/zmfilter.pl.in index 7e6c63563..ca0e1565e 100755 --- a/scripts/zmfilter.pl.in +++ b/scripts/zmfilter.pl.in @@ -196,43 +196,6 @@ while( 1 ) sleep( $delay ); } -sub getDiskPercent -{ - my $command = "df ."; - my $df = qx( $command ); - my $space = -1; - if ( $df =~ /\s(\d+)%/ms ) - { - $space = $1; - } - return( $space ); -} - -sub getDiskBlocks -{ - my $command = "df ."; - my $df = qx( $command ); - my $space = -1; - if ( $df =~ /\s(\d+)\s+\d+\s+\d+%/ms ) - { - $space = $1; - } - return( $space ); -} - -sub getLoad -{ - my $command = "uptime ."; - my $uptime = qx( $command ); - my $load = -1; - if ( $uptime =~ /load average:\s+([\d.]+)/ms ) - { - $load = $1; - Info( "Load: $load" ); - } - return( $load ); -} - sub getFilters { my $filter_name = shift; From 6f3402261341db1792a4b33dbbd69b013bc5d672 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 13:11:32 -0500 Subject: [PATCH 010/184] add find and find_one routines --- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 34 ++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm index 4888636a6..b6985c4aa 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -104,8 +104,40 @@ sub Name { } # end sub Path sub find { - + shift if $_[0] eq 'ZoneMinder::Filter'; + my %sql_filters = @_; + + my $sql = 'SELECT * FROM Filters'; + my @sql_filters; + my @sql_values; + + if ( exists $sql_filters{Name} ) { + push @sql_filters .= ' Name = ? '; + push @sql_values, $sql_filters{Name}; + } + + $sql .= ' WHERE ' . join(' AND ', @sql_filters ) if @sql_filters; + $sql .= ' LIMIT ' . $sql_filters{limit} if $sql_filters; + + my $sth = $ZoneMinder::Database::dbh->prepare_cached( $sql ) + or Fatal( "Can't prepare '$sql': ".$ZoneMinder::Database::dbh->errstr() ); + my $res = $sth->execute( @sql_values ) + or Fatal( "Can't execute '$sql': ".$sth->errstr() ); + + my @results; + + while( my $db_filter = $sth->fetchrow_hashref() ) { + my $filter = new ZoneMinder::Filter( $$db_filter{Id}, $db_filter ); + push @results, $filter; + } # end while + return @results; } + +sub find_one { + my @results = find(@_); + return $results[0] if @results; +} + sub Execute { my $self = $_[0]; From 9db9d243f2c926f86ab4253ca06da07520edf0cc Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 13:12:37 -0500 Subject: [PATCH 011/184] Fix --- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm index b6985c4aa..e7b8fd0f6 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -112,7 +112,7 @@ sub find { my @sql_values; if ( exists $sql_filters{Name} ) { - push @sql_filters .= ' Name = ? '; + push @sql_filters , ' Name = ? '; push @sql_values, $sql_filters{Name}; } From c71d1e52ac915642010acb48f0d870f37ab6a690 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 13:13:04 -0500 Subject: [PATCH 012/184] Fix --- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm index e7b8fd0f6..b7806ec4a 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -117,7 +117,7 @@ sub find { } $sql .= ' WHERE ' . join(' AND ', @sql_filters ) if @sql_filters; - $sql .= ' LIMIT ' . $sql_filters{limit} if $sql_filters; + $sql .= ' LIMIT ' . $sql_filters{limit} if $sql_filters{limit}; my $sth = $ZoneMinder::Database::dbh->prepare_cached( $sql ) or Fatal( "Can't prepare '$sql': ".$ZoneMinder::Database::dbh->errstr() ); From b32ef7751b224a7ef0ac9854d48d472d97df95dd Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 14:36:40 -0500 Subject: [PATCH 013/184] implement the options to generate videos for events specified by a stored filter. Also implement ability to generate a concatenated video of all events specified by the filter. --- scripts/zmvideo.pl.in | 236 ++++++++++++++++++------------------------ 1 file changed, 103 insertions(+), 133 deletions(-) diff --git a/scripts/zmvideo.pl.in b/scripts/zmvideo.pl.in index 6a63502ee..19bf00eb5 100644 --- a/scripts/zmvideo.pl.in +++ b/scripts/zmvideo.pl.in @@ -27,7 +27,7 @@ zmvideo.pl - ZoneMinder Video Creation Script =head1 SYNOPSIS - zmvideo.pl -e ,--event= [--format ] + zmvideo.pl [ -e ,--event= | --filter= ] [--format ] [--rate=] [--scale=] [--fps=] @@ -40,15 +40,18 @@ This script is used to create MPEG videos of events for the web pages or as email attachments. =head1 OPTIONS - - -e, --event= - What event to create the video for - -f, --format= - What format to create the video in, default is mpg. For ffmpeg only. - -r, --rate= - Relative rate, 1 = realtime, 2 = double speed, 0.5 = half speed etc. - -s, --scale= - Scale, 1 = normal, 2 = double size, 0.5 = half size etc. - -F, --fps= - Absolute frame rate, in frames per second - -S, --size= - Absolute video size, WxH or other specification supported by ffmpeg - -o, --overwrite - Whether to overwrite an existing file, off by default. - -v, --version - Outputs the currently installed version of ZoneMinder + -c[=filename], --concat[=filename] - When creating videos for multiple events, create a concatenated video as well. + - If not specified, filename is taken from filter name. + -e, --event= - What event to create the video for + --filter_name= - The name of a saved filter to generate a video for all events returned by it. + --filter_id= - The id of a saved filter to generate a video for all events returned by it. + -f, --format= - What format to create the video in, default is mpg. For ffmpeg only. + -r, --rate= - Relative rate, 1 = realtime, 2 = double speed, 0.5 = half speed etc. + -s, --scale= - Scale, 1 = normal, 2 = double size, 0.5 = half size etc. + -F, --fps= - Absolute frame rate, in frames per second + -S, --size= - Absolute video size, WxH or other specification supported by ffmpeg + -o, --overwrite - Whether to overwrite an existing file, off by default. + -v, --version - Outputs the currently installed version of ZoneMinder =cut use strict; @@ -62,10 +65,13 @@ use bytes; @EXTRA_PERL_LIB@ use ZoneMinder; +require ZoneMinder::Filter; +require ZoneMinder::Event; use DBI; use autouse 'Data::Dumper'=>qw(Dumper); use POSIX qw(strftime); use Getopt::Long qw(:config no_ignore_case ); +use Cwd; use autouse 'Pod::Usage'=>qw(pod2usage); $| = 1; @@ -77,6 +83,9 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; logInit(); my $event_id; +my $concat_name; +my $filter_name; +my $filter_id; my $format = 'mpg'; my $rate = ''; my $scale = ''; @@ -95,7 +104,10 @@ for ( my $i = 0; $i < @formats; $i++ ) } GetOptions( - 'event=i' =>\$event_id, + 'concat|c:s' =>\$concat_name, + 'event|e=i' =>\$event_id, + 'filter_name=s' =>\$filter_name, + 'filter_id=i' =>\$filter_id, 'format|f=s' =>\$format, 'rate|r=f' =>\$rate, 'scale|s=f' =>\$scale, @@ -110,9 +122,9 @@ if ( $version ) { exit(0); } -if ( !$event_id || $event_id < 0 ) +if ( !( $filter_id or $filter_name or $event_id ) || $event_id < 0 ) { - print( STDERR "Please give a valid event id\n" ); + print( STDERR "Please give a valid event id or filter name\n" ); pod2usage(-exitstatus => -1); } @@ -164,128 +176,86 @@ $size = $detaint_size; my $dbh = zmDbConnect(); -my @filters; +my $cwd = getcwd; + +my $video_name; +my @event_ids; +if ( $event_id ) { + @event_ids = ( $event_id ); + +} elsif ( $filter_name or $filter_id ) { + my $Filter = ZoneMinder::Filter->find_one( + ($filter_name ? ( Name => $filter_name ) : () ), + ($filter_id ? ( Id => $filter_name ) : () ), + ); + if ( ! $Filter ) { + Fatal("Filter $filter_name $filter_id not found."); + } + @event_ids = map { $_->{Id} }$Filter->Execute(); + Fatal( "No events found for $filter_name") if ! @event_ids; + $concat_name = $filter_name if $concat_name eq ''; +} + my $sql = " SELECT max(F.Delta)-min(F.Delta) as FullLength, - E.*, - unix_timestamp(E.StartTime) as Time, - M.Name as MonitorName, - M.Width as MonitorWidth, - M.Height as MonitorHeight, - M.Palette - FROM Frames as F - INNER JOIN Events as E on F.EventId = E.Id - INNER JOIN Monitors as M on E.MonitorId = M.Id - WHERE EventId = '$event_id' - GROUP BY F.EventId" -; -my $sth = $dbh->prepare_cached( $sql ) - or Fatal( "Can't prepare '$sql': ".$dbh->errstr() ); -my $res = $sth->execute() - or Fatal( "Can't execute: ".$sth->errstr() ); -my $event = $sth->fetchrow_hashref(); -$sth->finish(); -my $event_path = getEventPath( $event ); -chdir( $event_path ); -( my $video_name = $event->{Name} ) =~ s/\s/_/g; + E.*, + unix_timestamp(E.StartTime) as Time, + M.Name as MonitorName, + M.Width as MonitorWidth, + M.Height as MonitorHeight, + M.Palette + FROM Frames as F + INNER JOIN Events as E on F.EventId = E.Id + INNER JOIN Monitors as M on E.MonitorId = M.Id + WHERE EventId = ? + GROUP BY F.EventId" + ; +my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare '$sql': ".$dbh->errstr() ); -my @file_parts; -if ( $rate ) -{ - my $file_rate = $rate; - $file_rate =~ s/\./_/; - $file_rate =~ s/_00//; - $file_rate =~ s/(_\d+)0+$/$1/; - $file_rate = 'r'.$file_rate; - push( @file_parts, $file_rate ); -} -elsif ( $fps ) -{ - my $file_fps = $fps; - $file_fps =~ s/\./_/; - $file_fps =~ s/_00//; - $file_fps =~ s/(_\d+)0+$/$1/; - $file_fps = 'R'.$file_fps; - push( @file_parts, $file_fps ); -} - -if ( $scale ) -{ - my $file_scale = $scale; - $file_scale =~ s/\./_/; - $file_scale =~ s/_00//; - $file_scale =~ s/(_\d+)0+$/$1/; - $file_scale = 's'.$file_scale; - push( @file_parts, $file_scale ); -} -elsif ( $size ) -{ - my $file_size = 'S'.$size; - push( @file_parts, $file_size ); -} -my $video_file = "$video_name-".$file_parts[0]."-".$file_parts[1].".$format"; - -if ( $overwrite || !-s $video_file ) -{ - Info( "Creating video file $video_file for event $event->{Id}\n" ); - - my $frame_rate = sprintf( "%.2f", $event->{Frames}/$event->{FullLength} ); - if ( $rate ) - { - if ( $rate != 1.0 ) - { - $frame_rate *= $rate; - } - } - elsif ( $fps ) - { - $frame_rate = $fps; - } - - my $width = $event->{MonitorWidth}; - my $height = $event->{MonitorHeight}; - my $video_size = " ${width}x${height}"; - - if ( $scale ) - { - if ( $scale != 1.0 ) - { - $width = int($width*$scale); - $height = int($height*$scale); - $video_size = " ${width}x${height}"; - } - } - elsif ( $size ) - { - $video_size = $size; - } - - my $command = $Config{ZM_PATH_FFMPEG} - ." -y -r $frame_rate " - .$Config{ZM_FFMPEG_INPUT_OPTIONS} - ." -i %0" - .$Config{ZM_EVENT_IMAGE_DIGITS} - ."d-capture.jpg -s $video_size " - .$Config{ZM_FFMPEG_OUTPUT_OPTIONS} - ." '$video_file' > ffmpeg.log 2>&1" - ; - Debug( $command."\n" ); - my $output = qx($command); - - my $status = $? >> 8; - if ( $status ) - { - Error( "Unable to generate video, check " - .$event_path."/ffmpeg.log for details" - ); - exit( -1 ); - } - - Info( "Finished $video_file\n" ); -} -else -{ - Info( "Video file $video_file already exists for event $event->{Id}\n" ); +my @video_files; +foreach my $event_id ( @event_ids ) { + + my $res = $sth->execute( $event_id ) + or Fatal( "Can't execute: ".$sth->errstr() ); + my $event = $sth->fetchrow_hashref(); + + my $Event = new ZoneMinder::Event( $$event{Id}, $event ); + my $video_file = $Event->GenerateVideo( $rate, $fps, $scale, $size, $overwrite, $format ); + if ( $video_file ) { + push @video_files, $video_file; + } +} # end foreach event_id + +if ( $concat_name ) { + ($cwd) = $cwd =~ /(.*)/; # detaint + chdir( $cwd ); + ($concat_name ) = $concat_name =~ /([\-A-Za-z0-9_\.]*)/; + my $concat_list_file = "/tmp/$concat_name.concat.lst"; + + my $video_file = $concat_name . '.'. $detaint_format; + + open( my $fd, '>', $concat_list_file ) or die "Can't open $concat_list_file: $!"; + foreach ( @video_files ) { + print $fd "file '$_'\n"; + } + close $fd; + my $command = $Config{ZM_PATH_FFMPEG} + . " -f concat -i $concat_list_file -c copy " + ." '$video_file' > ffmpeg.log 2>&1" + ; + Debug( $command."\n" ); + my $output = qx($command); + + my $status = $? >> 8; + + unlink $concat_list_file; + if ( $status ) + { + Error( "Unable to generate video, check /ffmpeg.log for details"); + exit(-1); + } + } +#unlink $input_file_list; #print( STDOUT $event->{MonitorId}.'/'.$event->{Id}.'/'.$video_file."\n" ); -print( STDOUT $video_file."\n" ); +#print( STDOUT $video_file."\n" ); exit( 0 ); From d035753971485a6c16a807642d580d89d2ee4ade Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 17 Dec 2015 14:38:18 -0500 Subject: [PATCH 014/184] Add the event class. Also, remove the unused Storage class --- scripts/ZoneMinder/lib/ZoneMinder/Event.pm | 330 +++++++++++++++++++ scripts/ZoneMinder/lib/ZoneMinder/Storage.pm | 160 --------- 2 files changed, 330 insertions(+), 160 deletions(-) create mode 100644 scripts/ZoneMinder/lib/ZoneMinder/Event.pm delete mode 100644 scripts/ZoneMinder/lib/ZoneMinder/Storage.pm diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Event.pm b/scripts/ZoneMinder/lib/ZoneMinder/Event.pm new file mode 100644 index 000000000..67c117460 --- /dev/null +++ b/scripts/ZoneMinder/lib/ZoneMinder/Event.pm @@ -0,0 +1,330 @@ +# ========================================================================== +# +# ZoneMinder Event Module, $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. +# +# ========================================================================== +# +# This module contains the common definitions and functions used by the rest +# of the ZoneMinder scripts +# +package ZoneMinder::Event; + +use 5.006; +use strict; +use warnings; + +require Exporter; +require ZoneMinder::Base; +require Date::Manip; + +our @ISA = qw(Exporter ZoneMinder::Base); + +# Items to export into callers namespace by default. Note: do not export +# names by default without a very good reason. Use EXPORT_OK instead. +# Do not simply export all your public functions/methods/constants. + +# This allows declaration use ZoneMinder ':all'; +# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK +# will save memory. +our %EXPORT_TAGS = ( + 'functions' => [ qw( + ) ] +); +push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS; + +our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); + +our @EXPORT = qw(); + +our $VERSION = $ZoneMinder::Base::VERSION; + +# ========================================================================== +# +# General Utility Functions +# +# ========================================================================== + +use ZoneMinder::Config qw(:all); +use ZoneMinder::Logger qw(:all); +use ZoneMinder::Database qw(:all); + +use POSIX; + +sub new { + my ( $parent, $id, $data ) = @_; + + my $self = {}; + bless $self, $parent; + $$self{dbh} = $ZoneMinder::Database::dbh; +#zmDbConnect(); + if ( ( $$self{Id} = $id ) or $data ) { +#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; + $self->load( $data ); + } + return $self; +} # end sub new + +sub load { + my ( $self, $data ) = @_; + my $type = ref $self; + if ( ! $data ) { +#$log->debug("Object::load Loading from db $type"); + $data = $$self{dbh}->selectrow_hashref( 'SELECT * FROM Events WHERE Id=?', {}, $$self{Id} ); + if ( ! $data ) { + Error( "Failure to load Event record for $$self{Id}: Reason: " . $$self{dbh}->errstr ); + } else { + Debug( 3, "Loaded Event $$self{Id}" ); + } # end if + } # end if ! $data + if ( $data and %$data ) { + @$self{keys %$data} = values %$data; + } # end if +} # end sub load + +sub Name { + if ( @_ > 1 ) { + $_[0]{Name} = $_[1]; + } + return $_[0]{Name}; +} # end sub Path + +sub find { + shift if $_[0] eq 'ZoneMinder::Event'; + my %sql_filters = @_; + + my $sql = 'SELECT * FROM Events'; + my @sql_filters; + my @sql_values; + + if ( exists $sql_filters{Name} ) { + push @sql_filters , ' Name = ? '; + push @sql_values, $sql_filters{Name}; + } + + $sql .= ' WHERE ' . join(' AND ', @sql_filters ) if @sql_filters; + $sql .= ' LIMIT ' . $sql_filters{limit} if $sql_filters{limit}; + + my $sth = $ZoneMinder::Database::dbh->prepare_cached( $sql ) + or Fatal( "Can't prepare '$sql': ".$ZoneMinder::Database::dbh->errstr() ); + my $res = $sth->execute( @sql_values ) + or Fatal( "Can't execute '$sql': ".$sth->errstr() ); + + my @results; + + while( my $db_filter = $sth->fetchrow_hashref() ) { + my $filter = new ZoneMinder::Event( $$db_filter{Id}, $db_filter ); + push @results, $filter; + } # end while + return @results; +} + +sub find_one { + my @results = find(@_); + return $results[0] if @results; +} + +sub getEventPath +{ + my $event = shift; + + my $event_path = ""; + if ( $Config{ZM_USE_DEEP_STORAGE} ) + { + $event_path = $Config{ZM_DIR_EVENTS} + .'/'.$event->{MonitorId} + .'/'.strftime( "%y/%m/%d/%H/%M/%S", + localtime($event->{Time}) + ) + ; + } + else + { + $event_path = $Config{ZM_DIR_EVENTS} + .'/'.$event->{MonitorId} + .'/'.$event->{Id} + ; + } + + if ( index($Config{ZM_DIR_EVENTS},'/') != 0 ){ + $event_path = $Config{ZM_PATH_WEB} + .'/'.$event_path + ; + } + return( $event_path ); +} + +sub GenerateVideo { + my ( $self, $rate, $fps, $scale, $size, $overwrite, $format ) = @_; + + my $event_path = getEventPath( $self ); + chdir( $event_path ); + ( my $video_name = $self->{Name} ) =~ s/\s/_/g; + + my @file_parts; + if ( $rate ) + { + my $file_rate = $rate; + $file_rate =~ s/\./_/; + $file_rate =~ s/_00//; + $file_rate =~ s/(_\d+)0+$/$1/; + $file_rate = 'r'.$file_rate; + push( @file_parts, $file_rate ); + } + elsif ( $fps ) + { + my $file_fps = $fps; + $file_fps =~ s/\./_/; + $file_fps =~ s/_00//; + $file_fps =~ s/(_\d+)0+$/$1/; + $file_fps = 'R'.$file_fps; + push( @file_parts, $file_fps ); + } + + if ( $scale ) + { + my $file_scale = $scale; + $file_scale =~ s/\./_/; + $file_scale =~ s/_00//; + $file_scale =~ s/(_\d+)0+$/$1/; + $file_scale = 's'.$file_scale; + push( @file_parts, $file_scale ); + } + elsif ( $size ) + { + my $file_size = 'S'.$size; + push( @file_parts, $file_size ); + } + my $video_file = "$video_name-".$file_parts[0]."-".$file_parts[1].".$format"; + if ( $overwrite || !-s $video_file ) + { + Info( "Creating video file $video_file for event $self->{Id}\n" ); + + my $frame_rate = sprintf( "%.2f", $self->{Frames}/$self->{FullLength} ); + if ( $rate ) + { + if ( $rate != 1.0 ) + { + $frame_rate *= $rate; + } + } + elsif ( $fps ) + { + $frame_rate = $fps; + } + + my $width = $self->{MonitorWidth}; + my $height = $self->{MonitorHeight}; + my $video_size = " ${width}x${height}"; + + if ( $scale ) + { + if ( $scale != 1.0 ) + { + $width = int($width*$scale); + $height = int($height*$scale); + $video_size = " ${width}x${height}"; + } + } + elsif ( $size ) + { + $video_size = $size; + } + my $command = $Config{ZM_PATH_FFMPEG} + ." -y -r $frame_rate " + .$Config{ZM_FFMPEG_INPUT_OPTIONS} + ." -i %0" + .$Config{ZM_EVENT_IMAGE_DIGITS} + ."d-capture.jpg -s $video_size " +#. " -f concat -i /tmp/event_files.txt" + ." -s $video_size " + .$Config{ZM_FFMPEG_OUTPUT_OPTIONS} + ." '$video_file' > ffmpeg.log 2>&1" + ; + Debug( $command."\n" ); + my $output = qx($command); + + my $status = $? >> 8; + if ( $status ) + { + Error( "Unable to generate video, check " + .$event_path."/ffmpeg.log for details" + ); + return; + } + + Info( "Finished $video_file\n" ); + return $event_path.'/'.$video_file; + } else { + Info( "Video file $video_file already exists for event $self->{Id}\n" ); + return $event_path.'/'.$video_file; + } + return; +} # end sub GenerateVideo + +1; +__END__ +# Below is stub documentation for your module. You'd better edit it! + +=head1 NAME + +ZoneMinder::Database - Perl extension for blah blah blah + +=head1 SYNOPSIS + + use ZoneMinder::Event; + blah blah blah + +=head1 DESCRIPTION + +Stub documentation for ZoneMinder, created by h2xs. It looks like the +author of the extension was negligent enough to leave the stub +unedited. + +Blah blah blah. + +=head2 EXPORT + +None by default. + + + +=head1 SEE ALSO + +Mention other useful documentation such as the documentation of +related modules or operating system documentation (such as man pages +in UNIX), or any relevant external documentation such as RFCs or +standards. + +If you have a mailing list set up for your module, mention it here. + +If you have a web site set up for your module, mention it here. + +=head1 AUTHOR + +Philip Coombes, Ephilip.coombes@zoneminder.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2001-2008 Philip Coombes + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.3 or, +at your option, any later version of Perl 5 you may have available. + + +=cut diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm b/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm deleted file mode 100644 index d89599e61..000000000 --- a/scripts/ZoneMinder/lib/ZoneMinder/Storage.pm +++ /dev/null @@ -1,160 +0,0 @@ -# ========================================================================== -# -# ZoneMinder Storage Module, $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. -# -# ========================================================================== -# -# This module contains the common definitions and functions used by the rest -# of the ZoneMinder scripts -# -package ZoneMinder::Storage; - -use 5.006; -use strict; -use warnings; - -require Exporter; -require ZoneMinder::Base; - -our @ISA = qw(Exporter ZoneMinder::Base); - -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. - -# This allows declaration use ZoneMinder ':all'; -# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK -# will save memory. -our %EXPORT_TAGS = ( - 'functions' => [ qw( - ) ] -); -push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS; - -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); - -our @EXPORT = qw(); - -our $VERSION = $ZoneMinder::Base::VERSION; - -# ========================================================================== -# -# General Utility Functions -# -# ========================================================================== - -use ZoneMinder::Config qw(:all); -use ZoneMinder::Logger qw(:all); -use ZoneMinder::Database qw(:all); - -use POSIX; - -sub new { - my ( $parent, $id, $data ) = @_; - - my $self = {}; - bless $self, $parent; - if ( ( $$self{id} = $id ) or $data ) { -#$log->debug("loading $parent $id") if $debug or DEBUG_ALL; - $self->load( $data ); - } -} # end sub new - -sub load { - my ( $self, $data ) = @_; - my $type = ref $self; - if ( ! $data ) { -#$log->debug("Object::load Loading from db $type"); - $data = $ZoneMinder::dbh->selectrow_hashref( 'SELECT * FROM Storage WHERE Id=?', {}, $$self{Id} ); - if ( ! $data ) { - if ( $ZoneMinder::dbh->errstr ) { - Error( "Failure to load Storage record for $$self{id}: Reason: " . $ZoneMinder::dbh->errstr ); - } # end if - } # end if - } # end if ! $data - if ( $data and %$data ) { - @$self{keys %$data} = values %$data; - } # end if -} # end sub load - -sub Path { - if ( @_ > 1 ) { - $_[0]{Path} = $_[1]; - } - return $_[0]{Path}; -} # end sub Path - -sub Name { - if ( @_ > 1 ) { - $_[0]{Name} = $_[1]; - } - return $_[0]{Name}; -} # end sub Path - -1; -__END__ -# Below is stub documentation for your module. You'd better edit it! - -=head1 NAME - -ZoneMinder::Database - Perl extension for blah blah blah - -=head1 SYNOPSIS - - use ZoneMinder::Storage; - blah blah blah - -=head1 DESCRIPTION - -Stub documentation for ZoneMinder, created by h2xs. It looks like the -author of the extension was negligent enough to leave the stub -unedited. - -Blah blah blah. - -=head2 EXPORT - -None by default. - - - -=head1 SEE ALSO - -Mention other useful documentation such as the documentation of -related modules or operating system documentation (such as man pages -in UNIX), or any relevant external documentation such as RFCs or -standards. - -If you have a mailing list set up for your module, mention it here. - -If you have a web site set up for your module, mention it here. - -=head1 AUTHOR - -Philip Coombes, Ephilip.coombes@zoneminder.comE - -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2001-2008 Philip Coombes - -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself, either Perl version 5.8.3 or, -at your option, any later version of Perl 5 you may have available. - - -=cut From 5150829a9fb325aa00de4a790b1b06a7198c8abe Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Sat, 13 Feb 2016 16:22:44 +1100 Subject: [PATCH 015/184] 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 016/184] 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 4fd984f30b23fc86e6ddf28d16fe5cea16259266 Mon Sep 17 00:00:00 2001 From: SteveGilvarry Date: Thu, 25 Feb 2016 22:32:18 +1100 Subject: [PATCH 017/184] 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 018/184] 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 019/184] 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 020/184] 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 021/184] 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 022/184] 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 023/184] 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 024/184] 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 025/184] 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 026/184] 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 35d013136f79722eed7ed5c4ba06fdafe53792e3 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Sun, 28 Feb 2016 12:27:04 -0600 Subject: [PATCH 027/184] 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 028/184] 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 029/184] 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 d4ed493333bf42d815c96cb9acbe48076ef504ee Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 2 Mar 2016 10:56:07 -0500 Subject: [PATCH 030/184] 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 031/184] 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 032/184] 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 033/184] 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 034/184] 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 035/184] 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 036/184] 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 ab3c35c629266d804c5f0c29839ddcfb9a2cceb7 Mon Sep 17 00:00:00 2001 From: Andy Bauer Date: Fri, 4 Mar 2016 17:21:32 -0600 Subject: [PATCH 037/184] 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 038/184] 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 039/184] 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 040/184] 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 041/184] 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 042/184] 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 043/184] 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 044/184] 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 045/184] 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 046/184] 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 047/184] 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 048/184] 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 049/184] 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 050/184] 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 051/184] 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 052/184] 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 053/184] 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 054/184] 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 055/184] 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 056/184] 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 057/184] 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 058/184] 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 059/184] 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 060/184] 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 061/184] 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 062/184] 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