]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/vehicletype.h
Full vehicle unification
[r2c2.git] / source / libmarklin / vehicletype.h
index 65f69e766d54ca66d48d3bb9000a6f68ab2bad22..2edf3bf55fee5242a11c73cb363327fcd70f4f61 100644 (file)
@@ -22,6 +22,7 @@ public:
        private:
                void axle();
                void bogie();
+               void function(unsigned, const std::string &);
                void height(float);
                void length(float);
                void width(float);
@@ -67,6 +68,8 @@ public:
 private:
        unsigned art_nr;
        std::string name;
+       bool locomotive;
+       std::map<unsigned, std::string> functions;
        float length;
        float width;
        float height;
@@ -76,10 +79,12 @@ private:
 
 public:
        VehicleType(unsigned);
-       virtual ~VehicleType() { } // XXX temporary
 
        unsigned get_article_number() const { return art_nr; }
        const std::string &get_name() const { return name; }
+       bool is_locomotive() const { return locomotive; }
+       unsigned get_max_function() const;
+       const std::map<unsigned, std::string> &get_functions() const { return functions; }
        float get_length() const { return length; }
        float get_width() const { return width; }
        float get_height() const { return height; }