// SingleFileDataset.h #ifndef dset__SingelFileDataset_H #define dset__SingleFileDataset_H // David Adams // October 2004 // // A single file daset holds a single file with implict content. // // GenericDataset // fulltype = SingleFileDataset // ... // #include "dataset_base/GenericDataset.h" namespace dset { class SingleFileDataset : public GenericDataset { public: // Typedefs. typedef std::string Name; // Function to create a single file dataset. typedef const Dataset* (*Creator) (Url furl, Name content, DatasetId parent); public: // Static functions. // Register a creator. // Returns 0 for success. static int register_creator(Name fulltype, Creator pfun); // Create a locked dataset from a single file. // Caller is responsible for management. // Returns 0 for error. static const Dataset* create(Name fulltype, Url furl, Name content, DatasetId parent); public: // Constructors. // Constructor from a file. explicit SingleFileDataset(Url furl, std::string clab); // Constructor from a generic dataset. explicit SingleFileDataset(const GenericDataset& dst); public: // local functions // Return file. Url file() const; }; } // end namespace dset #endif