formats.{cpp,h}: Get rid of global vars

This commit is contained in:
Henri DF
2016-03-01 11:56:40 -08:00
parent 0cdbdf9215
commit 3195c8abea
3 changed files with 11 additions and 12 deletions

View File

@@ -52,7 +52,6 @@ string lua_on_event = "on_event";
// //
void do_inspect(sinsp* inspector, void do_inspect(sinsp* inspector,
digwatch_rules* rules, digwatch_rules* rules,
digwatch_formats* formats,
lua_State* ls) lua_State* ls)
{ {
int32_t res; int32_t res;
@@ -119,7 +118,6 @@ int digwatch_init(int argc, char **argv)
int result = EXIT_SUCCESS; int result = EXIT_SUCCESS;
sinsp* inspector = NULL; sinsp* inspector = NULL;
digwatch_rules* rules = NULL; digwatch_rules* rules = NULL;
digwatch_formats* formats = NULL;
int op; int op;
sinsp_evt::param_fmt event_buffer_format = sinsp_evt::PF_NORMAL; sinsp_evt::param_fmt event_buffer_format = sinsp_evt::PF_NORMAL;
int long_index = 0; int long_index = 0;
@@ -216,7 +214,9 @@ int digwatch_init(int argc, char **argv)
luaL_openlibs(ls); luaL_openlibs(ls);
rules = new digwatch_rules(inspector, ls, lua_main_filename, lua_dir); rules = new digwatch_rules(inspector, ls, lua_main_filename, lua_dir);
formats = new digwatch_formats(inspector, ls);
digwatch_formats::init(inspector, ls);
digwatch_fields::init(inspector, ls);
rules->load_rules(rules_file); rules->load_rules(rules_file);
inspector->set_filter(rules->get_filter()); inspector->set_filter(rules->get_filter());
@@ -224,7 +224,6 @@ int digwatch_init(int argc, char **argv)
do_inspect(inspector, do_inspect(inspector,
rules, rules,
formats,
ls); ls);
inspector->close(); inspector->close();

View File

@@ -1,7 +1,7 @@
#include "formats.h" #include "formats.h"
sinsp* g_inspector; sinsp* digwatch_formats::s_inspector = NULL;
const static struct luaL_reg ll_digwatch [] = const static struct luaL_reg ll_digwatch [] =
{ {
@@ -10,13 +10,11 @@ const static struct luaL_reg ll_digwatch [] =
{NULL,NULL} {NULL,NULL}
}; };
digwatch_formats::digwatch_formats(sinsp* inspector, lua_State *ls) void digwatch_formats::init(sinsp* inspector, lua_State *ls)
{ {
g_inspector = inspector; s_inspector = inspector;
m_ls = ls; luaL_openlib(ls, "digwatch", ll_digwatch, 0);
luaL_openlib(m_ls, "digwatch", ll_digwatch, 0);
} }
int digwatch_formats::formatter(lua_State *ls) int digwatch_formats::formatter(lua_State *ls)
@@ -25,7 +23,7 @@ int digwatch_formats::formatter(lua_State *ls)
sinsp_evt_formatter* formatter; sinsp_evt_formatter* formatter;
try try
{ {
formatter = new sinsp_evt_formatter(g_inspector, format); formatter = new sinsp_evt_formatter(s_inspector, format);
} }
catch(sinsp_exception& e) catch(sinsp_exception& e)
{ {

View File

@@ -13,7 +13,7 @@ class sinsp_evt_formatter;
class digwatch_formats class digwatch_formats
{ {
public: public:
digwatch_formats(sinsp* inspector, lua_State *ls); static void init(sinsp* inspector, lua_State *ls);
// formatter = digwatch.formatter(format_string) // formatter = digwatch.formatter(format_string)
static int formatter(lua_State *ls); static int formatter(lua_State *ls);
@@ -21,6 +21,8 @@ class digwatch_formats
// formatted_string = digwatch.format_event(evt, formatter) // formatted_string = digwatch.format_event(evt, formatter)
static int format_event(lua_State *ls); static int format_event(lua_State *ls);
static sinsp* s_inspector;
private: private:
lua_State* m_ls; lua_State* m_ls;
}; };