Add new fuctions for plugins
This commit is contained in:
parent
abddb5d916
commit
2227d9c852
|
@ -230,3 +230,17 @@ bool Detector::Detect(const Image &zmImage, Zone** zones, Event::StringSet &zone
|
|||
|
||||
return alarm;
|
||||
}
|
||||
|
||||
|
||||
void Detector::_onCreateEvent(const Image &zmImage, Zone** zones)
|
||||
{
|
||||
for(std::vector<unsigned int>::iterator it = m_vnPluginZones.begin(); it != m_vnPluginZones.end(); ++it)
|
||||
onCreateEvent(zones[*it], *it, const Image *zmImage);
|
||||
}
|
||||
|
||||
|
||||
void Detector::_onCloseEvent(const Image &zmImage, Zone** zones)
|
||||
{
|
||||
for(std::vector<unsigned int>::iterator it = m_vnPluginZones.begin(); it != m_vnPluginZones.end(); ++it)
|
||||
onCloseEvent(zones[*it], *it, const Image *zmImage);
|
||||
}
|
||||
|
|
|
@ -78,6 +78,10 @@ public:
|
|||
//! Detect (in an image later)
|
||||
bool Detect(const Image &image, Zone** zones, Event::StringSet &zoneSet, unsigned int &score);
|
||||
|
||||
|
||||
void _onCreateEvent(const Image &zmImage, Zone** zones);
|
||||
void _onCloseEvent(const Image &zmImage, Zone** zones);
|
||||
|
||||
//! Load detector's parameters.
|
||||
virtual int loadConfig(string sConfigFileName, map<unsigned int,map<string,string> > mapPluginConf) = 0;
|
||||
|
||||
|
@ -98,6 +102,10 @@ protected:
|
|||
//! Do detection inside one given zone.
|
||||
virtual bool checkZone(Zone *zone, unsigned int n_zone, const Image *zmImage) = 0;
|
||||
|
||||
|
||||
virtual void onCreateEvent(Zone *zone, unsigned int n_zone, const Image *zmImage) = 0;
|
||||
virtual void onCloseEvent(Zone *zone, unsigned int n_zone, const Image *zmImage) = 0;
|
||||
|
||||
//! Log messages to the SYSLOG.
|
||||
void log(int, string sLevel, string sMessage);
|
||||
|
||||
|
|
|
@ -41,7 +41,25 @@ ImageAnalyser::~ImageAnalyser()
|
|||
delete *It;
|
||||
}
|
||||
|
||||
void ImageAnalyser::onCreateEvent(const Image &comp_image, Zone** zones, Event* event)
|
||||
{
|
||||
for ( DetectorsList::iterator It = m_Detectors.begin();
|
||||
It != m_Detectors.end();
|
||||
++It )
|
||||
{
|
||||
(*It)->_onCreateEvent(const comp_image, zones, event);
|
||||
}
|
||||
}
|
||||
|
||||
void ImageAnalyser::onCloseEvent(const Image &comp_image, Zone** zones, Event* event)
|
||||
{
|
||||
for ( DetectorsList::iterator It = m_Detectors.begin();
|
||||
It != m_Detectors.end();
|
||||
++It )
|
||||
{
|
||||
(*It)->_onCloseEvent(const comp_image, zones, event);
|
||||
} }
|
||||
}
|
||||
|
||||
/*!\fn ImageAnalyser::DoDetection(const Image &comp_image, Zone** zones, Event::StringSetMap noteSetMap, string& det_cause)
|
||||
* \param comp_image is the image to analyse
|
||||
|
|
|
@ -75,6 +75,9 @@ class ImageAnalyser {
|
|||
m_Detectors.push_back(Det.release());
|
||||
}
|
||||
|
||||
void onCreateEvent(const Image &comp_image, Zone** zones);
|
||||
void onCloseEvent(const Image &comp_image, Zone** zones);
|
||||
|
||||
//! Do detection in an image by calling all available detectors.
|
||||
bool DoDetection(const Image &comp_image, Zone** zones, Event::StringSetMap& noteSetMap, std::string& det_cause, unsigned int& score);
|
||||
|
||||
|
|
|
@ -1520,7 +1520,10 @@ bool Monitor::Analyse()
|
|||
// Create event
|
||||
event = new Event( this, *timestamp, "Continuous", noteSetMap );
|
||||
shared_data->last_event = event->Id();
|
||||
|
||||
#if ZM_PLUGINS_ON
|
||||
if (config.load_plugins)
|
||||
ThePluginManager.getImageAnalyser().onCreateEvent( *snap_image, zones, event );
|
||||
#endif // ZM_PLUGINS_ON
|
||||
Info( "%s: %03d - Opening new event %d, section start", name, image_count, event->Id() );
|
||||
|
||||
/* To prevent cancelling out an existing alert\prealarm\alarm state */
|
||||
|
|
Loading…
Reference in New Issue