36 class TMonitor :
public TObject,
public TQObject {
38 friend class TSocketHandler;
39 friend class TTimeOutTimer;
41 friend class TXSocket;
50 void SetReady(TSocket *sock);
51 void *GetSender() {
return this; }
54 enum EInterest { kRead = 1, kWrite = 2 };
56 TMonitor(Bool_t mainloop = kTRUE);
57 TMonitor(
const TMonitor &m);
60 virtual void Add(TSocket *sock, Int_t interest = kRead);
61 virtual void SetInterest(TSocket *sock, Int_t interest = kRead);
62 virtual void Remove(TSocket *sock);
63 virtual void RemoveAll();
65 virtual void Activate(TSocket *sock);
66 virtual void ActivateAll();
67 virtual void DeActivate(TSocket *sock);
68 virtual void DeActivateAll();
69 virtual void Ready(TSocket *sock);
71 void Interrupt() { fInterrupt = kTRUE; }
72 void ResetInterrupt() { fInterrupt = kFALSE; }
75 TSocket *Select(Long_t timeout);
76 Int_t Select(TList *rdready, TList *wrready, Long_t timeout);
78 Int_t GetActive(Long_t timeout = -1)
const;
79 Int_t GetDeActive()
const;
80 TList *GetListOfActives()
const;
81 TList *GetListOfDeActives()
const;
83 Bool_t IsActive(TSocket *s)
const;