diff --git a/.gitignore b/.gitignore index 992da35d9..1029bfb84 100644 --- a/.gitignore +++ b/.gitignore @@ -71,7 +71,6 @@ src/zma src/zmc src/zmf src/zms -src/zmstreamer src/zmu web/includes/config.php zm.conf diff --git a/.travis.yml b/.travis.yml index efa1c9ad3..183d22e57 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: @@ -17,14 +19,14 @@ env: - CXXFLAGS="$CFLAGS" matrix: - ZM_BUILDMETHOD=cmake -# - 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.1 --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` @@ -32,16 +34,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/CHANGELOG.md b/CHANGELOG.md index dc69f2f89..471066ac3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,99 +1,129 @@ # Change Log -## [Unreleased](https://github.com/ZoneMinder/ZoneMinder/tree/HEAD) - -[Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.28.1...HEAD) - -**Closed issues:** - -- Zoneminder Signal Loss event [\#964](https://github.com/ZoneMinder/ZoneMinder/issues/964) -- Default scale other than actual skews image [\#963](https://github.com/ZoneMinder/ZoneMinder/issues/963) -- Monitor configured with ffmpeg shows last part of URL instead of hostname in overview [\#950](https://github.com/ZoneMinder/ZoneMinder/issues/950) -- please update bundled CakePHP [\#945](https://github.com/ZoneMinder/ZoneMinder/issues/945) -- Montage shows only feed from the first camera [\#940](https://github.com/ZoneMinder/ZoneMinder/issues/940) -- zmtrigger: minor message format correction [\#939](https://github.com/ZoneMinder/ZoneMinder/issues/939) -- error starting zoneminder after latest upgrade [\#935](https://github.com/ZoneMinder/ZoneMinder/issues/935) -- Error "Attempt to directly assign buffer from an undersized buffer of size" [\#932](https://github.com/ZoneMinder/ZoneMinder/issues/932) -- External access to snapshots of cameras [\#929](https://github.com/ZoneMinder/ZoneMinder/issues/929) -- virtualbox - zoneminder shows only six cams [\#927](https://github.com/ZoneMinder/ZoneMinder/issues/927) -- zm\_update-1.28.99.sql not executable [\#924](https://github.com/ZoneMinder/ZoneMinder/issues/924) -- m [\#922](https://github.com/ZoneMinder/ZoneMinder/issues/922) -- loop recording [\#914](https://github.com/ZoneMinder/ZoneMinder/issues/914) -- Implement Passive Source Type for Cams that Support Event Uploading [\#912](https://github.com/ZoneMinder/ZoneMinder/issues/912) -- incorrect encoding of Russian language [\#907](https://github.com/ZoneMinder/ZoneMinder/issues/907) -- Can't compile Zoneminder v1.28.1 [\#904](https://github.com/ZoneMinder/ZoneMinder/issues/904) -- Add isRunning field to States [\#898](https://github.com/ZoneMinder/ZoneMinder/issues/898) -- updated 9831W control script [\#893](https://github.com/ZoneMinder/ZoneMinder/issues/893) -- 404 error on Ubuntu 14.04 install [\#889](https://github.com/ZoneMinder/ZoneMinder/issues/889) -- Video Smear - Vertical Striping [\#888](https://github.com/ZoneMinder/ZoneMinder/issues/888) -- Zoneminder mobile theme broken. [\#887](https://github.com/ZoneMinder/ZoneMinder/issues/887) -- cgi-bin -\> symlink on zms not work for me \(Gentoo/SystemD\) [\#878](https://github.com/ZoneMinder/ZoneMinder/issues/878) -- Replay Event Stuck [\#869](https://github.com/ZoneMinder/ZoneMinder/issues/869) -- cant add or edit monitor [\#868](https://github.com/ZoneMinder/ZoneMinder/issues/868) -- Odd window size differences when viewing frame alarm image between Chrome & FF [\#865](https://github.com/ZoneMinder/ZoneMinder/issues/865) -- On ubuntu 14.04 zoneminder 1.28.1 alarm never terminate!! [\#852](https://github.com/ZoneMinder/ZoneMinder/issues/852) -- X-10 configuration not working ZM V1.28.1 [\#848](https://github.com/ZoneMinder/ZoneMinder/issues/848) -- Global symbol requires explicit package name... [\#846](https://github.com/ZoneMinder/ZoneMinder/issues/846) -- Adapt to changes in Ubuntu 15.04 [\#840](https://github.com/ZoneMinder/ZoneMinder/issues/840) -- After initial setup, unable to start again [\#839](https://github.com/ZoneMinder/ZoneMinder/issues/839) -- FFMPEG path finding error \(formerly: Are you switching to a totally CMake based build?\) [\#835](https://github.com/ZoneMinder/ZoneMinder/issues/835) -- Purchase a Raspberry Pi 2 + PiCam for ZoneMinder development \[$114\] [\#832](https://github.com/ZoneMinder/ZoneMinder/issues/832) -- Can't Login Web getting a Loop [\#831](https://github.com/ZoneMinder/ZoneMinder/issues/831) -- Missing function drop down values \(db issue?\) [\#828](https://github.com/ZoneMinder/ZoneMinder/issues/828) -- curl using HEAD instead of GET for http requests results in 404 on some servers [\#827](https://github.com/ZoneMinder/ZoneMinder/issues/827) -- Empty string if missing index in lang files [\#819](https://github.com/ZoneMinder/ZoneMinder/issues/819) -- fix for RTSP streaming over UDP [\#811](https://github.com/ZoneMinder/ZoneMinder/issues/811) -- bundled CakePHP overhead [\#810](https://github.com/ZoneMinder/ZoneMinder/issues/810) -- PHP session locks serialize access to all scripts causing UI hangs [\#806](https://github.com/ZoneMinder/ZoneMinder/issues/806) -- How do I add authentication to ZM APIs? [\#797](https://github.com/ZoneMinder/ZoneMinder/issues/797) -- Add man page for zmsystemctl.pl [\#788](https://github.com/ZoneMinder/ZoneMinder/issues/788) -- man pages please; improve --help option [\#787](https://github.com/ZoneMinder/ZoneMinder/issues/787) -- ZM\_CONTENTDIR issues [\#786](https://github.com/ZoneMinder/ZoneMinder/issues/786) -- please update bundled jQuery [\#785](https://github.com/ZoneMinder/ZoneMinder/issues/785) -- please update bundled Mootools [\#784](https://github.com/ZoneMinder/ZoneMinder/issues/784) -- duplicated files in `cgi-bin` [\#777](https://github.com/ZoneMinder/ZoneMinder/issues/777) -- FTBFS on kFreeBSD [\#771](https://github.com/ZoneMinder/ZoneMinder/issues/771) -- CMake: incorrect installation of Perl modules \[patch\] [\#769](https://github.com/ZoneMinder/ZoneMinder/issues/769) -- Issue when viewing events when users are restricted to limited cameras [\#766](https://github.com/ZoneMinder/ZoneMinder/issues/766) -- zmupdate.pl: ignores ZM\_SERVER\_HOST in zm.conf [\#765](https://github.com/ZoneMinder/ZoneMinder/issues/765) -- Remote Zoneminder installations [\#764](https://github.com/ZoneMinder/ZoneMinder/issues/764) -- source code mess [\#760](https://github.com/ZoneMinder/ZoneMinder/issues/760) -- bttv crashing zoneminder rpm [\#755](https://github.com/ZoneMinder/ZoneMinder/issues/755) -- Make Uninstall no longer removes Perl modules [\#753](https://github.com/ZoneMinder/ZoneMinder/issues/753) -- Playback video problem in v1.26.5 [\#752](https://github.com/ZoneMinder/ZoneMinder/issues/752) -- Integrate Make Movie Branch [\#747](https://github.com/ZoneMinder/ZoneMinder/issues/747) -- FI8620 ERR Error while decoding frame [\#741](https://github.com/ZoneMinder/ZoneMinder/issues/741) -- \[Critical\] 1.28.0 to 1.28.1 seems to have lost ability for RTSP Authentication [\#738](https://github.com/ZoneMinder/ZoneMinder/issues/738) -- Disabling cambozola in options doesn't actually disable? [\#735](https://github.com/ZoneMinder/ZoneMinder/issues/735) -- FI9821W v2 shows blue screen [\#734](https://github.com/ZoneMinder/ZoneMinder/issues/734) -- Configure script checking for netpbm [\#731](https://github.com/ZoneMinder/ZoneMinder/issues/731) -- Missing dependency for killall in rpm package [\#727](https://github.com/ZoneMinder/ZoneMinder/issues/727) -- Build with ZM\_TARGET\_DISTRO=el7 fails to start under systemd [\#724](https://github.com/ZoneMinder/ZoneMinder/issues/724) -- Issue with event page for users with restricted monitors [\#717](https://github.com/ZoneMinder/ZoneMinder/issues/717) -- Unrecognised content type 'video/x-ms-asf' [\#716](https://github.com/ZoneMinder/ZoneMinder/issues/716) -- Flat skin stopped working [\#715](https://github.com/ZoneMinder/ZoneMinder/issues/715) -- Zone edit dots are gone [\#712](https://github.com/ZoneMinder/ZoneMinder/issues/712) -- zm\_rtsp Use of avformat\_free\_context not version checked [\#710](https://github.com/ZoneMinder/ZoneMinder/issues/710) -- Unable to generate video, check /usr/share/zoneminder/events/1/15/02/15/20/10/00/ffmpeg.log for details [\#705](https://github.com/ZoneMinder/ZoneMinder/issues/705) -- Axis M5014 PTZ Control [\#703](https://github.com/ZoneMinder/ZoneMinder/issues/703) -- 2nd network port breaks 'Probe' in 1.28 on Ubuntu 14.04LTS? [\#698](https://github.com/ZoneMinder/ZoneMinder/issues/698) -- ZM's Develop actually [\#697](https://github.com/ZoneMinder/ZoneMinder/issues/697) -- Release 1.28.1 [\#693](https://github.com/ZoneMinder/ZoneMinder/issues/693) -- Image disappears \(flickers\) in monitor and event playback [\#689](https://github.com/ZoneMinder/ZoneMinder/issues/689) -- Multiple issues.. [\#688](https://github.com/ZoneMinder/ZoneMinder/issues/688) -- short PHP open tags paragraph on zoneminder.com Troubleshooting page [\#684](https://github.com/ZoneMinder/ZoneMinder/issues/684) -- The monitorprobe.php code does not work in FreeBSD [\#683](https://github.com/ZoneMinder/ZoneMinder/issues/683) -- ZoneMinder problem [\#680](https://github.com/ZoneMinder/ZoneMinder/issues/680) -- CMAKE ZM\_PERL\_SUBPREFIX Slash Issue [\#677](https://github.com/ZoneMinder/ZoneMinder/issues/677) -- Centos 6.5 crashes [\#619](https://github.com/ZoneMinder/ZoneMinder/issues/619) -- ZMS crashes after "Attempt to directly assign buffer from an undersized buffer of size" error [\#586](https://github.com/ZoneMinder/ZoneMinder/issues/586) -- hi all, i'm under Linux Gentoo with systemd - ZM v1.27.99.0 [\#511](https://github.com/ZoneMinder/ZoneMinder/issues/511) -- Event export with ZM\_USE\_DEEP\_STORAGE option set [\#506](https://github.com/ZoneMinder/ZoneMinder/issues/506) -- Streaming not working on Chrome when authentication is ON [\#328](https://github.com/ZoneMinder/ZoneMinder/issues/328) -- Can add a simple send mail function? [\#311](https://github.com/ZoneMinder/ZoneMinder/issues/311) +## [v1.29.0](https://github.com/ZoneMinder/ZoneMinder/tree/v1.29.0) (2016-02-03) +[Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.29.0-rc2...v1.29.0) **Merged pull requests:** +- 1253 zms quit cmd [\#1254](https://github.com/ZoneMinder/ZoneMinder/pull/1254) ([pliablepixels](https://github.com/pliablepixels)) +- Add Debug/Info lines reporting multi-server status [\#1252](https://github.com/ZoneMinder/ZoneMinder/pull/1252) ([connortechnology](https://github.com/connortechnology)) +- Do debian package mods [\#1244](https://github.com/ZoneMinder/ZoneMinder/pull/1244) ([pliablepixels](https://github.com/pliablepixels)) +- zmtrigger - process off+time delay condition [\#1240](https://github.com/ZoneMinder/ZoneMinder/pull/1240) ([knnniggett](https://github.com/knnniggett)) +- Multi server [\#1233](https://github.com/ZoneMinder/ZoneMinder/pull/1233) ([connortechnology](https://github.com/connortechnology)) +- remove Google open Sans external import [\#1232](https://github.com/ZoneMinder/ZoneMinder/pull/1232) ([connortechnology](https://github.com/connortechnology)) +- PTZ - Added autostop to Down command on FI8918W [\#1189](https://github.com/ZoneMinder/ZoneMinder/pull/1189) ([marcolino7](https://github.com/marcolino7)) + +## [v1.29.0-rc2](https://github.com/ZoneMinder/ZoneMinder/tree/v1.29.0-rc2) (2016-01-05) +[Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.29.0-rc1...v1.29.0-rc2) + +**Merged pull requests:** + +- Multi server [\#1223](https://github.com/ZoneMinder/ZoneMinder/pull/1223) ([connortechnology](https://github.com/connortechnology)) +- Multi server [\#1222](https://github.com/ZoneMinder/ZoneMinder/pull/1222) ([connortechnology](https://github.com/connortechnology)) +- Multi server [\#1217](https://github.com/ZoneMinder/ZoneMinder/pull/1217) ([connortechnology](https://github.com/connortechnology)) +- Multi server [\#1215](https://github.com/ZoneMinder/ZoneMinder/pull/1215) ([connortechnology](https://github.com/connortechnology)) +- Change log updates [\#1172](https://github.com/ZoneMinder/ZoneMinder/pull/1172) ([SteveGilvarry](https://github.com/SteveGilvarry)) + +## [v1.29.0-rc1](https://github.com/ZoneMinder/ZoneMinder/tree/v1.29.0-rc1) (2016-01-01) +[Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.28.1...v1.29.0-rc1) + +**Merged pull requests:** + +- Bump version to 1.29.0 [\#1213](https://github.com/ZoneMinder/ZoneMinder/pull/1213) ([knnniggett](https://github.com/knnniggett)) +- Missing rtd theme [\#1202](https://github.com/ZoneMinder/ZoneMinder/pull/1202) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Skip directories that have non-digits in them [\#1201](https://github.com/ZoneMinder/ZoneMinder/pull/1201) ([connortechnology](https://github.com/connortechnology)) +- updated mobile app info [\#1200](https://github.com/ZoneMinder/ZoneMinder/pull/1200) ([pliablepixels](https://github.com/pliablepixels)) +- Api more security [\#1196](https://github.com/ZoneMinder/ZoneMinder/pull/1196) ([pliablepixels](https://github.com/pliablepixels)) +- Documentation [\#1194](https://github.com/ZoneMinder/ZoneMinder/pull/1194) ([pliablepixels](https://github.com/pliablepixels)) +- Documentation updated for ubuntu [\#1193](https://github.com/ZoneMinder/ZoneMinder/pull/1193) ([pliablepixels](https://github.com/pliablepixels)) +- Fixes \#1179 Libvlc Live555 Segmentation Fault [\#1190](https://github.com/ZoneMinder/ZoneMinder/pull/1190) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Add code to detect the change in REALM from older to newer firmware [\#1184](https://github.com/ZoneMinder/ZoneMinder/pull/1184) ([connortechnology](https://github.com/connortechnology)) +- add a 1/8th scale option, which is useful for 1920x1080 streams [\#1182](https://github.com/ZoneMinder/ZoneMinder/pull/1182) ([connortechnology](https://github.com/connortechnology)) +- Zms socket lock [\#1180](https://github.com/ZoneMinder/ZoneMinder/pull/1180) ([connortechnology](https://github.com/connortechnology)) +- Check for the presence of CrudControllerTrait.php instead of .git [\#1178](https://github.com/ZoneMinder/ZoneMinder/pull/1178) ([knnniggett](https://github.com/knnniggett)) +- Partial fix for \#1167 [\#1176](https://github.com/ZoneMinder/ZoneMinder/pull/1176) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Error on missing submodules [\#1173](https://github.com/ZoneMinder/ZoneMinder/pull/1173) ([knnniggett](https://github.com/knnniggett)) +- fix mem alloc fault in zm\_monitor.cpp [\#1168](https://github.com/ZoneMinder/ZoneMinder/pull/1168) ([knnniggett](https://github.com/knnniggett)) +- compat for php 5.4 [\#1164](https://github.com/ZoneMinder/ZoneMinder/pull/1164) ([abishai](https://github.com/abishai)) +- remove comment at end of line [\#1157](https://github.com/ZoneMinder/ZoneMinder/pull/1157) ([connortechnology](https://github.com/connortechnology)) +- Reorder RTSPDescribe to avoid -wreorder warnings [\#1147](https://github.com/ZoneMinder/ZoneMinder/pull/1147) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Update to \#1137 for backward compatibility. [\#1142](https://github.com/ZoneMinder/ZoneMinder/pull/1142) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Update Travis to ffmpeg 2.8.1 for testing [\#1139](https://github.com/ZoneMinder/ZoneMinder/pull/1139) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Replace deprecated FFmpeg API [\#1137](https://github.com/ZoneMinder/ZoneMinder/pull/1137) ([onlyjob](https://github.com/onlyjob)) +- added prev/next event ids [\#1136](https://github.com/ZoneMinder/ZoneMinder/pull/1136) ([pliablepixels](https://github.com/pliablepixels)) +- Install nph-zms with FILES so it is listed in install\_manifest.txt [\#1124](https://github.com/ZoneMinder/ZoneMinder/pull/1124) ([baffo32](https://github.com/baffo32)) +- Stray semicolon causes SQL error [\#1123](https://github.com/ZoneMinder/ZoneMinder/pull/1123) ([baffo32](https://github.com/baffo32)) +- Use relative URL's instead of absolute [\#1121](https://github.com/ZoneMinder/ZoneMinder/pull/1121) ([knnniggett](https://github.com/knnniggett)) +- Update version check URL [\#1120](https://github.com/ZoneMinder/ZoneMinder/pull/1120) ([kylejohnson](https://github.com/kylejohnson)) +- Add index to frames [\#1116](https://github.com/ZoneMinder/ZoneMinder/pull/1116) ([kylejohnson](https://github.com/kylejohnson)) +- Fatal if content dirs are unwritable [\#1113](https://github.com/ZoneMinder/ZoneMinder/pull/1113) ([baffo32](https://github.com/baffo32)) +- Fatal error if date.timezone is unset [\#1111](https://github.com/ZoneMinder/ZoneMinder/pull/1111) ([baffo32](https://github.com/baffo32)) +- Fix faulty zm.conf.new install line [\#1107](https://github.com/ZoneMinder/ZoneMinder/pull/1107) ([baffo32](https://github.com/baffo32)) +- Update preinst [\#1103](https://github.com/ZoneMinder/ZoneMinder/pull/1103) ([seebaer1976](https://github.com/seebaer1976)) +- Update apache.conf [\#1102](https://github.com/ZoneMinder/ZoneMinder/pull/1102) ([seebaer1976](https://github.com/seebaer1976)) +- Update rules [\#1101](https://github.com/ZoneMinder/ZoneMinder/pull/1101) ([seebaer1976](https://github.com/seebaer1976)) +- Update links [\#1100](https://github.com/ZoneMinder/ZoneMinder/pull/1100) ([seebaer1976](https://github.com/seebaer1976)) +- Update preinst [\#1099](https://github.com/ZoneMinder/ZoneMinder/pull/1099) ([seebaer1976](https://github.com/seebaer1976)) +- Fix zmaudit [\#1095](https://github.com/ZoneMinder/ZoneMinder/pull/1095) ([connortechnology](https://github.com/connortechnology)) +- fixed version compare logic [\#1094](https://github.com/ZoneMinder/ZoneMinder/pull/1094) ([pliablepixels](https://github.com/pliablepixels)) +- Don't install zm.conf if it already exists [\#1090](https://github.com/ZoneMinder/ZoneMinder/pull/1090) ([connortechnology](https://github.com/connortechnology)) +- change types and move things around to remove compile warnings [\#1089](https://github.com/ZoneMinder/ZoneMinder/pull/1089) ([connortechnology](https://github.com/connortechnology)) +- Tz [\#1084](https://github.com/ZoneMinder/ZoneMinder/pull/1084) ([connortechnology](https://github.com/connortechnology)) +- fixed orange display for monitor mode [\#1083](https://github.com/ZoneMinder/ZoneMinder/pull/1083) ([pliablepixels](https://github.com/pliablepixels)) +- use deleteAll\(\) vs. delete\(\) when deleting an Event's Frames [\#1080](https://github.com/ZoneMinder/ZoneMinder/pull/1080) ([kylejohnson](https://github.com/kylejohnson)) +- Added control script for SunEyes SP-P1802SWPTZ [\#1079](https://github.com/ZoneMinder/ZoneMinder/pull/1079) ([bofhdk](https://github.com/bofhdk)) +- Use the 3.0 branch of crud, compatible with cakephp 2.x [\#1078](https://github.com/ZoneMinder/ZoneMinder/pull/1078) ([kylejohnson](https://github.com/kylejohnson)) +- 663 frames primary key [\#1075](https://github.com/ZoneMinder/ZoneMinder/pull/1075) ([kylejohnson](https://github.com/kylejohnson)) +- Delete fixes for Events [\#1073](https://github.com/ZoneMinder/ZoneMinder/pull/1073) ([pliablepixels](https://github.com/pliablepixels)) +- restart monitor when edited via APIs [\#1070](https://github.com/ZoneMinder/ZoneMinder/pull/1070) ([pliablepixels](https://github.com/pliablepixels)) +- add debug statements for when LastWriteTime is not defined. [\#1067](https://github.com/ZoneMinder/ZoneMinder/pull/1067) ([connortechnology](https://github.com/connortechnology)) +- fixed recaptcha showing up pre DB update [\#1066](https://github.com/ZoneMinder/ZoneMinder/pull/1066) ([pliablepixels](https://github.com/pliablepixels)) +- fixed security instructions for curl [\#1062](https://github.com/ZoneMinder/ZoneMinder/pull/1062) ([pliablepixels](https://github.com/pliablepixels)) +- header typo corrections [\#1058](https://github.com/ZoneMinder/ZoneMinder/pull/1058) ([onlyjob](https://github.com/onlyjob)) +- quick fix for \#1055: make sure our mmap fd is \> 2 [\#1057](https://github.com/ZoneMinder/ZoneMinder/pull/1057) ([connortechnology](https://github.com/connortechnology)) +- Fix sgfault caused by the privacy mask stuff [\#1056](https://github.com/ZoneMinder/ZoneMinder/pull/1056) ([connortechnology](https://github.com/connortechnology)) +- link to cambozola pacakge, rather than download during build [\#1054](https://github.com/ZoneMinder/ZoneMinder/pull/1054) ([knnniggett](https://github.com/knnniggett)) +- redhat rpm packaging modifications [\#1052](https://github.com/ZoneMinder/ZoneMinder/pull/1052) ([knnniggett](https://github.com/knnniggett)) +- remove core.php, modify core.php.default [\#1049](https://github.com/ZoneMinder/ZoneMinder/pull/1049) ([knnniggett](https://github.com/knnniggett)) +- Google recaptcha [\#1048](https://github.com/ZoneMinder/ZoneMinder/pull/1048) ([pliablepixels](https://github.com/pliablepixels)) +- enable/disable RTSP Describe Header [\#1045](https://github.com/ZoneMinder/ZoneMinder/pull/1045) ([knnniggett](https://github.com/knnniggett)) +- Add Documentation for Privacy zones [\#1044](https://github.com/ZoneMinder/ZoneMinder/pull/1044) ([schrorg](https://github.com/schrorg)) +- added note about potential Perl and PHP time translation conflict wit… [\#1043](https://github.com/ZoneMinder/ZoneMinder/pull/1043) ([pliablepixels](https://github.com/pliablepixels)) +- Multi server [\#1040](https://github.com/ZoneMinder/ZoneMinder/pull/1040) ([connortechnology](https://github.com/connortechnology)) +- 1038 fixing state mgmt 1030 is active fix [\#1039](https://github.com/ZoneMinder/ZoneMinder/pull/1039) ([pliablepixels](https://github.com/pliablepixels)) +- Grey color for disabled buttons [\#1037](https://github.com/ZoneMinder/ZoneMinder/pull/1037) ([pliablepixels](https://github.com/pliablepixels)) +- Update filterevents.rst [\#1035](https://github.com/ZoneMinder/ZoneMinder/pull/1035) ([tikismoke](https://github.com/tikismoke)) +- add warning and help text for maxfps fields [\#1033](https://github.com/ZoneMinder/ZoneMinder/pull/1033) ([knnniggett](https://github.com/knnniggett)) +- update doc [\#1032](https://github.com/ZoneMinder/ZoneMinder/pull/1032) ([tikismoke](https://github.com/tikismoke)) +- Remove full path from Logger filename [\#1029](https://github.com/ZoneMinder/ZoneMinder/pull/1029) ([knnniggett](https://github.com/knnniggett)) +- Typo in README.md [\#1027](https://github.com/ZoneMinder/ZoneMinder/pull/1027) ([tikismoke](https://github.com/tikismoke)) +- Add new zone type - privacy zones [\#1026](https://github.com/ZoneMinder/ZoneMinder/pull/1026) ([schrorg](https://github.com/schrorg)) +- Send login activity to the zoneminder event log [\#1021](https://github.com/ZoneMinder/ZoneMinder/pull/1021) ([knnniggett](https://github.com/knnniggett)) +- Small dark CSS fixes in frames and timeline view [\#1019](https://github.com/ZoneMinder/ZoneMinder/pull/1019) ([schrorg](https://github.com/schrorg)) +- New User Permission "Groups" [\#1018](https://github.com/ZoneMinder/ZoneMinder/pull/1018) ([knnniggett](https://github.com/knnniggett)) +- 1013 document migration [\#1017](https://github.com/ZoneMinder/ZoneMinder/pull/1017) ([pliablepixels](https://github.com/pliablepixels)) +- Fix issue with score values less than 0 [\#1016](https://github.com/ZoneMinder/ZoneMinder/pull/1016) ([knnniggett](https://github.com/knnniggett)) +- Explained a caveat with using relative times [\#1012](https://github.com/ZoneMinder/ZoneMinder/pull/1012) ([pliablepixels](https://github.com/pliablepixels)) +- Included logic to not enforce authentication in API layer if ZM auth is off [\#1008](https://github.com/ZoneMinder/ZoneMinder/pull/1008) ([pliablepixels](https://github.com/pliablepixels)) +- Update to ffmpeg 2.7.2 in travis build [\#1007](https://github.com/ZoneMinder/ZoneMinder/pull/1007) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- I was using the wrong field to check for portal authentication [\#1006](https://github.com/ZoneMinder/ZoneMinder/pull/1006) ([pliablepixels](https://github.com/pliablepixels)) +- Demote user auth info message to debug [\#1003](https://github.com/ZoneMinder/ZoneMinder/pull/1003) ([Linwood-F](https://github.com/Linwood-F)) +- Add scale as optional feature to image.php [\#1001](https://github.com/ZoneMinder/ZoneMinder/pull/1001) ([Linwood-F](https://github.com/Linwood-F)) +- 995 events count per api \(bumps up \# of events reported per API call\) [\#996](https://github.com/ZoneMinder/ZoneMinder/pull/996) ([pliablepixels](https://github.com/pliablepixels)) +- APIs will be served only if user is logged into the ZM portal [\#994](https://github.com/ZoneMinder/ZoneMinder/pull/994) ([pliablepixels](https://github.com/pliablepixels)) +- Add option to make TimeStamp larger [\#992](https://github.com/ZoneMinder/ZoneMinder/pull/992) ([schrorg](https://github.com/schrorg)) +- Implemented \#989 \(highlight current row in tables\) for dark CSS [\#990](https://github.com/ZoneMinder/ZoneMinder/pull/990) ([schrorg](https://github.com/schrorg)) +- CSS\[skins/classic\]: highlight current row in tables. [\#989](https://github.com/ZoneMinder/ZoneMinder/pull/989) ([onlyjob](https://github.com/onlyjob)) +- quiet error when no Servers in Servers table [\#986](https://github.com/ZoneMinder/ZoneMinder/pull/986) ([connortechnology](https://github.com/connortechnology)) +- fix \#948 1 [\#985](https://github.com/ZoneMinder/ZoneMinder/pull/985) ([connortechnology](https://github.com/connortechnology)) +- Remove shared data warning for purpose query only [\#984](https://github.com/ZoneMinder/ZoneMinder/pull/984) ([Linwood-F](https://github.com/Linwood-F)) +- Change from info to debug [\#983](https://github.com/ZoneMinder/ZoneMinder/pull/983) ([Linwood-F](https://github.com/Linwood-F)) +- Fix image dimensions check [\#980](https://github.com/ZoneMinder/ZoneMinder/pull/980) ([connortechnology](https://github.com/connortechnology)) +- Apache.conf modifications [\#968](https://github.com/ZoneMinder/ZoneMinder/pull/968) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- Dark CSS for classic theme [\#967](https://github.com/ZoneMinder/ZoneMinder/pull/967) ([schrorg](https://github.com/schrorg)) +- Auto generated changelog [\#966](https://github.com/ZoneMinder/ZoneMinder/pull/966) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- 959 add exif date time to images [\#962](https://github.com/ZoneMinder/ZoneMinder/pull/962) ([Linwood-F](https://github.com/Linwood-F)) +- Add analysis interval parameter to monitors settings [\#956](https://github.com/ZoneMinder/ZoneMinder/pull/956) ([manupap1](https://github.com/manupap1)) - Fixed Configs API to return all values [\#955](https://github.com/ZoneMinder/ZoneMinder/pull/955) ([pliablepixels](https://github.com/pliablepixels)) - Change encoding of german language file to UTF-8 [\#952](https://github.com/ZoneMinder/ZoneMinder/pull/952) ([schrorg](https://github.com/schrorg)) - Show correct part of URL \(hostname\) for ffmpeg sources in console [\#951](https://github.com/ZoneMinder/ZoneMinder/pull/951) ([schrorg](https://github.com/schrorg)) @@ -125,17 +155,12 @@ - Generate man pages for perl scripts & C Binaries in the bin folder [\#896](https://github.com/ZoneMinder/ZoneMinder/pull/896) ([knnniggett](https://github.com/knnniggett)) - 893 foscam 9831 w and other foscams [\#895](https://github.com/ZoneMinder/ZoneMinder/pull/895) ([pliablepixels](https://github.com/pliablepixels)) - 893 foscam 9831 w and other foscams [\#894](https://github.com/ZoneMinder/ZoneMinder/pull/894) ([pliablepixels](https://github.com/pliablepixels)) -- improve debugging for analysis check and restart if can't read shared data [\#892](https://github.com/ZoneMinder/ZoneMinder/pull/892) ([connortechnology](https://github.com/connortechnology)) - Zmwatch cleanup2 [\#891](https://github.com/ZoneMinder/ZoneMinder/pull/891) ([connortechnology](https://github.com/connortechnology)) - reverse the if statement to reduce indenting [\#890](https://github.com/ZoneMinder/ZoneMinder/pull/890) ([connortechnology](https://github.com/connortechnology)) - Updated API document [\#886](https://github.com/ZoneMinder/ZoneMinder/pull/886) ([pliablepixels](https://github.com/pliablepixels)) - Use avconv as alternative to ffmpeg executable [\#884](https://github.com/ZoneMinder/ZoneMinder/pull/884) ([SteveGilvarry](https://github.com/SteveGilvarry)) - 881 bootstrap loading config [\#883](https://github.com/ZoneMinder/ZoneMinder/pull/883) ([pliablepixels](https://github.com/pliablepixels)) - Merged Angular UI branch API to master [\#882](https://github.com/ZoneMinder/ZoneMinder/pull/882) ([pliablepixels](https://github.com/pliablepixels)) -- h264 GUI translate fixes [\#880](https://github.com/ZoneMinder/ZoneMinder/pull/880) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Merging Master to feature-h264-videostorage [\#879](https://github.com/ZoneMinder/ZoneMinder/pull/879) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- 799 api improvements [\#877](https://github.com/ZoneMinder/ZoneMinder/pull/877) ([pliablepixels](https://github.com/pliablepixels)) -- Fixed daemonStatus API to return string returned by ZMC in addition t… [\#876](https://github.com/ZoneMinder/ZoneMinder/pull/876) ([pliablepixels](https://github.com/pliablepixels)) - Add version to the startup log line [\#875](https://github.com/ZoneMinder/ZoneMinder/pull/875) ([connortechnology](https://github.com/connortechnology)) - German translation update [\#874](https://github.com/ZoneMinder/ZoneMinder/pull/874) ([seeebek](https://github.com/seeebek)) - reduce the wait to 2/10ths instead of a whole second [\#873](https://github.com/ZoneMinder/ZoneMinder/pull/873) ([connortechnology](https://github.com/connortechnology)) @@ -186,8 +211,6 @@ - POD: zmupdate.pl converted to "pod2usage" [\#763](https://github.com/ZoneMinder/ZoneMinder/pull/763) ([onlyjob](https://github.com/onlyjob)) - build: fix FTBFS with format-hardening \(please review\) [\#761](https://github.com/ZoneMinder/ZoneMinder/pull/761) ([onlyjob](https://github.com/onlyjob)) - fixing POD errors [\#759](https://github.com/ZoneMinder/ZoneMinder/pull/759) ([onlyjob](https://github.com/onlyjob)) -- Fixed a missing bracket post merge and also SQL\_values now used for Even... [\#750](https://github.com/ZoneMinder/ZoneMinder/pull/750) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Keeping h264 updated. [\#749](https://github.com/ZoneMinder/ZoneMinder/pull/749) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Ignore autogenerated files in git [\#746](https://github.com/ZoneMinder/ZoneMinder/pull/746) ([manupap1](https://github.com/manupap1)) - when auth is needed, try command again before dying. [\#739](https://github.com/ZoneMinder/ZoneMinder/pull/739) ([connortechnology](https://github.com/connortechnology)) - remove NETPBM dependency from autotools [\#737](https://github.com/ZoneMinder/ZoneMinder/pull/737) ([knnniggett](https://github.com/knnniggett)) @@ -205,8 +228,6 @@ - Check to make sure that skin and css are valid. [\#713](https://github.com/ZoneMinder/ZoneMinder/pull/713) ([connortechnology](https://github.com/connortechnology)) - Fixes \#710 Added libavformat version check around free context functions [\#711](https://github.com/ZoneMinder/ZoneMinder/pull/711) ([SteveGilvarry](https://github.com/SteveGilvarry)) - try harder to find arp. [\#709](https://github.com/ZoneMinder/ZoneMinder/pull/709) ([connortechnology](https://github.com/connortechnology)) -- Merging Video and feature-h264-videostorage update [\#707](https://github.com/ZoneMinder/ZoneMinder/pull/707) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Update Version.txt to 1.28.1 [\#706](https://github.com/ZoneMinder/ZoneMinder/pull/706) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Make el6 and el7 build process a little more automated [\#704](https://github.com/ZoneMinder/ZoneMinder/pull/704) ([clipo1979](https://github.com/clipo1979)) - small improvements: [\#702](https://github.com/ZoneMinder/ZoneMinder/pull/702) ([connortechnology](https://github.com/connortechnology)) - Centos 7 rpm packaging [\#700](https://github.com/ZoneMinder/ZoneMinder/pull/700) ([knnniggett](https://github.com/knnniggett)) @@ -217,76 +238,6 @@ ## [v1.28.1](https://github.com/ZoneMinder/ZoneMinder/tree/v1.28.1) (2015-02-05) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.28.0...v1.28.1) -**Implemented enhancements:** - -- Implement unit testing [\#266](https://github.com/ZoneMinder/ZoneMinder/issues/266) -- Replace PHP short tags [\#11](https://github.com/ZoneMinder/ZoneMinder/issues/11) - -**Fixed bugs:** - -- Streaming an Event as MPEG fails. [\#686](https://github.com/ZoneMinder/ZoneMinder/issues/686) -- Zoneminder Web UI No Longer Refreshes After Change [\#534](https://github.com/ZoneMinder/ZoneMinder/issues/534) -- Monster log messages [\#491](https://github.com/ZoneMinder/ZoneMinder/issues/491) -- zmu fails silently when it cannot read zm.conf [\#339](https://github.com/ZoneMinder/ZoneMinder/issues/339) -- Errors on Monitors page during first view [\#175](https://github.com/ZoneMinder/ZoneMinder/issues/175) -- Logs screen overflows when too much text in message column [\#138](https://github.com/ZoneMinder/ZoneMinder/issues/138) -- When filtering in the Events view, filter options are lost between pages [\#25](https://github.com/ZoneMinder/ZoneMinder/issues/25) - -**Closed issues:** - -- Gentoo Systemd ZM V1.28.0- New old bug with PATH\_SOCK and PATH\_SWAP [\#681](https://github.com/ZoneMinder/ZoneMinder/issues/681) -- PDO\_MYSQL the only PHP driver needed? [\#679](https://github.com/ZoneMinder/ZoneMinder/issues/679) -- Unable to probe local cameras, status is '127' [\#673](https://github.com/ZoneMinder/ZoneMinder/issues/673) -- zmc won't start automatically + Can't open memory map file [\#669](https://github.com/ZoneMinder/ZoneMinder/issues/669) -- Fake camera support [\#659](https://github.com/ZoneMinder/ZoneMinder/issues/659) -- Horrible error message when pressing probe [\#658](https://github.com/ZoneMinder/ZoneMinder/issues/658) -- socket\_sendto\( /var/run/zm/zms-256303s.sock \) failed: No such file or directory [\#656](https://github.com/ZoneMinder/ZoneMinder/issues/656) -- update feature should be removed or easily disabled [\#655](https://github.com/ZoneMinder/ZoneMinder/issues/655) -- zmfilter.pl crashes when processing background filter with no terms [\#652](https://github.com/ZoneMinder/ZoneMinder/issues/652) -- Use of undefined constants ZM\_SKIN\_DEFAULT and ZM\_CSS\_DEFAULT in index.php [\#650](https://github.com/ZoneMinder/ZoneMinder/issues/650) -- Improper track URL handling in zm\_rtsp.cpp [\#644](https://github.com/ZoneMinder/ZoneMinder/issues/644) -- Cannot install on jessie when running systemd [\#642](https://github.com/ZoneMinder/ZoneMinder/issues/642) -- Version detection [\#626](https://github.com/ZoneMinder/ZoneMinder/issues/626) -- some trash in debian package [\#625](https://github.com/ZoneMinder/ZoneMinder/issues/625) -- signed integers awesome [\#624](https://github.com/ZoneMinder/ZoneMinder/issues/624) -- cmake does not honor SYSCONFDIR [\#623](https://github.com/ZoneMinder/ZoneMinder/issues/623) -- PTZ Control Icons have disappeared [\#622](https://github.com/ZoneMinder/ZoneMinder/issues/622) -- RTSP Improvements [\#612](https://github.com/ZoneMinder/ZoneMinder/issues/612) -- CCTV Camera to IP converter [\#603](https://github.com/ZoneMinder/ZoneMinder/issues/603) -- mjpg streamer installations on fedora 20 [\#600](https://github.com/ZoneMinder/ZoneMinder/issues/600) -- Changing the skin in the options SHOULD be permanent. [\#598](https://github.com/ZoneMinder/ZoneMinder/issues/598) -- Zoneminder requires SElinux disabled on RHEL & derivatives. [\#593](https://github.com/ZoneMinder/ZoneMinder/issues/593) -- Editing control settings on a monitor should probably try to kill any running zmcontrol [\#590](https://github.com/ZoneMinder/ZoneMinder/issues/590) -- 1.28 missing dependency on debian jessie [\#581](https://github.com/ZoneMinder/ZoneMinder/issues/581) -- LibVLC MJPEG stream slows down [\#571](https://github.com/ZoneMinder/ZoneMinder/issues/571) -- %EV% in EMAIL\_BODY in E-mail options send still video [\#569](https://github.com/ZoneMinder/ZoneMinder/issues/569) -- Add documentation for EMAIL\_BODY variables [\#568](https://github.com/ZoneMinder/ZoneMinder/issues/568) -- 3S PTZ [\#566](https://github.com/ZoneMinder/ZoneMinder/issues/566) -- Live view wrong socket name [\#563](https://github.com/ZoneMinder/ZoneMinder/issues/563) -- V4L1 Support removal? [\#558](https://github.com/ZoneMinder/ZoneMinder/issues/558) -- feature-h264-videostorage compile errors [\#553](https://github.com/ZoneMinder/ZoneMinder/issues/553) -- zmc -m 1 crashed, signal 6 [\#540](https://github.com/ZoneMinder/ZoneMinder/issues/540) -- Attempt to assign buffer from a NULL pointer [\#538](https://github.com/ZoneMinder/ZoneMinder/issues/538) -- Please recommend ffmpeg settings for best video quality [\#536](https://github.com/ZoneMinder/ZoneMinder/issues/536) -- Modect Mode\(Active\) - How to revert from alarm to idle [\#509](https://github.com/ZoneMinder/ZoneMinder/issues/509) -- Update v1.27.99.0. [\#503](https://github.com/ZoneMinder/ZoneMinder/issues/503) -- Docker Container Broken [\#498](https://github.com/ZoneMinder/ZoneMinder/issues/498) -- Nordmark IP camera [\#483](https://github.com/ZoneMinder/ZoneMinder/issues/483) -- Release v1.28.0 [\#467](https://github.com/ZoneMinder/ZoneMinder/issues/467) -- Let's make a new website [\#446](https://github.com/ZoneMinder/ZoneMinder/issues/446) -- Zoneminder, Onvif CPU and RTSP capture [\#431](https://github.com/ZoneMinder/ZoneMinder/issues/431) -- Right memory settings to capture 1080p cameras [\#425](https://github.com/ZoneMinder/ZoneMinder/issues/425) -- Startup problem on Ubuntu [\#424](https://github.com/ZoneMinder/ZoneMinder/issues/424) -- Feature Request: Support for digest authentication over RTSP [\#399](https://github.com/ZoneMinder/ZoneMinder/issues/399) -- Install Zm V1.27.0 on Linux Gentoo x64 \(systemd\) [\#396](https://github.com/ZoneMinder/ZoneMinder/issues/396) -- Missing Dependencies [\#368](https://github.com/ZoneMinder/ZoneMinder/issues/368) -- Error "‘AVOutputFormat’ does not name a type AVOutputFormat \*of;" [\#340](https://github.com/ZoneMinder/ZoneMinder/issues/340) -- Add the ability to force RTSP over TCP in ffmpeg cameras. [\#323](https://github.com/ZoneMinder/ZoneMinder/issues/323) -- limited maximum path length for the device path prevents use of some by-id names [\#301](https://github.com/ZoneMinder/ZoneMinder/issues/301) -- Stream acquired via RTSP/FFMPEG won't recover from connection loss - "Unable to read packet from stream 0" [\#299](https://github.com/ZoneMinder/ZoneMinder/issues/299) -- Invalid response status 501: Method Not Implemented [\#298](https://github.com/ZoneMinder/ZoneMinder/issues/298) -- Invalid SOS parameters for sequential JPEG [\#279](https://github.com/ZoneMinder/ZoneMinder/issues/279) - **Merged pull requests:** - fix content-type parsing when there are options on it [\#692](https://github.com/ZoneMinder/ZoneMinder/pull/692) ([connortechnology](https://github.com/connortechnology)) @@ -315,11 +266,8 @@ - Output to stderror when zmu can't read zm.conf [\#627](https://github.com/ZoneMinder/ZoneMinder/pull/627) ([knnniggett](https://github.com/knnniggett)) - Add missing dependency to policykit-1 [\#621](https://github.com/ZoneMinder/ZoneMinder/pull/621) ([manupap1](https://github.com/manupap1)) - Replace PHP Short Open Tags - Fixes \#11 [\#620](https://github.com/ZoneMinder/ZoneMinder/pull/620) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Video Highlander [\#618](https://github.com/ZoneMinder/ZoneMinder/pull/618) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Merge Master to feature-h264-videostorage [\#616](https://github.com/ZoneMinder/ZoneMinder/pull/616) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Rtsp [\#615](https://github.com/ZoneMinder/ZoneMinder/pull/615) ([knnniggett](https://github.com/knnniggett)) - Merge flat css to classic [\#614](https://github.com/ZoneMinder/ZoneMinder/pull/614) ([connortechnology](https://github.com/connortechnology)) -- feature-h264-videostorage mp4 container [\#613](https://github.com/ZoneMinder/ZoneMinder/pull/613) ([SteveGilvarry](https://github.com/SteveGilvarry)) - echo the URL to the RTSP device during the OPTIONS directive [\#608](https://github.com/ZoneMinder/ZoneMinder/pull/608) ([knnniggett](https://github.com/knnniggett)) - Fix some memory leaks in zma [\#607](https://github.com/ZoneMinder/ZoneMinder/pull/607) ([manupap1](https://github.com/manupap1)) - Fix a mismatched free in zmc binary [\#606](https://github.com/ZoneMinder/ZoneMinder/pull/606) ([manupap1](https://github.com/manupap1)) @@ -346,91 +294,16 @@ - Fixed bug in rtsp streaming caused by a bad string concatenation [\#557](https://github.com/ZoneMinder/ZoneMinder/pull/557) ([manupap1](https://github.com/manupap1)) - Add a stringVector join function for future use [\#556](https://github.com/ZoneMinder/ZoneMinder/pull/556) ([connortechnology](https://github.com/connortechnology)) - Fixed bug in rtsp streaming caused by a signed - unsigned conversion. [\#555](https://github.com/ZoneMinder/ZoneMinder/pull/555) ([manupap1](https://github.com/manupap1)) -- Keeping branch current, and fixing libvlc compile issues [\#554](https://github.com/ZoneMinder/ZoneMinder/pull/554) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Bumped version being found by zmupdate.pl [\#551](https://github.com/ZoneMinder/ZoneMinder/pull/551) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Update Ubuntu install instructions [\#550](https://github.com/ZoneMinder/ZoneMinder/pull/550) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Ignore more files and initial travis framework [\#544](https://github.com/ZoneMinder/ZoneMinder/pull/544) ([kylejohnson](https://github.com/kylejohnson)) - Update Travis to ffmpeg 2.4.2 [\#539](https://github.com/ZoneMinder/ZoneMinder/pull/539) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Add libvlc to Travis [\#535](https://github.com/ZoneMinder/ZoneMinder/pull/535) ([knnniggett](https://github.com/knnniggett)) -- Merge master to feature-h264-videostorage and restore web GUI [\#532](https://github.com/ZoneMinder/ZoneMinder/pull/532) ([SteveGilvarry](https://github.com/SteveGilvarry)) - 351-Rebase Attempt for ffmpeg stability fixes [\#531](https://github.com/ZoneMinder/ZoneMinder/pull/531) ([SteveGilvarry](https://github.com/SteveGilvarry)) +- 478 Basic ONVIF Support [\#479](https://github.com/ZoneMinder/ZoneMinder/pull/479) ([altaroca](https://github.com/altaroca)) ## [v1.28.0](https://github.com/ZoneMinder/ZoneMinder/tree/v1.28.0) (2014-10-18) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.27.0...v1.28.0) -**Implemented enhancements:** - -- Migrate completely to C++ [\#265](https://github.com/ZoneMinder/ZoneMinder/issues/265) -- All of the Config table shouldn't be written in Configure::write [\#192](https://github.com/ZoneMinder/ZoneMinder/issues/192) -- Translation stuff done, please pull in and test... [\#72](https://github.com/ZoneMinder/ZoneMinder/issues/72) - -**Fixed bugs:** - -- zms crashes due to monitor not running. [\#468](https://github.com/ZoneMinder/ZoneMinder/issues/468) -- Flat Skins Export Functions missing $ [\#455](https://github.com/ZoneMinder/ZoneMinder/issues/455) -- unexpected } in console.php [\#354](https://github.com/ZoneMinder/ZoneMinder/issues/354) -- incomplete path to arp in zoneminder/skins/classic/views/monitorprobe.php causes probe code 127 failures [\#271](https://github.com/ZoneMinder/ZoneMinder/issues/271) -- Minor errors when either OPT\_MAIL, OPT\_MESSAGE, or OPT\_UPLOAD are not set [\#34](https://github.com/ZoneMinder/ZoneMinder/issues/34) - -**Closed issues:** - -- Travis Build failing due to build issues with ffmpeg master [\#520](https://github.com/ZoneMinder/ZoneMinder/issues/520) -- 'zmfilter.pl' exited abnormally, exit status 9 [\#516](https://github.com/ZoneMinder/ZoneMinder/issues/516) -- Get the script on alarm feature working [\#515](https://github.com/ZoneMinder/ZoneMinder/issues/515) -- cmake installation on Arch Linux creates extraneous lib/perl5/... and share/man/... directories [\#514](https://github.com/ZoneMinder/ZoneMinder/issues/514) -- ZM Gui Stopped SU Syntax Error [\#512](https://github.com/ZoneMinder/ZoneMinder/issues/512) -- Error using log filter [\#504](https://github.com/ZoneMinder/ZoneMinder/issues/504) -- fps drop in latest snapshot 1.27.99 [\#495](https://github.com/ZoneMinder/ZoneMinder/issues/495) -- mysql missing field error after update [\#494](https://github.com/ZoneMinder/ZoneMinder/issues/494) -- Emails not including video when I add %EV% [\#487](https://github.com/ZoneMinder/ZoneMinder/issues/487) -- Cameras don't show remotely [\#484](https://github.com/ZoneMinder/ZoneMinder/issues/484) -- ZM Gui Stopped SU Syntax Error [\#482](https://github.com/ZoneMinder/ZoneMinder/issues/482) -- Airlink101 AIC500 mjpeg stream [\#481](https://github.com/ZoneMinder/ZoneMinder/issues/481) -- When a monitor's size is changed, the zone does not resize with it. [\#477](https://github.com/ZoneMinder/ZoneMinder/issues/477) -- .. [\#472](https://github.com/ZoneMinder/ZoneMinder/issues/472) -- Just A Note When Compiling [\#471](https://github.com/ZoneMinder/ZoneMinder/issues/471) -- firefox on windows not load all monitors in montage view [\#470](https://github.com/ZoneMinder/ZoneMinder/issues/470) -- Default to FLAT Skin [\#466](https://github.com/ZoneMinder/ZoneMinder/issues/466) -- zmlinkcontent.sh chown and chmod on symlink instead of content directory [\#463](https://github.com/ZoneMinder/ZoneMinder/issues/463) -- Cannot compile Zoneminder on CentOS 6.4 [\#461](https://github.com/ZoneMinder/ZoneMinder/issues/461) -- Video is not attached to e-mail anymore \(zm 1.27\) [\#460](https://github.com/ZoneMinder/ZoneMinder/issues/460) -- \[Video Branch\] Unknown column 'SaveJPEGs' in 'field list' [\#453](https://github.com/ZoneMinder/ZoneMinder/issues/453) -- Log Ajax loading oldest to newest [\#450](https://github.com/ZoneMinder/ZoneMinder/issues/450) -- '@' in password of a remote camera makes things go wrong [\#443](https://github.com/ZoneMinder/ZoneMinder/issues/443) -- Current code segfaults [\#439](https://github.com/ZoneMinder/ZoneMinder/issues/439) -- Crashing under Arch Linux [\#437](https://github.com/ZoneMinder/ZoneMinder/issues/437) -- Email Montage view on schedule [\#436](https://github.com/ZoneMinder/ZoneMinder/issues/436) -- \[question\] vmware image for latest ZM [\#428](https://github.com/ZoneMinder/ZoneMinder/issues/428) -- Cannot Compile [\#423](https://github.com/ZoneMinder/ZoneMinder/issues/423) -- seg in nph-zms/loadEventData atoi [\#417](https://github.com/ZoneMinder/ZoneMinder/issues/417) -- ffmpeg problem [\#414](https://github.com/ZoneMinder/ZoneMinder/issues/414) -- Minor fixes \(?\) for zmtrigger and mobile skin [\#410](https://github.com/ZoneMinder/ZoneMinder/issues/410) -- Misleading Config Dump [\#402](https://github.com/ZoneMinder/ZoneMinder/issues/402) -- Call to undefined function fixdevices\(\) [\#401](https://github.com/ZoneMinder/ZoneMinder/issues/401) -- Option to execute arbitrary script for each event. \[$100 awarded\] [\#400](https://github.com/ZoneMinder/ZoneMinder/issues/400) -- Zoneminder without Analysation [\#398](https://github.com/ZoneMinder/ZoneMinder/issues/398) -- Viewing 31 monitors in montage [\#379](https://github.com/ZoneMinder/ZoneMinder/issues/379) -- flat theme usability / Layout issues [\#378](https://github.com/ZoneMinder/ZoneMinder/issues/378) -- Undefined index: filter in /usr/share/zoneminder/skins/zmc/views/filter.php [\#369](https://github.com/ZoneMinder/ZoneMinder/issues/369) -- docker install not working [\#366](https://github.com/ZoneMinder/ZoneMinder/issues/366) -- Events are not being reported to table on main index page [\#364](https://github.com/ZoneMinder/ZoneMinder/issues/364) -- PatternFly for design commanality and improved user experience [\#363](https://github.com/ZoneMinder/ZoneMinder/issues/363) -- Radio buttons rendering in events replay in flat skin [\#356](https://github.com/ZoneMinder/ZoneMinder/issues/356) -- Pick a git branching strategy [\#350](https://github.com/ZoneMinder/ZoneMinder/issues/350) -- Compile directive ZM\_CGIDIR is not interpreted correctly [\#347](https://github.com/ZoneMinder/ZoneMinder/issues/347) -- 736516 - FTBFS: zm\_image.cpp:2991:165: error: \_\_attribute\_\_\(\(\_\_target\_\_\("sse2"\)\)\) is invalid [\#345](https://github.com/ZoneMinder/ZoneMinder/issues/345) -- zmcamtool isn't installed [\#344](https://github.com/ZoneMinder/ZoneMinder/issues/344) -- Overload Frame Ignore Count has no function [\#337](https://github.com/ZoneMinder/ZoneMinder/issues/337) -- preclusive zones calculated twice [\#336](https://github.com/ZoneMinder/ZoneMinder/issues/336) -- Build issue - In function `matroska\_decode\_buffer' [\#335](https://github.com/ZoneMinder/ZoneMinder/issues/335) -- High Load with Low CPU usage [\#326](https://github.com/ZoneMinder/ZoneMinder/issues/326) -- AUTH\_TYPE=remote not working in 1.26.4 [\#324](https://github.com/ZoneMinder/ZoneMinder/issues/324) -- Filter / Purge And Delete not running [\#321](https://github.com/ZoneMinder/ZoneMinder/issues/321) -- /root/zoneminder\_1.26.4-1\_amd64.deb not created [\#260](https://github.com/ZoneMinder/ZoneMinder/issues/260) -- 721161 - depends on ffmpeg which is going away [\#100](https://github.com/ZoneMinder/ZoneMinder/issues/100) -- 694131 - FTBFS against libav 9 [\#98](https://github.com/ZoneMinder/ZoneMinder/issues/98) -- Request: Better API/Remote control [\#23](https://github.com/ZoneMinder/ZoneMinder/issues/23) - **Merged pull requests:** - fixes ftbs with no ffmpeg support [\#530](https://github.com/ZoneMinder/ZoneMinder/pull/530) ([knnniggett](https://github.com/knnniggett)) @@ -450,7 +323,6 @@ - Fixes errors when opening Filters \(issue \#34\) [\#457](https://github.com/ZoneMinder/ZoneMinder/pull/457) ([knnniggett](https://github.com/knnniggett)) - Fixed missing $ on ARRAY\(event\[id\]\). Fixes \#455 [\#456](https://github.com/ZoneMinder/ZoneMinder/pull/456) ([SteveGilvarry](https://github.com/SteveGilvarry)) - Wrap sort order. Fixes \#450 [\#451](https://github.com/ZoneMinder/ZoneMinder/pull/451) ([SteveGilvarry](https://github.com/SteveGilvarry)) -- Update downloads.html [\#448](https://github.com/ZoneMinder/ZoneMinder/pull/448) ([barjac](https://github.com/barjac)) - scripts: BusyBox compatibility [\#445](https://github.com/ZoneMinder/ZoneMinder/pull/445) ([clandmeter](https://github.com/clandmeter)) - Fixed issue DateTime handling in filter queries that broke timeline view... [\#442](https://github.com/ZoneMinder/ZoneMinder/pull/442) ([Tim-Craig](https://github.com/Tim-Craig)) - Cleaning up the Contribution section of the README [\#440](https://github.com/ZoneMinder/ZoneMinder/pull/440) ([kylejohnson](https://github.com/kylejohnson)) @@ -480,7 +352,7 @@ - Fix window sizes and input field sizes for flat skin [\#381](https://github.com/ZoneMinder/ZoneMinder/pull/381) ([m-bene](https://github.com/m-bene)) - Fix reload loop on switching skins [\#380](https://github.com/ZoneMinder/ZoneMinder/pull/380) ([m-bene](https://github.com/m-bene)) - Ability to skip frames in motion detection. [\#377](https://github.com/ZoneMinder/ZoneMinder/pull/377) ([Sune1337](https://github.com/Sune1337)) -- same dvr controlls in event as in monitor [\#375](https://github.com/ZoneMinder/ZoneMinder/pull/375) ([m-bene](https://github.com/m-bene)) +- same dvr controls in event as in monitor [\#375](https://github.com/ZoneMinder/ZoneMinder/pull/375) ([m-bene](https://github.com/m-bene)) - do not quote column names in parse filter [\#374](https://github.com/ZoneMinder/ZoneMinder/pull/374) ([m-bene](https://github.com/m-bene)) - Fix 'Undefined index: filter' php warnings for filter view when [\#373](https://github.com/ZoneMinder/ZoneMinder/pull/373) ([m-bene](https://github.com/m-bene)) - Reduce window size to exclude task bar area [\#371](https://github.com/ZoneMinder/ZoneMinder/pull/371) ([m-bene](https://github.com/m-bene)) @@ -502,49 +374,8 @@ ## [v1.27.0](https://github.com/ZoneMinder/ZoneMinder/tree/v1.27.0) (2014-03-15) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.5...v1.27.0) -**Implemented enhancements:** - -- Change help text of source "Maximum FPS" and "Alarm Maximum FPS" to note that this should only be used on analog cameras [\#273](https://github.com/ZoneMinder/ZoneMinder/issues/273) -- Make zmpkg.pl 'better' [\#272](https://github.com/ZoneMinder/ZoneMinder/issues/272) -- Enhance security by creating SELinux policies. [\#248](https://github.com/ZoneMinder/ZoneMinder/issues/248) -- Update wiki page \(please?\) [\#91](https://github.com/ZoneMinder/ZoneMinder/issues/91) -- Better ffmpeg Version Checking [\#31](https://github.com/ZoneMinder/ZoneMinder/issues/31) -- Proposed: Enable purgewhenfull filter by default [\#332](https://github.com/ZoneMinder/ZoneMinder/issues/332) -- Exportable Camera Configs [\#86](https://github.com/ZoneMinder/ZoneMinder/issues/86) - -**Fixed bugs:** - -- Vivotek cameras, ultra slow FPS. [\#204](https://github.com/ZoneMinder/ZoneMinder/issues/204) -- Script to remove auto-generated files [\#112](https://github.com/ZoneMinder/ZoneMinder/issues/112) -- zm\_mpeg no longer uses correct ffmpeg API's [\#83](https://github.com/ZoneMinder/ZoneMinder/issues/83) -- Not all options in Monitors/add.ctp are saved to the database [\#13](https://github.com/ZoneMinder/ZoneMinder/issues/13) -- Flat skin needs window widths fixed [\#331](https://github.com/ZoneMinder/ZoneMinder/issues/331) -- Configuration gets broken in database after crash [\#239](https://github.com/ZoneMinder/ZoneMinder/issues/239) -- zmc crashes after a few minutes of usage in 1.26.4 [\#237](https://github.com/ZoneMinder/ZoneMinder/issues/237) - -**Closed issues:** - -- Apache using private /tmp space [\#307](https://github.com/ZoneMinder/ZoneMinder/issues/307) -- zmtrigger.pl crashes, which keeps Monitors in alarm state. [\#295](https://github.com/ZoneMinder/ZoneMinder/issues/295) -- SQL-ERR using Timeline after executing Filter matching on string with whitespace [\#291](https://github.com/ZoneMinder/ZoneMinder/issues/291) -- zm\_signal.cpp crashing signal 11 \(Segmentation fault\) [\#288](https://github.com/ZoneMinder/ZoneMinder/issues/288) -- Zoneminder no longer builds when using -DZM\_NO\_FFMPEG=ON [\#285](https://github.com/ZoneMinder/ZoneMinder/issues/285) -- Can't to use chinese [\#278](https://github.com/ZoneMinder/ZoneMinder/issues/278) -- jquery is embedded inside export\_functions.php [\#274](https://github.com/ZoneMinder/ZoneMinder/issues/274) -- Implement live streaming of H264 camera streams [\#176](https://github.com/ZoneMinder/ZoneMinder/issues/176) -- Support non-embedded password challenge [\#33](https://github.com/ZoneMinder/ZoneMinder/issues/33) -- libvlc source type not working in Ubuntu 12.04.3 [\#330](https://github.com/ZoneMinder/ZoneMinder/issues/330) -- zmupdate.pl InnoDB conversion silent failure [\#320](https://github.com/ZoneMinder/ZoneMinder/issues/320) -- Release v1.27.0 \[$100 awarded\] [\#315](https://github.com/ZoneMinder/ZoneMinder/issues/315) -- Default skin is flat, can't switch to classic. ?skin doesn't help [\#313](https://github.com/ZoneMinder/ZoneMinder/issues/313) -- make failure [\#304](https://github.com/ZoneMinder/ZoneMinder/issues/304) -- Fix 'remote' AUTH\_TYPE [\#296](https://github.com/ZoneMinder/ZoneMinder/issues/296) -- Use libcurl for http\(s\) authentication with remote cameras \[$400 awarded\] [\#238](https://github.com/ZoneMinder/ZoneMinder/issues/238) - **Merged pull requests:** -- Release 1.27 [\#341](https://github.com/ZoneMinder/ZoneMinder/pull/341) ([kylejohnson](https://github.com/kylejohnson)) -- Fix popup sizes in flat skins. Fixes \#331 [\#334](https://github.com/ZoneMinder/ZoneMinder/pull/334) ([kylejohnson](https://github.com/kylejohnson)) - zmcamtool.pl - import and export ptz camera controls & camera presets [\#318](https://github.com/ZoneMinder/ZoneMinder/pull/318) ([kylejohnson](https://github.com/kylejohnson)) - Example script to react to monitor alarms [\#317](https://github.com/ZoneMinder/ZoneMinder/pull/317) ([kylejohnson](https://github.com/kylejohnson)) - Change comments for many Camera subclasses [\#316](https://github.com/ZoneMinder/ZoneMinder/pull/316) ([nereocystis](https://github.com/nereocystis)) @@ -572,34 +403,12 @@ ## [v1.26.5](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.5) (2013-12-16) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.4...v1.26.5) -**Implemented enhancements:** - -- ZoneMinder domain / website / email [\#225](https://github.com/ZoneMinder/ZoneMinder/issues/225) - -**Fixed bugs:** - -- Post shmget problem due to \*code\* not shmmax/shmall [\#226](https://github.com/ZoneMinder/ZoneMinder/issues/226) -- SQL error when "pre event image count" \>150 or so due to insufficient ZM\_SQL\_LGE\_BUFSIZ [\#222](https://github.com/ZoneMinder/ZoneMinder/issues/222) -- 'asm' operand has impossible constraints [\#219](https://github.com/ZoneMinder/ZoneMinder/issues/219) -- ipv6 support [\#210](https://github.com/ZoneMinder/ZoneMinder/issues/210) -- RTSP decoding errors in 1.26.4 \[$450 awarded\] [\#221](https://github.com/ZoneMinder/ZoneMinder/issues/221) -- The Prev "\<+" button does not work [\#32](https://github.com/ZoneMinder/ZoneMinder/issues/32) - -**Closed issues:** - -- Strict subs error? [\#262](https://github.com/ZoneMinder/ZoneMinder/issues/262) -- PHP depreciating [\#229](https://github.com/ZoneMinder/ZoneMinder/issues/229) -- Add a feature to monitor camera\(s\) availability [\#228](https://github.com/ZoneMinder/ZoneMinder/issues/228) -- Release 1.26.4 [\#202](https://github.com/ZoneMinder/ZoneMinder/issues/202) -- 631969 - 2 problems with options screen [\#106](https://github.com/ZoneMinder/ZoneMinder/issues/106) -- 657620 - Path issues for js scripts [\#102](https://github.com/ZoneMinder/ZoneMinder/issues/102) -- Support http digest authentication for IP camera access [\#30](https://github.com/ZoneMinder/ZoneMinder/issues/30) - **Merged pull requests:** - Add reference to zm\_update-1.26.5.sql in Makefile.am [\#269](https://github.com/ZoneMinder/ZoneMinder/pull/269) ([knnniggett](https://github.com/knnniggett)) - Detection Support for WansView Cams [\#268](https://github.com/ZoneMinder/ZoneMinder/pull/268) ([Phhere](https://github.com/Phhere)) - use proper DBI parameter passing to improve security [\#264](https://github.com/ZoneMinder/ZoneMinder/pull/264) ([connortechnology](https://github.com/connortechnology)) +- Fix RTSP decoding errors in 1.26.4 \(addresses \#221\) [\#259](https://github.com/ZoneMinder/ZoneMinder/pull/259) ([ebarnard](https://github.com/ebarnard)) - Network Detection Support for Wansview [\#257](https://github.com/ZoneMinder/ZoneMinder/pull/257) ([Phhere](https://github.com/Phhere)) - Fix checkJsonError messages [\#256](https://github.com/ZoneMinder/ZoneMinder/pull/256) ([Phhere](https://github.com/Phhere)) - Update README.md [\#255](https://github.com/ZoneMinder/ZoneMinder/pull/255) ([zdanek](https://github.com/zdanek)) @@ -608,16 +417,9 @@ - Fix shared memory errors on centos 6.4 [\#250](https://github.com/ZoneMinder/ZoneMinder/pull/250) ([insidenothing](https://github.com/insidenothing)) - Update zoneminder.service [\#246](https://github.com/ZoneMinder/ZoneMinder/pull/246) ([dtmf](https://github.com/dtmf)) - remove extra stuff that I don't think we need because we are the source. Opinions? [\#240](https://github.com/ZoneMinder/ZoneMinder/pull/240) ([connortechnology](https://github.com/connortechnology)) -- Re-Add ZM\_PATH\_DATA [\#236](https://github.com/ZoneMinder/ZoneMinder/pull/236) ([knnniggett](https://github.com/knnniggett)) - Cast content\_length to signed int for error-check comparison [\#232](https://github.com/ZoneMinder/ZoneMinder/pull/232) ([josephevans](https://github.com/josephevans)) - Apply INSERTs in Event::AddFrames in batches to fix issue \#222 [\#223](https://github.com/ZoneMinder/ZoneMinder/pull/223) ([fastolfe](https://github.com/fastolfe)) -- Updates to the zones view and edit pages [\#220](https://github.com/ZoneMinder/ZoneMinder/pull/220) ([kylejohnson](https://github.com/kylejohnson)) - ffmpeg detection improvements [\#218](https://github.com/ZoneMinder/ZoneMinder/pull/218) ([mastertheknife](https://github.com/mastertheknife)) -- cmake support files for redhat/centos distros [\#217](https://github.com/ZoneMinder/ZoneMinder/pull/217) ([knnniggett](https://github.com/knnniggett)) -- Create ZM\_TARGET\_DISTRO [\#216](https://github.com/ZoneMinder/ZoneMinder/pull/216) ([knnniggett](https://github.com/knnniggett)) -- We need a toggle for x10 support [\#215](https://github.com/ZoneMinder/ZoneMinder/pull/215) ([knnniggett](https://github.com/knnniggett)) -- Cmake support files for fedora distro [\#214](https://github.com/ZoneMinder/ZoneMinder/pull/214) ([knnniggett](https://github.com/knnniggett)) -- Initial zone editing in html5 canvas [\#213](https://github.com/ZoneMinder/ZoneMinder/pull/213) ([kylejohnson](https://github.com/kylejohnson)) - ZoneMinder Dutch Translation updates by Alco \(a.k. nightcrawler\) [\#211](https://github.com/ZoneMinder/ZoneMinder/pull/211) ([kylejohnson](https://github.com/kylejohnson)) - Change Prev Button functionality [\#207](https://github.com/ZoneMinder/ZoneMinder/pull/207) ([knnniggett](https://github.com/knnniggett)) - Delete PATH\_BUILD and TIME\_BUILD from zm.conf and fix ZM\_DB\_TYPE [\#243](https://github.com/ZoneMinder/ZoneMinder/pull/243) ([mastertheknife](https://github.com/mastertheknife)) @@ -628,42 +430,6 @@ ## [v1.26.4](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.4) (2013-10-08) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.3...v1.26.4) -**Implemented enhancements:** - -- Configuration options should be handled in the model, not the controller [\#191](https://github.com/ZoneMinder/ZoneMinder/issues/191) -- Travis CI automatic building [\#168](https://github.com/ZoneMinder/ZoneMinder/issues/168) -- Switch h264 feature branch to track the modern branch [\#167](https://github.com/ZoneMinder/ZoneMinder/issues/167) -- Add redhat specific files to source tree [\#115](https://github.com/ZoneMinder/ZoneMinder/issues/115) -- Performing count\(\) in SQL is slower than in PHP [\#2](https://github.com/ZoneMinder/ZoneMinder/issues/2) - -**Fixed bugs:** - -- New WebUI displays horizontal scroll bar with 100% width [\#169](https://github.com/ZoneMinder/ZoneMinder/issues/169) -- syntax error, unexpected $end on line 16 in LiveStreamHelper.php [\#147](https://github.com/ZoneMinder/ZoneMinder/issues/147) -- Readme.fedora contains incorrect references [\#145](https://github.com/ZoneMinder/ZoneMinder/issues/145) -- Bandwidth cookie issues [\#143](https://github.com/ZoneMinder/ZoneMinder/issues/143) -- Monitor image invalid when monitor not enabled [\#140](https://github.com/ZoneMinder/ZoneMinder/issues/140) -- Monitor image size too small [\#139](https://github.com/ZoneMinder/ZoneMinder/issues/139) - -**Closed issues:** - -- MJPEG without cambozola.jar on modern browsers \(including Linux ones\) [\#198](https://github.com/ZoneMinder/ZoneMinder/issues/198) -- Ability to hide all 'controls' and menus [\#171](https://github.com/ZoneMinder/ZoneMinder/issues/171) -- strace on zma gives "timer\_gettime...\(..\).. = -1 EINVAL \(Invalid argument\)" [\#170](https://github.com/ZoneMinder/ZoneMinder/issues/170) -- Add ability to zms \(or use the segmenter\) to play back h264 video either directly or transcoded [\#166](https://github.com/ZoneMinder/ZoneMinder/issues/166) -- I can delete multiple events at once. [\#137](https://github.com/ZoneMinder/ZoneMinder/issues/137) -- I can view logs [\#135](https://github.com/ZoneMinder/ZoneMinder/issues/135) -- I can update system config / options [\#134](https://github.com/ZoneMinder/ZoneMinder/issues/134) -- I can change the order of monitors [\#132](https://github.com/ZoneMinder/ZoneMinder/issues/132) -- When a new version is available, I am alerted [\#130](https://github.com/ZoneMinder/ZoneMinder/issues/130) -- Bandwidth is updated on the UI after chaning it [\#129](https://github.com/ZoneMinder/ZoneMinder/issues/129) -- I can change the bandwidth [\#128](https://github.com/ZoneMinder/ZoneMinder/issues/128) -- I can delete events [\#126](https://github.com/ZoneMinder/ZoneMinder/issues/126) -- I can view monitor streams individually [\#125](https://github.com/ZoneMinder/ZoneMinder/issues/125) -- 667428 - ftbfs with GCC-4.7 [\#99](https://github.com/ZoneMinder/ZoneMinder/issues/99) -- 707411 - FTBFS: zm\_local\_camera.cpp:742:49: error: invalid conversion from '\_\_u32 {aka unsigned int}' to 'v4l2\_buf\_type' [\#97](https://github.com/ZoneMinder/ZoneMinder/issues/97) -- Change in monitor setup requested. [\#19](https://github.com/ZoneMinder/ZoneMinder/issues/19) - **Merged pull requests:** - Change frameserver warnings to debug level 2 [\#205](https://github.com/ZoneMinder/ZoneMinder/pull/205) ([knnniggett](https://github.com/knnniggett)) @@ -671,26 +437,13 @@ - Signal improvements and fixes [\#201](https://github.com/ZoneMinder/ZoneMinder/pull/201) ([mastertheknife](https://github.com/mastertheknife)) - Create ZM\_PATH\_DATA and point zmupdate to ZM\_PATH\_DATA/db [\#200](https://github.com/ZoneMinder/ZoneMinder/pull/200) ([knnniggett](https://github.com/knnniggett)) - remove ${CMAKE\_CURRENT\_SOURCE\_DIR} from add\_custom\_target [\#199](https://github.com/ZoneMinder/ZoneMinder/pull/199) ([knnniggett](https://github.com/knnniggett)) -- Updated cmake for the modern WebUI branch [\#196](https://github.com/ZoneMinder/ZoneMinder/pull/196) ([mastertheknife](https://github.com/mastertheknife)) - Added missing word in readme [\#194](https://github.com/ZoneMinder/ZoneMinder/pull/194) ([WDKevin](https://github.com/WDKevin)) -- Moved writing of configure options from Controller to Model. Fixes \#191. [\#193](https://github.com/ZoneMinder/ZoneMinder/pull/193) ([kylejohnson](https://github.com/kylejohnson)) -- Moved zmBandwidth option from cookie to Configure:: option. Might fix \#175 [\#190](https://github.com/ZoneMinder/ZoneMinder/pull/190) ([kylejohnson](https://github.com/kylejohnson)) -- Moved the Config tabs to the sidebar [\#185](https://github.com/ZoneMinder/ZoneMinder/pull/185) ([kylejohnson](https://github.com/kylejohnson)) -- Added datetime picker support and implemented on events sidebar [\#179](https://github.com/ZoneMinder/ZoneMinder/pull/179) ([WDKevin](https://github.com/WDKevin)) - Add cmake to ZoneMinder [\#178](https://github.com/ZoneMinder/ZoneMinder/pull/178) ([mastertheknife](https://github.com/mastertheknife)) -- Fixes the fixed-width container bug in bootstrap [\#177](https://github.com/ZoneMinder/ZoneMinder/pull/177) ([WDKevin](https://github.com/WDKevin)) - Rtsp updates [\#174](https://github.com/ZoneMinder/ZoneMinder/pull/174) ([POKKAHOH](https://github.com/POKKAHOH)) -- Minor patches to support older ffmpeg under distro's like Ubuntu 12.04 [\#173](https://github.com/ZoneMinder/ZoneMinder/pull/173) ([chetan-prime](https://github.com/chetan-prime)) - Solution for Issue \#170 [\#172](https://github.com/ZoneMinder/ZoneMinder/pull/172) ([raulcaj](https://github.com/raulcaj)) - Fixing debian build files including automated database setup [\#164](https://github.com/ZoneMinder/ZoneMinder/pull/164) ([jaydio](https://github.com/jaydio)) - Add fedora rpm development files to zoneminder source tree [\#163](https://github.com/ZoneMinder/ZoneMinder/pull/163) ([knnniggett](https://github.com/knnniggett)) - Improve Chrome browser support & log streaming events [\#162](https://github.com/ZoneMinder/ZoneMinder/pull/162) ([knnniggett](https://github.com/knnniggett)) -- Merge master into modern to keep changes up to date [\#161](https://github.com/ZoneMinder/ZoneMinder/pull/161) ([chriswiggins](https://github.com/chriswiggins)) -- Checks for updates every 5 minutes and notifies the user when there is one [\#158](https://github.com/ZoneMinder/ZoneMinder/pull/158) ([WDKevin](https://github.com/WDKevin)) -- Dynamic monitor resizing [\#157](https://github.com/ZoneMinder/ZoneMinder/pull/157) ([chriswiggins](https://github.com/chriswiggins)) -- Delete multiple events at once [\#156](https://github.com/ZoneMinder/ZoneMinder/pull/156) ([WDKevin](https://github.com/WDKevin)) -- Added missing jquery-2.0.1.min.map file [\#155](https://github.com/ZoneMinder/ZoneMinder/pull/155) ([WDKevin](https://github.com/WDKevin)) -- Add support to change order of monitors [\#154](https://github.com/ZoneMinder/ZoneMinder/pull/154) ([WDKevin](https://github.com/WDKevin)) - Can't seem to catch a break tonight. Moving debian files into correct folder [\#149](https://github.com/ZoneMinder/ZoneMinder/pull/149) ([knnniggett](https://github.com/knnniggett)) - Move debian folder under distros [\#148](https://github.com/ZoneMinder/ZoneMinder/pull/148) ([knnniggett](https://github.com/knnniggett)) - Removing the redhat folder from the root for real this time [\#141](https://github.com/ZoneMinder/ZoneMinder/pull/141) ([knnniggett](https://github.com/knnniggett)) @@ -702,11 +455,6 @@ ## [v1.26.3](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.3) (2013-09-10) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.2...v1.26.3) -**Fixed bugs:** - -- syntax error near unexpected token `5.6.0' [\#118](https://github.com/ZoneMinder/ZoneMinder/issues/118) -- Must modify zmupdate whenever the zm release number is incremented [\#114](https://github.com/ZoneMinder/ZoneMinder/issues/114) - **Merged pull requests:** - Add 1.26.1 and 1.26.2 releases to zmupdate [\#116](https://github.com/ZoneMinder/ZoneMinder/pull/116) ([knnniggett](https://github.com/knnniggett)) @@ -714,19 +462,6 @@ ## [v1.26.2](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.2) (2013-09-06) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.1...v1.26.2) -**Implemented enhancements:** - -- Update zmupdate to look at the github repo for the latest version [\#109](https://github.com/ZoneMinder/ZoneMinder/issues/109) - -**Fixed bugs:** - -- 666980 - hash authentication broken in update [\#105](https://github.com/ZoneMinder/ZoneMinder/issues/105) - -**Closed issues:** - -- 1.26.1 didn't get bumped from 1.26.0 [\#113](https://github.com/ZoneMinder/ZoneMinder/issues/113) -- Migrate FAQ from ZoneMinder Wiki to GitHub Wiki [\#110](https://github.com/ZoneMinder/ZoneMinder/issues/110) - **Merged pull requests:** - Use GitHub repo for version check [\#111](https://github.com/ZoneMinder/ZoneMinder/pull/111) ([chriswiggins](https://github.com/chriswiggins)) @@ -734,85 +469,18 @@ ## [v1.26.1](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.1) (2013-09-06) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26.0...v1.26.1) -**Fixed bugs:** - -- Make and configure files are not in v1.26.0 [\#107](https://github.com/ZoneMinder/ZoneMinder/issues/107) - ## [v1.26.0](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26.0) (2013-09-05) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26-beta.3...v1.26.0) -**Closed issues:** - -- AM is deprecated in automake-1.13 onwards [\#94](https://github.com/ZoneMinder/ZoneMinder/issues/94) -- CVE-2013-0232 [\#93](https://github.com/ZoneMinder/ZoneMinder/issues/93) -- \[CRITICAL\] zms crashes with hashed authentication [\#88](https://github.com/ZoneMinder/ZoneMinder/issues/88) - -**Merged pull requests:** - -- Fix "Can't stat : No such file or directory" message [\#95](https://github.com/ZoneMinder/ZoneMinder/pull/95) ([knnniggett](https://github.com/knnniggett)) -- Update getBrowser\(\) to match IE10 [\#92](https://github.com/ZoneMinder/ZoneMinder/pull/92) ([knnniggett](https://github.com/knnniggett)) -- Update zmupdate.pl.in to give option to convert to InnoDB tables [\#84](https://github.com/ZoneMinder/ZoneMinder/pull/84) ([knnniggett](https://github.com/knnniggett)) - ## [v1.26-beta.3](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26-beta.3) (2013-08-28) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26-beta.2...v1.26-beta.3) -**Fixed bugs:** - -- libjpeg turbo errors during make [\#52](https://github.com/ZoneMinder/ZoneMinder/issues/52) - -**Closed issues:** - -- configure.ac checking for libavcore incorrectly [\#64](https://github.com/ZoneMinder/ZoneMinder/issues/64) - -**Merged pull requests:** - -- Fix for Issue \#88 - ZMS crashing [\#90](https://github.com/ZoneMinder/ZoneMinder/pull/90) ([knnniggett](https://github.com/knnniggett)) -- Fixed typo [\#89](https://github.com/ZoneMinder/ZoneMinder/pull/89) ([knnniggett](https://github.com/knnniggett)) -- edit zmupdate function in init script [\#87](https://github.com/ZoneMinder/ZoneMinder/pull/87) ([knnniggett](https://github.com/knnniggett)) -- Add PTZ control files and camera presets for specific ptz cameras. [\#85](https://github.com/ZoneMinder/ZoneMinder/pull/85) ([knnniggett](https://github.com/knnniggett)) -- Update Makefile.am [\#81](https://github.com/ZoneMinder/ZoneMinder/pull/81) ([knnniggett](https://github.com/knnniggett)) -- Suppresses erroneous Corrupt Jpeg messages sent from the jpeg library [\#80](https://github.com/ZoneMinder/ZoneMinder/pull/80) ([knnniggett](https://github.com/knnniggett)) -- Added frameserver patch from Zoneminder Wiki [\#79](https://github.com/ZoneMinder/ZoneMinder/pull/79) ([knnniggett](https://github.com/knnniggett)) -- Don't check for gnutls-openssl on systems with older gnutls [\#78](https://github.com/ZoneMinder/ZoneMinder/pull/78) ([knnniggett](https://github.com/knnniggett)) -- Change default dB Engine from MyISAM to InnoDB [\#77](https://github.com/ZoneMinder/ZoneMinder/pull/77) ([knnniggett](https://github.com/knnniggett)) -- Added build notes for CentOS & RHEL [\#76](https://github.com/ZoneMinder/ZoneMinder/pull/76) ([knnniggett](https://github.com/knnniggett)) - ## [v1.26-beta.2](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26-beta.2) (2013-08-15) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.26-beta.1...v1.26-beta.2) -**Implemented enhancements:** - -- Updated Hungarian translation [\#35](https://github.com/ZoneMinder/ZoneMinder/issues/35) - -**Fixed bugs:** - -- 1.26 Beta does not install SkyIPCam7xx.pm Control Script [\#38](https://github.com/ZoneMinder/ZoneMinder/issues/38) - -**Closed issues:** - -- Store video in a \*video\* format [\#40](https://github.com/ZoneMinder/ZoneMinder/issues/40) - -**Merged pull requests:** - -- Update hu\_hu.php [\#37](https://github.com/ZoneMinder/ZoneMinder/pull/37) ([nagyrobi](https://github.com/nagyrobi)) - ## [v1.26-beta.1](https://github.com/ZoneMinder/ZoneMinder/tree/v1.26-beta.1) (2013-08-13) [Full Changelog](https://github.com/ZoneMinder/ZoneMinder/compare/v1.25...v1.26-beta.1) -**Implemented enhancements:** - -- Scripts should only be loaded on the pages they're needed [\#15](https://github.com/ZoneMinder/ZoneMinder/issues/15) - -**Fixed bugs:** - -- Control Types always none using source Ffmpeg [\#16](https://github.com/ZoneMinder/ZoneMinder/issues/16) -- No PTZ control option when adding a new monitor [\#4](https://github.com/ZoneMinder/ZoneMinder/issues/4) -- Monitors/index.ctp Undefined offset error [\#1](https://github.com/ZoneMinder/ZoneMinder/issues/1) - -**Closed issues:** - -- Please Add my code for 0-23Hour 0n/off Zone Operation [\#24](https://github.com/ZoneMinder/ZoneMinder/issues/24) - ## [v1.25](https://github.com/ZoneMinder/ZoneMinder/tree/v1.25) (2013-04-12) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8955325e6..b66c13e1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ # cmake_minimum_required (VERSION 2.6) project (zoneminder) -set(zoneminder_VERSION "1.28.109") +set(zoneminder_VERSION "1.29.0") # Engine version is used for external plugin compilation set(ZM_ENGINE_VERSION 29) # make API version a minor of ZM version @@ -143,9 +143,9 @@ set(ZM_NO_CURL "OFF" CACHE BOOL "Set to ON to skip cURL checks and force building ZM without cURL. default: OFF") set(ZM_NO_X10 "OFF" CACHE BOOL "Set to ON to build ZoneMinder without X10 support. default: OFF") -set(ZM_ONVIF "OFF" CACHE BOOL +set(ZM_ONVIF "ON" CACHE BOOL "Set to ON to enable basic ONVIF support. This is EXPERIMENTAL and may not - work with all cameras claiming to be ONVIF compliant. default: OFF") + work with all cameras claiming to be ONVIF compliant. default: ON") set(ZM_PERL_MM_PARMS INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 CACHE STRING "By default, ZoneMinder's Perl modules are installed into the Vendor folders, as defined by your installation of Perl. You can change that here. Consult Perl's @@ -213,6 +213,17 @@ 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") + 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 @@ -236,7 +247,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) diff --git a/Dockerfile b/Dockerfile index 382330a09..26df17d2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # ZoneMinder -FROM ubuntu:precise +FROM ubuntu:trusty MAINTAINER Kyle Johnson # Let the container know that there is no tty @@ -10,10 +10,10 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y \ libpolkit-gobject-1-dev 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 \ + libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm cmake libjpeg-turbo8-dev \ libjpeg-turbo8 libtheora-dev libvorbis-dev libvpx-dev libx264-dev libmp4v2-dev libav-tools mysql-client \ apache2 php5 php5-mysql apache2-mpm-prefork libapache2-mod-php5 php5-cli openssh-server \ - mysql-server libvlc-dev libvlc5 libvlccore-dev libvlccore5 vlc-data libcurl4-openssl-dev \ + mysql-server libvlc-dev libvlc5 libvlccore-dev libvlccore7 vlc-data libcurl4-openssl-dev \ libavformat-dev libswscale-dev libavutil-dev libavcodec-dev libavfilter-dev \ libavresample-dev libavdevice-dev libpostproc-dev libv4l-dev libtool libnetpbm10-dev \ libmime-lite-perl dh-autoreconf dpatch @@ -25,10 +25,11 @@ ADD . /ZoneMinder WORKDIR /ZoneMinder # Setup the ZoneMinder build environment -RUN aclocal && autoheader && automake --force-missing --add-missing && autoconf +#RUN aclocal && autoheader && automake --force-missing --add-missing && autoconf # Configure ZoneMinder -RUN ./configure --with-libarch=lib/$DEB_HOST_GNU_TYPE --disable-debug --host=$DEB_HOST_GNU_TYPE --build=$DEB_BUILD_GNU_TYPE --with-mysql=/usr --with-webdir=/var/www/zm --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-mmap=yes ZM_SSL_LIB=openssl ZM_DB_USER=zm ZM_DB_PASS=zm +#RUN ./configure --with-libarch=lib/$DEB_HOST_GNU_TYPE --disable-debug --host=$DEB_HOST_GNU_TYPE --build=$DEB_BUILD_GNU_TYPE --with-mysql=/usr --with-webdir=/var/www/zm --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-mmap=yes --enable-onvif ZM_SSL_LIB=openssl ZM_DB_USER=zm ZM_DB_PASS=zm +RUN cmake . # Build ZoneMinder RUN make @@ -36,6 +37,9 @@ RUN make # Install ZoneMinder RUN make install +# ensure writable folders +RUN ./zmlinkcontent.sh + # Adding the start script ADD utils/docker/start.sh /tmp/start.sh @@ -43,15 +47,23 @@ ADD utils/docker/start.sh /tmp/start.sh # TODO - Files ADD'ed have 755 already...why do we need this? RUN chmod 755 /tmp/start.sh -# Creating SSH privledge escalation dir +# give files in /usr/local/share/zoneminder/ +RUN chown -R www-data:www-data /usr/local/share/zoneminder/ + +# Creating SSH privilege escalation dir RUN mkdir /var/run/sshd # Adding apache virtual hosts file -ADD utils/docker/apache-vhost /etc/apache2/sites-enabled/000-default +ADD utils/docker/apache-vhost /etc/apache2/sites-available/000-default.conf +ADD utils/docker/phpdate.ini /etc/php5/apache2/conf.d/25-phpdate.ini # Set the root passwd RUN echo 'root:root' | chpasswd +# Add a user we can actually login with +RUN useradd -m -s /bin/bash -G sudo zoneminder +RUN echo 'zoneminder:zoneminder' | chpasswd + # Expose ssh and http ports EXPOSE 80 EXPOSE 22 diff --git a/INSTALL b/INSTALL index 35deec3c4..bcb7f78df 100644 --- a/INSTALL +++ b/INSTALL @@ -18,7 +18,7 @@ Important differences --------------------- * Unlike the autotools way, the cmake way does not require any options. It attempts to detect some things by its own (system directories, libarch, web user and group) and uses defaults for others (installation paths and such). * Unlike the autotools way, which links the binaries to a fixed list of libraries, the cmake way only links to libraries that it found on the system. If a library is not found, but required, a fatal error will be shown during the configuration step. -* Unlike the autotools way, the cmake way does not modify the system in any way it shouldnt. It only does what its supposed to do: Install files to your system. Nothing else and nothing leaks out of the DESTDIR environment variable (if used). This means that depending on your configuration, there might be an extra required step after installation: to link WEB_PATH/events and WEB_PATH/images folders to the correct places. +* Unlike the autotools way, the cmake way does not modify the system in any way it shouldn't. It only does what its supposed to do: Install files to your system. Nothing else and nothing leaks out of the DESTDIR environment variable (if used). This means that depending on your configuration, there might be an extra required step after installation: to link WEB_PATH/events and WEB_PATH/images folders to the correct places. Configuration ------------- diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 135addb35..000000000 --- a/Makefile.am +++ /dev/null @@ -1,47 +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 - -if ZM_PLUGIN_COMPIL - MAYBE_PLUGINS = plugins -endif - -SUBDIRS = \ - src \ - web \ - scripts \ - db \ - misc \ - $(MAYBE_ONVIF) \ - $(MAYBE_PLUGINS) - -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 ) - ( cp config.h $(DESTDIR)$(pkgincludedir) ) - -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 ) - @-( cd $(DESTDIR)$(pkgincludedir); rm -rf config.h ) diff --git a/README.md b/README.md index 4aa63b1a6..42a570cc1 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ZoneMinder [![Build Status](https://travis-ci.org/ZoneMinder/ZoneMinder.png)](https://travis-ci.org/ZoneMinder/ZoneMinder) [![Bountysource](https://api.bountysource.com/badge/team?team_id=204&style=bounties_received)](https://www.bountysource.com/teams/zoneminder/issues?utm_source=ZoneMinder&utm_medium=shield&utm_campaign=bounties_received) -All documentation for ZoneMinder is now online at http://www.zoneminder.com/wiki/index.php/Documentation +All documentation for ZoneMinder is now online at https://zoneminder.readthedocs.org ## Overview @@ -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 developement. - -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 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 2e7e792ff..000000000 --- a/bootstrap.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -libtoolize -aclocal -I m4 -autoheader -automake --add-missing -autoconf diff --git a/configure.ac b/configure.ac deleted file mode 100755 index 38d322c9b..000000000 --- a/configure.ac +++ /dev/null @@ -1,684 +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.28.109,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html) -AC_CONFIG_AUX_DIR([.]) -AM_INIT_AUTOMAKE -LT_PREREQ([2.4.2]) -LT_INIT([dlopen]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR(src/zm.h) -AC_CONFIG_HEADERS(config.h) -AC_CONFIG_MACRO_DIR([m4]) - -ZM_ENGINE_VERSION=29 -AC_SUBST(ZM_ENGINE_VERSION) - -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) - -ENABLE_PLUGIN_SUPPORT=no -ENABLE_PLUGIN_COMPIL=no -AC_ARG_ENABLE([plugin-support], - [ --enable-plugin-support= enable or disable plugin support, default disabled], - [ENABLE_PLUGIN_SUPPORT=$enable_plugin_support], - [AC_MSG_WARN([You can call configure with the --enable-plugin-support= - or --disable-plugin-support option. - This tells configure whether to compile ZoneMinder with plugin support. - e.g. --enable-plugin-support=yes or --disable-plugin-support])] -) - -if test "$ENABLE_PLUGIN_SUPPORT" == "yes"; then - if test "$enable_shared" = "no"; then - AC_MSG_ERROR([Plugin support is enabled and shared library are disabled. - If you really want plugin support you must not call configure with - --enable-shared=no or --disabled-shared]) - fi - AC_ARG_ENABLE([plugin-compilation], - [ --enable-plugin-compilation= enable or disable plugin compilation, default disabled], - [ENABLE_PLUGIN_COMPIL=$enable_plugin_compilation], - [AC_MSG_WARN([You can call configure with the --enable-plugin-compilation= - or --disable-plugin-compilation option. - This tells configure whether to compile provided plugins. - e.g. --enable-plugin-compilation=yes or --disable-plugin-compilation])] - ) - ZM_PREFIX="${prefix}" - AC_SUBST(ZM_PREFIX) - ZM_PLUGINSLIBDIR="${libdir}" - AC_SUBST(ZM_PLUGINSLIBDIR) - AC_ARG_WITH(pluginsdir, - [ --with-pluginsdir= plugins directory (requires --enable-plugin-support=yes)], - [ZM_PLUGINSPKGLIBDIR=$with_pluginsdir], - AC_MSG_ERROR([Plugin support is enabled. - You must call configure with the --with-pluginsdir options. - This tells configure where to install plugin library files. - e.g. --with-pluginsdir=/usr/lib/zoneminder/plugins]) - ) - AC_SUBST(ZM_PLUGINSPKGLIBDIR) - ZM_PLUGINSCONFDIR="${sysconfdir}/plugins.d" - AC_ARG_WITH(pluginsconfdir, - [ --with-pluginsconfdir= directory of plugin configuration files (requires --enable-plugin-support=yes)], - [ZM_PLUGINSCONFDIR=$with_pluginsconfdir], - AC_MSG_WARN([You can call configure with the --with-pluginsconfdir options. - This tells configure where to install the plugin configuration files. - The default is "${PLUGINSCONFDIR}". - e.g. --with-pluginsconfdir=/etc/zm/plugins.d]) - ) - AC_SUBST(ZM_PLUGINSCONFDIR) - ZM_PLUGINSWEBDIR="$WEB_PREFIX/plugins" - AC_SUBST(ZM_PLUGINSWEBDIR) - ZM_PROJECTNAME="${PACKAGE}" - AC_SUBST(ZM_PROJECTNAME) - ZM_PLUGINSEXT=".so" - AC_SUBST(ZM_PLUGINSEXT) - AC_DEFINE_UNQUOTED(DEFAULT_PLUGIN_EXT,"${ZM_PLUGINSEXT}",[File extension to detect plugins]) - AC_DEFINE(ZM_PLUGINS_ON,1,"Whether plugin support is switched on and compiled") -fi -AM_CONDITIONAL([ZM_PLUGIN_SUPPORT], [test "x$ENABLE_PLUGIN_SUPPORT" = xyes]) -AM_CONDITIONAL([ZM_PLUGIN_COMPIL], [test "x$ENABLE_PLUGIN_COMPIL" = xyes]) - -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)) -AC_CHECK_LIB([dl], - [dlsym], - [AC_SUBST([DL_LIBS],["-ldl"])AC_DEFINE([HAVE_LIBDL],[1],[Define to 1 if you have the 'dl' library (-ldl).])], - [AC_MSG_ERROR(zm requires libdl.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_SUBST([CRYPTO_LIBS],["-lcrypto"])AC_DEFINE([HAVE_LIBCRYPTO],[1],[Define to 1 if you have the 'crypto' library (-lcrypto).])], - [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_SUBST([GCRYPT_LIBS],["-lgcrypt"])AC_DEFINE([HAVE_LIBGCRYPT],[1],[Define to 1 if you have the 'gcrypt' library (-lgcrypt).])], - [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_SUBST([GNUTLS_LIBS],["-lgnutls"])AC_DEFINE([HAVE_LIBGNUTLS],[1],[Define to 1 if you have the 'gnutls' library (-lgnutls).])], - [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_SUBST([GNUTLS_OPENSSL_LIBS],["-lgnutls-openssl"])AC_DEFINE([HAVE_LIBGNUTLS_OPENSSL],[1],[Define to 1 if you have the 'gnutls-openssl' library (-lgnutls-openssl).])], - [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_SUBST([PCRE_LIBS],["-lpcre"])AC_DEFINE([HAVE_LIBPCRE],[1],[Define to 1 if you have the 'pcre' library (-lpcre).])], - [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_SUBST([X264_LIBS],["-lx264"])AC_DEFINE([HAVE_LIBX264],[1],[Define to 1 if you have the 'x264' library (-lx264).])], -) -AC_CHECK_LIB([avutil], - [av_malloc], - [AC_SUBST([AVUTIL_LIBS],["-lavutil"])AC_DEFINE([HAVE_LIBAVUTIL],[1],[Define to 1 if you have the 'avutil' library (-lavutil).])], - [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_SUBST([AVCORE_LIBS],["-lavcore"])AC_DEFINE([HAVE_LIBAVCORE],[1],[Define to 1 if you have the 'avcore' library (-lavcore).])] -) -AC_CHECK_LIB([avcodec], - [avcodec_version], - [AC_SUBST([AVCODEC_LIBS],["-lavcodec"])AC_DEFINE([HAVE_LIBAVCODEC],[1],[Define to 1 if you have the 'avcodec' library (-lavcodec).])], - [AC_MSG_WARN([libavcodec.a is required for MPEG streaming])] -) -AC_CHECK_LIB([avformat], - [avformat_version], - [AC_SUBST([AVFORMAT_LIBS],["-lavformat"])AC_DEFINE([HAVE_LIBAVFORMAT],[1],[Define to 1 if you have the 'avformat' library (-lavformat).])], - [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_SUBST([AVDEVICE_LIBS],["-lavdevice"])AC_DEFINE([HAVE_LIBAVDEVICE],[1],[Define to 1 if you have the 'avdevice' library (-lavdevice).])], - [AC_MSG_WARN([libavdevice.a may be required for MPEG streaming])] -) -AC_CHECK_LIB([swscale], - [sws_scale], - [AC_SUBST([SWSCALE_LIBS],["-lswscale"])AC_DEFINE([HAVE_LIBSWSCALE],[1],[Define to 1 if you have the 'swscale' library (-lswscale).])] -) -AC_CHECK_LIB([vlc], - [libvlc_new], - [AC_SUBST([VLC_LIBS],["-lvlc"])AC_DEFINE([HAVE_LIBVLC],[1],[Define to 1 if you have the 'vlc' library (-lvlc).])], - [AC_MSG_WARN([libvlc.a may be required for streaming])] -) -AC_CHECK_LIB([bz2], - [BZ2_bzCompress], - [AC_SUBST([BZ2_LIBS],["-lbz2"])AC_DEFINE([HAVE_LIBBZ2],[1],[Define to 1 if you have the 'bz2' library (-lbz2).])], - [AC_MSG_WARN([zm requires libbz2.a for recent versions of ffmpeg])] -) -AC_CHECK_LIB(z,compress,,) -AC_CHECK_LIB([curl], - [curl_global_init], - [AC_SUBST([CURL_LIBS],["-lcurl"])AC_DEFINE([HAVE_LIBCURL],[1],[Define to 1 if you have the 'curl' library (-lcurl).])] -) - -if test "$ENABLE_PLUGIN_COMPIL" == "yes"; then - AC_CHECK_LIB([boost_program_options], - [main], - [AC_SUBST([BOOST_PROGRAM_OPTION_LIBS],["-lboost_program_options"])AC_DEFINE([HAVE_BOOST_PROGRAM_OPTION],[1],[Define to 1 if you have the 'boost_program_options' library (-lboost_program_options).])], - [AC_MSG_ERROR([libboost_program_options is required for plugin compilation])] - ) - AC_CHECK_LIB([opencv_core], - [main], - [AC_SUBST([OPENCV_CORE_LIBS],["-lopencv_core"])AC_DEFINE([HAVE_LIBOPENCV_CORE],[1],[Define to 1 if you have the 'opencv_core' library (-lopencv_core).])], - [AC_MSG_ERROR([libopencv_core is required for plugin compilation])] - ) - AC_CHECK_LIB([opencv_imgproc], - [main], - [AC_SUBST([OPENCV_IMGPROC_LIBS],["-lopencv_imgproc"])AC_DEFINE([HAVE_LIBOPENCV_IMGPROC],[1],[Define to 1 if you have the 'opencv_imgproc' library (-lopencv_imgproc).])], - [AC_MSG_ERROR([libopencv_imgproc is required for plugin compilation])] - ) - AC_CHECK_LIB([opencv_highgui], - [main], - [AC_SUBST([OPENCV_HIGHGUI_LIBS],["-lopencv_highgui"])AC_DEFINE([HAVE_LIBOPENCV_HIGHGUI],[1],[Define to 1 if you have the 'opencv_highgui' library (-lopencv_highgui).])], - [AC_MSG_ERROR([libopencv_highgui is required for plugin compilation])] - ) - AC_CHECK_LIB([opencv_objdetect], - [main], - [AC_SUBST([OPENCV_OBJDETECT_LIBS],["-lopencv_objdetect"])AC_DEFINE([HAVE_LIBOPENCV_OBJDETECT],[1],[Define to 1 if you have the 'opencv_objdetect' library (-lopencv_objdetect).])], - [AC_MSG_ERROR([libopencv_objdetect is required for plugin compilation])] - ) - PKG_CHECK_MODULES([OPENCV], - [opencv >= 2.3.1], - , - [AC_MSG_ERROR([${OPENCV_PKG_ERRORS}])] - ) - AC_CHECK_LIB([openalpr], - [main], - [AC_SUBST([OPENALPR_LIBS],["-lopenalpr"])AC_DEFINE([HAVE_LIBOPENALPR],[1],[Define to 1 if you have the 'openalpr' library (-lopenalpr).])], - [AC_MSG_ERROR([libopenalpr is required for plugin compilation])] - ) -fi - -# 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 "$ENABLE_PLUGIN_COMPIL" == "yes"; then - AC_CHECK_HEADERS(alpr.h,,AC_MSG_ERROR(plugins require openalpr headers - check that development package is installed),) - AC_CHECK_HEADERS(boost/algorithm/string.hpp,,AC_MSG_ERROR(plugins require boost string headers - check that development package is installed),) - AC_CHECK_HEADERS(boost/program_options.hpp,,AC_MSG_ERROR(plugins require boost program_options headers - check that development package is installed),) - AC_CHECK_HEADERS(opencv2/core/core.hpp,,AC_MSG_ERROR(plugins require opencv core headers - check that development package is installed),) - AC_CHECK_HEADERS(opencv2/imgproc/imgproc.hpp,,AC_MSG_ERROR(plugins require opencv imgproc headers - check that development package is installed),) - AC_CHECK_HEADERS(opencv2/highgui/highgui.hpp,,AC_MSG_ERROR(plugins require opencv highgui headers - check that development package is installed),) -fi - -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/libzoneminder.pc misc/logrotate.conf misc/syslog.conf misc/com.zoneminder.systemctl.policy misc/com.zoneminder.systemctl.rules misc/plugins.conf onvif/Makefile onvif/scripts/Makefile plugins/Makefile plugins/libzm_plugin_openalpr/Makefile plugins/libzm_plugin_openalpr/src/Makefile plugins/libzm_plugin_openalpr/data/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/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/db/zm_create.sql.in b/db/zm_create.sql.in index e9170585d..6a11aa5b2 100644 --- a/db/zm_create.sql.in +++ b/db/zm_create.sql.in @@ -269,7 +269,8 @@ DROP TABLE IF EXISTS `Logs`; CREATE TABLE `Logs` ( `TimeKey` decimal(16,6) NOT NULL, `Component` varchar(32) NOT NULL, - `Pid` smallint(6) DEFAULT NULL, + `ServerId` int(10) unsigned, + `Pid` int(10) DEFAULT NULL, `Level` tinyint(3) NOT NULL, `Code` char(3) NOT NULL, `Message` text NOT NULL, @@ -413,6 +414,7 @@ INSERT INTO States (Name,Definition,IsActive) VALUES ('default','','1'); DROP TABLE IF EXISTS `Servers`; CREATE TABLE `Servers` ( `Id` int(10) unsigned NOT NULL auto_increment, + `Hostname` TEXT, `Name` varchar(64) NOT NULL default '', `State_Id` int(10) unsigned, PRIMARY KEY (`Id`) @@ -608,8 +610,10 @@ INSERT INTO Controls VALUES (NULL,'ONVIF Camera','Ffmpeg','onvif',0,0,1,1,0,0,0, INSERT INTO `Controls` VALUES (NULL,'Foscam 9831W','Ffmpeg','FI9831W',0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,1,1,1,1,0,0,0,1,1,0,360,0,360,1,0,4,0,0,1,0,90,0,90,0,0,0,0,0,0,0); INSERT INTO `Controls` VALUES (NULL,'Foscam FI8918W','Ffmpeg','FI8918W',0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,1,1,1,0,0,0,1,1,0,360,0,360,1,0,4,0,0,1,0,90,0,90,1,0,4,0,0,0,0); INSERT INTO `Controls` VALUES (NULL,'SunEyes SP-P1802SWPTZ','Libvlc','SPP1802SWPTZ',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,1,1,0,0,0,0,1,1,0,0,0,0,1,0,64,0,0,1,0,0,0,0,1,0,64,0,0,0,0); - - +INSERT INTO `Controls` VALUES (NULL,'Wanscam HW0025','Libvlc','WanscamHW0025', 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 350, 0, 0, 1, 0, 10, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 0, 0, 0, 0); +INSERT INTO `Controls` VALUES (NULL,'IPCC 7210W','Libvlc','IPCC7210W', 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 350, 0, 0, 1, 0, 10, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 0, 0, 0, 0); +INSERT INTO `Controls` VALUES (NULL,'Vivotek ePTZ','Remote','Vivotek_ePTZ',0,0,1,1,0,0,0,1,0,0,0,0,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,5,0,0,1,0,0,0,0,1,0,5,0,0,0,0); +INSERT INTO `Controls` VALUES (NULL,'Netcat ONVIF','Ffmpeg','Netcat',0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,100,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,100,5,5,0,0,0,1,255,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0); -- -- Add some monitor preset values diff --git a/db/zm_update-1.28.109.sql b/db/zm_update-1.28.109.sql index be6dca9f1..dfbacdf5b 100644 --- a/db/zm_update-1.28.109.sql +++ b/db/zm_update-1.28.109.sql @@ -1,5 +1,5 @@ -- --- This updates a 1.28.106 database to 1.28.107 +-- This updates a 1.28.108 database to 1.28.109 -- -- diff --git a/db/zm_update-1.28.110.sql b/db/zm_update-1.28.110.sql new file mode 100644 index 000000000..7a573bbf3 --- /dev/null +++ b/db/zm_update-1.28.110.sql @@ -0,0 +1,21 @@ +-- +-- This updates a 1.28.109 database to 1.28.110 +-- + +-- +-- Update Frame table to have a PrimaryKey of ID, insetad of a Composite Primary Key +-- Used primarially for compatibility with CakePHP +-- +SET @s = (SELECT IF( + (SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'Logs' + AND table_schema = DATABASE() + AND column_name = 'ServerId' + ) > 0, +"SELECT 'Column ServerId already exists in Logs'", +"ALTER TABLE `Logs` ADD COLUMN `ServerId` int(10) unsigned AFTER Component" +)); + +PREPARE stmt FROM @s; +EXECUTE stmt; diff --git a/db/zm_update-1.29.0.sql b/db/zm_update-1.29.0.sql new file mode 100644 index 000000000..5d17651a3 --- /dev/null +++ b/db/zm_update-1.29.0.sql @@ -0,0 +1,5 @@ +-- +-- This updates a 1.28.110 database to 1.29.0 +-- +-- No changes required +-- diff --git a/db/zm_update-1.29.1.sql b/db/zm_update-1.29.1.sql new file mode 100644 index 000000000..8fd43c318 --- /dev/null +++ b/db/zm_update-1.29.1.sql @@ -0,0 +1,7 @@ +-- +-- This updates a 1.29.0 database to 1.29.1 +-- +-- + +-- Increase the size of the Pid field for FreeBSD +ALTER TABLE Logs MODIFY Pid int(10); diff --git a/distros/debian/control b/distros/debian/control index d9564d6f9..dd3b93564 100644 --- a/distros/debian/control +++ b/distros/debian/control @@ -2,12 +2,42 @@ 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 + , 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 diff --git a/distros/debian8/control b/distros/debian8/control index 4a9a11586..cb6425aaa 100644 --- a/distros/debian8/control +++ b/distros/debian8/control @@ -69,9 +69,11 @@ 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. . @@ -111,25 +113,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: libzoneminder-plugin-openalpr Section: libs Architecture: any 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/debian_cmake/changelog b/distros/debian_cmake/changelog index 0edaefce7..46f1e2bd9 100644 --- a/distros/debian_cmake/changelog +++ b/distros/debian_cmake/changelog @@ -1,3 +1,21 @@ +zoneminder (1.28.108-nmu2015100101) wheezy; urgency=low + + * + + -- Isaac Connor Thu, 01 Oct 2015 18:20:29 +0000 + +zoneminder (1.28.107-nmu2015092401) wheezy; urgency=low + + * + + -- Isaac Connor Thu, 24 Sep 2015 14:15:46 +0000 + +zoneminder (1.28.1+106-nmu2015091001) wheezy; urgency=low + + * + + -- Isaac Connor Thu, 10 Sep 2015 18:03:43 +0000 + zoneminder (1.28.0-0.1) wheezy; urgency=low * Use CMake instead of Autotools to simplify diff --git a/distros/debian_cmake/control b/distros/debian_cmake/control index 148864848..ecb06495b 100644 --- a/distros/debian_cmake/control +++ b/distros/debian_cmake/control @@ -2,12 +2,43 @@ Source: zoneminder Section: net Priority: optional Maintainer: Isaac Connor -Build-Depends: debhelper (>= 9), cmake, 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, 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 | libgcrypt20-dev, libpolkit-gobject-1-dev +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 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 | libjpeg9 | libjpeg62-turbo, 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 + , 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 diff --git a/distros/debian_cmake/zoneminder.install b/distros/debian_cmake/zoneminder.install index 1bd76421f..97c5f7a03 100644 --- a/distros/debian_cmake/zoneminder.install +++ b/distros/debian_cmake/zoneminder.install @@ -3,5 +3,6 @@ usr/lib/zoneminder/cgi-bin usr/share/man usr/share/perl5/ZoneMinder usr/share/perl5/ZoneMinder.pm -usr/share/zoneminder +usr/share/zoneminder/db +usr/share/zoneminder/www etc/zm diff --git a/distros/fedora/CMakeLists.txt b/distros/fedora/CMakeLists.txt index f49d451f1..e6fc72add 100644 --- a/distros/fedora/CMakeLists.txt +++ b/distros/fedora/CMakeLists.txt @@ -10,7 +10,7 @@ configure_file(zoneminder.tmpfiles.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.tmp configure_file(zoneminder.logrotate.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.logrotate @ONLY) # Download jscalendar & move files into position -file(DOWNLOAD http://downloads.sourceforge.net/jscalendar/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc) +file(DOWNLOAD http://iweb.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc) if(download_jsc EQUAL 0) message(STATUS "Jscalander successfully downloaded. Installing...") execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ERROR_VARIABLE unzip_jsc) @@ -39,7 +39,7 @@ install(CODE "execute_process(COMMAND ln -sf ../../../../../../var/lib/zoneminde # Fedora requires cambozola as a separate package so just link to it install(CODE "execute_process(COMMAND ln -sf ../../java/cambozola.jar \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/cambozola.jar\")") -# Install auxillary files required to run zoneminder on Fedora +# Install auxiliary files required to run zoneminder on Fedora install(FILES zoneminder.conf DESTINATION /etc/httpd/conf.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) install(FILES zoneminder.logrotate DESTINATION /etc/logrotate.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) install(FILES ../../misc/zoneminder-tmpfiles.conf DESTINATION /etc/tmpfiles.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) diff --git a/distros/fedora/README.Fedora b/distros/fedora/README.Fedora index 85088d868..74386c9df 100644 --- a/distros/fedora/README.Fedora +++ b/distros/fedora/README.Fedora @@ -5,27 +5,19 @@ What's New "/cgi-bin-zm/zms". This has been to done to avoid this bug: https://bugzilla.redhat.com/show_bug.cgi?id=973067 - IMPORTANT: ZoneMinder will not update this value during an upgrade. You must - manually update ZM_PATH_ZMS yourself under Options. This does not affect - new installs. + IMPORTANT: You must manually inspect the value for PATH_ZMS under Options + and verify it is set to "/cgi-bin-zm/nph-zms". Failure to do so will result + in a broken system. You have been warned. -2. The ZoneMinder config file, zm.conf, has been moved under /etc/zm. - -3. Due to the active state of the ZoneMinder project, we now recommend granting +2. Due to the active state of the ZoneMinder project, we now recommend granting ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -4. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -5. This package now requires the HTTPS protocol to access the web portal. +3. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. -6. This package ships with the new ZoneMinder API enabled. +4. This package ships with the new ZoneMinder API enabled. New installs ============ @@ -44,15 +36,13 @@ New installs set during the previous step, you will need to create the ZoneMinder database and configure a database account for ZoneMinder to use: - mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql - mysql -u root -p - mysql> grant all - on zm.* to 'zmuser'@localhost identified by 'zmpass'; - mysql> exit; - mysqladmin -u root -p reload + mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql + mysql -uroot -p -e "grant all on zm.* to \ + 'zmuser'@localhost identified by 'zmpass';" + mysqladmin -uroot -p reload The database account credentials, zmuser/zmpass, are arbitrary. Set them to - anything that suits your envinroment. + anything that suits your environment. 3. If you have chosen to change the zoneminder database account credentials to something other than zmuser/zmpass, you must now edit /etc/zm/zm.conf. @@ -88,13 +78,22 @@ New installs SELINUX line from "enforcing" to "disabled". This change will take effect after a reboot. +6. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: -6. Now start the web server: + sudo yum install mod_ssl + + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. + +7. Now start the web server: sudo systemctl enable httpd sudo systemctl start httpd -7. Now start zoneminder: +8. Now start zoneminder: sudo systemctl enable zoneminder sudo systemctl start zoneminder @@ -125,9 +124,7 @@ Upgrades have increased. Verify the zmuser database account has been granted all permission to the ZoneMinder database: - mysql -u root -p - mysql> show grants for zmuser@localhost; - mysql> exit; + mysql -uroot -p -e "show grants for zmuser@localhost;" See step 2 of the Installation section to add missing permissions. @@ -135,6 +132,7 @@ Upgrades /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/fedora/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/zonemidner.f22.spec b/distros/fedora/zonemidner.f22.spec new file mode 120000 index 000000000..808e7cb9f --- /dev/null +++ b/distros/fedora/zonemidner.f22.spec @@ -0,0 +1 @@ +zoneminder.f23.spec \ No newline at end of file diff --git a/distros/fedora/zoneminder.f22.spec b/distros/fedora/zoneminder.f22.spec index 8e98f3693..40343090f 100644 --- a/distros/fedora/zoneminder.f22.spec +++ b/distros/fedora/zoneminder.f22.spec @@ -10,7 +10,7 @@ %define _without_x10 1 Name: zoneminder -Version: 1.28.1 +Version: 1.29.0 Release: 1%{?dist} Summary: A camera monitoring and analysis tool Group: System Environment/Daemons @@ -65,7 +65,7 @@ too much degradation of performance. %setup -q -n ZoneMinder-%{version} # Change the following default values -./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin/zm/nph-zms +./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin-zm/nph-zms ./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes ./utils/zmeditconfigdata.sh ZM_PATH_SWAP /dev/shm ./utils/zmeditconfigdata.sh ZM_UPLOAD_FTP_LOC_DIR /var/spool/zoneminder-upload @@ -138,7 +138,7 @@ fi %files %defattr(-,root,root,-) -%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/jscalendar-doc +%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/README.https distros/fedora/jscalendar-doc %config %attr(640,root,%{zmgid_final}) /etc/zm/zm.conf %config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf %config(noreplace) /etc/tmpfiles.d/zoneminder.conf @@ -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 da19c80ee..1f44e5671 100644 --- a/distros/fedora/zoneminder.f23.spec +++ b/distros/fedora/zoneminder.f23.spec @@ -10,7 +10,7 @@ %define _without_x10 1 Name: zoneminder -Version: 1.29.0 +Version: 1.30.0 Release: 1%{?dist} Summary: A camera monitoring and analysis tool Group: System Environment/Daemons @@ -38,7 +38,7 @@ BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel libv4l-devel BuildRequires: httpd polkit-devel %{!?_without_ffmpeg:BuildRequires: ffmpeg} -Requires: httpd php php-gd php-mysql cambozola polkit net-tools psmisc mod_ssl +Requires: httpd php php-gd php-mysql cambozola polkit net-tools psmisc Requires: libjpeg-turbo vlc-core libcurl Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip) @@ -65,13 +65,14 @@ too much degradation of performance. %setup -q -n ZoneMinder-%{version} # Change the following default values -./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin/zm/nph-zms +./utils/zmeditconfigdata.sh ZM_PATH_ZMS /cgi-bin-zm/nph-zms ./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes ./utils/zmeditconfigdata.sh ZM_PATH_SWAP /dev/shm ./utils/zmeditconfigdata.sh ZM_UPLOAD_FTP_LOC_DIR /var/spool/zoneminder-upload ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build %cmake \ @@ -87,6 +88,10 @@ export DESTDIR=%{buildroot} make install %post + +# Add any new PTZ control configurations to the database (will not overwrite) +%{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + if [ $1 -eq 1 ] ; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : @@ -98,8 +103,12 @@ fi # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -138,7 +147,7 @@ fi %files %defattr(-,root,root,-) -%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/jscalendar-doc +%doc AUTHORS COPYING README.md distros/fedora/README.Fedora distros/fedora/README.https distros/fedora/jscalendar-doc %config %attr(640,root,%{zmgid_final}) /etc/zm/zm.conf %config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf %config(noreplace) /etc/tmpfiles.d/zoneminder.conf @@ -154,7 +163,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu @@ -163,9 +171,14 @@ fi %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.pl %{!?_without_x10:%{_bindir}/zmx10.pl} +%{_bindir}/zmonvif-probe.pl %{perl_vendorlib}/ZoneMinder* +%{perl_vendorlib}/ONVIF* +%{perl_vendorlib}/WSDiscovery* +%{perl_vendorlib}/WSSecurity* %{_mandir}/man*/* %dir %{_libexecdir}/zoneminder %{_libexecdir}/zoneminder/cgi-bin @@ -188,6 +201,9 @@ fi %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Sat Nov 21 2015 Andrew Bauer - 1.29.0 - Bump version for 1.29.0 release on Fedora 23. diff --git a/distros/opensuse/CMakeLists.txt b/distros/opensuse/CMakeLists.txt index d468c7287..10654f26d 100644 --- a/distros/opensuse/CMakeLists.txt +++ b/distros/opensuse/CMakeLists.txt @@ -38,7 +38,7 @@ install(CODE "execute_process(COMMAND ln -sf ../../../../${zm_webdir}/temp \"\$E # Opensuse cambazola? requires cambozola as a separate package so just link to it #install(CODE "execute_process(COMMAND ln -sf ../../java/cambozola.jar \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/cambozola.jar\")") -# Install auxillary files required to run zoneminder on OpenSuse +# Install auxiliary files required to run zoneminder on OpenSuse install(FILES zoneminder.conf DESTINATION /etc/apache2/conf.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) install(FILES zoneminder.logrotate DESTINATION /etc/logrotate.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) install(FILES zoneminder.tmpfiles DESTINATION /etc/tmpfiles.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) diff --git a/distros/opensuse/README.OpenSuse b/distros/opensuse/README.OpenSuse index 823ccd442..27103d960 100644 --- a/distros/opensuse/README.OpenSuse +++ b/distros/opensuse/README.OpenSuse @@ -138,7 +138,7 @@ Upgrades has select, insert, update, and delete permission. 3. You will need to upgrade the ZoneMinder database as described in the - manual. Only if the previous step was succesful, may you run zmupdate like + manual. Only if the previous step was successful, may you run zmupdate like so (as root): /opt/zoneminder/bin/zmupdate.pl diff --git a/distros/redhat/CMakeLists.txt b/distros/redhat/CMakeLists.txt index 74aa5641f..5de834109 100644 --- a/distros/redhat/CMakeLists.txt +++ b/distros/redhat/CMakeLists.txt @@ -16,7 +16,7 @@ else(ZM_TARGET_DISTRO STREQUAL "el7") endif(ZM_TARGET_DISTRO STREQUAL "el7") # Download jscalendar & move files into position -file(DOWNLOAD http://skylineservers.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip LOG jsc_log STATUS download_jsc) +file(DOWNLOAD http://iweb.dl.sourceforge.net/project/jscalendar/jscalendar/1.0/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip LOG jsc_log STATUS download_jsc) #message(STATUS "Log of jscalender script was: ${jsc_log}") if(download_jsc EQUAL 0) message(STATUS "Jscalander successfully downloaded. Installing...") @@ -57,7 +57,7 @@ install(CODE "execute_process(COMMAND ln -sf ../../../../../../var/lib/zoneminde # Link to Cambozola, which is now packaged in zmrepo install(CODE "execute_process(COMMAND ln -sf ../../java/cambozola.jar \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/cambozola.jar\")") -# Install auxillary files required to run zoneminder on CentOS +# Install auxiliary files required to run zoneminder on CentOS install(FILES redalert.wav DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/sounds PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) if(ZM_TARGET_DISTRO STREQUAL "el7") install(FILES zoneminder.el7.conf DESTINATION /etc/httpd/conf.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) diff --git a/distros/redhat/README.CentOS b/distros/redhat/README.CentOS index e6e53bbc6..2cdaea68e 100644 --- a/distros/redhat/README.CentOS +++ b/distros/redhat/README.CentOS @@ -5,16 +5,14 @@ What's New ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -2. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -3. This package now requires the HTTPS protocol to access the web portal. +2. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. +3. The php package that ships with CentOS 6 does not support the new ZoneMinder + API. If you require API functionality (such as using a mobile app) then you + should consider an upgrade to CentOS 7 or use Fedora. + New installs ============ @@ -30,20 +28,17 @@ New installs will need to create the ZoneMinder database and configure a database account for ZoneMinder to use: - mysql -uroot -p - mysql> create database zm; - mysql> grant all - on zm.* to 'zmuser'@localhost identified by 'zmpass'; - mysql> exit; mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql + mysql -uroot -p -e "grant all on zm.* to \ + 'zmuser'@localhost identified by 'zmpass';" mysqladmin -uroot -p reload The database account credentials, zmuser/zmpass, are arbitrary. Set them to - anything that suits your envinroment. + anything that suits your environment. 3. If you have chosen to change the zoneminder mysql credentials to something other than zmuser/zmpass then you must now edit /etc/zm.conf. Change - ZM_DB_USER and ZM_DB_PASS to the values you created in step 2. + ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. Additionally, you must also edit /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. @@ -58,11 +53,15 @@ New installs If you are not sure of the proper timezone specification to use, look at http://php.net/date.timezone -5. Verify the default ZoneMinder Apache configuration meets your needs: +5. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: - /etc/httpd/conf.d/zoneminder.conf + sudo yum install mod_ssl - When in doubt, leave this configuration as it is. + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. 6. Configure the web server to start automatically: @@ -117,9 +116,7 @@ New installs have increased. Verify the zmuser database account has been granted all permission to the ZoneMinder database: - mysql -u root -p - mysql> show grants for zmuser@localhost; - mysql> exit; + mysql -uroot -p -e "show grants for zmuser@localhost;" See step 2 of the Installation section to add missing permissions. @@ -127,6 +124,7 @@ New installs /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/redhat/README.Centos7 b/distros/redhat/README.Centos7 index 451f4290b..47ec542ac 100644 --- a/distros/redhat/README.Centos7 +++ b/distros/redhat/README.Centos7 @@ -1,17 +1,19 @@ What's New ========== -1. Due to the active state of the ZoneMinder project, we now recommend granting +1. The Apache ScriptAlias has been changed from "/cgi-bin/zm/zms" to + "/cgi-bin-zm/zms". This has been to done to avoid this bug: + https://bugzilla.redhat.com/show_bug.cgi?id=973067 + + IMPORTANT: You must manually verify the value of PATH_ZMS under Options. + Make sure it is set to "/cgi-bin-zm/nph-zms". Failure to do so will result + in a broken system. You have been warned. + +2. Due to the active state of the ZoneMinder project, we now recommend granting ALL permission to the ZoneMinder mysql account. This change must be done manually before ZoneMinder will run. See the installation steps below. -2. A new permission group called "Groups" has been added. This allows the - system administrator to assign "view", "edit", or "none" permission to - normal users, without giving them access to the rest of the ZoneMinder - system. During an upgrade, existing accounts will default to a Groups - permission of "none". - -3. This package now requires the HTTPS protocol to access the web portal. +3. This package uses the HTTPS protocol by default to access the web portal. Requests using HTTP will auto-redirect to HTTPS. See README.https for more information. @@ -32,15 +34,13 @@ New installs will need to create the ZoneMinder database and configure a database account for ZoneMinder to use: - mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql - mysql -u root -p - mysql> grant all - on zm.* to 'zmuser'@localhost identified by 'zmpass'; - mysql> exit; - mysqladmin -u root -p reload + mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql + mysql -uroot -p -e "grant all on zm.* to \ + 'zmuser'@localhost identified by 'zmpass';" + mysqladmin -uroot -p reload The database account credentials, zmuser/zmpass, are arbitrary. Set them to - anything that suits your envinroment. + anything that suits your environment. 3. If you have chosen to change the zoneminder database account credentials to something other than zmuser/zmpass, you must now edit /etc/zm/zm.conf. @@ -76,12 +76,22 @@ New installs SELINUX line from "enforcing" to "disabled". This change will take effect after a reboot. -6. Now start the web server: +6. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your + needs. This package comes preconfigured for HTTPS using the default self + signed certificate on your system. The recommended way to complete this step + is to simply install mod_ssl: + + sudo yum install mod_ssl + + If this does not meet your needs, then read README.https to + learn about alternatives. When in doubt, install mod_ssl. + +7. Now start the web server: sudo systemctl enable httpd sudo systemctl start httpd -7. Now start zoneminder: +8. Now start zoneminder: sudo systemctl enable zoneminder sudo systemctl start zoneminder @@ -112,9 +122,7 @@ Upgrades have increased. Verify the zmuser database account has been granted all permission to the ZoneMinder database: - mysql -u root -p - mysql> show grants for zmuser@localhost; - mysql> exit; + mysql -uroot -p -e "show grants for zmuser@localhost;" See step 2 of the Installation section to add missing permissions. @@ -122,6 +130,7 @@ Upgrades /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file exists, inspect it and merge anything new in that file with zoneminder.conf. + Verify the SSL REquirements meet your needs. Read README.https if necessary. 4. Upgrade the database before starting ZoneMinder. diff --git a/distros/redhat/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 890d7bece..baf89ca8a 100644 --- a/distros/redhat/zoneminder.el6.spec +++ b/distros/redhat/zoneminder.el6.spec @@ -4,7 +4,7 @@ %define zmgid_final apache Name: zoneminder -Version: 1.28.1 +Version: 1.30.0 Release: 1%{?dist} Summary: A camera monitoring and analysis tool Group: System Environment/Daemons @@ -30,7 +30,7 @@ BuildRequires: libcurl-devel vlc-devel ffmpeg-devel polkit-devel # cmake needs the following installed at build time due to the way it auto-detects certain parameters BuildRequires: httpd ffmpeg -Requires: httpd php php-gd php-mysql mysql-server libjpeg-turbo cambozola polkit net-tools mod_ssl +Requires: httpd php php-gd php-mysql mysql-server libjpeg-turbo cambozola polkit net-tools Requires: psmisc perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip) Requires: perl(MIME::Entity) perl(MIME::Lite) perl(Net::SMTP) perl(Net::FTP) @@ -69,6 +69,7 @@ too much degradation of performance. ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build # Have to override CMAKE_INSTALL_LIBDIR for cmake < 2.8.7 due to this bug: @@ -98,8 +99,12 @@ echo -e "\nCreating and installing a ZoneMinder SELinux policy module. Please wa # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -130,7 +135,7 @@ rm -rf %{_docdir}/%{name}-%{version} %files %defattr(-,root,root,-) -%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.CentOS distros/redhat/jscalendar-doc +%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.CentOS distros/redhat/README.https distros/redhat/jscalendar-doc %doc distros/redhat/local_zoneminder.te %config %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm.conf %config(noreplace) %attr(644,root,root) %{_sysconfdir}/httpd/conf.d/zoneminder.conf @@ -145,7 +150,6 @@ rm -rf %{_docdir}/%{name}-%{version} %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu @@ -154,14 +158,16 @@ rm -rf %{_docdir}/%{name}-%{version} %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.pl %{_bindir}/zmx10.pl -#%{_bindir}/zmonvif-probe.pl +%{_bindir}/zmonvif-probe.pl %{perl_vendorlib}/ZoneMinder* %{perl_vendorarch}/auto/ZoneMinder/.packlist -#%{perl_vendorlib}/ONVIF* -#%{perl_vendorlib}/WSDiscovery* -#%{perl_vendorlib}/WSSecurity* +%{perl_vendorarch}/auto/ONVIF/.packlist +%{perl_vendorlib}/ONVIF* +%{perl_vendorlib}/WSDiscovery* +%{perl_vendorlib}/WSSecurity* %{_mandir}/man*/* %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/cgi-bin @@ -182,6 +188,9 @@ rm -rf %{_docdir}/%{name}-%{version} %dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/spool/zoneminder-upload %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Tue Sep 8 2015 Andrew Bauer - 1.28.1 - Require https, freshen dB on updates. diff --git a/distros/redhat/zoneminder.el7.spec b/distros/redhat/zoneminder.el7.spec index 6ed7510b0..3ec03b746 100644 --- a/distros/redhat/zoneminder.el7.spec +++ b/distros/redhat/zoneminder.el7.spec @@ -6,7 +6,7 @@ %global _hardened_build 1 Name: zoneminder -Version: 1.28.1 +Version: 1.30.0 Release: 1%{?dist} Summary: A camera monitoring and analysis tool Group: System Environment/Daemons @@ -32,7 +32,7 @@ BuildRequires: ffmpeg ffmpeg-devel perl(X10::ActiveHome) perl(Astro::SunTime) # cmake needs the following installed at build time due to the way it auto-detects certain parameters BuildRequires: httpd polkit-devel -Requires: httpd php php-gd php-mysql mariadb-server cambozola polkit net-tools mod_ssl +Requires: httpd php php-gd php-mysql mariadb-server cambozola polkit net-tools Requires: psmisc libjpeg-turbo vlc-core libcurl Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip) @@ -65,6 +65,7 @@ too much degradation of performance. ./utils/zmeditconfigdata.sh ZM_OPT_CONTROL yes ./utils/zmeditconfigdata.sh ZM_CHECK_FOR_UPDATES no ./utils/zmeditconfigdata.sh ZM_DYN_SHOW_DONATE_REMINDER no +./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no %build %cmake \ @@ -96,8 +97,12 @@ fi # Upgrade from a previous version of zoneminder if [ $1 -eq 2 ] ; then + + # Add any new PTZ control configurations to the database (will not overwrite) + %{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || : + # Freshen the database - /usr/bin/zmupdate.pl -f + %{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || : # We can't run this automatically when new sql account permissions need to # be manually added first @@ -137,7 +142,7 @@ fi %files %defattr(-,root,root,-) -%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.Centos7 distros/redhat/jscalendar-doc +%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.Centos7 distros/redhat/README.https distros/redhat/jscalendar-doc %doc distros/redhat/local_zoneminder.te %config %attr(640,root,%{zmgid_final}) /etc/zm/zm.conf %config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf @@ -154,7 +159,6 @@ fi %{_bindir}/zmf %{_bindir}/zmfilter.pl %{_bindir}/zmpkg.pl -%{_bindir}/zmstreamer %{_bindir}/zmtrack.pl %{_bindir}/zmtrigger.pl %{_bindir}/zmu @@ -163,12 +167,16 @@ fi %{_bindir}/zmwatch.pl %{_bindir}/zmcamtool.pl %{_bindir}/zmsystemctl.pl +%{_bindir}/zmtelemetry.pl %{_bindir}/zmx10.pl +%{_bindir}/zmonvif-probe.pl %{perl_vendorlib}/ZoneMinder* %{perl_vendorarch}/auto/ZoneMinder/.packlist -#%{perl_vendorlib}/%{_arch}-linux-thread-multi/auto/ZoneMinder* -#%{perl_archlib}/ZoneMinder* +%{perl_vendorarch}/auto/ONVIF/.packlist +%{perl_vendorlib}/ONVIF* +%{perl_vendorlib}/WSDiscovery* +%{perl_vendorlib}/WSSecurity* %{_mandir}/man*/* %dir %{_libexecdir}/zoneminder %{_libexecdir}/zoneminder/cgi-bin @@ -191,6 +199,9 @@ fi %changelog +* Thu Mar 3 2016 Andrew Bauer - 1.30.0 +- Bump version fo 1.30.0 release. + * Mon Sep 7 2015 Andrew Bauer - 1.28.1 - Require https, disable selinux module, freshen dB on updates. diff --git a/distros/ubuntu1204/control b/distros/ubuntu1204/control index 170504b5a..6e3fcab6b 100644 --- a/distros/ubuntu1204/control +++ b/distros/ubuntu1204/control @@ -2,12 +2,42 @@ 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 + ,libsys-cpu-perl, libsys-meminfo-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 diff --git a/distros/ubuntu1204_cmake/changelog b/distros/ubuntu1204_cmake/changelog index 124ba61d2..74cf1d0b8 100644 --- a/distros/ubuntu1204_cmake/changelog +++ b/distros/ubuntu1204_cmake/changelog @@ -525,7 +525,7 @@ zoneminder (1.22.3-7) unstable; urgency=low zoneminder (1.22.3-6) unstable; urgency=low - * Removed a similar bash only statment from zmpkg.pl + * Removed a similar bash only statement from zmpkg.pl (closes:414882) -- Peter Howard Sat, 14 Apr 2007 11:46:56 +1000 diff --git a/distros/ubuntu1204_cmake/control b/distros/ubuntu1204_cmake/control index 4b4877562..6368d9417 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 @@ -51,10 +47,12 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} ,libwww-perl ,mysql-client | virtual-mysql-client ,perl-modules - ,php5-mysql + ,php5-mysql, php5-gd ,policykit-1 ,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 diff --git a/distros/ubuntu1504/control b/distros/ubuntu1504/control index 8fa3f3596..dddecf61e 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,24 @@ 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 + , 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 diff --git a/distros/ubuntu1504_cmake/changelog b/distros/ubuntu1504_cmake/changelog index 124ba61d2..74cf1d0b8 100644 --- a/distros/ubuntu1504_cmake/changelog +++ b/distros/ubuntu1504_cmake/changelog @@ -525,7 +525,7 @@ zoneminder (1.22.3-7) unstable; urgency=low zoneminder (1.22.3-6) unstable; urgency=low - * Removed a similar bash only statment from zmpkg.pl + * Removed a similar bash only statement from zmpkg.pl (closes:414882) -- Peter Howard Sat, 14 Apr 2007 11:46:56 +1000 diff --git a/distros/ubuntu1504_cmake/control b/distros/ubuntu1504_cmake/control index c2098f179..50dee74c6 100644 --- a/distros/ubuntu1504_cmake/control +++ b/distros/ubuntu1504_cmake/control @@ -7,19 +7,19 @@ 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 + ,libdate-manip-perl + ,libdbd-mysql-perl + ,libphp-serialization-perl + ,libsys-mmap-perl [!hurd-any] ,libwww-perl # Unbundled (dh_linktree): ,libjs-jquery @@ -35,12 +35,12 @@ 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 ,libmodule-load-conditional-perl ,libnet-sftp-foreign-perl -# ,libzoneminder-perl (= ${source:Version}) ,libarchive-zip-perl ,libdbd-mysql-perl ,libdevice-serialport-perl @@ -49,6 +49,12 @@ 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 + ,libsys-cpu-perl, libsys-meminfo-perl ,mysql-client | virtual-mysql-client ,perl-modules ,php5-mysql @@ -104,7 +110,7 @@ Package: zoneminder-doc Section: doc Architecture: all Multi-Arch: foreign -Depends: ${misc:Depends}, ${sphinxdoc:Depends} +Depends: ${misc:Depends}, ${sphinxdoc:Depends}, python-sphinx-rtd-theme | python3-sphinx-rtd-theme Suggests: www-browser Description: ZoneMinder documentation ZoneMinder is intended for use in single or multi-camera video security diff --git a/distros/ubuntu1504_cmake/zoneminder.logrotate b/distros/ubuntu1504_cmake/zoneminder.logrotate index ac7ce0795..18fc6b0a0 100644 --- a/distros/ubuntu1504_cmake/zoneminder.logrotate +++ b/distros/ubuntu1504_cmake/zoneminder.logrotate @@ -1,10 +1,10 @@ -/var/log/zm/*log { +/var/log/zm/*.log { missingok notifempty sharedscripts postrotate /usr/bin/zmpkg.pl logrot >>/dev/null 2>&1 || : endscript - weekly - rotate 3 + daily + rotate 7 } diff --git a/distros/ubuntu1504_cmake/zoneminder.service b/distros/ubuntu1504_cmake/zoneminder.service index d5b326d59..e3575c039 100644 --- a/distros/ubuntu1504_cmake/zoneminder.service +++ b/distros/ubuntu1504_cmake/zoneminder.service @@ -4,7 +4,8 @@ [Unit] Description=ZoneMinder CCTV recording and surveillance system After=network.target mysql.service -Requires=mysql.service +# Remarked out so that it will start ZM on machines that don't have mysql installed +#Requires=mysql.service [Service] #User=www-data diff --git a/distros/ubuntu1504_cmake_split_packages/control b/distros/ubuntu1504_cmake_split_packages/control index 4a152c46b..5f313897f 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 @@ -78,6 +76,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. . @@ -117,25 +117,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/docs/faq.rst b/docs/faq.rst index 6c0bc227c..5aa736ee8 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -238,7 +238,7 @@ The second approach is to use diagnostic images which are saved copies of the in There are two kinds of diagnostic images which are and are written (and continuously overwritten) to the top level monitor event directory. If an event occurs then the files are additionally copied to the event directory and renamed with the appropriate frame number as a prefix. -The first set are produced by the monitor on the image as a whole. The diag-r.jpg image is the current reference image against which all individual frames are compared and the diag-d.jpg image is the delta image highlighting the difference between the reference image and the last analysed image. In this images identicial pixels will be black and the more different a pixel is the whiter it will be. Viewing this image and determining the colour of the pixels is a good way of getting a feel for the pixel differences you might expect (often more than you think). +The first set are produced by the monitor on the image as a whole. The diag-r.jpg image is the current reference image against which all individual frames are compared and the diag-d.jpg image is the delta image highlighting the difference between the reference image and the last analysed image. In this images identical pixels will be black and the more different a pixel is the whiter it will be. Viewing this image and determining the colour of the pixels is a good way of getting a feel for the pixel differences you might expect (often more than you think). The second set of diag images are labelled as diag--.jpg where zoneid is the id of the zone in question (Smile) and the stage is where in the alarm check process the image is generated from. So if you have several zones you can expect to see multiple files. Also these files are only interested in what is happening in their zone only and will ignore anything else outside of the zone. The stages that each number represents are as follows, @@ -617,14 +617,14 @@ How can I trouble shoot the hardware and/or software? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Here are some commands to get information about your hardware. Some commands are distribution dependent. -* ``[[lspci]] -vv`` -- Returns lots of detailed info. Check for conflicting interrupts or port assignments. You can sometimes alter interrupts/ ports in bios. Try a different pci slot to get a clue if it is HW conflict (comand provided by the pciutils package). +* ``[[lspci]] -vv`` -- Returns lots of detailed info. Check for conflicting interrupts or port assignments. You can sometimes alter interrupts/ ports in bios. Try a different pci slot to get a clue if it is HW conflict (command provided by the pciutils package). * ``[[scanpci]] -v`` -- Gives you information from your hardware EPROM * ``[[lsusb]] -vv`` -- Returns lots of detail about USB devices (camand provided by usbutils package). * ``[[dmesg]]`` -- Shows you how your hardware initialized (or didn't) on boot-up. You will get the most use of this. * ``[[v4l-info]]`` -- to see how driver is talking to card. look for unusual values. * ``[[modinfo bttv]]`` -- some bttv driver stats. * ``[[zmu]] -m 0 -q -v`` -- Returns various information regarding a monitor configuration. -* ``[[ipcs]] `` -- Provides information on the ipc facilities for which the calling process has read acccess. +* ``[[ipcs]] `` -- Provides information on the ipc facilities for which the calling process has read access. * ``[[ipcrm]] `` -- The ipcrm command can be used to remove an IPC object from the kernel. * ``cat /proc/interrupts`` -- This will dispaly what interrupts your hardware is using. diff --git a/docs/index.rst b/docs/index.rst index 46713b754..46da979cf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ ZoneMinder Documentation Welcome to ZoneMinder's documentation, the following resources are available :doc:`installationguide/index` - Many distrubution repos only hold older versions of ZoneMinder, current versions contain many bug fixes and updated functionality. Instructions here for installing updated packages or compiling from source. + Many distribution repos only hold older versions of ZoneMinder, current versions contain many bug fixes and updated functionality. Instructions here for installing updated packages or compiling from source. :doc:`userguide/index` Guide to setting up ZoneMinder for the first time and detailed guides for using the ZoneMinder front end. 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/images/zm-multiserver.png b/docs/installationguide/images/zm-multiserver.png new file mode 100644 index 000000000..360b612a8 Binary files /dev/null and b/docs/installationguide/images/zm-multiserver.png differ diff --git a/docs/installationguide/images/zm-multiserver.xml b/docs/installationguide/images/zm-multiserver.xml new file mode 100644 index 000000000..c829e1a94 --- /dev/null +++ b/docs/installationguide/images/zm-multiserver.xml @@ -0,0 +1 @@ +7Vvfb+I4F/1rkHYfFpEEQnlsmXZ2pXZUqaPd/fZlZIib+JsQs44pZf76uU6uEydOgELoUgkeELn+fc/JuddO6HnTxetnQZbRAw9o3HMHwWvP+9Rz3SvfhW9l2OSGsTfKDaFgQW5ySsMT+0HROEDrigU0rVSUnMeSLavGOU8SOpcVGxGCr6vVnnlcHXVJQj1iaXiak9i2/sUCGeGyXL+0/05ZGOmRHX+Sl8zI/Hso+CrB8Xqu95x98uIF0X1lC/VuwYeCc+hG/Vq8Tmms/Kh9lHvjrqW0mKSgCU5kRwMHUXgh8QpX+g9P6ANLAirA/rACF//2RMVLdvmFyjUX3+HXV77kMQ83PdePYaibGRT7ofqVd5jKjXZdtniqRnSgeB0xSZ+WZK5K18AVsEVyEWNxKgX/TqfQtwBLAnMB4zOL45op4oL94IkkuiFMUDLA6zpmYQI2yVXPz1AFyeRcFZMzHYQ+U80pkjUzocM+U76gUsA6B1jqISORyB52sC5ZMR5jlchgxFgzmSATw6LnEiD4gRi14OWOLbweSALkW6gF7cYC1qjsBzicoF/nMBBwwXb4ggWBGqYRYQ61n2O+BksE9Sg0MLFR0AguiWRcdeWCA2Fm0AVLQnVdXgHvwKCKVXM9R7ipBgPfn067gdgZDCsYu+MrC+QR3jkmxg7e88dBjJ0YEN+zBO65C7jdgKtRKsAd9xHLHfCimB4Fr2aSARsNINLgJRcy4iFPSHxbWsF7WkGVbwx8aRJcq+BWIgmWO8AXq/6fSrlBGMhKcgVWMcI9z9yt+ml1a8pXIoM6cxzGcElESLHeCAVJLWKr9wWNgQEv1XDa5MmsKayKqFa6wpKzRKZGz4/KYIhyTZUdDMwlKnmPza2dQa31EMO6Hj53A7aqgV2scS/8J+jDjvB/ZfJvZe57Pl7+L7scT/DykQoG01M3ddb4XRnjoYyeIWFGflXia4Sx6g8neOPuQ7ADeKHdYqj+n5DxcjDdX3+xOGNwwJRzkMpp9rG0H0r8qyvnxoOSUJCAAW61IKDNn5iADDoX60SBX3SmM99MsiOyVJNZvEK7ZdRP8tQw7c9WAMEhY9Q0H7Nk72ZpUFhl0zPoyqD1jbYha0GlMfyguxqy4jcHDb8qEOBMO+vTCV7XIWOEzDOo8SS5UBuWCznOkBzDyTuSowjKtnDk+WLAXnTCOI2Vd6HuL183S5Xd/dqUVOYWGNdoaVGsLT9r3oVp6z2Z0fiRpwzBnXEp+QIqxLWCIg+1EtMz5vZyfgJuOTVyTeztZpG9VLabnXALifzfJSswY7OJujbbqOt6o5NnMNrWXQazPyD23tBGyMrwUpi9rNnM+6h2RpJVN1LCaoLY6rad7jB3Vw2M1ba35X12Lj9sUeMdufzOjootoe4o50QXmwJfy8IWWNUZYnGihWac4D4CU5yMkpnusTxwbBKeSTU/9jT1TOFpCmqF8aiUp4nneWBS689Wo+Xd/3eljkuBmN7dnQcf05SHrzJd0ieZW8JePsAl7u0d99Lcp7VTHKXXO4JhQfvd0dBg3aSJdDoEHkM6HWm33YUGDPuBe1Mc/zdlr820afB9K7StZIhIkOm90uyApFERkes4Mp6O+wzUIe2rpyIZkkdhpbPi6oZ5bCfFQ/SviaQ+xznuCHUPPT3bMInuc8cYborwYztwWxjdP2LWRxpO8CzirRGzdcrdR0zd8xsDxGAwnSqpqAeITwTiIkntCGHFA2tTdcywb4hDl13ZUdHpW4opQPc7NHgKXM2U9La+skVrelqkjcdpnb3//3BaN3QgaWtKtTvXuvpIB+8OWqd8gt3B9kf0WrAuWrB/ptq1Bng+hsxCA2wCnyxvdVyk4keWgNGwnjucSgLqIx0sAa1T7l4C7IdDFwk4MwkYTqqvFbyzBOBpzUeWAP/ddjz1kQ7e8bROuXsJsB8CXiTgzCTAr78a+J4SoJ9KNOyIZ3rD+McjVJiSBRXE3nru91Cw6OtCtb2oNl8JJjff5rnTO3mBbTSqbj2KR8AGzTQTO3/crDu+vIB6yncUXa/+jqL99OVkL6DqN5ovL6CeCNyR9Xbx6V5Ahcvy7wR52lH+P8O7/Qk= \ No newline at end of file diff --git a/docs/installationguide/index.rst b/docs/installationguide/index.rst index 58a8f4b21..e030ed7cf 100644 --- a/docs/installationguide/index.rst +++ b/docs/installationguide/index.rst @@ -8,5 +8,5 @@ Contents: ubuntu debian - fedora - centos + redhat + multiserver diff --git a/docs/installationguide/multiserver.rst b/docs/installationguide/multiserver.rst new file mode 100644 index 000000000..e9ebefac2 --- /dev/null +++ b/docs/installationguide/multiserver.rst @@ -0,0 +1,55 @@ +Multi-Server Install +==================== + +It is possible to run multiple ZoneMinder servers and manage them from a single interface. To achieve this each zoneminder server is connected to a single shared database server and shares file storage for event data. + +.. image:: images/zm-multiserver.png + +Topology Design Notes +--------------------- + +1. Device symbols represent separate logical functions, not necessarily separate hardware. For example, the Database Server and a ZoneMinder Server, can reside on the same physical hardware. + +2. Configure each ZoneMinder Server to use the same, remote Database Server (Green). + +3. The Storage Server (Red) represents shared storage, accessible by all ZoneMinder Servers, mounted under each server’s events folder. + +4. Create at least two networks for best performance. Dedicate a Storage LAN for communication with the Storage and Database Servers. Make use of multipath and jumbo frames if possible. Keep all other traffic off the Storage LAN! Dedicate the second LAN, called the Video LAN in the diagram, for all other traffic. + +New installs +------------ + +1. Follow the normal instructions for your distro for installing ZoneMinder onto all the ZoneMinder servers in the normal fashion. Only a single database will be needed either as standalone, or on one of the ZoneMinder Servers. + +2. On each ZoneMinder server, edit zm.conf. Find the ZM_DB_HOST variable and set it to the name or ip address of your Database Server. Find the ZM_SERVER_HOST and enter a name for this ZoneMinder server. Use a name easily recognizable by you. This name is not used by ZoneMinder for dns or any other form of network conectivity. + +3. Copy the file /usr/share/zoneminder/db/zm_create.sql from one of the ZoneMinder Servers to the machine targeted as the Database Server. + +4. Install mysql/mariadb server onto the Database Server. + +5. It is advised to run "mysql_secure_installation" to help secure the server. + +6. Using the password for the root account set during the previous step, create the ZoneMinder database and configure a database account for ZoneMinder to use: + +:: + + mysql -u root -p < zm_create.sql + mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';" + mysqladmin -u root -p reload + +The database account credentials, zmuser/zmpass, are arbitrary. Set them to anything that suits your environment. +Note that these commands are just an example and might not be secure enough for your environment. + +7. If you have chosen to change the ZoneMinder database account credentials to something other than zmuser/zmpass, you must now update zm.conf on each ZoneMinder Server. Change ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. + +Additionally, you must also edit /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner on each ZoneMinder Server. Scroll down and change login and password to the values you created in the previous step. + +8. All ZoneMinders Servers must share a common events folder. This can be done in any manner supported by the underlying operating system. From the Storage Server, share/export a folder to be used for ZoneMinder events. + +9. From each ZoneMinder Server, mount the shared events folder on the Storage Server to the events folder on the local ZoneMinder Server. + +NOTE: The location of this folder varies by distro. This folder is often found under "/var/lib/zoneminder/events" for RedHat based distros and "/var/cache/zoneminder/events" for Debain based distros. This folder is NOT a Symbolic Link! + +10. Open your browser and point it to the web console on any of the ZoneMinder Servers (they will all be the same). Open Options, click the Servers tab,and populate this screen with all of your ZoneMinder Servers. Each server has a field for its name and its hostname. The name is what you used for ZM_SERVER_HOST in step 2. The hostname is the network name or ip address ZoneMinder should use. + +11. When creating a new Monitor, remember to select the server the camera will be assigned to from the Server drop down box. diff --git a/docs/installationguide/redhat.rst b/docs/installationguide/redhat.rst new file mode 100644 index 000000000..e15d58aa7 --- /dev/null +++ b/docs/installationguide/redhat.rst @@ -0,0 +1,203 @@ +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 is available in RHEL or CentOS, 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. + +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, some invariably will not. Asterisk 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 begin 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 `_ by the CentOS developers. + +Next, navigate to `Zmrepo `_, and follow the instructions to enable zmrepo on your system. + +With zmrepo enabled, issue the following command: + +:: + + sudo yum install zmrepo-mock-configs mock + + +Add your user account to the group 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 `_ site and choose an appropriate SRPM and place it into the ~/rpmbuild/SRPMS folder. + +For CentOS 7, I have chosen the following SRPM: + +:: + + 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: + +:: + + 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: + +:: + + 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: + +:: + + buildzm.sh MOCKCONFIG ZONEMINDER_SRPM + +The list of available Mock config files are available here: + +:: + + 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 `_ +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: + +:: + + rpm -ivh ~/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: + +:: + + sudo yum install git + + +Now clone the ZoneMinder git repository: + +:: + + cd + git clone https://github.com/ZoneMinder/ZoneMinder + cd ZoneMinder + git submodule init + git submodule update + +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: + +:: + + 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: + +:: + + 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: + +:: + + 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 the target distro. + +You should now have 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. + + diff --git a/docs/installationguide/ubuntu.rst b/docs/installationguide/ubuntu.rst index 1d5412077..80cb27552 100644 --- a/docs/installationguide/ubuntu.rst +++ b/docs/installationguide/ubuntu.rst @@ -1,5 +1,5 @@ -Ubuntu -====== +Ubuntu Instruction +=================== .. contents:: @@ -181,7 +181,7 @@ Easy Way: Install ZoneMinder from a package (Ubuntu 14.x) **Step 4:**:Some tweaks that will be needed: -Edit /etc/init.d/zoneminder: +Edit ``/etc/init.d/zoneminder``: add a ``sleep 10`` right after line 25 that reads ``echo -n "Starting $prog:"`` (The reason we need this sleep is to make sure ZM starts after mysqld starts) @@ -198,7 +198,7 @@ As of Oct 3 2015, zm.conf is not readable by ZM. This is likely a bug and will g If you changed the DB password **after** installing ZM, the APIs will not be able to connect to the DB. -If you have, go to zoneminder/www/api/app/Config & Edit ``database.php`` +If you have, go to ``/usr/share/zoneminder/www/api/app/Config`` & Edit ``database.php`` There is a class there called ``DATABASE_CONFIG`` - change the ``$default`` array to reflect your new details. Example: @@ -224,7 +224,7 @@ We also need to install php5-gd (as of 1.28.107, this is not installed) **Step 6**: Edit Timezone in PHP -vi /etc/php5/apache2/php.ini +``sudo vi /etc/php5/apache2/php.ini`` Look for [Date] and inside it you will see a date.timezone that is commented. remove the comment and specific your timezone. Please make sure the timezone is valid (see [this](http://php.net/manual/en/timezones.php)) @@ -247,7 +247,7 @@ restart: :: sudo service apache2 restart - /etc/init.d/zoneminder restart + sudo service zoneminder restart **Step 8**: Making sure ZM and APIs work: (optional - only if you need APIs) @@ -286,192 +286,106 @@ Harder Way: Build Package From Source ------------------------------------------- (These instructions assume installation from source on a ubuntu 15.x+ system) -**Step 1:** First make sure you have the needed tools +**Step 1:** Grab the package installer script + +:: + + wget https://raw.githubusercontent.com/ZoneMinder/ZoneMinder/master/utils/do_debian_package.sh + chmod a+x do_debian_package.sh + + +**Step 2:** Update the system :: sudo apt-get update - sudo apt-get install cmake git -**Step 2:** Next up make sure you have all the dependencies + +**Step 3** Create the package + +To build the latest master snapshot: :: - 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 libjpeg8-dev libjpeg8 apache2 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 policykit-1 libpolkit-gobject-1-dev libextutils-pkgconfig-perl libcurl3 libvlc-dev libcurl4-openssl-dev curl php5-gd + ./do_debian_package.sh `lsb_release -a 2>/dev/null | grep Codename | awk '{print $2}'` `date +%Y%m%d`01 local master -(you are asked for the mysql root password when installing mysql server - put in a password that you'd like). -**Step 3:** Download ZoneMinder source code and compile+install: +To build the latest stable release: :: - git clone https://github.com/ZoneMinder/ZoneMinder.git - cd ZoneMinder/ - git submodule init - git submodule update - cmake . - make - sudo make install + ./do_debian_package.sh `lsb_release -a 2>/dev/null | grep Codename | awk '{print $2}'` `date +%Y%m%d`01 local stable -**Step 4:** Now make sure your symlinks to events and images are set correctly: + +Note that the ``lsb_release -a 2>/dev/null | grep Codename | awk '{print $2}'`` part simply extracts your distribution name - like "vivid", "trusty" etc. You can always replace it by your distro name if you know it. As far as the script goes, it checks if your distro is "trusty" in which case it pulls in pre-systemd release configurations and if its not "trusty" it assumes its based on systemd and pulls in systemd related config files. + +(At the end the script will ask if you want to retain the checked out version of zoneminder. If you are a developer and are making local changes, make sure you select "y" so that the next time you do the build process mentioned here, it keeps your changes. Selecting any other value than "y" or "Y" will delete the checked out code and only retain the package) + +This should now create a bunch of .deb files + +**Step 4:** Install the package :: - sudo ./zmlinkcontent.sh + sudo gdebi zoneminder__.deb + (example sudo gdebi zoneminder_1.29.0-vivid-2016012001_amd64.deb) -**Step 5:** Now lets make sure ZM has DB permissions to write to the DB: + +**This will report DB errors - ignore - you need to configure the DB and some other stuff** + +**Step 5:** Post install configuration :: + sudo mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql mysql -uroot -p -e "grant select,insert,update,delete,create,alter,index,lock tables on zm.* to 'zmuser'@localhost identified by 'zmpass';" -**Step 6:** Now lets create the DB & its tables that ZM needs - -:: - - mysql -uroot -p - Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch - AllowOverride All - Require all granted - + sudo chown www-data /etc/zm/zm.conf + sudo chown -R www-data /usr/share/zoneminder/www/api/ - Alias /zm /usr/local/share/zoneminder/www - - php_flag register_globals off - Options Indexes FollowSymLinks - - DirectoryIndex index.php - - - - AllowOverride All - - -**Step 11:** Now lets make sure ZM can read/write to the zoneminder directory: +**Step 8:** Restart all services :: - sudo chown -R www-data:www-data /usr/local/share/zoneminder/ + sudo service apache2 restart + sudo service zoneminder restart - -**Step 12:** Make sure you can view Monitor View - -1. Open up ZM, configure your monitors and verify you can view Monitor feeds -2. If not, open up ZM console in your browser, go to ``Options->Path`` and make sure ``PATH_ZMS`` is set to ``/zm/cgi-bin/nph-zms`` and restart ZM - -**Step 13**: Edit Timezone in PHP - -vi /etc/php5/apache2/php.ini -Look for [Date] and inside it you will see a date.timezone -that is commented. remove the comment and specific your timezone. -Please make sure the timezone is valid (see http://php.net/manual/en/timezones.php) - -In my case: +Check if ZM is running properly :: - date.timezone = America/New_York - -**Step 14:** Finally, lets make a config change to apache (needed for htaccess overrides to work for APIs) -Edit /etc/apache2/apache2.conf and add this: - -:: - - - AllowOverride All - Require all granted - - -Restart apache - -:: - - sudo service apache2 reload - -You are done. Lets proceed to make sure everything works: - -Making sure ZM and APIs work: - -1. open up a browser and go to ``http://localhost/zm`` - should bring up ZM -2. (OPTIONAL - just for peace of mind) open up a tab and go to ``http://localhost/zm/api`` - should bring up a screen showing CakePHP version with some green color boxes. Green is good. If you see red, or you don't see green, there may be a problem (should not happen). Ignore any warnings in yellow saying "DebugKit" not installed. You don't need it -3. open up a tab in the same browser and go to ``http://localhost/zm/api/host/getVersion.json`` - -If it responds with something like: - -:: - - { - "version": "1.28.107", - "apiversion": "1.28.107.1" - } - -Then your APIs are working - -Make sure ZM and APIs work with security: -1. Enable OPT_AUTH in ZM -2. Log out of ZM in browser -3. Open a NEW tab in the SAME BROWSER (important) and go to ``http://localhost/zm/api/host/getVersion.json`` - should give you "Unauthorized" along with a lot more of text -4. Go to another tab in the SAME BROWSER (important) and log into ZM -5. Repeat step 3 and it should give you the ZM and API version - -**Congrats** your installation is complete - -Suggested changes to MySQL (Optional but recommended) ------------------------------------------------------- -For most of you Zoneminder will run just fine with the default MySQL settings. There are a couple of settings that may, in time, provide beneficial especially if you have a number of cameras and many events with a lot of files. One setting we recommend is the "innodb_file_per_table" This will be a default setting in MySQL 5.6 but should be added in MySQL 5.5 which comes with Ubuntu 14.04. A description can be found here: http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html - -To add "innodb_file_per_table" edit the my.cnf file: - -``vi /etc/mysql/my.cnf`` -Under [mysqld] add -``innodb_file_per_table`` - -Save and exit. - -Restart MySQL -``service mysql restart`` + sudo service zoneminder status + + +**Step 9:** Make sure streaming works - set PATH_ZMS + +open up ZM console in your browser, go to Options->Path and make sure ``PATH_ZMS`` is set to ``/zm/cgi-bin/nph-zms`` and restart ZM + + +**Step 10:** Make sure everything works + +* point your browser to http://yourzmip/zm - you should see ZM console running +* point your browser to http://yourzmip/zm/api/host/getVersion.json - you should see an API version +* Configure your monitors and make sure its all a-ok 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/definemonitor.rst b/docs/userguide/definemonitor.rst index c2006eed9..d69b44425 100644 --- a/docs/userguide/definemonitor.rst +++ b/docs/userguide/definemonitor.rst @@ -21,6 +21,9 @@ Monitor Tab Name The name for your monitor. This should be made up of alphanumeric characters (a-z,A-Z,0-9) and hyphen (-) and underscore(_) only. Whitespace is not allowed. +Server + Multi-Server implementation allows the ability to define multiple ZoneMinder servers sharing a single database. When servers are configured this setting allows you nominate the server for each monitor. + Source Type This determines whether the camera is a local one attached to a physical video or USB port on your machine, a remote network camera or an image source that is represented by a file (for instance periodically downloaded from a alternate location). Choosing one or the other affects which set of options are shown in the Source tab. diff --git a/docs/userguide/definezone.rst b/docs/userguide/definezone.rst index d3eaeb8c6..0cacd3b91 100644 --- a/docs/userguide/definezone.rst +++ b/docs/userguide/definezone.rst @@ -35,7 +35,7 @@ Type Suppresses the detection of motion within it. This can be layered on top of any other zone type, preventing motion within the Inactive zone from being effective for any other zone type. Use inactive zones to cover areas in which nothing notable will ever happen or where you get false alarms that don't relate to what you are trying to monitor. Inactive zones may be overlaid on other zones to blank out areas, and are processed first (with the exception of Privacy zones, see below). As a general practice, you should try and make zones abut each other instead of overlapping to avoid repeated duplicate processing of the same area. * Privacy - Blackens the pixels within it. This can be used if you want to hide some regions in the image if the situation does not allow an other solution. This zone type is different to all the others in that it gets processed as soon as possible during capture (even before the timestamp gets into the image) and not in the analyzing process. So if you add, change or delete a Privacy zone, you don't see the changes in the image until the capture process gets restarted. This will be done automatically, but needs a few seconds. + Blackens the pixels within it. This can be used if you want to hide some regions in the image if the situation does not allow another solution. This zone type is different to all the others in that it gets processed as soon as possible during capture (even before the timestamp gets into the image) and not in the analyzing process. So if you add, change or delete a Privacy zone, you don't see the changes in the image until the capture process gets restarted. This will be done automatically, but needs a few seconds. Preset The preset chooser sets sensible default values based on computational needs (fast v. best) and sensitivity (low, medium, high.) It is not required that you select a preset, and you can alter any of the parameters after choosing a preset. For a small number of monitors with ZoneMinder running on modern equipment, Best, high sensitivity can be chosen as a good starting point. diff --git a/docs/userguide/filterevents.rst b/docs/userguide/filterevents.rst index 4d7a50fd5..bc0dcffe2 100644 --- a/docs/userguide/filterevents.rst +++ b/docs/userguide/filterevents.rst @@ -90,7 +90,7 @@ Saving filters .. image:: images/filter-save.png :width: 400px -When saving filters, if you want the filter to run in the background make sure you select the "Run filter in background" option. When checked, ZoneMinder will make sure the filter is checked regularly. For example, if you want to be notified of new events by email, you sould make sure this is checked. Filters that are configured to run in the background have a "*" next to it. +When saving filters, if you want the filter to run in the background make sure you select the "Run filter in background" option. When checked, ZoneMinder will make sure the filter is checked regularly. For example, if you want to be notified of new events by email, you should make sure this is checked. Filters that are configured to run in the background have a "*" next to it. For example: diff --git a/docs/userguide/gettingstarted.rst b/docs/userguide/gettingstarted.rst index 2bc3dcd7f..73f6e2783 100644 --- a/docs/userguide/gettingstarted.rst +++ b/docs/userguide/gettingstarted.rst @@ -65,9 +65,9 @@ own empty screen. * **B**: Click here to explore the various options of ZoneMinder and how to configure them. You already used this to enable authentication and change style above. Over time, you will find this to have many other things you will want to customize. * **C**: This link, when clicked, opens up a color coded log window of what is going on in Zoneminder and often gives you good insight into what is going wrong or right. Note that the color here is red - that is an indication that some error occurred in ZoneMinder. You should click it and investigate. * **D**: This is the core of ZoneMinder - recording events. It gives you a count of how many events were recorded over the hour, day, week, month. -* **E**: These are the "Zones". Zones are areas within the camera that you mark as 'hotspots' for motion detection. Simply put, when you first configure your monitors (cameras), by default Zoneminder uses the entire field of view of the camera to detect motion. You may not want this. You may want to create "zones" specifically for detecting motion and ignore others. For example, lets consider a room with a fan that spins. You surely don't want to consider the fan moving continously a reason for triggering a record? Probably not - in that case, you'd leave the fan out while making your zones. +* **E**: These are the "Zones". Zones are areas within the camera that you mark as 'hotspots' for motion detection. Simply put, when you first configure your monitors (cameras), by default Zoneminder uses the entire field of view of the camera to detect motion. You may not want this. You may want to create "zones" specifically for detecting motion and ignore others. For example, lets consider a room with a fan that spins. You surely don't want to consider the fan moving continuously a reason for triggering a record? Probably not - in that case, you'd leave the fan out while making your zones. * **F**: This is the "source" column that tells you the type of the camera - if its an IP camera, a USB camera or more. In this example, they are all IP cameras. Note the color red on item F ? Well that means there is something wrong with that camera. No wonder the log also shows red. Good indication for you to tap on logs and investigate -* **G**: This defines how Zoneminder will record events. There are various modes. In brief Modect == record if a motion is detected,Record = always record 24x7, Mocord = always record PLUS detect motion, Monitor = just provide a live view but don't record anytime, Modect = Don't record till an externa entity via zmtrigger tells Zoneminder to (this is advanced usage). +* **G**: This defines how Zoneminder will record events. There are various modes. In brief Modect == record if a motion is detected,Record = always record 24x7, Mocord = always record PLUS detect motion, Monitor = just provide a live view but don't record anytime, Nodect = Don't record till an externa entity via zmtrigger tells Zoneminder to (this is advanced usage). * **H**: If you click on these links you can view a "Montage" of all your configured monitors or cycle through each one diff --git a/docs/userguide/options.rst b/docs/userguide/options.rst index 4a0b357f6..8186d8b6a 100644 --- a/docs/userguide/options.rst +++ b/docs/userguide/options.rst @@ -19,6 +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_eyezm options/options_users diff --git a/docs/userguide/options/images/Options_Servers.png b/docs/userguide/options/images/Options_Servers.png new file mode 100644 index 000000000..2ca47edba Binary files /dev/null and b/docs/userguide/options/images/Options_Servers.png differ diff --git a/docs/userguide/options/options_config.rst b/docs/userguide/options/options_config.rst index 7918361ba..0f419e2ab 100644 --- a/docs/userguide/options/options_config.rst +++ b/docs/userguide/options/options_config.rst @@ -25,9 +25,9 @@ FORCED_ALARM_SCORE - The 'zmu' utility can be used to force an alarm on a monito BULK_FRAME_INTERVAL - Traditionally ZoneMinder writes an entry into the Frames database table for each frame that is captured and saved. This works well in motion detection scenarios but when in a DVR situation ('Record' or 'Mocord' mode) this results in a huge number of frame writes and a lot of database and disk bandwidth for very little additional information. Setting this to a non-zero value will enabled ZoneMinder to group these non-alarm frames into one 'bulk' frame entry which saves a lot of bandwidth and space. The only disadvantage of this is that timing information for individual frames is lost but in constant frame rate situations this is usually not significant. This setting is ignored in Modect mode and individual frames are still written if an alarm occurs in Mocord mode also. -EVENT_CLOSE_MODE - When a monitor is running in a continuous recording mode (Record or Mocord) events are usually closed after a fixed period of time (the section length). However in Mocord mode it is possible that motion detection may occur near the end of a section. This option controls what happens when an alarm occurs in Mocord mode. The 'time' setting means that the event will be closed at the end of the section regardless of alarm activity. The 'idle' setting means that the event will be closed at the end of the section if there is no alarm activity occuring at the time otherwise it will be closed once the alarm is over meaning the event may end up being longer than the normal section length. The 'alarm' setting means that if an alarm occurs during the event, the event will be closed once the alarm is over regardless of when this occurs. This has the effect of limiting the number of alarms to one per event and the events will be shorter than the section length if an alarm has occurred. +EVENT_CLOSE_MODE - When a monitor is running in a continuous recording mode (Record or Mocord) events are usually closed after a fixed period of time (the section length). However in Mocord mode it is possible that motion detection may occur near the end of a section. This option controls what happens when an alarm occurs in Mocord mode. The 'time' setting means that the event will be closed at the end of the section regardless of alarm activity. The 'idle' setting means that the event will be closed at the end of the section if there is no alarm activity occurring at the time otherwise it will be closed once the alarm is over meaning the event may end up being longer than the normal section length. The 'alarm' setting means that if an alarm occurs during the event, the event will be closed once the alarm is over regardless of when this occurs. This has the effect of limiting the number of alarms to one per event and the events will be shorter than the section length if an alarm has occurred. -CREATE_ANALYSIS_IMAGES - By default during an alarm ZoneMinder records both the raw captured image and one that has been analysed and had areas where motion was detected outlined. This can be very useful during zone configuration or in analysing why events occured. However it also incurs some overhead and in a stable system may no longer be necessary. This parameter allows you to switch the generation of these images off. +CREATE_ANALYSIS_IMAGES - By default during an alarm ZoneMinder records both the raw captured image and one that has been analysed and had areas where motion was detected outlined. This can be very useful during zone configuration or in analysing why events occurred. However it also incurs some overhead and in a stable system may no longer be necessary. This parameter allows you to switch the generation of these images off. WEIGHTED_ALARM_CENTRES - ZoneMinder will always calculate the centre point of an alarm in a zone to give some indication of where on the screen it is. This can be used by the experimental motion tracking feature or your own custom extensions. In the alarmed or filtered pixels mode this is a simple midpoint between the extents of the detected pxiesl. However in the blob method this can instead be calculated using weighted pixel locations to give more accurate positioning for irregularly shaped blobs. This method, while more precise is also slower and so is turned off by default. 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/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/docs/userguide/options/options_servers.rst b/docs/userguide/options/options_servers.rst new file mode 100644 index 000000000..83e146871 --- /dev/null +++ b/docs/userguide/options/options_servers.rst @@ -0,0 +1,12 @@ +Options - Servers +----------------- + +.. image:: images/Options_Servers.png + +Servers tab is used for setting up multiple ZoneMinder servers sharing the same database and using a shared file share for all event data. To add a new server use the Add Server button. All that is required is a Name for the Server and Hostname. + +To delete a server mark that server and click the Delete button. + +Please note that all servers must have a functional web UI as the live view must come from the monitor's host server. + +On each server, you will have to edit /etc/zm/zm.conf and set either ZM_SERVER_NAME= diff --git a/docs/userguide/options/options_system.rst b/docs/userguide/options/options_system.rst index 83aa28bec..7df3d259a 100644 --- a/docs/userguide/options/options_system.rst +++ b/docs/userguide/options/options_system.rst @@ -25,9 +25,9 @@ FILTER_EXECUTE_INTERVAL - ZoneMinder allows you to save filters to the database MAX_RESTART_DELAY - The zmdc (zm daemon control) process controls when processeses are started or stopped and will attempt to restart any that fail. If a daemon fails frequently then a delay is introduced between each restart attempt. If the daemon stills fails then this delay is increased to prevent extra load being placed on the system by continual restarts. This option controls what this maximum delay is. -WATCH_CHECK_INTERVAL - The zmwatch daemon checks the image capture performance of the capture daemons to ensure that they have not locked up (rarely a sync error may occur which blocks indefinately). This option determines how often the daemons are checked. +WATCH_CHECK_INTERVAL - The zmwatch daemon checks the image capture performance of the capture daemons to ensure that they have not locked up (rarely a sync error may occur which blocks indefinitely). This option determines how often the daemons are checked. -WATCH_MAX_DELAY - The zmwatch daemon checks the image capture performance of the capture daemons to ensure that they have not locked up (rarely a sync error may occur which blocks indefinately). This option determines the maximum delay to allow since the last captured frame. The daemon will be restarted if it has not captured any images after this period though the actual restart may take slightly longer in conjunction with the check interval value above. +WATCH_MAX_DELAY - The zmwatch daemon checks the image capture performance of the capture daemons to ensure that they have not locked up (rarely a sync error may occur which blocks indefinitely). This option determines the maximum delay to allow since the last captured frame. The daemon will be restarted if it has not captured any images after this period though the actual restart may take slightly longer in conjunction with the check interval value above. RUN_AUDIT - The zmaudit daemon exists to check that the saved information in the database and on the filesystem match and are consistent with each other. If an error occurs or if you are using 'fast deletes' it may be that database records are deleted but files remain. In this case, and similar, zmaudit will remove redundant information to synchronise the two data stores. This option controls whether zmaudit is run in the background and performs these checks and fixes continuously. This is recommended for most systems however if you have a very large number of events the process of scanning the database and filesystem may take a long time and impact performance. In this case you may prefer to not have zmaudit running unconditionally and schedule occasional checks at other, more convenient, times. diff --git a/docs/userguide/options/options_upload.rst b/docs/userguide/options/options_upload.rst index 16e3f5588..da4baa076 100644 --- a/docs/userguide/options/options_upload.rst +++ b/docs/userguide/options/options_upload.rst @@ -19,7 +19,7 @@ UPLOAD_PORT - You can use filters to instruct ZoneMinder to upload events to a r UPLOAD_USER - You can use filters to instruct ZoneMinder to upload events to a remote server. This option indicates the username that ZoneMinder should use to log in for transfer. -UPLOAD_PASS - You can use filters to instruct ZoneMinder to upload events to a remote server. This option indicates the password that ZoneMinder should use to log in for transfer. If you are using certicate based logins for SFTP servers you can leave this option blank. +UPLOAD_PASS - You can use filters to instruct ZoneMinder to upload events to a remote server. This option indicates the password that ZoneMinder should use to log in for transfer. If you are using certificate based logins for SFTP servers you can leave this option blank. UPLOAD_LOC_DIR - You can use filters to instruct ZoneMinder to upload events to a remote server. This option indicates the local directory that ZoneMinder should use for temporary upload files. These are files that are created from events, uploaded and then deleted. diff --git a/docs/userguide/options/options_x10.rst b/docs/userguide/options/options_x10.rst index dc41d8dd6..0662ebe7e 100644 --- a/docs/userguide/options/options_x10.rst +++ b/docs/userguide/options/options_x10.rst @@ -5,7 +5,7 @@ Options - X10 OPT_X10 - If you have an X10 Home Automation setup in your home you can use ZoneMinder to initiate or react to X10 signals if your computer has the appropriate interface controller. This option indicates whether X10 options will be available in the browser client. -X10_DEVICE - If you have an X10 controller device (e.g. XM10U) connected to your computer this option details which port it is conected on, the default of /dev/ttyS0 maps to serial or com port 1. +X10_DEVICE - If you have an X10 controller device (e.g. XM10U) connected to your computer this option details which port it is connected on, the default of /dev/ttyS0 maps to serial or com port 1. X10_HOUSE_CODE - X10 devices are grouped together by identifying them as all belonging to one House Code. This option details what that is. It should be a single letter between A and P. diff --git a/docs/userguide/viewevents.rst b/docs/userguide/viewevents.rst index 83fa3df76..70eea0032 100644 --- a/docs/userguide/viewevents.rst +++ b/docs/userguide/viewevents.rst @@ -20,7 +20,7 @@ Here is an example of viewing an event stream: * **A**: Administrative Event options on the event including viewing individual frames * **B**: The actual image stream * **C**: Navigation control -* **D**: You can switch between watching a single event or Continous mode (where it advances to the next event after playback is complete) +* **D**: You can switch between watching a single event or Continuous mode (where it advances to the next event after playback is complete) * **E**: Event progress bar - how much of the current event has been played back You will notice for the first time that alarm images now contain an overlay outlining the blobs that represent the alarmed area. This outline is in the colour defined for that zone and lets you see what it was that caused the alarm. Clicking on one of the thumbnails will take you to a full size window where you can see the image in all its detail and scroll through the various images that make up the event. If you have the ZM_RECORD_EVENT_STATS option on, you will be able to click the 'Stats' link here and get some analysis of the cause of the event. 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 -]) diff --git a/misc/Makefile.am b/misc/Makefile.am deleted file mode 100644 index a807f4eef..000000000 --- a/misc/Makefile.am +++ /dev/null @@ -1,27 +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 - -if ZM_PLUGIN_SUPPORT -EXTRA_DIST += plugins.conf.in - -# Install a pkg-config file for a proper handling of the libzoneminder -# convenience library -pkgconfigdir = ${libdir}/pkgconfig -pkgconfig_DATA = libzoneminder.pc - -sysconf_DATA = plugins.conf -endif - -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/misc/logcheck b/misc/logcheck new file mode 100644 index 000000000..28940a6cc --- /dev/null +++ b/misc/logcheck @@ -0,0 +1,29 @@ +zmc_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Capturing at [.[:digit:]]+ fps\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Processing at [.[:digit:]]+ fps\]$ +zmc_m[[:digit:]]+\[[[:digit:]]+\]: INF \[Got signal 15 \(Terminated\), exiting\]$ +zmc_m[[:digit:]]+\[[[:digit:]]+\]: INF \[Starting Capture\]$ +zmc_m[[:digit:]]+\[[[:digit:]]+\]: ERR \[(Connection dropped by remote end|Unable to read (sub)?header|Unable to get response(, disconnecting)?|Select error: Interrupted system call|Can't connect to remote camera: Interrupted system call|Unable to connect to (the remote )?camera(, aborting)?)\]$ +zmc_m[[:digit:]]+\[[[:digit:]]+\]: WAR \[(Unable to capture image, retrying|Select timed out)\]$ +zmaudit\[[[:digit:]]+\]: INF \[Deleted [[:digit:]]+ log table entries by time\]$ +zmdc\[[[:digit:]]+\]: INF \[Starting pending process, [. [:alnum:]-]+\]$ +zmdc\[[[:digit:]]+\]: INF \['[. [:alnum:]-]+' start(ed|ing) at [/: [:digit:]]+(, pid = [[:digit:]]+)?\]$ +zmwatch\[[[:digit:]]+\]: INF \[Watchdog starting\]$ +zmwatch\[[[:digit:]]+\]: INF \[Watchdog pausing for 30 seconds\]$ +zmc_m3\[[[:digit:]]+\]: ERR \[Can't connect to remote camera: (No route to host|Connection refused)\]$ +zmdc\[[[:digit:]]+\]: ERR \['zmc -m 3' exited abnormally, exit status 255\]$ +zmc_m1\[[[:digit:]]+\]: ERR-zm_remote_camera_rtsp.cpp/302 \[Error while decoding frame 0\]$ +zmc_m1\[[[:digit:]]+\]: ERR-zm_remote_camera_rtsp.cpp/303 \[256: [ [:xdigit:]]+\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Gone into alarm state\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Opening new event [[:digit:]]+, alarm start\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Gone into alert state\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: WAR \[Waiting for capture daemon\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Gone back into alarm state\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Left alarm state \([[:digit:]]+\) - [[:digit:]]+\([[:digit:]]+\) images\]$ +zma_m[[:digit:]]+\[[[:digit:]]+\]: INF \[[[:alnum:]]+: [[:digit:]]+ - Closing event [[:digit:]]+, alarm end\]$ +zmaudit\[[[:digit:]]+\]: INF \[Filesystem event '[[:digit:]]+/[[:digit:]]+' does not exist in database\]$ +zmaudit\[[[:digit:]]+\]: INF \[deleting\]$ +zmaudit\[[[:digit:]]+\]: INF \[Found orphaned frame records for event '[[:digit:]]+'\]$ +zmfilter\[[[:digit:]]+\]: INF \[Deleting event [[:digit:]]+\]$ +zmtelemetry\[[[:digit:]]+\]: INF \[Telemetry data uploaded successfully.\]$ +zmtelemetry\[[[:digit:]]+\]: INF \[Sending data to ZoneMinder Telemetry server.\]$ +zmtelemetry\[[[:digit:]]+\]: INF \[Collec?ting data to send to ZoneMinder Telemetry server.\]$ 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/README b/onvif/README new file mode 100644 index 000000000..25065e18a --- /dev/null +++ b/onvif/README @@ -0,0 +1,102 @@ +ZoneMinder ONVIF support + +Copyright (C) 2016 Jan M. Hochstein + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-------------------------------------------------------------------------- + +1. PURPOSE +---------- + +The files in this folder and its subfolders add ONVIF support to zoneminder. +The ONVIF consortium (www.onvif.org) publishes the ONVIF specifications. These +specifications describe ways of connecting to and communicating with network +video devices. Hardware and software that adhere to these specifications are +meant to be interoperable. + + +2. SUBFOLDERS +------------- + +doc/ - Documentation +modules/ - perl modules necessary for SOAP communication +proxy/ - perl SOAP proxy modules generated according to the ONVIF + specifications +scripts/ - application logic +wsdl/ - (empty) this is only used during the proxy generation process + + +3. LICENSE +---------- +Any files in this folder and its subfolders are published under the same +license as this file if they do not carry additional license information. + + +4. PROXY GENERATION +------------------- + +SOAP messages use XML format and need to comply to the schema expected by the +receiver. While it is possible to build messages through string concatenation +it is impractical for all but testing purposes. +Here we use SOAP proxy modules generated by the script wsdl2perl.pl from the +SOAP::WSDL module (http://search.cpan.org/~mkutter/SOAP-WSDL-2.00.10/) +version 2.00.10. + +A - Get the input files. + + Download these files and any web service (.wsdl) or schema (.xsd) + files referenced therein into the wsdl/ subfolder. + + http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl + http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl + http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl + http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl + + The complete list of files we have during build is: + + analytics.wsdl + b-2.xsd + bf-2.xsd + br-2.xsd + brw-2.wsdl + bw-2.wsdl + devicemgmt.wsdl + media.wsdl + onvif.xsd + ptz.wsdl + r-2.xsd + rw-2.wsdl + soap-envelop.xsd + t-1.xsd + wsdd-discovery-1.1-schema-os.xsd + wsdd-discovery-1.1-wsdl-os.wsdl + wsdiscovery-udp.wsdl + wsdl11soap12.xsd + wsdl.xsd + wsnotification.wsdl + xmlmime.xsd + xop-include.xsd + +B - Generate the proxy modules using these commands. + + wsdl2perl.pl -p ONVIF::Device:: -b proxy/lib file:wsdl/devicemgmt.wsdl + wsdl2perl.pl -p ONVIF::Media:: -b proxy/lib file:wsdl/media.wsdl + wsdl2perl.pl -p ONVIF::PTZ:: -b proxy/lib file:wsdl/ptz.wsdl + wsdl2perl.pl -p ONVIF::Event:: -b proxy/lib file:wsdl/event.wsdl + wsdl2perl.pl -p ONVIF::Analytics:: -b proxy/lib file:wsdl/analytics.wsdl + wsdl2perl.pl -p WSDiscovery:: -b proxy/lib file:wsdl/wsdiscovery-udp.wsdl + wsdl2perl.pl -p WSNotification:: -b proxy/lib file:wsdl/wsnotification.wsdl + + I had to tweak SOAP::WSDL a little bit to get correct proxies. 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/modules/lib/ONVIF/Client.pm b/onvif/modules/lib/ONVIF/Client.pm index 2d16c9d13..eaf78747d 100644 --- a/onvif/modules/lib/ONVIF/Client.pm +++ b/onvif/modules/lib/ONVIF/Client.pm @@ -1,7 +1,7 @@ # ========================================================================== # # ZoneMinder ONVIF Client module -# Copyright (C) Jan M. Hochstein +# Copyright (C) 2014 Jan M. Hochstein # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff --git a/onvif/modules/lib/ONVIF/Deserializer/MessageParser.pm b/onvif/modules/lib/ONVIF/Deserializer/MessageParser.pm index c9234ae76..b0ce6f0fd 100644 --- a/onvif/modules/lib/ONVIF/Deserializer/MessageParser.pm +++ b/onvif/modules/lib/ONVIF/Deserializer/MessageParser.pm @@ -1,4 +1,27 @@ -#!/usr/bin/perl +# ========================================================================== +# +# ZoneMinder ONVIF Client module +# Copyright (C) 2014 Jan M. Hochstein +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the implementation of a SOAP message parser +# + package ONVIF::Deserializer::MessageParser; use strict; use warnings; diff --git a/onvif/modules/lib/ONVIF/Deserializer/XSD.pm b/onvif/modules/lib/ONVIF/Deserializer/XSD.pm index 6d96aa406..b4694d90d 100644 --- a/onvif/modules/lib/ONVIF/Deserializer/XSD.pm +++ b/onvif/modules/lib/ONVIF/Deserializer/XSD.pm @@ -1,3 +1,27 @@ +# ========================================================================== +# +# ZoneMinder ONVIF Client module +# Copyright (C) 2014 Jan M. Hochstein +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the implementation of a SOAP deserializer +# + package ONVIF::Deserializer::XSD; use strict; use warnings; diff --git a/onvif/modules/lib/ONVIF/Serializer/Base.pm b/onvif/modules/lib/ONVIF/Serializer/Base.pm index b6edf360f..7bab331cf 100644 --- a/onvif/modules/lib/ONVIF/Serializer/Base.pm +++ b/onvif/modules/lib/ONVIF/Serializer/Base.pm @@ -1,4 +1,27 @@ -#!/usr/bin/perl -w +# ========================================================================== +# +# ZoneMinder ONVIF Client module +# Copyright (C) 2014 Jan M. Hochstein +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the base class for the SOAP serializers +# + package ONVIF::Serializer::Base; use strict; use warnings; diff --git a/onvif/modules/lib/ONVIF/Serializer/SOAP11.pm b/onvif/modules/lib/ONVIF/Serializer/SOAP11.pm index 2813a0688..442a11d7a 100644 --- a/onvif/modules/lib/ONVIF/Serializer/SOAP11.pm +++ b/onvif/modules/lib/ONVIF/Serializer/SOAP11.pm @@ -1,4 +1,27 @@ -#!/usr/bin/perl -w +# ========================================================================== +# +# ZoneMinder ONVIF Client module +# Copyright (C) 2014 Jan M. Hochstein +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the SOAP 1.1 serializer +# + package ONVIF::Serializer::SOAP11; use strict; use warnings; diff --git a/onvif/modules/lib/ONVIF/Serializer/SOAP12.pm b/onvif/modules/lib/ONVIF/Serializer/SOAP12.pm index d378a3614..2805ea40f 100644 --- a/onvif/modules/lib/ONVIF/Serializer/SOAP12.pm +++ b/onvif/modules/lib/ONVIF/Serializer/SOAP12.pm @@ -1,4 +1,27 @@ -#!/usr/bin/perl -w +# ========================================================================== +# +# ZoneMinder ONVIF Client module +# Copyright (C) 2014 Jan M. Hochstein +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ========================================================================== +# +# This module contains the SOAP 1.2 serializer +# + package ONVIF::Serializer::SOAP12; use strict; use warnings; diff --git a/onvif/modules/lib/WSDiscovery/TransportUDP.pm b/onvif/modules/lib/WSDiscovery/TransportUDP.pm index 9bc6c74c9..375f9628d 100644 --- a/onvif/modules/lib/WSDiscovery/TransportUDP.pm +++ b/onvif/modules/lib/WSDiscovery/TransportUDP.pm @@ -1,7 +1,7 @@ # ========================================================================== # # Perl WS-Discovery implementation -# Copyright (C) Jan M. Hochstein +# Copyright (C) 2014 Jan M. Hochstein # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff --git a/onvif/modules/lib/WSSecurity/SecuritySerializer.pm b/onvif/modules/lib/WSSecurity/SecuritySerializer.pm index a2daac028..11a918af7 100644 --- a/onvif/modules/lib/WSSecurity/SecuritySerializer.pm +++ b/onvif/modules/lib/WSSecurity/SecuritySerializer.pm @@ -1,7 +1,7 @@ # ========================================================================== # # Perl WS-Security header for SOAP::WSDL -# Copyright (C) Jan M. Hochstein +# Copyright (C) 2014 Jan M. Hochstein # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -26,7 +26,7 @@ use strict; use warnings; use SOAP::WSDL::Factory::Serializer; use Time::Local; -use Digest::SHA1; +use Digest::SHA; use MIME::Base64; @@ -94,7 +94,7 @@ sub ws_authen { my $nonce = $nonce_generator->(); my $timestamp = timestamp(); - my $pwDigest = Digest::SHA1::sha1( $nonce . $timestamp . $password ); + my $pwDigest = Digest::SHA::sha1( $nonce . $timestamp . $password ); my $passwordHash = MIME::Base64::encode_base64($pwDigest,""); my $nonceHash = MIME::Base64::encode_base64($nonce,""); 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/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