3 This file is part of NetVis
4 Copyright @ 2008 Mikko Rasa, Mikkosoft Productions
5 Distributed unter the GPL
14 #include <msp/core/application.h>
15 #include <msp/debug/profiler.h>
16 #include <msp/gbase/display.h>
17 #include <msp/gbase/glcontext.h>
18 #include <msp/gbase/window.h>
19 #include <msp/gl/color.h>
20 #include <msp/gl/font.h>
21 #include <msp/time/timestamp.h>
27 class NetVis: public Msp::Application
32 std::list<Packet *> packets;
33 std::map<unsigned, Host *> hosts;
34 std::map<unsigned, Host *> disabled_hosts;
35 Msp::Graphics::Display *dpy;
36 Msp::Graphics::Window *wnd;
37 Msp::Graphics::GLContext *glc;
38 Msp::Time::TimeStamp tick_t;
39 std::map<unsigned, Msp::GL::Color> port_colors;
41 Msp::GL::Texture2D *font_tex;
42 Msp::Debug::Profiler profiler;
47 unsigned localnet_mask;
48 Msp::Time::TimeStamp fps_t;
55 const Msp::GL::Font &get_font() const { return *font; }
56 const std::map<unsigned, Host *> &get_hosts() const { return hosts; }
59 Host &get_host(unsigned);
60 Msp::GL::Color &get_port_color(unsigned);
61 void key_press(unsigned, unsigned, wchar_t);
63 static void capture_handler(unsigned char *, const pcap_pkthdr *, const unsigned char *);
67 static Application::RegApp<NetVis> reg;