3 #ifndef __ARC_DATAPOINTDELEGATE_H__ 4 #define __ARC_DATAPOINTDELEGATE_H__ 9 #include <arc/Thread.h> 12 #include <arc/Utils.h> 13 #include "DataPointDirect.h" 22 LogRedirect(): level_(
FATAL) { };
23 virtual ~LogRedirect() { Flush(); };
24 virtual void Append(
char const* data,
unsigned int size);
26 virtual char const* Get()
const;
27 virtual unsigned int Size()
const;
31 static std::string::size_type
const level_size_max_;
32 static std::string::size_type
const buffer_size_max_;
38 LogRedirect log_redirect;
46 std::string exec_path;
47 std::list<std::string> additional_args;
49 static void read_thread(
void *arg);
50 static void write_thread(
void *arg);
61 static char const * ReadCommand;
62 static char const * WriteCommand;
63 static char const * MkdirCommand;
64 static char const * MkdirRecursiveCommand;
65 static char const * CheckCommand;
66 static char const * RemoveCommand;
67 static char const * StatCommand;
68 static char const * ListCommand;
69 static char const * RenameCommand;
70 static char const * TransferFromCommand;
71 static char const * TransferToCommand;
72 static char const * Transfer3rdCommand;
102 #endif // __ARC_DATAPOINTDELEGATE_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Simple triggered condition.
Definition: Thread.h:150
virtual bool RequiresCredentials() const
Returns true if some kind of credentials are needed to use this DataPoint.
User configuration class
Definition: UserConfig.h:196
DataStatusType
Status codes.
Definition: DataStatus.h:64
virtual DataStatus Transfer3rdParty(const URL &source, const URL &destination, TransferCallback callback=NULL)
Perform third party transfer.
URL url
URL supplied in constructor.
Definition: DataPoint.h:799
Status code returned by many DataPoint methods.
Definition: DataStatus.h:54
virtual DataStatus Stat(FileInfo &file, DataPointInfoType verb=INFO_TYPE_ALL)
Retrieve information about this object.
A logger class.
Definition: Logger.h:493
virtual DataStatus Remove()
Remove/delete object at URL.
virtual DataStatus StopReading()
Stop reading.
Wrapper for pointer with automatic destruction and multiple references.
Definition: Utils.h:183
virtual DataStatus StopWriting()
Stop writing.
unsigned long long int size
Size of object represented by DataPoint.
Definition: DataPoint.h:805
LogLevel
Logging levels for tagging and filtering log messages.
Definition: Logger.h:20
const UserConfig usercfg
UserConfig supplied in constructor.
Definition: DataPoint.h:801
DataPointDelegate(char const *module_name, const URL &url, const UserConfig &usercfg, PluginArgument *parg)
Create object which starts special executable which loads specified module.
virtual bool ProvidesMeta() const
Check if endpoint can provide at least some meta information directly.
virtual bool WriteOutOfOrder() const
Returns true if DataPoint supports receiving data out of order during writing.
Represents set of buffers.
Definition: DataBuffer.h:19
Class to represent general URLs.
Definition: URL.h:88
DataPointInfoType
Describes type of information about URL to request.
Definition: DataPoint.h:150
virtual DataStatus CreateDirectory(bool with_parents=false)
Create a directory.
virtual DataStatus StartReading(DataBuffer &buf)
Start reading data from URL.
Callbacks to be used when there is not enough space on the local filesystem.
Definition: DataCallback.h:20
virtual DataStatus Transfer(const URL &otherendpoint, bool source, TransferCallback callback=NULL)
Do a transfer in a single operation.
DataPointDirect represents "physical" data objects.
Definition: DataPointDirect.h:26
void(* TransferCallback)(unsigned long long int bytes_transferred)
Callback for use in protocol-internal or 3rd party transfers.
Definition: DataPoint.h:131
virtual const std::string DefaultCheckSum() const
Default checksum type (varies by protocol)
All the parameters.
Definition: DataPoint.h:160
virtual DataStatus List(std::list< FileInfo > &files, DataPointInfoType verb=INFO_TYPE_ALL)
List hierarchical content of this object.
virtual DataStatus StartWriting(DataBuffer &buf, DataCallback *space_cb=NULL)
Start writing data to URL.
Definition: DataPointDelegate.h:18
FileInfo stores information about files (metadata).
Definition: FileInfo.h:25
virtual DataStatus Rename(const URL &newurl)
Rename a URL.
virtual DataStatus Check(bool check_meta)
Query the DataPoint to check if object is accessible.