C++ Library to handle BagIt structures. BagIt is a standard format to create transfer packages for digital preservation purposes. See https://en.wikipedia.org/wiki/BagIt for details
http://andreas-romeyke.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
655 B
30 lines
655 B
#ifndef LIBCBAG
|
|
#define LIBCBAG
|
|
#include <string>
|
|
#include "payload.hpp"
|
|
#include "manifest.hpp"
|
|
#include "tagmanifest.hpp"
|
|
#include "bagmetadata.hpp"
|
|
#include "fetchfile.hpp"
|
|
#include "othertags.hpp"
|
|
|
|
using namespace std;
|
|
|
|
|
|
class bag {
|
|
private:
|
|
string base_dir; // from where the bag was loaded, optional
|
|
class payload;
|
|
class manifest; // TODO: list of manifests
|
|
class tagmanifest; // TODO: list of tag manifests, optional
|
|
class bagmetadata;
|
|
class fetchfile;
|
|
class othertags; //TODO: optional
|
|
public:
|
|
bag();
|
|
bag( string dfname);
|
|
bool store( string dfname);
|
|
bool validate();
|
|
};
|
|
#endif
|
|
// vim: set tabstop=4
|