12 #ifndef ROOT_TDavixFileInternal
13 #define ROOT_TDavixFileInternal
53 class TDavixFileInternal {
54 friend class TDavixFile;
55 friend class TDavixSystem;
58 TDavixFileInternal(
const TUrl & mUrl, Option_t* mopt) :
61 davixContext(getDavixInstance()),
70 TDavixFileInternal(
const char* url, Option_t* mopt) :
73 davixContext(getDavixInstance()),
82 ~TDavixFileInternal();
84 Davix_fd *getDavixFileInstance()
87 if (davixFd == NULL) {
88 TLockGuard l(&(openLock));
89 if (davixFd == NULL) {
90 davixFd = this->Open();
100 void enableGridMode();
102 void setAwsRegion(
const std::string & region);
103 void setAwsToken(
const std::string & token);
104 void setAwsAlternate(
const bool &option);
106 void setS3Auth(
const std::string & secret,
const std::string & access,
107 const std::string & region,
const std::string & token);
111 void parseParams(Option_t* option);
115 bool isMyDird(
void* fd);
117 void addDird(
void* fd);
119 void removeDird(
void* fd);
121 std::vector<std::string> getReplicas()
129 std::vector<std::string> replicas;
132 Davix::Context *davixContext;
133 Davix::RequestParams *davixParam;
134 Davix::DavPosix *davixPosix;
139 std::vector<void*> dirdVec;
142 Int_t DavixStat(
const char *url,
struct stat *st);
144 static Davix::Context* getDavixInstance();