broker: include cleanup

This commit is contained in:
Max Kellermann 2020-02-12 10:53:20 +01:00
parent 0cf5799ca6
commit c6ffec02fc
9 changed files with 33 additions and 26 deletions

View file

@ -4,6 +4,7 @@
#include "Func.h" #include "Func.h"
#include "Scope.h" #include "Scope.h"
#include "NetVar.h" #include "NetVar.h"
#include "ID.h"
#include "broker/Manager.h" #include "broker/Manager.h"
#include "broker/Data.h" #include "broker/Data.h"

View file

@ -10,6 +10,7 @@
#include "IntrusivePtr.h" #include "IntrusivePtr.h"
#include "Trigger.h" #include "Trigger.h"
#include "Val.h" #include "Val.h"
#include "ID.h"
vector<Frame*> g_frame_stack; vector<Frame*> g_frame_stack;

View file

@ -31,6 +31,7 @@
#include "Conn.h" #include "Conn.h"
#include "Reporter.h" #include "Reporter.h"
#include "IPAddr.h" #include "IPAddr.h"
#include "Var.h" // for internal_type()
#include "broker/Data.h" #include "broker/Data.h"

View file

@ -3,6 +3,7 @@
#include "Desc.h" #include "Desc.h"
#include "IntrusivePtr.h" #include "IntrusivePtr.h"
#include "RE.h" #include "RE.h"
#include "Var.h" // for internal_type()
#include "Scope.h" #include "Scope.h"
#include "module_util.h" #include "module_util.h"
#include "3rdparty/doctest.h" #include "3rdparty/doctest.h"
@ -1172,6 +1173,14 @@ IntrusivePtr<Val> bro_broker::DataVal::castTo(BroType* t)
return data_to_val(data, 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) IMPLEMENT_OPAQUE_VALUE(bro_broker::DataVal)
broker::expected<broker::data> bro_broker::DataVal::DoSerialize() const broker::expected<broker::data> bro_broker::DataVal::DoSerialize() const

View file

@ -4,7 +4,6 @@
#include "Reporter.h" #include "Reporter.h"
#include "Frame.h" #include "Frame.h"
#include "Expr.h" #include "Expr.h"
#include "Var.h" // for internal_type()
template <class T> template <class T>
class IntrusivePtr; class IntrusivePtr;
@ -111,13 +110,7 @@ public:
// Returns the Bro type that scripts use to represent a Broker data // Returns the Bro type that scripts use to represent a Broker data
// instance. This may be wrapping the opaque value inside another // instance. This may be wrapping the opaque value inside another
// type. // type.
static BroType* ScriptDataType() static BroType* ScriptDataType();
{
if ( ! script_data_type )
script_data_type = internal_type("Broker::Data");
return script_data_type;
}
broker::data data; broker::data data;

View file

@ -17,11 +17,11 @@
#include <string> #include <string>
#include <unordered_map> #include <unordered_map>
#include "NetVar.h"
#include "iosource/IOSource.h" #include "iosource/IOSource.h"
#include "logging/WriterBackend.h" #include "logging/WriterBackend.h"
class Frame; class Frame;
class Func;
namespace bro_broker { namespace bro_broker {

View file

@ -1,11 +1,28 @@
#include "Store.h" #include "Store.h"
#include "Desc.h" #include "Desc.h"
#include "Var.h" // for internal_type()
#include "broker/Manager.h" #include "broker/Manager.h"
namespace bro_broker { namespace bro_broker {
OpaqueType* opaque_of_store_handle; 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 void StoreHandleVal::ValDescribe(ODesc* d) const
{ {
//using BifEnum::Broker::BackendType; //using BifEnum::Broker::BackendType;

View file

@ -2,8 +2,6 @@
#include "broker/store.bif.h" #include "broker/store.bif.h"
#include "broker/data.bif.h" #include "broker/data.bif.h"
#include "Type.h"
#include "Var.h" // for internal_type()
#include "OpaqueVal.h" #include "OpaqueVal.h"
#include "Trigger.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. * @param success whether the query status should be set to success or failure.
* @return a Broker::QueryStatus value. * @return a Broker::QueryStatus value.
*/ */
inline EnumVal* query_status(bool success) 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);
}
/** /**
* @return a Broker::QueryResult value that has a Broker::QueryStatus indicating * @return a Broker::QueryResult value that has a Broker::QueryStatus indicating

View file

@ -14,6 +14,7 @@
#include "PktDumper.h" #include "PktDumper.h"
#include "plugin/Manager.h" #include "plugin/Manager.h"
#include "broker/Manager.h" #include "broker/Manager.h"
#include "NetVar.h"
#include "util.h" #include "util.h"