ROOT logo
// $Id: ZMirFilter.h 2456 2010-10-17 18:31:40Z 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_ZMirFilter_H
#define GledCore_ZMirFilter_H

#include <Glasses/ZGlass.h>

class ZMirFilter : public ZGlass
{
  MAC_RNR_FRIENDS(ZMirFilter);

public:
  enum Result_e { R_None=0x1, R_Allow=0x2, R_Deny=0x4 };

private:
  void _init();

protected:
  UChar_t	mMapNoneTo;	// X{GS} 7 PhonyEnum(-type=>Result_e, -width=>6)

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

  virtual Result_e FilterMIR(ZMIR& mir);

  Result_e FinaliseResult(Result_e r);

  static Result_e NegateResult(Result_e r);

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


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

inline
ZMirFilter::Result_e ZMirFilter::FilterMIR(ZMIR& mir)
{
  return (Result_e)mMapNoneTo;
}

/**************************************************************************/

inline
ZMirFilter::Result_e ZMirFilter::FinaliseResult(ZMirFilter::Result_e r)
{
  return (r == R_None) ? (Result_e)mMapNoneTo : r;
}

inline
ZMirFilter::Result_e ZMirFilter::NegateResult(ZMirFilter::Result_e r)
{
  if(r == R_Allow) 	return R_Deny;
  else if(r == R_Deny)	return R_Allow;
  else			return r;
}

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