]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/layout.h
Major code refactoring:
[r2c2.git] / source / libmarklin / layout.h
index c292af6ed29167d47e2c7068cf3c939757d48187..d1844dee66bd5f387ff79fc7f2e1664c03536898 100644 (file)
@@ -2,7 +2,7 @@
 #define LIBMARKLIN_LAYOUT_H_
 
 #include <sigc++/sigc++.h>
-#include <msp/parser/loader.h>
+#include <msp/datafile/loader.h>
 #include "route.h"
 #include "track.h"
 
@@ -13,7 +13,7 @@ class Catalogue;
 class Layout
 {
 public:
-       class Loader: public Msp::Parser::Loader
+       class Loader: public Msp::DataFile::Loader
        {
        public:
                Loader(Layout &);
@@ -24,13 +24,13 @@ public:
                void track(unsigned);
        };
 
-       sigc::signal<void, Track *> signal_track_added;
-       sigc::signal<void, Track *> signal_track_removed;
+       sigc::signal<void, Track &> signal_track_added;
+       sigc::signal<void, Track &> signal_track_removed;
 
        Layout(Catalogue &);
-       const TrackSeq &get_tracks() const { return tracks; }
-       void  add_track(Track *);
-       void  remove_track(Track *);
+       const std::set<Track *> &get_tracks() const { return tracks; }
+       void  add_track(Track &);
+       void  remove_track(Track &);
        void  check_links();
        void  load(const std::string &);
        int   save(const std::string &);
@@ -39,8 +39,8 @@ private:
        Catalogue   &catalogue;
        std::string filename;
        std::string base;
-       TrackSeq    tracks;
-       RouteSeq    routes;
+       std::set<Track *> tracks;
+       //RouteSeq    routes;
 };
 
 } // namespace Marklin