X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fshoppinglist%2Fmain.cpp;h=a56326c937e16a58fc8e597f931ac0e891599238;hb=09843b65a4a8aa1e7f53bd3d2ec1e431d29bf513;hp=a87e2f8cab7a817db5d78ed36b6ae0bade96fe00;hpb=6c61179fe09af2f5366d50f10aadbf5f83438087;p=r2c2.git diff --git a/source/shoppinglist/main.cpp b/source/shoppinglist/main.cpp index a87e2f8..a56326c 100644 --- a/source/shoppinglist/main.cpp +++ b/source/shoppinglist/main.cpp @@ -1,9 +1,15 @@ -#include +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #include #include #include -#include -#include +#include +#include using namespace std; using namespace Msp; @@ -14,7 +20,7 @@ public: ShoppingList(int, char **); void print(ostream &); private: - class InventoryLoader: public Parser::Loader + class InventoryLoader: public DataFile::Loader { public: InventoryLoader(ShoppingList &); @@ -24,7 +30,7 @@ private: void track(unsigned, unsigned); }; - class LayoutLoader: public Parser::Loader + class LayoutLoader: public DataFile::Loader { public: LayoutLoader(ShoppingList &); @@ -34,10 +40,8 @@ private: void track(unsigned); }; - typedef map TrackMap; - - TrackMap inventory; - TrackMap layout; + map inventory; + map layout; void load_inventory(const string &); void load_layout(const string &); @@ -63,16 +67,16 @@ ShoppingList::ShoppingList(int argc, char **argv) void ShoppingList::load_inventory(const string &fn) { - ifstream in(fn.c_str()); - Parser::Parser parser(in, fn); + IO::File in(fn); + DataFile::Parser parser(in, fn); InventoryLoader il(*this); il.load(parser); } void ShoppingList::load_layout(const string &fn) { - ifstream in(fn.c_str()); - Parser::Parser parser(in, fn); + IO::File in(fn); + DataFile::Parser parser(in, fn); LayoutLoader ll(*this); ll.load(parser); } @@ -80,9 +84,9 @@ void ShoppingList::load_layout(const string &fn) void ShoppingList::print(ostream &out) { out<<"// Need to get:\n"; - for(TrackMap::iterator i=layout.begin(); i!=layout.end(); ++i) + for(map::iterator i=layout.begin(); i!=layout.end(); ++i) { - TrackMap::iterator j=inventory.find(i->first); + map::iterator j=inventory.find(i->first); if(j!=inventory.end()) { if(j->secondsecond) @@ -93,17 +97,17 @@ void ShoppingList::print(ostream &out) } out<<"// Pre-existing:\n"; - for(TrackMap::iterator i=layout.begin(); i!=layout.end(); ++i) + for(map::iterator i=layout.begin(); i!=layout.end(); ++i) { - TrackMap::iterator j=inventory.find(i->first); + map::iterator j=inventory.find(i->first); if(j!=inventory.end()) out<<"track "<first<<' '<second,j->second)<<";\n"; } out<<"// Unused:\n"; - for(TrackMap::iterator i=inventory.begin(); i!=inventory.end(); ++i) + for(map::iterator i=inventory.begin(); i!=inventory.end(); ++i) { - TrackMap::iterator j=layout.find(i->first); + map::iterator j=layout.find(i->first); if(j!=layout.end()) { if(j->secondsecond) @@ -130,6 +134,7 @@ ShoppingList::LayoutLoader::LayoutLoader(ShoppingList &s): { add("track", &LayoutLoader::track); add("base"); + add("route"); } void ShoppingList::LayoutLoader::track(unsigned part)