ROOT logo
// $Id: ZFilterAggregator.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_ZFilterAggregator_H
#define GledCore_ZFilterAggregator_H

#include <Glasses/ZMirFilter.h>
#include <Glasses/ZHashList.h>

class ZFilterAggregator : public ZMirFilter {
  MAC_RNR_FRIENDS(ZFilterAggregator);

private:
  void _init();

protected:
  Bool_t	bStrongNone;	// X{gS} 7 Bool(-join=>1)
  Bool_t	bPreemptNone;	// X{gS} 7 Bool()
  Bool_t	bPreemptAllow;	// X{gS} 7 Bool(-join=>1)
  Bool_t	bPreemptDeny;	// X{gS} 7 Bool()

  ZLink<ZHashList>  mFilters;	// X{gS} L{}

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

  UChar_t BuildPreemptionBits();

  virtual Result_e FilterMIR(ZMIR& mir);

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


/**************************************************************************/
// Inlines
/**************************************************************************/

inline
UChar_t ZFilterAggregator::BuildPreemptionBits()
{
  UChar_t res = 0;
  if(bPreemptNone)  res |= ZMirFilter::R_None;
  if(bPreemptAllow) res |= ZMirFilter::R_Allow;
  if(bPreemptDeny)  res |= ZMirFilter::R_Deny;
  return res;
}

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