]> git.tdb.fi Git - builder.git/blobdiff - source/component.h
Use the cached cwd value
[builder.git] / source / component.h
index cdb3f8d8dba01f9829d917c6cdb0157848595986..5f1332fcb40f8a947dc858b0a2ff0cce0f3d1935 100644 (file)
@@ -2,7 +2,7 @@
 #define COMPONENT_H_
 
 #include <string>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
 #include <msp/fs/path.h>
 #include "buildinfo.h"
 #include "installmap.h"
@@ -20,14 +20,10 @@ their own.
 class Component
 {
 public:
-       class Loader: public Msp::DataFile::Loader
+       class Loader: public Msp::DataFile::ObjectLoader<Component>
        {
-       private:
-               Component &comp;
-
        public:
                Loader(Component &);
-               Component &get_object() { return comp; }
        private:
                void source(const std::string &);
                void require(const std::string &);
@@ -58,6 +54,7 @@ protected:
 
 public:
        Component(SourcePackage &, Type, const std::string &);
+
        const SourcePackage &get_package() const { return pkg; }
        Type get_type() const { return type; }
        const std::string &get_name() const { return name; }
@@ -68,7 +65,7 @@ public:
        bool is_default() const { return deflt; }
        const InstallMap &get_install_map() const { return install_map; }
 
-       void configure(const StringMap &, unsigned);
+       void prepare();
 
        /** Prepares the build information for building.  Pulls build info from the
        parent and dependency packages, and adds any component-specific flags. */
@@ -81,6 +78,4 @@ protected:
        PathList collect_source_files() const;
 };
 
-typedef std::list<Component> ComponentList;
-
 #endif