]> git.tdb.fi Git - r2c2.git/blobdiff - source/shoppinglist/main.cpp
Add train status display
[r2c2.git] / source / shoppinglist / main.cpp
index a87e2f8cab7a817db5d78ed36b6ae0bade96fe00..7a4f3bab822f9496b3c8736022b1f08a8f29c718 100644 (file)
@@ -1,9 +1,8 @@
-#include <fstream>
 #include <iostream>
 #include <map>
 #include <msp/core/getopt.h>
-#include <msp/parser/loader.h>
-#include <msp/parser/parser.h>
+#include <msp/datafile/loader.h>
+#include <msp/datafile/parser.h>
 
 using namespace std;
 using namespace Msp;
@@ -14,7 +13,7 @@ public:
        ShoppingList(int, char **);
        void print(ostream &);
 private:
-       class InventoryLoader: public Parser::Loader
+       class InventoryLoader: public DataFile::Loader
        {
        public:
                InventoryLoader(ShoppingList &);
@@ -24,7 +23,7 @@ private:
                void track(unsigned, unsigned);
        };
 
-       class LayoutLoader: public Parser::Loader
+       class LayoutLoader: public DataFile::Loader
        {
        public:
                LayoutLoader(ShoppingList &);
@@ -34,10 +33,8 @@ private:
                void track(unsigned);
        };
 
-       typedef map<unsigned, unsigned> TrackMap;
-
-       TrackMap inventory;
-       TrackMap layout;
+       map<unsigned, unsigned> inventory;
+       map<unsigned, unsigned> layout;
 
        void load_inventory(const string &);
        void load_layout(const string &);
@@ -63,16 +60,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 +77,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<unsigned, unsigned>::iterator i=layout.begin(); i!=layout.end(); ++i)
        {
-               TrackMap::iterator j=inventory.find(i->first);
+               map<unsigned, unsigned>::iterator j=inventory.find(i->first);
                if(j!=inventory.end())
                {
                        if(j->second<i->second)
@@ -93,17 +90,17 @@ void ShoppingList::print(ostream &out)
        }
 
        out<<"// Pre-existing:\n";
-       for(TrackMap::iterator i=layout.begin(); i!=layout.end(); ++i)
+       for(map<unsigned, unsigned>::iterator i=layout.begin(); i!=layout.end(); ++i)
        {
-               TrackMap::iterator j=inventory.find(i->first);
+               map<unsigned, unsigned>::iterator j=inventory.find(i->first);
                if(j!=inventory.end())
                        out<<"track "<<i->first<<' '<<min(i->second,j->second)<<";\n";
        }
 
        out<<"// Unused:\n";
-       for(TrackMap::iterator i=inventory.begin(); i!=inventory.end(); ++i)
+       for(map<unsigned, unsigned>::iterator i=inventory.begin(); i!=inventory.end(); ++i)
        {
-               TrackMap::iterator j=layout.find(i->first);
+               map<unsigned, unsigned>::iterator j=layout.find(i->first);
                if(j!=layout.end())
                {
                        if(j->second<i->second)