X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fcatalogue.h;h=a436994ecea6ae700268bd878d8c4a25135831be;hb=8e3009751ee81e0e5312cae53ee844bdd9e49628;hp=9a21c5ebadcc15c3e8f57b4257be9293af18891a;hpb=97443d96ff3ce51388d2edd1e0dca8f2cd231346;p=r2c2.git diff --git a/source/libmarklin/catalogue.h b/source/libmarklin/catalogue.h index 9a21c5e..a436994 100644 --- a/source/libmarklin/catalogue.h +++ b/source/libmarklin/catalogue.h @@ -10,6 +10,7 @@ Distributed under the GPL #include #include +#include "articlenumber.h" #include "layout.h" #include "profile.h" @@ -32,9 +33,14 @@ public: void rail_profile(); void scale(float, float); void track(unsigned); + void track(ArticleNumber); void vehicle(unsigned); + void vehicle(ArticleNumber); }; + typedef std::map TrackMap; + typedef std::map VehicleMap; + sigc::signal signal_track_added; sigc::signal signal_vehicle_added; @@ -44,8 +50,8 @@ private: Profile rail_profile; Profile ballast_profile; Profile path_profile; - std::map tracks; - std::map vehicles; + TrackMap tracks; + VehicleMap vehicles; Layout layout; public: @@ -60,12 +66,12 @@ public: const Profile &get_path_profile() const { return path_profile; } void add_track(TrackType &); - const TrackType &get_track(unsigned) const; - const std::map &get_tracks() const { return tracks; } + const TrackType &get_track(const ArticleNumber &) const; + const TrackMap &get_tracks() const { return tracks; } void add_vehicle(VehicleType &); - const VehicleType &get_vehicle(unsigned) const; - const std::map &get_vehicles() const { return vehicles; } + const VehicleType &get_vehicle(const ArticleNumber &) const; + const VehicleMap &get_vehicles() const { return vehicles; } Layout &get_layout() { return layout; } };