/usr/include/arc/data/DataPointDirect.h is in nordugrid-arc-dev 4.2.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | // -*- indent-tabs-mode: nil -*-
#ifndef __ARC_DATAPOINTDIRECT_H__
#define __ARC_DATAPOINTDIRECT_H__
#include <list>
#include <string>
#include <arc/data/DataPoint.h>
#define MAX_PARALLEL_STREAMS 20
#define MAX_BLOCK_SIZE (1024 * 1024)
namespace Arc {
class DataBuffer;
class DataCallback;
/// DataPointDirect represents "physical" data objects.
/**
* This class should never be used directly, instead inherit from it to
* provide a class for a specific access protocol.
* \ingroup data
* \headerfile DataPointDirect.h arc/data/DataPointDirect.h
*/
class DataPointDirect
: public DataPoint {
public:
virtual ~DataPointDirect();
virtual bool IsIndex() const;
virtual bool IsStageable() const;
virtual long long int BufSize() const;
virtual int BufNum() const;
virtual bool Local() const;
virtual bool ReadOnly() const;
virtual void ReadOutOfOrder(bool v);
virtual bool WriteOutOfOrder();
virtual void SetAdditionalChecks(bool v);
virtual bool GetAdditionalChecks() const;
virtual void SetSecure(bool v);
virtual bool GetSecure() const;
virtual void Passive(bool v);
virtual void Range(unsigned long long int start = 0,
unsigned long long int end = 0);
virtual int AddCheckSumObject(CheckSum *cksum);
virtual const CheckSum* GetCheckSumObject(int index) const;
virtual DataStatus Stat(std::list<FileInfo>& files,
const std::list<DataPoint*>& urls,
DataPointInfoType verb = INFO_TYPE_ALL);
// Not supported for direct data points:
virtual DataStatus Resolve(bool source);
virtual DataStatus Resolve(bool source, const std::list<DataPoint*>& urls);
virtual bool Registered() const;
virtual DataStatus PreRegister(bool replication, bool force = false);
virtual DataStatus PostRegister(bool replication);
virtual DataStatus PreUnregister(bool replication);
virtual DataStatus Unregister(bool all);
virtual bool AcceptsMeta() const;
virtual bool ProvidesMeta() const;
virtual const URL& CurrentLocation() const;
virtual DataPoint* CurrentLocationHandle() const;
virtual const std::string& CurrentLocationMetadata() const;
virtual DataStatus CompareLocationMetadata() const;
virtual bool NextLocation();
virtual bool LocationValid() const;
virtual bool HaveLocations() const;
virtual bool LastLocation();
virtual DataStatus AddLocation(const URL& url, const std::string& meta);
virtual DataStatus RemoveLocation();
virtual DataStatus RemoveLocations(const DataPoint& p);
virtual DataStatus ClearLocations();
virtual void SortLocations(const std::string& /* pattern */,
const URLMap& /* url_map */) {};
protected:
DataBuffer *buffer;
long long int bufsize;
int bufnum;
bool local;
bool readonly;
bool linkable;
bool is_secure;
bool force_secure;
bool force_passive;
bool additional_checks;
bool allow_out_of_order;
unsigned long long int range_start;
unsigned long long int range_end;
std::list<CheckSum*> checksums;
DataPointDirect(const URL& url, const UserConfig& usercfg, PluginArgument* parg);
};
} // namespace Arc
#endif // __ARC_DATAPOINTDIRECT_H__
|