-/**
-Base class for data loaders. To give loading capabilities to a class, create a
-public Loader class in it, derived from this class. Typically a loader object
-contains a reference to the loaded object. To make use of loading directly
-into data members, the Loader class must have a get_object() member function,
-returning that reference. If direct loading of pointers is desired, the Loader
-class must also have a get_collection() member function, returning a collection
-to get pointers from.
-*/
-class Loader
-{
-public:
- /**
- Loads data from a statement. This is normally only used by the Loader class
- itself for loading sub-items, but needs to be public so it can be accessed
- in derived objects.
- */
- void load(const Statement &st);
-
- /**
- Loads statements from a parser.
- */
- void load(Parser &p);
-
- virtual ~Loader();
-protected:
- Loader(): cur_st(0) { }
+ /** Sets the actions to be used when loading. If the map is empty,
+ init_actions will be called. */
+ void set_actions(ActionMap &);
+ virtual void init_actions() { }