]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/loader.h
Rename to datafile
[libs/datafile.git] / source / loader.h
index c6936f96f6eef5869f62ffe3ed9307f34038dd2c..48d4f9b4757842a7fcdf983d12badb15895d7499 100644 (file)
@@ -1,20 +1,21 @@
-/*
-This file is part of libmspparser
+/* $Id$
+
+This file is part of libmspdatafile
 Copyright © 2006  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
-#ifndef MSP_PARSER_LOADER_H_
-#define MSP_PARSER_LOADER_H_
+#ifndef MSP_DATAFILE_LOADER_H_
+#define MSP_DATAFILE_LOADER_H_
 
 #include <fstream>
 #include <map>
-#include <msp/error.h>
+#include "error.h"
 #include "parser.h"
 #include "statement.h"
 #include "value.h"
 
 namespace Msp {
-namespace Parser {
+namespace DataFile {
 
 class Loader;
 class Statement;
@@ -37,7 +38,7 @@ public:
        LoaderFunc0(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=0) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=0) throw TypeError(st.get_location()+": Wrong number of arguments");
                (dynamic_cast<L &>(l).*func)();
        };
 private:
@@ -53,7 +54,7 @@ public:
        LoaderFunc1(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=1) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=1) throw TypeError(st.get_location()+": Wrong number of arguments");
                (dynamic_cast<L &>(l).*func)(st.args[0].get<A0>());
        }
 private:
@@ -69,7 +70,7 @@ public:
        LoaderFunc2(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=2) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=2) throw TypeError(st.get_location()+": Wrong number of arguments");
                (dynamic_cast<L &>(l).*func)(st.args[0].get<A0>(), st.args[1].get<A1>());
        }
 private:
@@ -85,7 +86,7 @@ public:
        LoaderFunc3(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=3) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=3) throw TypeError(st.get_location()+": Wrong number of arguments");
                (dynamic_cast<L &>(l).*func)(st.args[0].get<A0>(), st.args[1].get<A1>(), st.args[2].get<A2>());
        }
 private:
@@ -101,7 +102,7 @@ public:
        LoaderFunc4(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=4) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=4) throw TypeError(st.get_location()+": Wrong number of arguments");
                (dynamic_cast<L &>(l).*func)(st.args[0].get<A0>(), st.args[1].get<A1>(), st.args[2].get<A2>(), st.args[3].get<A3>());
        }
 private:
@@ -117,7 +118,7 @@ public:
        LoadValue(PointerType p): ptr(p) { }
        void execute(Loader &l, const Statement &st) const
        {
-               if(st.args.size()!=1) throw TypeError("Wrong number of arguments");
+               if(st.args.size()!=1) throw TypeError(st.get_location()+": Wrong number of arguments");
                dynamic_cast<typename L::Loader &>(l).get_object().*ptr=st.args[0].get<T>();
        }
 private:
@@ -218,7 +219,7 @@ void load(T &obj, const std::string &fn)
        loader.load(parser);
 }
 
-} // namespace Parser
+} // namespace DataFile
 } // namespace Msp
 
 #endif