]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/tracktype.h
Allow intercepting and denying turnout route and locomotive speed changes
[r2c2.git] / source / libmarklin / tracktype.h
index 9822fb26c72b66af71b64c354677328ae293e173..ba1b95ff6aee5148d5335f47648e9c2e5de84b00 100644 (file)
@@ -1,3 +1,10 @@
+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2009  Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
 #ifndef LIBMARKLIN_TRACKTYPE_H_
 #define LIBMARKLIN_TRACKTYPE_H_
 
@@ -10,17 +17,12 @@ namespace Marklin {
 class TrackType
 {
 public:
-       class Loader: public Msp::DataFile::Loader
+       class Loader: public Msp::DataFile::BasicLoader<TrackType>
        {
-       private:
-               TrackType &ttype;
-
        public:
                Loader(TrackType &);
-               TrackType &get_object() { return ttype; }
        private:
                virtual void finish();
-
                void part();
                void position(float, float, float);
        };
@@ -37,6 +39,7 @@ public:
        unsigned get_article_number() const { return art_nr; }
        const std::string &get_description() const { return description; }
        float get_total_length() const;
+       float get_route_length(int) const;
        unsigned get_n_routes() const;
        const std::vector<TrackPart> &get_parts() const { return parts; }
        const std::vector<Endpoint>  &get_endpoints() const { return endpoints; }