]> git.tdb.fi Git - netvis.git/blobdiff - source/netvis.h
Adapt to MSP library changes
[netvis.git] / source / netvis.h
index 9e8661e58307c43ed9efe5d289fcb1e9eaacde8a..46b96a58a85d3779d00e80c5010d7af5ff9e5733 100644 (file)
@@ -13,58 +13,62 @@ Distributed unter the GPL
 #include <pcap.h>
 #include <msp/core/application.h>
 #include <msp/debug/profiler.h>
-#include <msp/gbase/display.h>
-#include <msp/gbase/glcontext.h>
-#include <msp/gbase/window.h>
+#include <msp/graphics/display.h>
+#include <msp/graphics/glcontext.h>
+#include <msp/graphics/simplewindow.h>
 #include <msp/gl/color.h>
 #include <msp/gl/font.h>
 #include <msp/time/timestamp.h>
 
+class History;
 class Host;
 class Packet;
+class Port;
 class Resolver;
 
-class NetVis: public Msp::Application
+class NetVis: public Msp::RegisteredApplication<NetVis>
 {
 private:
        std::string iface;
        pcap_t *pcap;
-       std::list<Packet *> packets;
-       std::map<unsigned, Host *> hosts;
-       std::map<unsigned, Host *> disabled_hosts;
-       Msp::Graphics::Display *dpy;
-       Msp::Graphics::Window *wnd;
-       Msp::Graphics::GLContext *glc;
-       Msp::Time::TimeStamp tick_t;
-       std::map<unsigned, Msp::GL::Color> 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<unsigned, Host *> hosts;
+       std::map<unsigned, Host *> disabled_hosts;
+       std::list<Packet *> packets;
+       std::map<unsigned, Port *> 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<unsigned, Host *> &get_hosts() const { return hosts; }
+       const std::map<unsigned, Port *> &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;
+       Port &get_port(unsigned);
+       void create_history_texture();
 
        static void capture_handler(unsigned char *, const pcap_pkthdr *, const unsigned char *);
 
        void sighandler(int);
-
-       static Application::RegApp<NetVis> reg;
 };
 
 #endif