30 #ifndef CVMFS_SYNC_UNION_H_
31 #define CVMFS_SYNC_UNION_H_
41 class AbstractSyncMediator;
93 const std::string &filename,
137 const std::string &filename);
166 const std::string &filename);
176 const std::string &dir_name);
186 const std::string &link_name);
193 const std::string &dir_name);
200 const std::string &dir_name);
208 const std::string &filename);
216 const std::string &filename);
223 void ProcessFifo(
const std::string &parent_dir,
const std::string &filename);
231 const std::string &filename);
245 #endif // CVMFS_SYNC_UNION_H_
virtual void LeaveDirectory(const std::string &parent_dir, const std::string &dir_name)
virtual bool ProcessUnmaterializedDirectory(SharedPtr< SyncItem > entry)
virtual bool SupportsHardlinks() const
std::string scratch_path_
virtual bool Initialize()
virtual void PreprocessSyncItem(SharedPtr< SyncItem > entry) const
virtual bool IsOpaqueDirectory(SharedPtr< SyncItem > directory) const =0
std::string scratch_path() const
virtual void PostUpload()
virtual std::string UnwindWhiteoutFilename(SharedPtr< SyncItem > entry) const =0
SharedPtr< SyncItem > CreateSyncItem(const std::string &relative_parent_path, const std::string &filename, const SyncItemType entry_type) const
virtual void ProcessSymlink(const std::string &parent_dir, const std::string &link_name)
std::string union_path() const
AbstractSyncMediator * mediator_
bool IsInitialized() const
void ProcessBlockDevice(const std::string &parent_dir, const std::string &filename)
virtual bool IgnoreFilePredicate(const std::string &parent_dir, const std::string &filename)
void ProcessSocket(const std::string &parent_dir, const std::string &filename)
virtual void ProcessRegularFile(const std::string &parent_dir, const std::string &filename)
SyncUnion(AbstractSyncMediator *mediator, const std::string &rdonly_path, const std::string &union_path, const std::string &scratch_path)
void ProcessFile(SharedPtr< SyncItem > entry)
virtual void Traverse()=0
virtual bool IsWhiteoutEntry(SharedPtr< SyncItem > entry) const =0
virtual bool ProcessDirectory(const std::string &parent_dir, const std::string &dir_name)
virtual void EnterDirectory(const std::string &parent_dir, const std::string &dir_name)
void ProcessFifo(const std::string &parent_dir, const std::string &filename)
std::string rdonly_path() const
void ProcessCharacterDevice(const std::string &parent_dir, const std::string &filename)