Move Trigger into the zeek::detail namespace

This commit is contained in:
Tim Wojtulewicz 2020-05-19 13:45:59 -07:00
parent 0d623d003c
commit 54233ce596
8 changed files with 29 additions and 27 deletions

View file

@ -505,7 +505,7 @@ void Frame::CaptureClosure(Frame* c, id_list arg_outer_ids)
// if (c) closure = c->SelectiveClone(outer_ids);
}
void Frame::SetTrigger(IntrusivePtr<trigger::Trigger> arg_trigger)
void Frame::SetTrigger(IntrusivePtr<zeek::detail::trigger::Trigger> arg_trigger)
{
trigger = std::move(arg_trigger);
}

View file

@ -16,10 +16,10 @@
#include <broker/data.hh>
#include <broker/expected.hh>
namespace trigger { class Trigger; }
class BroFunc;
FORWARD_DECLARE_NAMESPACED(CallExpr, zeek::detail);
FORWARD_DECLARE_NAMESPACED(Trigger, zeek::detail::trigger);
class Frame : public BroObj {
public:
@ -216,9 +216,9 @@ public:
// If the frame is run in the context of a trigger condition evaluation,
// the trigger needs to be registered.
void SetTrigger(IntrusivePtr<trigger::Trigger> arg_trigger);
void SetTrigger(IntrusivePtr<zeek::detail::trigger::Trigger> arg_trigger);
void ClearTrigger();
trigger::Trigger* GetTrigger() const { return trigger.get(); }
zeek::detail::trigger::Trigger* GetTrigger() const { return trigger.get(); }
void SetCall(const zeek::detail::CallExpr* arg_call) { call = arg_call; }
void ClearCall() { call = nullptr; }
@ -322,7 +322,7 @@ private:
/** The next statement to be evaluted in the context of this frame. */
zeek::detail::Stmt* next_stmt;
IntrusivePtr<trigger::Trigger> trigger;
IntrusivePtr<zeek::detail::trigger::Trigger> trigger;
const zeek::detail::CallExpr* call;
std::unique_ptr<std::vector<BroFunc*>> functions_with_closure_frame_reference;

View file

@ -191,7 +191,7 @@ void ProfileLogger::Log()
dstats.requests, dstats.successful, dstats.failed, dstats.pending,
dstats.cached_hosts, dstats.cached_addresses));
trigger::Manager::Stats tstats;
zeek::detail::trigger::Manager::Stats tstats;
trigger_mgr->GetStats(&tstats);
file->Write(fmt("%.06f Triggers: total=%lu pending=%lu\n", network_time, tstats.total, tstats.pending));

View file

@ -15,13 +15,13 @@
#include "DebugLogger.h"
#include "iosource/Manager.h"
using namespace trigger;
using namespace zeek::detail;
using namespace zeek::detail::trigger;
// Callback class to traverse an expression, registering all relevant IDs and
// Vals for change notifications.
namespace trigger {
namespace zeek::detail::trigger {
class TriggerTraversalCallback : public TraversalCallback {
public:
@ -31,15 +31,13 @@ public:
~TriggerTraversalCallback()
{ Unref(trigger); }
virtual TraversalCode PreExpr(const zeek::detail::Expr*);
virtual TraversalCode PreExpr(const zeek::detail::Expr*) override;
private:
Trigger* trigger;
};
}
TraversalCode TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr)
TraversalCode zeek::detail::trigger::TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr)
{
// We catch all expressions here which in some way reference global
// state.
@ -84,8 +82,6 @@ TraversalCode TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr)
return TC_CONTINUE;
}
namespace trigger {
class TriggerTimer final : public Timer {
public:
TriggerTimer(double arg_timeout, Trigger* arg_trigger)
@ -121,8 +117,6 @@ protected:
double time;
};
}
Trigger::Trigger(zeek::detail::Expr* arg_cond, zeek::detail::Stmt* arg_body,
zeek::detail::Stmt* arg_timeout_stmts,
zeek::detail::Expr* arg_timeout, Frame* arg_frame,
@ -555,3 +549,5 @@ void Manager::GetStats(Stats* stats)
stats->total = total_triggers;
stats->pending = pending->size();
}
}

View file

@ -18,7 +18,8 @@ FORWARD_DECLARE_NAMESPACED(Expr, zeek::detail);
FORWARD_DECLARE_NAMESPACED(CallExpr, zeek::detail);
FORWARD_DECLARE_NAMESPACED(ID, zeek::detail);
namespace trigger {
namespace zeek::detail::trigger {
// Triggers are the heart of "when" statements: expressions that when
// they become true execute a body of statements.
@ -142,4 +143,9 @@ private:
}
extern trigger::Manager* trigger_mgr;
namespace trigger {
using Trigger [[deprecated("Remove in v4.1. Use zeek::detail::trigger::Trigger instead")]] = zeek::detail::trigger::Trigger;
using Manager [[deprecated("Remove in v4.1. Use zeek::detail::trigger::Manager instead")]] = zeek::detail::trigger::Manager;
}
extern zeek::detail::trigger::Manager* trigger_mgr;

View file

@ -50,7 +50,7 @@ inline IntrusivePtr<RecordVal> query_result(IntrusivePtr<RecordVal> data)
*/
class StoreQueryCallback {
public:
StoreQueryCallback(trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call,
StoreQueryCallback(zeek::detail::trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call,
broker::store store)
: trigger(arg_trigger), call(arg_call), store(std::move(store))
{
@ -83,7 +83,7 @@ public:
private:
trigger::Trigger* trigger;
zeek::detail::trigger::Trigger* trigger;
const zeek::detail::CallExpr* call;
broker::store store;
};

View file

@ -98,7 +98,7 @@ zeekygen::Manager* zeekygen_mgr = nullptr;
iosource::Manager* iosource_mgr = nullptr;
bro_broker::Manager* broker_mgr = nullptr;
zeek::Supervisor* zeek::supervisor_mgr = nullptr;
trigger::Manager* trigger_mgr = nullptr;
zeek::detail::trigger::Manager* trigger_mgr = nullptr;
std::vector<std::string> zeek_script_prefixes;
zeek::detail::Stmt* stmts;
@ -570,7 +570,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
file_mgr = new file_analysis::Manager();
auto broker_real_time = ! options.pcap_file && ! options.deterministic_mode;
broker_mgr = new bro_broker::Manager(broker_real_time);
trigger_mgr = new trigger::Manager();
trigger_mgr = new zeek::detail::trigger::Manager();
plugin_mgr->InitPreScript();
analyzer_mgr->InitPreScript();

View file

@ -3479,7 +3479,7 @@ function dump_packet%(pkt: pcap_packet, file_name: string%) : bool
class LookupHostCallback : public DNS_Mgr::LookupCallback {
public:
LookupHostCallback(trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call,
LookupHostCallback(zeek::detail::trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call,
bool arg_lookup_name)
{
Ref(arg_trigger);
@ -3531,7 +3531,7 @@ public:
}
private:
trigger::Trigger* trigger;
zeek::detail::trigger::Trigger* trigger;
const zeek::detail::CallExpr* call;
bool lookup_name;
};
@ -3550,7 +3550,7 @@ function lookup_addr%(host: addr%) : string
%{
// FIXME: It should be easy to adapt the function to synchronous
// lookups if we're reading a trace.
trigger::Trigger* trigger = frame->GetTrigger();
zeek::detail::trigger::Trigger* trigger = frame->GetTrigger();
if ( ! trigger)
{
@ -3579,7 +3579,7 @@ function lookup_hostname_txt%(host: string%) : string
%{
// FIXME: Is should be easy to adapt the function to synchronous
// lookups if we're reading a trace.
trigger::Trigger* trigger = frame->GetTrigger();
zeek::detail::trigger::Trigger* trigger = frame->GetTrigger();
if ( ! trigger)
{
@ -3608,7 +3608,7 @@ function lookup_hostname%(host: string%) : addr_set
%{
// FIXME: Is should be easy to adapt the function to synchronous
// lookups if we're reading a trace.
trigger::Trigger* trigger = frame->GetTrigger();
zeek::detail::trigger::Trigger* trigger = frame->GetTrigger();
if ( ! trigger)
{