Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGrid.h
Go to the documentation of this file.
1// @(#)root/net:$Id$
2// Author: Fons Rademakers 3/1/2002
3
4/*************************************************************************
5 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGrid
13#define ROOT_TGrid
14
15#include "TObject.h"
16
17#include "TString.h"
18
19#include "TGridJob.h"
20
21class TGridResult;
22class TGridJDL;
23class TGridJob;
24class TGridCollection;
26
27
28///////////////////////////////////////////////////////////////////////////
29///
30/// Abstract base class defining interface to common GRID services.
31///
32/// \note This class is deprecated. It is kept for backward compatibility
33/// but it should not be used in new code.
34///
35/// To open a connection to a GRID use the static method Connect().
36/// The argument of Connect() is of the form:
37/// ~~~
38/// <grid>://<host>[:<port>], e.g. alien://alice.cern.ch
39/// ~~~
40/// Depending on the <grid> specified an appropriate plugin library
41/// will be loaded which will provide the real interface.
42///
43/// Related classes are TGridResult.
44///
45///////////////////////////////////////////////////////////////////////////
46class TGrid : public TObject {
47
48protected:
49 TString fGridUrl; // the GRID url used to create the grid connection
50 TString fGrid; // type of GRID (AliEn, ...)
51 TString fHost; // GRID portal to which we are connected
52 TString fUser; // user name
53 TString fPw; // user passwd
54 TString fOptions; // options specified
55 Int_t fPort; // port to which we are connected
56
57public:
58 TGrid() : fGridUrl(), fGrid(), fHost(), fUser(), fPw(), fOptions(), fPort(-1) {}
59 virtual ~TGrid() {}
60
61 const char *GridUrl() const { return fGridUrl; }
62 const char *GetGrid() const { return fGrid; }
63 const char *GetHost() const { return fHost; }
64 const char *GetUser() const { return fUser; }
65 const char *GetPw() const { return fPw; }
66 const char *GetOptions() const { return fOptions; }
67 Int_t GetPort() const { return fPort; }
68 virtual Bool_t IsConnected() const { return fPort == -1 ? kFALSE : kTRUE; }
69
70 virtual void Shell() { MayNotUse("Shell"); }
71 virtual void Stdout() { MayNotUse("Stdout"); }
72 virtual void Stderr() { MayNotUse("Stderr"); }
73
74 virtual TGridResult *Command(const char * /*command*/,
75 Bool_t /*interactive*/ = kFALSE,
76 UInt_t /*stream*/ = 2)
77 { MayNotUse("Command"); return nullptr; }
78
79 virtual TGridResult *Query(const char * /*path*/, const char * /*pattern*/,
80 const char * /*conditions*/ = "", const char * /*options*/ = "")
81 { MayNotUse("Query"); return nullptr; }
82
83 virtual TGridResult *LocateSites() { MayNotUse("LocalSites"); return nullptr; }
84
85 //--- Catalogue Interface
86 virtual TGridResult *Ls(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
87 { MayNotUse("Ls"); return nullptr; }
88 virtual const char *Pwd(Bool_t /*verbose*/ =kFALSE)
89 { MayNotUse("Pwd"); return nullptr; }
90 virtual const char *GetHomeDirectory()
91 { MayNotUse("GetHomeDirectory"); return nullptr; }
92 virtual Bool_t Cd(const char* /*ldn*/ ="",Bool_t /*verbose*/ =kFALSE)
93 { MayNotUse("Cd"); return kFALSE; }
94 virtual Int_t Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
95 { MayNotUse("Mkdir"); return kFALSE; }
96 virtual Bool_t Rmdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
97 { MayNotUse("Mkdir"); return kFALSE; }
98 virtual Bool_t Register(const char* /*lfn*/ , const char* /*turl*/ , Long_t /*size*/ =-1, const char* /*se*/ =nullptr, const char* /*guid*/ =nullptr, Bool_t /*verbose*/ =kFALSE)
99 { MayNotUse("Mkdir"); return kFALSE; }
100 virtual Bool_t Rm(const char* /*lfn*/ , Option_t* /*option*/ ="", Bool_t /*verbose*/ =kFALSE)
101 { MayNotUse("Mkdir"); return kFALSE; }
102
103 //--- Job Submission Interface
104 virtual TGridJob *Submit(const char * /*jdl*/)
105 { MayNotUse("Submit"); return nullptr; }
107 { MayNotUse("GetJDLGenerator"); return nullptr; }
108 virtual TGridCollection *OpenCollection(const char *, UInt_t /*maxentries*/ = 1000000)
109 { MayNotUse("OpenCollection"); return nullptr; }
110 virtual TGridCollection *OpenCollectionQuery(TGridResult * /*queryresult*/,Bool_t /*nogrouping*/ = kFALSE)
111 { MayNotUse("OpenCollection"); return nullptr; }
112 virtual TGridJobStatusList* Ps(const char* /*options*/, Bool_t /*verbose*/ = kTRUE)
113 { MayNotUse("Ps"); return nullptr; }
114 virtual Bool_t KillById(TString /*jobid*/)
115 { MayNotUse("KillById"); return kFALSE; }
116 virtual Bool_t ResubmitById(TString /*jobid*/)
117 { MayNotUse("ResubmitById"); return kFALSE; }
119 { return ((gridjob)?KillById(gridjob->GetJobID()):kFALSE); }
121 { return ((gridjob)?ResubmitById(gridjob->GetJobID()):kFALSE); }
122
123 //--- Load desired plugin and setup conection to GRID
124 static TGrid *Connect(const char *grid, const char *uid = nullptr,
125 const char *pw = nullptr, const char *options = nullptr);
126
127 ClassDefOverride(TGrid,0) // ABC defining interface to GRID services
128};
129
131
132#endif
#define R__EXTERN
Definition DllImport.h:26
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:69
constexpr Bool_t kFALSE
Definition RtypesCore.h:109
constexpr Bool_t kTRUE
Definition RtypesCore.h:108
const char Option_t
Option string (const char)
Definition RtypesCore.h:81
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
R__EXTERN TGrid * gGrid
Definition TGrid.h:130
Abstract base class defining interface to a GRID job.
Definition TGridJob.h:31
Abstract base class defining interface to common GRID services.
Definition TGrid.h:46
virtual TGridJob * Submit(const char *)
Definition TGrid.h:104
const char * GridUrl() const
Definition TGrid.h:61
virtual Bool_t Register(const char *, const char *, Long_t=-1, const char *=nullptr, const char *=nullptr, Bool_t=kFALSE)
Definition TGrid.h:98
virtual Bool_t Rm(const char *, Option_t *="", Bool_t=kFALSE)
Definition TGrid.h:100
const char * GetHost() const
Definition TGrid.h:63
TGrid()
Definition TGrid.h:58
TString fGrid
Definition TGrid.h:50
const char * GetGrid() const
Definition TGrid.h:62
virtual TGridResult * Query(const char *, const char *, const char *="", const char *="")
Definition TGrid.h:79
virtual TGridJDL * GetJDLGenerator()
Definition TGrid.h:106
virtual TGridResult * Ls(const char *="", Option_t *="", Bool_t=kFALSE)
Definition TGrid.h:86
virtual Bool_t Cd(const char *="", Bool_t=kFALSE)
Definition TGrid.h:92
const char * GetUser() const
Definition TGrid.h:64
TString fPw
Definition TGrid.h:53
virtual TGridJobStatusList * Ps(const char *, Bool_t=kTRUE)
Definition TGrid.h:112
const char * GetPw() const
Definition TGrid.h:65
TString fOptions
Definition TGrid.h:54
virtual TGridCollection * OpenCollection(const char *, UInt_t=1000000)
Definition TGrid.h:108
virtual void Shell()
Definition TGrid.h:70
virtual TGridResult * LocateSites()
Definition TGrid.h:83
virtual const char * Pwd(Bool_t=kFALSE)
Definition TGrid.h:88
const char * GetOptions() const
Definition TGrid.h:66
virtual Int_t Mkdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition TGrid.h:94
virtual ~TGrid()
Definition TGrid.h:59
virtual void Stderr()
Definition TGrid.h:72
Int_t fPort
Definition TGrid.h:55
virtual TGridResult * Command(const char *, Bool_t=kFALSE, UInt_t=2)
Definition TGrid.h:74
virtual Bool_t Rmdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition TGrid.h:96
TString fHost
Definition TGrid.h:51
virtual Bool_t IsConnected() const
Definition TGrid.h:68
virtual Bool_t KillById(TString)
Definition TGrid.h:114
virtual TGridCollection * OpenCollectionQuery(TGridResult *, Bool_t=kFALSE)
Definition TGrid.h:110
virtual Bool_t ResubmitById(TString)
Definition TGrid.h:116
TString fUser
Definition TGrid.h:52
virtual Bool_t Kill(TGridJob *gridjob)
Definition TGrid.h:118
virtual void Stdout()
Definition TGrid.h:71
virtual Bool_t Resubmit(TGridJob *gridjob)
Definition TGrid.h:120
static TGrid * Connect(const char *grid, const char *uid=nullptr, const char *pw=nullptr, const char *options=nullptr)
The grid should be of the form: <grid>://<host>[:<port>], e.g.: alien://alice.cern....
Definition TGrid.cxx:32
Int_t GetPort() const
Definition TGrid.h:67
TString fGridUrl
Definition TGrid.h:49
virtual const char * GetHomeDirectory()
Definition TGrid.h:90
Mother of all ROOT objects.
Definition TObject.h:42
void MayNotUse(const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived clas...
Definition TObject.cxx:1160
Basic string class.
Definition TString.h:138