00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_ITREE_H
00008 #define AIDA_ITREE_H 1
00009
00010
00011
00012
00013
00014
00015 #include <iostream>
00016 #include <string>
00017 #include <vector>
00018
00019 namespace AIDA {
00020
00021 class IManagedObject;
00022
00037 class ITree {
00038
00039 public:
00041 virtual ~ITree() { ; }
00042
00048 virtual const std::string & storeName() const = 0;
00049
00057 virtual IManagedObject * find(const std::string & path) = 0;
00058
00065 virtual bool cd(const std::string & path) = 0;
00066
00072 virtual const std::string & pwd() const = 0;
00073
00084 virtual bool ls(const std::string & path = ".", bool recursive = false, std::ostream & os = std::cout) const = 0;
00085
00095 virtual std::vector<std::string> listObjectNames(const std::string & path = ".", bool recursive = false) const = 0;
00096
00108 virtual std::vector<std::string> listObjectTypes(const std::string & path = ".", bool recursive = false) const = 0;
00109
00118 virtual bool mkdir(const std::string & path) = 0;
00119
00128 virtual bool mkdirs(const std::string & path) = 0;
00129
00137 virtual bool rmdir(const std::string & path) = 0;
00138
00147 virtual bool rm(const std::string & path) = 0;
00148
00156 virtual std::string findPath(const IManagedObject & object) const = 0;
00157
00165 virtual bool mv(const std::string & oldPath, const std::string & newPath) = 0;
00166
00173 virtual bool commit() = 0;
00174
00181 virtual void setOverwrite(bool overwrite = true) = 0;
00182
00191 virtual bool cp(const std::string & oldPath, const std::string & newPath, bool recursive = false) = 0;
00192
00201 virtual bool symlink(const std::string & path, const std::string & alias) = 0;
00202
00215 virtual bool mount(const std::string & path, ITree & tree, const std::string & treePath) = 0;
00216
00224 virtual bool unmount(const std::string & path) = 0;
00225
00234 virtual bool close() = 0;
00235 };
00236 };
00237 #endif