mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 02:58:20 +00:00

with a MIME type. Whenever that MIME is detected, Bro will now automatically activate the analyzer. The interface mimics how well-known ports are defined for protocol analyzers. This isn't actually used by any existing file analyzer (because we don't have any yet that target a specific file format), but there's a test making sure it works.
36 lines
791 B
C++
36 lines
791 B
C++
// See the file "COPYING" in the main distribution directory for copyright.
|
|
|
|
#include "Component.h"
|
|
#include "Manager.h"
|
|
|
|
#include "../Desc.h"
|
|
#include "../util.h"
|
|
|
|
using namespace analyzer;
|
|
|
|
Component::Component(const std::string& name, factory_callback arg_factory, Tag::subtype_t arg_subtype, bool arg_enabled, bool arg_partial)
|
|
: plugin::Component(plugin::component::ANALYZER, name),
|
|
plugin::TaggedComponent<analyzer::Tag>(arg_subtype)
|
|
{
|
|
factory = arg_factory;
|
|
enabled = arg_enabled;
|
|
partial = arg_partial;
|
|
|
|
analyzer_mgr->RegisterComponent(this, "ANALYZER_");
|
|
}
|
|
|
|
Component::~Component()
|
|
{
|
|
}
|
|
|
|
void Component::DoDescribe(ODesc* d) const
|
|
{
|
|
if ( factory )
|
|
{
|
|
d->Add("ANALYZER_");
|
|
d->Add(CanonicalName());
|
|
d->Add(", ");
|
|
}
|
|
|
|
d->Add(enabled ? "enabled" : "disabled");
|
|
}
|