ROOT logo
// $Id: ZEunuch.h 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef GledCore_ZEunuch_H
#define GledCore_ZEunuch_H

#include <Glasses/ZHashList.h>
#include <Glasses/ZQueen.h>
#include <Glasses/SaturnInfo.h>

class ZEunuch : public ZHashList {
  MAC_RNR_FRIENDS(ZEunuch);

public:
  enum RequestType_e   { RT_Undef, RT_Pull, RT_Push };
  enum PushStrategy_e  { PS_Undef, PS_All, PS_Saturn, PS_SaturnList,
			 PS_FollowSecQueen };
private:
  void _init();

protected:
  ZLink<ZQueen>	mPrimQueen;	// X{gS} L{}
  ZLink<ZQueen>	mSecQueen;	// X{gS} L{}

  ZLink<SaturnInfo>	mToSaturn;	// X{gS} L{}

  // Top level request type
  RequestType_e	 mRequest;	// X{gS} 7 PhonyEnum()

  // Push subdefs. Also mToSaturn, list contents and mSecQueen
  PushStrategy_e mPushStrategy;	// X{gS} 7 PhonyEnum()


public:
  ZEunuch(const Text_t* n="ZEunuch", const Text_t* t=0) : ZHashList(n,t)
  { _init(); }


#include "ZEunuch.h7"
  ClassDef(ZEunuch, 1);
}; // endclass ZEunuch


#endif
 ZEunuch.h:1
 ZEunuch.h:2
 ZEunuch.h:3
 ZEunuch.h:4
 ZEunuch.h:5
 ZEunuch.h:6
 ZEunuch.h:7
 ZEunuch.h:8
 ZEunuch.h:9
 ZEunuch.h:10
 ZEunuch.h:11
 ZEunuch.h:12
 ZEunuch.h:13
 ZEunuch.h:14
 ZEunuch.h:15
 ZEunuch.h:16
 ZEunuch.h:17
 ZEunuch.h:18
 ZEunuch.h:19
 ZEunuch.h:20
 ZEunuch.h:21
 ZEunuch.h:22
 ZEunuch.h:23
 ZEunuch.h:24
 ZEunuch.h:25
 ZEunuch.h:26
 ZEunuch.h:27
 ZEunuch.h:28
 ZEunuch.h:29
 ZEunuch.h:30
 ZEunuch.h:31
 ZEunuch.h:32
 ZEunuch.h:33
 ZEunuch.h:34
 ZEunuch.h:35
 ZEunuch.h:36
 ZEunuch.h:37
 ZEunuch.h:38
 ZEunuch.h:39
 ZEunuch.h:40
 ZEunuch.h:41
 ZEunuch.h:42
 ZEunuch.h:43
 ZEunuch.h:44
 ZEunuch.h:45
 ZEunuch.h:46
 ZEunuch.h:47