00001 // @(#)root/cont:$Id: TProcessUUID.h 33608 2010-05-25 11:08:00Z brun $ 00002 // Author: Rene Brun 06/07/2002 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TProcessUUID 00013 #define ROOT_TProcessUUID 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TProcessUUID // 00019 // // 00020 // TProcessID managing UUIDs // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 00025 #ifndef ROOT_TProcessID 00026 #include "TProcessID.h" 00027 #endif 00028 00029 class THashList; 00030 class TBits; 00031 class TUUID; 00032 class TObjString; 00033 00034 class TProcessUUID : public TProcessID { 00035 00036 private: 00037 TProcessUUID(const TProcessID&); // TProcessUUID are not copiable. 00038 TProcessUUID &operator=(const TProcessUUID&); // TProcessUUID are not copiable. 00039 00040 protected: 00041 TList *fUUIDs; //Global list of TUUIDs 00042 TBits *fActive; //Table of active UUIDs 00043 00044 public: 00045 00046 TProcessUUID(); 00047 virtual ~TProcessUUID(); 00048 UInt_t AddUUID(TUUID &uuid, TObject *obj); 00049 UInt_t AddUUID(const char *uuids); 00050 TObjString *FindUUID(UInt_t number) const; 00051 TBits *GetActive() const {return fActive;} 00052 TList *GetUUIDs() const {return fUUIDs;} 00053 void RemoveUUID(UInt_t number); 00054 00055 ClassDef(TProcessUUID,1) //TProcessID managing UUIDs 00056 }; 00057 00058 #endif