1# ==========================================================================
2#
3# ZoneMinder Zone Module
4# Copyright (C) 2020 ZoneMinder LLC
5#
6# This program is free software; you can redistribute it and/or
7# modify it under the terms of the GNU General Public License
8# as published by the Free Software Foundation; either version 2
9# of the License, or (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19#
20# ==========================================================================
21
22package ZoneMinder::Zone;
23
24use 5.006;
25use strict;
26use warnings;
27
28require ZoneMinder::Base;
29require ZoneMinder::Object;
30
31#our @ISA = qw(Exporter ZoneMinder::Base);
32use parent qw(ZoneMinder::Object);
33
34use vars qw/ $table $primary_key %fields $serial %defaults $debug/;
35$table = 'Zones';
36$serial = $primary_key = 'Id';
37%fields = map { $_ => $_ } qw(
38  Id
39  Name
40  MonitorId
41  Type
42  Units
43  CheckMethod
44  MinPixelThreshold
45  MaxPixelThreshold
46  MinAlarmPixels
47  MaxAlarmPixels
48  FilterX
49  FilterY
50  MinFilterPixels
51  MaxFilterPixels
52  MinBlobPixels
53  MaxBlobPixels
54  MinBlobs
55  MaxBlobs
56  OverloadFrames
57  ExtendAlarmFrames
58  );
59
60%defaults = (
61  Name                => '',
62  Type => 'Active',
63  Units => 'Pixels',
64  CheckMethod => 'Blobs',
65  MinPixelThreshold => undef,
66  MaxPixelThreshold => undef,
67  MinAlarmPixels => undef,
68  MaxAlarmPixels => undef,
69  FilterX => undef,
70  FilterY => undef,
71  MinFilterPixels => undef,
72  MaxFilterPixels => undef,
73  MinBlobPixels => undef,
74  MaxBlobPixels => undef,
75  MinBlobs => undef,
76  MaxBlobs => undef,
77  OverloadFrames => 0,
78  ExtendAlarmFrames => 0,
79);
80
811;
82__END__
83
84=head1 NAME
85
86ZoneMinder::Zone - Perl Class for Zones
87
88=head1 SYNOPSIS
89
90use ZoneMinder::Zone;
91
92=head1 AUTHOR
93
94Isaac Connor, E<lt>isaac@zoneminder.comE<gt>
95
96=head1 COPYRIGHT AND LICENSE
97
98Copyright (C) 2001-2017  ZoneMinder LLC
99
100This library is free software; you can redistribute it and/or modify
101it under the same terms as Perl itself, either Perl version 5.8.3 or,
102at your option, any later version of Perl 5 you may have available.
103
104
105=cut
106