XRootD
Loading...
Searching...
No Matches
XrdClThirdPartyCopyJob.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// Copyright (c) 2011-2012 by European Organization for Nuclear Research (CERN)
3// Author: Lukasz Janyst <ljanyst@cern.ch>
4//------------------------------------------------------------------------------
5// XRootD is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// XRootD is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with XRootD. If not, see <http://www.gnu.org/licenses/>.
17//------------------------------------------------------------------------------
18
19#ifndef __XRD_CL_THIRD_PARTY_COPY_JOB_HH__
20#define __XRD_CL_THIRD_PARTY_COPY_JOB_HH__
21
23#include "XrdCl/XrdClCopyJob.hh"
24#include "XrdCl/XrdClFile.hh"
25
26namespace XrdCl
27{
28 class File;
29
31 {
32 public:
33 //------------------------------------------------------------------------
35 //------------------------------------------------------------------------
36 ThirdPartyCopyJob( uint16_t jobId,
37 PropertyList *jobProperties,
38 PropertyList *jobResults );
39
40 //------------------------------------------------------------------------
45 //------------------------------------------------------------------------
46 virtual XRootDStatus Run( CopyProgressHandler *progress = 0 );
47
48 private:
49
50 //------------------------------------------------------------------------
57 //------------------------------------------------------------------------
58 XRootDStatus CanDo();
59
60 //------------------------------------------------------------------------
62 //------------------------------------------------------------------------
63 XRootDStatus RunTPC( CopyProgressHandler *progress );
64
65 //------------------------------------------------------------------------
67 //------------------------------------------------------------------------
68 XRootDStatus RunLite( CopyProgressHandler *progress );
69
70 //------------------------------------------------------------------------
72 //------------------------------------------------------------------------
73 static std::string GenerateKey();
74
75 XrdCl::File dstFile;
76 URL tpcSource;
77 URL realTarget;
78 std::string tpcKey;
79
80 std::string checkSumMode;
81 std::string checkSumType;
82 std::string checkSumPreset;
83 uint64_t sourceSize;
84 uint16_t initTimeout;
85 bool force;
86 bool coerce;
87 bool delegate;
88 int nbStrm;
89 bool tpcLite;
90 };
91}
92
93#endif // __XRD_CL_THIRD_PARTY_COPY_JOB_HH__
CopyJob(uint16_t jobId, PropertyList *jobProperties, PropertyList *jobResults)
Constructor.
Interface for copy progress notification.
A file.
Definition XrdClFile.hh:46
A key-value pair map storing both keys and values as strings.
virtual XRootDStatus Run(CopyProgressHandler *progress=0)
ThirdPartyCopyJob(uint16_t jobId, PropertyList *jobProperties, PropertyList *jobResults)
Constructor.
URL representation.
Definition XrdClURL.hh:31