// See the file "COPYING" in the main distribution directory for copyright. #include "zeek/file_analysis/Component.h" #include "zeek/Desc.h" #include "zeek/file_analysis/Manager.h" #include "zeek/util.h" namespace zeek::file_analysis { Component::Component(const std::string& name, factory_function arg_factory, Tag::subtype_t subtype, bool arg_enabled) : plugin::Component(plugin::component::FILE_ANALYZER, name, subtype, file_mgr->GetTagType()) { factory_func = arg_factory; SetEnabled(arg_enabled); } void Component::Initialize() { InitializeTag(); file_mgr->RegisterComponent(this, "ANALYZER_"); } void Component::DoDescribe(ODesc* d) const { if ( factory_func ) { d->Add("ANALYZER_"); d->Add(CanonicalName()); d->Add(", "); } d->Add(Enabled() ? "enabled" : "disabled"); } } // namespace zeek::file_analysis