00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TAlien
00013 #define ROOT_TAlien
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef ROOT_TGrid
00025 #include "TGrid.h"
00026 #endif
00027
00028 #ifndef ROOT_TList
00029 #include "TList.h"
00030 #endif
00031
00032 class GapiUI;
00033 class TGridJob;
00034 class TGridJobStatusList;
00035 class TMap;
00036
00037
00038 class TAlien : public TGrid {
00039
00040 public:
00041 enum { kSTDOUT = 0, kSTDERR = 1 , kOUTPUT = 2, kENVIR = 3 };
00042 enum CatalogType { kFailed = -1, kFile = 0, kDirectory, kCollection };
00043
00044 private:
00045
00046
00047
00048
00049 GapiUI *fGc;
00050 TString fPwd;
00051 TString fHome;
00052
00053 TGridResult *Command(const char *command, bool interactive = kFALSE,
00054 UInt_t stream = kOUTPUT);
00055 virtual TGridResult *Query(const char *path, const char *pattern,
00056 const char *conditions = "", const char *options = "");
00057
00058 virtual TGridResult *LocateSites();
00059 virtual TGridResult *OpenDataset(const char *lfn, const char *options = "");
00060
00061 public:
00062 TAlien(const char *gridurl, const char *uid=0, const char *passwd=0,
00063 const char *options=0);
00064 virtual ~TAlien();
00065
00066 void Shell();
00067
00068 void Stdout();
00069 void Stderr();
00070
00071 TMap *GetColumn(UInt_t stream=0, UInt_t column=0);
00072 UInt_t GetNColumns(UInt_t stream);
00073
00074 const char *GetStreamFieldValue(UInt_t stream, UInt_t column, UInt_t row);
00075 const char *GetStreamFieldKey(UInt_t stream, UInt_t column, UInt_t row);
00076
00077 TString Escape(const char *input);
00078 virtual TGridJob *Submit(const char *jdl);
00079 virtual TGridJDL *GetJDLGenerator();
00080 virtual TGridCollection* OpenCollection(const char* collectionfile, UInt_t maxentries = kTRUE);
00081 virtual TGridCollection* OpenCollectionQuery(TGridResult * queryresult, Bool_t nogrouping = kFALSE);
00082 virtual TGridJobStatusList* Ps(const char* options, Bool_t verbose = kTRUE);
00083 virtual Bool_t KillById(TString jobid);
00084 virtual Bool_t ResubmitById(TString jobid);
00085
00086
00087 virtual TGridResult *Ls(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
00088 virtual const char *Pwd(Bool_t verbose=kFALSE);
00089 virtual const char *GetHomeDirectory() { return fHome.Data(); }
00090 virtual Bool_t Cd(const char *ldn="", Bool_t verbose=kFALSE);
00091 virtual Int_t Mkdir(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
00092 virtual Bool_t Rmdir(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
00093 virtual Bool_t Register(const char *lfn, const char *turl, Long_t size=-1,
00094 const char *se=0, const char *guid=0, Bool_t verbose=kFALSE);
00095 virtual Bool_t Rm(const char *lfn, Option_t *option="", Bool_t verbose=kFALSE);
00096 virtual CatalogType Type(const char* lfn, Option_t* option = "", Bool_t verbose=kFALSE);
00097 virtual TGridResult* GetCollection(const char* lfn, Option_t* option = "", Bool_t verbose=kFALSE);
00098
00099
00100 virtual TGridResult* ListPackages(const char* alienpackagedir="/alice/packages");
00101 ClassDef(TAlien,0)
00102 };
00103
00104 #endif