7 #ifndef CVMFS_SWISSKNIFE_GRAFT_H_
8 #define CVMFS_SWISSKNIFE_GRAFT_H_
18 namespace swissknife {
25 virtual std::string
GetName()
const {
return "graft"; }
27 return "Creates a graft file for publishing in CVMFS.";
32 "('-' for reading from stdin)"));
47 int Publish(
const std::string &input_file,
const std::string &output_file,
48 bool output_file_is_dir,
bool input_file_is_stdin);
49 int Recurse(
const std::string &input_file,
const std::string &output_file);
52 const std::string &file_name);
54 const std::string &dir_name);
60 std::vector<uint64_t> *chunk_offsets,
61 std::vector<shash::Any> *chunk_checksums);
74 #endif // CVMFS_SWISSKNIFE_GRAFT_H_
static Parameter Optional(const char key, const std::string &desc)
int Main(const ArgumentList &args)
static const unsigned kDefaultChunkSize
static Parameter Switch(const char key, const std::string &desc)
virtual std::string GetName() const
std::vector< Parameter > ParameterList
int Publish(const std::string &input_file, const std::string &output_file, bool output_file_is_dir, bool input_file_is_stdin)
std::string StringifyUint(const uint64_t value)
virtual std::string GetDescription() const
bool DirCallback(const std::string &relative_path, const std::string &dir_name)
static Parameter Mandatory(const char key, const std::string &desc)
void FileCallback(const std::string &relative_path, const std::string &file_name)
zlib::Algorithms compression_alg_
shash::Algorithms hash_alg_
int Recurse(const std::string &input_file, const std::string &output_file)
std::map< char, SharedPtr< std::string > > ArgumentList
virtual ParameterList GetParams() const
bool ChecksumFdWithChunks(int fd, zlib::Compressor *compressor, uint64_t *file_size, shash::Any *file_hash, std::vector< uint64_t > *chunk_offsets, std::vector< shash::Any > *chunk_checksums)