5 #ifndef CVMFS_PUBLISH_REPOSITORY_H_
6 #define CVMFS_PUBLISH_REPOSITORY_H_
22 class SimpleCatalogManager;
23 class WritableCatalogManager;
26 class DownloadManager;
37 class StatisticsTemplate;
40 class SignatureManager;
60 virtual ~DiffListener() {}
64 virtual void OnAdd(
const std::string &path,
66 virtual void OnRemove(
const std::string &path,
68 virtual void OnModify(
const std::string &path,
82 static void DropCapabilities();
88 static std::string GetEnterSessionDir();
97 static const char kRawHashSymbol =
'@';
102 const bool exists =
true);
113 void Diff(
const std::string &from,
const std::string &to,
114 DiffListener *diff_listener);
132 const std::string &url,
133 const std::string &fqrn,
134 const std::string &tmp_dir);
166 kFailRdOnlyBroken = 0x01,
167 kFailRdOnlyOutdated = 0x02,
168 kFailRdOnlyWrongRevision = 0x04,
169 kFailUnionBroken = 0x08,
170 kFailUnionWritable = 0x10,
171 kFailUnionLocked = 0x20,
179 int Check(
bool is_quiet =
false);
248 Session() : keep_alive_(false), has_lease_(true) {}
249 explicit Session(
const Settings &settings_session);
258 void SetKeepAlive(
bool value);
283 const bool exists =
true);
306 void EditTags(
const std::vector<history::History::Tag> &add_tags,
307 const std::vector<std::string> &rm_tags);
402 #endif // CVMFS_PUBLISH_REPOSITORY_H_
const SettingsRepository settings_
manifest::Reflog * reflog_
const manifest::Manifest * manifest() const
download::DownloadManager * download_mgr_
void ConstructSyncManagers()
void OnUploadReflog(const upload::SpoolerResult &result)
catalog::SimpleCatalogManager * GetSimpleCatalogManager()
UniquePtr< ManagedNode > managed_node_
Session * session() const
UniquePtr< perf::StatisticsTemplate > statistics_publish_
static Publisher * Create(const SettingsPublisher &settings)
void OnProcessCertificate(const upload::SpoolerResult &result)
const history::History * history() const
void CreateDirectoryAsOwner(const std::string &path, int mode)
void OnUploadWhitelist(const upload::SpoolerResult &result)
void AlterMountpoint(EMountpointAlterations how, int log_level)
const SettingsPublisher & settings() const
perf::Statistics * statistics_
upload::Spooler * spooler_catalogs_
gateway::GatewayKey gw_key_
class __attribute__((visibility("default"))) DiffListener
class __attribute__((visibility("default"))) Publisher ManagedNode(Publisher *p)
catalog::WritableCatalogManager * catalog_mgr_
Repository(const SettingsRepository &settings, const bool exists=true)
void OnProcessMetainfo(const upload::SpoolerResult &result)
publish::SyncUnion * sync_union_
void OnUploadManifest(const upload::SpoolerResult &result)
signature::SignatureManager * signature_mgr_
void DownloadRootObjects(const std::string &url, const std::string &fqrn, const std::string &tmp_dir)
const signature::SignatureManager * signature_mgr() const
ServerLockFile is_publishing_
catalog::SimpleCatalogManager * simple_catalog_mgr_
void EditTags(const std::vector< history::History::Tag > &add_tags, const std::vector< std::string > &rm_tags)
history::SqliteHistory * history_
UniquePtr< Session > session_
std::string token_path() const
manifest::Manifest * manifest_
void OnProcessHistory(const upload::SpoolerResult &result)
upload::Spooler * spooler_files_
const whitelist::Whitelist * whitelist() const
void MarkReplicatible(bool value)
class __attribute__((visibility("default"))) Replica Replica(const SettingsReplica &settings)
ServerFlagFile in_transaction_
whitelist::Whitelist * whitelist_
const ServerFlagFile & in_transaction() const
std::string meta_info() const
SyncMediator * sync_mediator_
const upload::Spooler * spooler_files() const
void SetRootHash(const shash::Any &hash)
const ServerLockFile & is_publishing() const
Publisher(const SettingsPublisher &settings, const bool exists=true)
const upload::Spooler * spooler_catalogs() const
void Diff(const std::string &from, const std::string &to, DiffListener *diff_listener)
void CheckTagName(const std::string &name)
static const unsigned kRequiredLayoutRevision
SyncParameters * sync_parameters_
class static __attribute__((visibility("default"))) Repository std::string GetFqrnFromUrl(const std::string &url)
std::string service_endpoint