26#ifndef __XRD_CL_FILE_SYSTEM_OPERATIONS_HH__
27#define __XRD_CL_FILE_SYSTEM_OPERATIONS_HH__
43 template<
template<
bool>
class Derived,
bool HasHndl,
typename Response,
typename ... Args>
102 template<
bool HasHndl>
117 enum { PathArg, FlagsArg };
140 std::string path = std::get<PathArg>( this->args ).Get();
142 return this->filesystem->Locate( path, flags, this->handler.get() );
148 catch(
const std::exception& ex )
159 template<
bool HasHndl>
161 Resp<LocationInfo>, Arg<std::string>, Arg<OpenFlags::Flags>>
197 std::string path = std::get<PathArg>( this->
args ).Get();
205 catch(
const std::exception& ex )
216 template<
bool HasHndl>
254 std::string source = std::get<SourceArg>( this->
args ).Get();
255 std::string dest = std::get<DestArg>( this->
args ).Get();
262 catch(
const std::exception& ex )
273 template<
bool HasHndl>
275 Arg<QueryCode::Code>, Arg<Buffer>>
312 const Buffer buffer( std::get<BufferArg>( this->
args ).Get() );
319 catch(
const std::exception& ex )
330 template<
bool HasHndl>
332 Arg<std::string>, Arg<uint64_t>>
368 std::string path = std::get<PathArg>( this->
args ).Get();
369 uint64_t size = std::get<SizeArg>( this->
args ).Get();
376 catch(
const std::exception& ex )
396 template<
bool HasHndl>
432 std::string path = std::get<PathArg>( this->
args ).Get();
439 catch(
const std::exception& ex )
450 template<
bool HasHndl>
452 Arg<std::string>, Arg<MkDirFlags::Flags>, Arg<Access::Mode>>
488 std::string path = std::get<PathArg>( this->
args ).Get();
497 catch(
const std::exception& ex )
508 template<
bool HasHndl>
545 std::string path = std::get<PathArg>( this->
args ).Get();
552 catch(
const std::exception& ex )
563 template<
bool HasHndl>
565 Arg<std::string>, Arg<Access::Mode>>
601 std::string path = std::get<PathArg>( this->
args ).Get();
609 catch(
const std::exception& ex )
620 template<
bool HasHndl>
657 template<
bool HasHndl>
695 std::string path = std::get<PathArg>( this->
args ).Get();
702 catch(
const std::exception& ex )
722 template<
bool HasHndl>
724 Resp<StatInfoVFS>, Arg<std::string>>
760 std::string path = std::get<PathArg>( this->
args ).Get();
767 catch(
const std::exception& ex )
778 template<
bool HasHndl>
816 template<
bool HasHndl>
818 Arg<std::string>, Arg<DirListFlags::Flags>>
854 std::string path = std::get<PathArg>( this->
args ).Get();
862 catch(
const std::exception& ex )
873 template<
bool HasHndl>
911 std::string info = std::get<InfoArg>( this->
args ).Get();
918 catch(
const std::exception& ex )
929 template<
bool HasHndl>
931 Arg<std::vector<std::string>>, Arg<PrepareFlags::Flags>, Arg<uint8_t>>
967 std::vector<std::string> fileList = std::get<FileListArg>( this->
args ).Get();
969 uint8_t priority = std::get<PriorityArg>( this->
args ).Get();
977 catch(
const std::exception& ex )
Definition: XrdClArg.hh:286
Definition: XrdClArg.hh:224
Binary blob representation.
Definition: XrdClBuffer.hh:34
ChMod operation (.
Definition: XrdClFileSystemOperations.hh:566
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:597
std::string ToString()
Definition: XrdClFileSystemOperations.hh:583
@ PathArg
Definition: XrdClFileSystemOperations.hh:578
@ ModeArg
Definition: XrdClFileSystemOperations.hh:578
Definition: XrdClOperations.hh:468
std::tuple< Args... > args
Operation arguments.
Definition: XrdClOperations.hh:686
DeepLocate operation (.
Definition: XrdClFileSystemOperations.hh:162
@ PathArg
Definition: XrdClFileSystemOperations.hh:174
@ FlagsArg
Definition: XrdClFileSystemOperations.hh:174
std::string ToString()
Definition: XrdClFileSystemOperations.hh:179
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:193
DirList operation (.
Definition: XrdClFileSystemOperations.hh:819
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:850
@ FlagsArg
Definition: XrdClFileSystemOperations.hh:831
@ PathArg
Definition: XrdClFileSystemOperations.hh:831
std::string ToString()
Definition: XrdClFileSystemOperations.hh:836
Definition: XrdClFileSystemOperations.hh:45
FileSystemOperation(FileSystem *fs, Args... args)
Definition: XrdClFileSystemOperations.hh:56
virtual ~FileSystemOperation()
Destructor.
Definition: XrdClFileSystemOperations.hh:87
FileSystemOperation(FileSystem &fs, Args... args)
Definition: XrdClFileSystemOperations.hh:67
FileSystem * filesystem
The file system object itself.
Definition: XrdClFileSystemOperations.hh:96
FileSystemOperation(FileSystemOperation< Derived, from, Response, Args... > &&op)
Definition: XrdClFileSystemOperations.hh:79
friend class FileSystemOperation
Definition: XrdClFileSystemOperations.hh:47
Send file/filesystem queries to an XRootD cluster.
Definition: XrdClFileSystem.hh:198
XRootDStatus RmDir(const std::string &path, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Protocol(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus DirList(const std::string &path, DirListFlags::Flags flags, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Mv(const std::string &source, const std::string &dest, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Query(QueryCode::Code queryCode, const Buffer &arg, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus SendInfo(const std::string &info, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Prepare(const std::vector< std::string > &fileList, PrepareFlags::Flags flags, uint8_t priority, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus ChMod(const std::string &path, Access::Mode mode, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Rm(const std::string &path, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus DeepLocate(const std::string &path, OpenFlags::Flags flags, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Ping(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus Truncate(const std::string &path, uint64_t size, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus MkDir(const std::string &path, MkDirFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
XRootDStatus StatVFS(const std::string &path, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Locate operation (.
Definition: XrdClFileSystemOperations.hh:105
std::string ToString()
Definition: XrdClFileSystemOperations.hh:122
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:136
MkDir operation (.
Definition: XrdClFileSystemOperations.hh:453
std::string ToString()
Definition: XrdClFileSystemOperations.hh:470
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:484
@ FlagsArg
Definition: XrdClFileSystemOperations.hh:465
@ ModeArg
Definition: XrdClFileSystemOperations.hh:465
@ PathArg
Definition: XrdClFileSystemOperations.hh:465
Mv operation (.
Definition: XrdClFileSystemOperations.hh:219
@ SourceArg
Definition: XrdClFileSystemOperations.hh:231
@ DestArg
Definition: XrdClFileSystemOperations.hh:231
std::string ToString()
Definition: XrdClFileSystemOperations.hh:236
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:250
std::unique_ptr< PipelineHandler > handler
Operation handler.
Definition: XrdClOperations.hh:280
Ping operation (.
Definition: XrdClFileSystemOperations.hh:622
std::string ToString()
Definition: XrdClFileSystemOperations.hh:633
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:647
Pipeline exception, wrapps an XRootDStatus.
Definition: XrdClOperationHandlers.hh:312
const XRootDStatus & GetError() const
Definition: XrdClOperationHandlers.hh:351
const char * what() const noexcept
inherited from std::exception
Definition: XrdClOperationHandlers.hh:343
Prepare operation (.
Definition: XrdClFileSystemOperations.hh:932
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:963
std::string ToString()
Definition: XrdClFileSystemOperations.hh:949
@ PriorityArg
Definition: XrdClFileSystemOperations.hh:944
@ FlagsArg
Definition: XrdClFileSystemOperations.hh:944
@ FileListArg
Definition: XrdClFileSystemOperations.hh:944
Protocol operation (.
Definition: XrdClFileSystemOperations.hh:781
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:806
std::string ToString()
Definition: XrdClFileSystemOperations.hh:792
Query operation (.
Definition: XrdClFileSystemOperations.hh:276
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:307
std::string ToString()
Definition: XrdClFileSystemOperations.hh:293
@ BufferArg
Definition: XrdClFileSystemOperations.hh:288
@ QueryCodeArg
Definition: XrdClFileSystemOperations.hh:288
RmDir operation (.
Definition: XrdClFileSystemOperations.hh:511
std::string ToString()
Definition: XrdClFileSystemOperations.hh:527
@ PathArg
Definition: XrdClFileSystemOperations.hh:522
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:541
Rm operation (.
Definition: XrdClFileSystemOperations.hh:398
@ PathArg
Definition: XrdClFileSystemOperations.hh:409
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:428
std::string ToString()
Definition: XrdClFileSystemOperations.hh:414
SendInfo operation (.
Definition: XrdClFileSystemOperations.hh:876
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:907
std::string ToString()
Definition: XrdClFileSystemOperations.hh:893
@ InfoArg
Definition: XrdClFileSystemOperations.hh:888
Stat operation (.
Definition: XrdClFileSystemOperations.hh:660
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:691
std::string ToString()
Definition: XrdClFileSystemOperations.hh:677
@ PathArg
Definition: XrdClFileSystemOperations.hh:672
StatVS operation (.
Definition: XrdClFileSystemOperations.hh:725
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:756
std::string ToString()
Definition: XrdClFileSystemOperations.hh:742
@ PathArg
Definition: XrdClFileSystemOperations.hh:737
Truncate operation (.
Definition: XrdClFileSystemOperations.hh:333
XRootDStatus RunImpl()
Definition: XrdClFileSystemOperations.hh:364
@ SizeArg
Definition: XrdClFileSystemOperations.hh:345
@ PathArg
Definition: XrdClFileSystemOperations.hh:345
std::string ToString()
Definition: XrdClFileSystemOperations.hh:350
Request status.
Definition: XrdClXRootDResponses.hh:213
Definition: XrdClAnyObject.hh:26
SendInfoImpl< false > SendInfo
Definition: XrdClFileSystemOperations.hh:924
ChModImpl< false > ChMod
Definition: XrdClFileSystemOperations.hh:615
MkDirImpl< false > MkDir
Definition: XrdClFileSystemOperations.hh:503
RmImpl< false > Rm
Definition: XrdClFileSystemOperations.hh:445
const uint16_t stError
An error occurred that could potentially be retried.
Definition: XrdClStatus.hh:32
MvImpl< false > Mv
Definition: XrdClFileSystemOperations.hh:268
LocateImpl< false > Locate
Definition: XrdClFileSystemOperations.hh:154
StatImpl< false > Stat(File *file, Arg< bool > force)
Definition: XrdClFileOperations.hh:398
DeepLocateImpl< false > DeepLocate
Definition: XrdClFileSystemOperations.hh:211
ProtocolImpl< false > Protocol
Definition: XrdClFileSystemOperations.hh:811
TruncateImpl< false > Truncate(File *file, Arg< uint64_t > size)
Definition: XrdClFileOperations.hh:564
RmDirImpl< false > RmDir
Definition: XrdClFileSystemOperations.hh:558
PrepareImpl< false > Prepare
Definition: XrdClFileSystemOperations.hh:983
StatVFSImpl< false > StatVFS
Definition: XrdClFileSystemOperations.hh:773
PingImpl< false > Ping
Definition: XrdClFileSystemOperations.hh:652
DirListImpl< false > DirList
Definition: XrdClFileSystemOperations.hh:868
QueryImpl< false > Query
Definition: XrdClFileSystemOperations.hh:325
Mode
Access mode.
Definition: XrdClFileSystem.hh:123
Flags
Definition: XrdClFileSystem.hh:157
Flags
Definition: XrdClFileSystem.hh:144
Flags
Open flags, may be or'd when appropriate.
Definition: XrdClFileSystem.hh:77
Flags
Definition: XrdClFileSystem.hh:176
Code
XRootD query request codes.
Definition: XrdClFileSystem.hh:54