// @(#)root/net:$Id$
// Author: Andreas-Joachim Peters 2005-05-09

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGridCollection
#define ROOT_TGridCollection

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGridCollection                                                      //
//                                                                      //
// Class which manages collection files on the Grid.                    //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TObject
#include "TObject.h"
#endif

class TMap;
class TFile;
class TEntryList;
class TList;
class TDSet;
class TGridResult;
class TFileCollection;


class TGridCollection : public TObject {
public:
   TGridCollection() { }
   virtual ~TGridCollection() { }

   virtual void         Reset()
      { MayNotUse("Reset"); }
   virtual TMap        *Next()
      { MayNotUse("Next"); return 0;}
   virtual Bool_t       Remove(TMap *)
      { MayNotUse("Remove"); return 0;}
   virtual const char  *GetTURL(const char * /*name*/ = "")
      { MayNotUse("GetTURL"); return 0;}
   virtual const char  *GetSURL(const char * /*name*/ = "")
      { MayNotUse("GetSURL"); return 0;}
   virtual const char  *GetLFN(const char * /*name*/ = "")
      { MayNotUse("GetLFN"); return 0;}
   virtual Long64_t    GetSize(const char * /*name*/ = "")
      { MayNotUse("GetSize"); return -1;}
   virtual Bool_t      IsOnline(const char * /*name*/ = "")
      { MayNotUse("IsOnline"); return 0;}
   virtual Bool_t      IsSelected(const char * /*name*/ = "")
      { MayNotUse("IsSelected"); return 0;}
   virtual void        Status()
      { MayNotUse("Status"); }
   virtual void        SetTag(const char * , const char * , TMap* )
      { MayNotUse("SetTag"); }
   virtual Bool_t      SelectFile(const char *, Int_t /*nstart*/ = -1 , Int_t /*nstop*/ = -1)
      { MayNotUse("SelectFile"); return kFALSE;}
   virtual Bool_t      DeselectFile(const char *, Int_t /*nstart*/ = -1, Int_t /*nstop*/ = -1)
      { MayNotUse("DeselectFile"); return kFALSE;}
   virtual Bool_t      InvertSelection()
      { MayNotUse("InvertSelection"); return kFALSE;}
   virtual Bool_t      DownscaleSelection(UInt_t /* scaler */ = 2)
      { MayNotUse("DownscaleSelection"); return kFALSE;}
   virtual Bool_t      ExportXML(const char *, Bool_t /*selected*/ = kTRUE, Bool_t /*online*/ = kTRUE,
                                 const char * /*name*/ = "ROOT xml", const char * /*comment*/ = "Exported XML")
      { MayNotUse("ExportXML"); return kFALSE;}
   virtual const char* GetExportUrl()
      { MayNotUse("GetExportUrl"); return 0;}
   virtual Bool_t      SetExportUrl(const char * /*exporturl*/ = 0)
      { MayNotUse("SetExportUrl"); return kFALSE;}
   virtual void         Print(Option_t *) const
      { MayNotUse("Print"); }
   virtual TFile       *OpenFile(const char *)
      { MayNotUse("OpenFile"); return 0;}
   virtual TList       *GetFileGroupList() const
      { MayNotUse("GetFileGroupList"); return 0;}
   virtual TEntryList  *GetEntryList(const char *)
      { MayNotUse("GetEntryList"); return 0;}
   virtual UInt_t       GetNofGroups() const
      { MayNotUse("GetNofGroups"); return 0;}
   virtual UInt_t       GetNofGroupfiles() const
      { MayNotUse("GetNofGroupfiles"); return 0;}
   virtual Bool_t       OverlapCollection(TGridCollection *)
      { MayNotUse("OverlapCollection"); return 0;}
   virtual void         Add(TGridCollection *)
      { MayNotUse("Add");}
   virtual Bool_t       Stage(Bool_t /*bulk*/ = kFALSE, Option_t * /*TFileStager option*/ = "")
      { MayNotUse("Stage"); return kFALSE;}
   virtual Bool_t       Prepare(Bool_t /*bulk*/ = kFALSE)
      { MayNotUse("Prepare"); return kFALSE;}
   virtual Bool_t       CheckIfOnline(Bool_t /*bulk*/ = kFALSE)
      { MayNotUse("CheckIfOnline"); return kFALSE;}
   virtual TDSet       *GetDataset(const char *, const char * , const char *)
      { MayNotUse("GetDataset"); return 0;}
   virtual TGridResult *GetGridResult(const char * /*filename*/ = "", Bool_t /*onlyonline*/ = kTRUE , Bool_t /*publicaccess*/ = kFALSE )
      { MayNotUse("GetGridResult"); return 0;}
   virtual Bool_t       LookupSUrls(Bool_t /*verbose*/ = kTRUE)
      { MayNotUse("LookupSUrls"); return kFALSE;}
   virtual TList       *GetTagFilterList() const
      { MayNotUse("GetTagFilterList"); return 0;}
   virtual void         SetTagFilterList(TList *)
      { MayNotUse("SetTagFilterList");}
   virtual const char* GetCollectionName() const
      { MayNotUse("GetCollectionName"); return 0;}
   virtual const char* GetInfoComment() const
      { MayNotUse("GetInfoComment"); return 0;}
   virtual TFileCollection* GetFileCollection(const char* /*name*/ = "", const char* /*title*/ = "") const
      { MayNotUse("GetFileCollection"); return 0;}

   ClassDef(TGridCollection,1)  // ABC managing collection of files on the Grid
};

#endif
 TGridCollection.h:1
 TGridCollection.h:2
 TGridCollection.h:3
 TGridCollection.h:4
 TGridCollection.h:5
 TGridCollection.h:6
 TGridCollection.h:7
 TGridCollection.h:8
 TGridCollection.h:9
 TGridCollection.h:10
 TGridCollection.h:11
 TGridCollection.h:12
 TGridCollection.h:13
 TGridCollection.h:14
 TGridCollection.h:15
 TGridCollection.h:16
 TGridCollection.h:17
 TGridCollection.h:18
 TGridCollection.h:19
 TGridCollection.h:20
 TGridCollection.h:21
 TGridCollection.h:22
 TGridCollection.h:23
 TGridCollection.h:24
 TGridCollection.h:25
 TGridCollection.h:26
 TGridCollection.h:27
 TGridCollection.h:28
 TGridCollection.h:29
 TGridCollection.h:30
 TGridCollection.h:31
 TGridCollection.h:32
 TGridCollection.h:33
 TGridCollection.h:34
 TGridCollection.h:35
 TGridCollection.h:36
 TGridCollection.h:37
 TGridCollection.h:38
 TGridCollection.h:39
 TGridCollection.h:40
 TGridCollection.h:41
 TGridCollection.h:42
 TGridCollection.h:43
 TGridCollection.h:44
 TGridCollection.h:45
 TGridCollection.h:46
 TGridCollection.h:47
 TGridCollection.h:48
 TGridCollection.h:49
 TGridCollection.h:50
 TGridCollection.h:51
 TGridCollection.h:52
 TGridCollection.h:53
 TGridCollection.h:54
 TGridCollection.h:55
 TGridCollection.h:56
 TGridCollection.h:57
 TGridCollection.h:58
 TGridCollection.h:59
 TGridCollection.h:60
 TGridCollection.h:61
 TGridCollection.h:62
 TGridCollection.h:63
 TGridCollection.h:64
 TGridCollection.h:65
 TGridCollection.h:66
 TGridCollection.h:67
 TGridCollection.h:68
 TGridCollection.h:69
 TGridCollection.h:70
 TGridCollection.h:71
 TGridCollection.h:72
 TGridCollection.h:73
 TGridCollection.h:74
 TGridCollection.h:75
 TGridCollection.h:76
 TGridCollection.h:77
 TGridCollection.h:78
 TGridCollection.h:79
 TGridCollection.h:80
 TGridCollection.h:81
 TGridCollection.h:82
 TGridCollection.h:83
 TGridCollection.h:84
 TGridCollection.h:85
 TGridCollection.h:86
 TGridCollection.h:87
 TGridCollection.h:88
 TGridCollection.h:89
 TGridCollection.h:90
 TGridCollection.h:91
 TGridCollection.h:92
 TGridCollection.h:93
 TGridCollection.h:94
 TGridCollection.h:95
 TGridCollection.h:96
 TGridCollection.h:97
 TGridCollection.h:98
 TGridCollection.h:99
 TGridCollection.h:100
 TGridCollection.h:101
 TGridCollection.h:102
 TGridCollection.h:103
 TGridCollection.h:104
 TGridCollection.h:105
 TGridCollection.h:106
 TGridCollection.h:107
 TGridCollection.h:108
 TGridCollection.h:109
 TGridCollection.h:110
 TGridCollection.h:111
 TGridCollection.h:112
 TGridCollection.h:113
 TGridCollection.h:114
 TGridCollection.h:115
 TGridCollection.h:116
 TGridCollection.h:117
 TGridCollection.h:118
 TGridCollection.h:119
 TGridCollection.h:120