00001 #ifndef __CMS_MANLIST__H
00002 #define __CMS_MANLIST__H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "XrdSys/XrdSysPthread.hh"
00014
00015
00016
00017 class XrdCmsManRef;
00018
00019 class XrdCmsManList
00020 {
00021 public:
00022
00023
00024
00025 void Add(unsigned int refp, char *manp, int manport, int lvl);
00026
00027
00028
00029 void Del(unsigned int refp);
00030
00031
00032
00033 int haveAlts() {return allMans != 0;}
00034
00035
00036
00037
00038 int Next(int &port, char *buff, int bsz);
00039
00040 XrdCmsManList() {allMans = nextMan = 0;}
00041 ~XrdCmsManList();
00042
00043 private:
00044
00045 XrdSysMutex mlMutex;
00046 XrdCmsManRef *nextMan;
00047 XrdCmsManRef *allMans;
00048 };
00049
00050 namespace XrdCms
00051 {
00052 extern XrdCmsManList myMans;
00053 }
00054 #endif