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
art1@andreas-romeyke.de 2e3111a4ff - fixed constant width in set_BagSize() 4 weeks ago
src - fixed constant width in set_BagSize() - removed superflous nullptr-check after new() in checksum_of_file() - fixed problem with moved string in testbag.cpp check_validation() 4 weeks ago
test - fixed constant width in set_BagSize() - removed superflous nullptr-check after new() in checksum_of_file() - fixed problem with moved string in testbag.cpp check_validation() 4 weeks ago
testbags/bag_minimal_ok - init a simple bagit for testing purposes 5 months ago
CMakeLists.txt - added CMAKE properties to find libpoco-net 5 months ago
License - added License information 3 months ago
README - updated doc 5 months ago
README.compile - added hints about using clang-check 5 months ago
README.md - init 3 months ago
TODO - updated 2 months ago

README.md

libcbag

General

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

The library supports BagIt in version 0.97, yet.

It is licensed under terms of GNU General Public License, v3 or higher, see file License for details.

The main website of the project author is http://andreas-romeyke.de. Please do not hesitate to contact me if you find problems or give hints.

Principle

The library only checks a given or created BagIt structure if you call “validate()”. This allows us to prepare or read incomplete structures.

If you want to copy a BagIt from source to destination, you should create a bag-object first. Then you should use validate() and then call store().

If you want to generate a new BagIt structure, you need to define a directory path first. Then you create the sub objects for a Bag using the defined directory as base. For each of this objects call required methods and at least the store()-call. Then you create the Bag object and call store().