Implement Control() function to implement the Protocol Specific Control object
This commit is contained in:
parent
d62d88a0a3
commit
a2ec18be5a
|
@ -36,6 +36,7 @@ require ZoneMinder::Server;
|
||||||
require ZoneMinder::Memory;
|
require ZoneMinder::Memory;
|
||||||
require ZoneMinder::Monitor_Status;
|
require ZoneMinder::Monitor_Status;
|
||||||
require ZoneMinder::Zone;
|
require ZoneMinder::Zone;
|
||||||
|
use ZoneMinder::Logger qw(:all);
|
||||||
|
|
||||||
#our @ISA = qw(Exporter ZoneMinder::Base);
|
#our @ISA = qw(Exporter ZoneMinder::Base);
|
||||||
use parent qw(ZoneMinder::Object);
|
use parent qw(ZoneMinder::Object);
|
||||||
|
@ -313,6 +314,25 @@ sub resumeMotionDetection {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub Control {
|
||||||
|
my $self = shift;
|
||||||
|
if ( ! exists $$self{Control}) {
|
||||||
|
require ZoneMinder::Control;
|
||||||
|
my $Control = ZoneMinder::Control->find_one(Id=>$$self{ControlId});
|
||||||
|
if ($Control) {
|
||||||
|
require Module::Load::Conditional;
|
||||||
|
if (!Module::Load::Conditional::can_load(modules => {'ZoneMinder::Control::'.$$Control{Protocol} => undef})) {
|
||||||
|
Error("Can't load ZoneMinder::Control::$$Control{Protocol}\n$Module::Load::Conditional::ERROR");
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
bless $Control, 'ZoneMinder::Control::'.$$Control{Protocol};
|
||||||
|
$$Control{MonitorId} = $$self{Id};
|
||||||
|
$$self{Control} = $Control;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $$self{Control};
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
__END__
|
__END__
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue