X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetvis.h;h=989e06054555e3da34bd6f0a4e775c52bd8b51f1;hb=398c5e3e6e03080b6b057fd56858ab04694969ed;hp=9e8661e58307c43ed9efe5d289fcb1e9eaacde8a;hpb=a56b7174bc4d39064e5fb8d22953963f224315db;p=netvis.git diff --git a/source/netvis.h b/source/netvis.h index 9e8661e..989e060 100644 --- a/source/netvis.h +++ b/source/netvis.h @@ -15,13 +15,15 @@ Distributed unter the GPL #include #include #include -#include +#include #include #include #include +class History; class Host; class Packet; +class Port; class Resolver; class NetVis: public Msp::Application @@ -29,36 +31,40 @@ class NetVis: public Msp::Application private: std::string iface; pcap_t *pcap; - std::list packets; - std::map hosts; - std::map disabled_hosts; - Msp::Graphics::Display *dpy; - Msp::Graphics::Window *wnd; - Msp::Graphics::GLContext *glc; - Msp::Time::TimeStamp tick_t; - std::map port_colors; - Msp::GL::Font *font; - Msp::GL::Texture2D *font_tex; - Msp::Debug::Profiler profiler; - bool draw_labels; - bool blend; Resolver *resolver; unsigned localnet; unsigned localnet_mask; + + Msp::Graphics::SimpleGLWindow *wnd; + Msp::GL::Font *font; + + unsigned max_hosts; + unsigned max_visible_hosts; + std::map hosts; + std::map disabled_hosts; + std::list packets; + std::map ports; + History *history; + + Msp::Time::TimeStamp tick_t; Msp::Time::TimeStamp fps_t; unsigned frames; float fps; public: NetVis(int, char **); - int main(); + ~NetVis(); + const Msp::GL::Font &get_font() const { return *font; } const std::map &get_hosts() const { return hosts; } + const std::map &get_ports() const { return ports; } private: virtual void tick(); + void render(); Host &get_host(unsigned); - Msp::GL::Color &get_port_color(unsigned); - void key_press(unsigned, unsigned, wchar_t); + Msp::GL::Color generate_color(bool) const; + const Port &get_port(unsigned); + void create_history_texture(); static void capture_handler(unsigned char *, const pcap_pkthdr *, const unsigned char *);