10 #ifndef WRENCH_FILELOCATION_H
11 #define WRENCH_FILELOCATION_H
38 static std::shared_ptr<FileLocation>
SCRATCH;
40 static std::shared_ptr<FileLocation>
LOCATION(std::shared_ptr<StorageService> ss);
42 static std::shared_ptr<FileLocation>
LOCATION(std::shared_ptr<StorageService> ss,
43 std::shared_ptr<StorageService> server_ss);
45 static std::shared_ptr<FileLocation>
LOCATION(std::shared_ptr<StorageService> ss,
46 std::string absolute_path);
65 static bool equal(
const std::shared_ptr<FileLocation> &lhs,
66 const std::shared_ptr<FileLocation> &rhs) {
67 return ((lhs->getStorageService() == rhs->getStorageService()) and
68 (lhs->getFullAbsolutePath() == rhs->getFullAbsolutePath()));
84 FileLocation(std::shared_ptr<StorageService> ss, std::string mp, std::string apamp) :
85 storage_service(ss), mount_point(mp), absolute_path_at_mount_point(apamp) { }
87 std::shared_ptr<StorageService> storage_service;
88 std::shared_ptr<StorageService> server_storage_service;
89 std::string mount_point;
90 std::string absolute_path_at_mount_point;
103 #endif //WRENCH_FILELOCATION_H
std::string getFullAbsolutePath()
Get the location's full absolute path.
Definition: FileLocation.cpp:176
std::shared_ptr< StorageService > getServerStorageService()
Get the location's server storage service.
Definition: FileLocation.cpp:146
static std::shared_ptr< FileLocation > SCRATCH
Static location that denotes a compute service's scratch space.
Definition: FileLocation.h:38
static std::shared_ptr< FileLocation > LOCATION(std::shared_ptr< StorageService > ss)
File location specifier for a storage service's (single) mount point root.
Definition: FileLocation.cpp:39
Definition: Action.cpp:28
static std::string sanitizePath(std::string path)
Method to sanitize an absolute path (and make it absolute if it's not)
Definition: FileLocation.cpp:189
std::shared_ptr< StorageService > getStorageService()
Get the location's storage service.
Definition: FileLocation.cpp:135
std::string getAbsolutePathAtMountPoint()
Get the location's path at mount point.
Definition: FileLocation.cpp:165
static bool properPathPrefix(std::string path1, std::string path2)
Helper method to find if a path is a proper prefix of another path.
Definition: FileLocation.cpp:258
static bool equal(const std::shared_ptr< FileLocation > &lhs, const std::shared_ptr< FileLocation > &rhs)
Method to compare two file locations.
Definition: FileLocation.h:65
A class that encodes a file location.
Definition: FileLocation.h:29
A class that implements a weak file system abstraction.
Definition: LogicalFileSystem.h:34
std::string getMountPoint()
Get the location's mount point.
Definition: FileLocation.cpp:154
std::string toString()
Give a <ss1 name>:<mount point>:<dir>" string for the location.
Definition: FileLocation.cpp:122