diff --git a/src/EventHandler.cc b/src/EventHandler.cc index 9928df9a8b..3f70a81b51 100644 --- a/src/EventHandler.cc +++ b/src/EventHandler.cc @@ -4,6 +4,7 @@ #include "Func.h" #include "Scope.h" #include "NetVar.h" +#include "ID.h" #include "broker/Manager.h" #include "broker/Data.h" diff --git a/src/Frame.cc b/src/Frame.cc index d3ab29f5f5..01bba1a679 100644 --- a/src/Frame.cc +++ b/src/Frame.cc @@ -10,6 +10,7 @@ #include "IntrusivePtr.h" #include "Trigger.h" #include "Val.h" +#include "ID.h" vector g_frame_stack; diff --git a/src/Val.cc b/src/Val.cc index e28b69385b..595c208f8a 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -31,6 +31,7 @@ #include "Conn.h" #include "Reporter.h" #include "IPAddr.h" +#include "Var.h" // for internal_type() #include "broker/Data.h" diff --git a/src/broker/Data.cc b/src/broker/Data.cc index 9ab45c7fdb..8733f1b686 100644 --- a/src/broker/Data.cc +++ b/src/broker/Data.cc @@ -3,6 +3,7 @@ #include "Desc.h" #include "IntrusivePtr.h" #include "RE.h" +#include "Var.h" // for internal_type() #include "Scope.h" #include "module_util.h" #include "3rdparty/doctest.h" @@ -1172,6 +1173,14 @@ IntrusivePtr bro_broker::DataVal::castTo(BroType* t) return data_to_val(data, t); } +BroType* bro_broker::DataVal::ScriptDataType() + { + if ( ! script_data_type ) + script_data_type = internal_type("Broker::Data"); + + return script_data_type; + } + IMPLEMENT_OPAQUE_VALUE(bro_broker::DataVal) broker::expected bro_broker::DataVal::DoSerialize() const diff --git a/src/broker/Data.h b/src/broker/Data.h index 5d55de56b6..d15613c852 100644 --- a/src/broker/Data.h +++ b/src/broker/Data.h @@ -4,7 +4,6 @@ #include "Reporter.h" #include "Frame.h" #include "Expr.h" -#include "Var.h" // for internal_type() template class IntrusivePtr; @@ -111,13 +110,7 @@ public: // Returns the Bro type that scripts use to represent a Broker data // instance. This may be wrapping the opaque value inside another // type. - static BroType* ScriptDataType() - { - if ( ! script_data_type ) - script_data_type = internal_type("Broker::Data"); - - return script_data_type; - } + static BroType* ScriptDataType(); broker::data data; diff --git a/src/broker/Manager.h b/src/broker/Manager.h index 0cbde06090..284f5a7538 100644 --- a/src/broker/Manager.h +++ b/src/broker/Manager.h @@ -17,11 +17,11 @@ #include #include -#include "NetVar.h" #include "iosource/IOSource.h" #include "logging/WriterBackend.h" class Frame; +class Func; namespace bro_broker { diff --git a/src/broker/Store.cc b/src/broker/Store.cc index 20020375eb..c542ff45c2 100644 --- a/src/broker/Store.cc +++ b/src/broker/Store.cc @@ -1,11 +1,28 @@ #include "Store.h" #include "Desc.h" +#include "Var.h" // for internal_type() #include "broker/Manager.h" namespace bro_broker { OpaqueType* opaque_of_store_handle; +EnumVal* query_status(bool success) + { + static EnumType* store_query_status = nullptr; + static int success_val; + static int failure_val; + + if ( ! store_query_status ) + { + store_query_status = internal_type("Broker::QueryStatus")->AsEnumType(); + success_val = store_query_status->Lookup("Broker", "SUCCESS"); + failure_val = store_query_status->Lookup("Broker", "FAILURE"); + } + + return store_query_status->GetVal(success ? success_val : failure_val); + } + void StoreHandleVal::ValDescribe(ODesc* d) const { //using BifEnum::Broker::BackendType; diff --git a/src/broker/Store.h b/src/broker/Store.h index fd8f0911d5..48c435191e 100644 --- a/src/broker/Store.h +++ b/src/broker/Store.h @@ -2,8 +2,6 @@ #include "broker/store.bif.h" #include "broker/data.bif.h" -#include "Type.h" -#include "Var.h" // for internal_type() #include "OpaqueVal.h" #include "Trigger.h" @@ -20,21 +18,7 @@ extern OpaqueType* opaque_of_store_handle; * @param success whether the query status should be set to success or failure. * @return a Broker::QueryStatus value. */ -inline EnumVal* query_status(bool success) - { - static EnumType* store_query_status = nullptr; - static int success_val; - static int failure_val; - - if ( ! store_query_status ) - { - store_query_status = internal_type("Broker::QueryStatus")->AsEnumType(); - success_val = store_query_status->Lookup("Broker", "SUCCESS"); - failure_val = store_query_status->Lookup("Broker", "FAILURE"); - } - - return store_query_status->GetVal(success ? success_val : failure_val); - } +EnumVal* query_status(bool success); /** * @return a Broker::QueryResult value that has a Broker::QueryStatus indicating diff --git a/src/iosource/Manager.cc b/src/iosource/Manager.cc index 1161171743..49c0fb50b8 100644 --- a/src/iosource/Manager.cc +++ b/src/iosource/Manager.cc @@ -14,6 +14,7 @@ #include "PktDumper.h" #include "plugin/Manager.h" #include "broker/Manager.h" +#include "NetVar.h" #include "util.h"