Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:12:20

0001 // @(#)root/cont:$Id$
0002 // Author: Rene Brun   06/07/2002
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TProcessUUID
0013 #define ROOT_TProcessUUID
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TProcessUUID                                                         //
0019 //                                                                      //
0020 // TProcessID managing UUIDs                                            //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 
0025 #include "TProcessID.h"
0026 
0027 class THashList;
0028 class TBits;
0029 class TUUID;
0030 class TObjString;
0031 
0032 class TProcessUUID : public TProcessID {
0033 
0034 private:
0035    TProcessUUID(const TProcessID&) = delete;
0036    TProcessUUID &operator=(const TProcessUUID&) = delete;
0037 
0038 protected:
0039    TList       *fUUIDs;        //Global list of TUUIDs
0040    TBits       *fActive;       //Table of active UUIDs
0041 
0042 public:
0043 
0044    TProcessUUID();
0045    virtual ~TProcessUUID();
0046    UInt_t             AddUUID(TUUID &uuid, TObject *obj);
0047    UInt_t             AddUUID(const char *uuids);
0048    TObjString        *FindUUID(UInt_t number) const;
0049    TBits             *GetActive() const {return fActive;}
0050    TList             *GetUUIDs()  const {return fUUIDs;}
0051    void               RemoveUUID(UInt_t number);
0052 
0053    ClassDefOverride(TProcessUUID,1)  //TProcessID managing UUIDs
0054 };
0055 
0056 #endif