ROOT logo
// $Id: ZMEESelfFilter.cxx 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/.

//__________________________________________________________________________
// ZMEESelfFilter
//
//

#include "ZMEESelfFilter.h"
#include "ZMEESelfFilter.c7"
#include <Glasses/ZMirEmittingEntity.h>

ClassImp(ZMEESelfFilter);

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

void ZMEESelfFilter::_init()
{
}

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

ZMirFilter::Result_e ZMEESelfFilter::FilterMIR(ZMIR& mir)
{
  // Allows execution if Alpha == Caller (which is a MEE) and
  // the method is tagged by the "MEE::Self" tag.
  // Otherwise returns a remapped R_None.

  const TString mee_self_tag("MEE::Self");

  if (mir.fCaller == mir.fAlpha)
  {
    GledNS::ClassInfo  *ci = GledNS::FindClassInfo(FID_t(mir.fLid, mir.fCid));
    GledNS::MethodInfo *mi = ci->FindMethodInfo(mir.fMid);
    for (lStr_i i=mi->fTags.begin(); i!=mi->fTags.end(); ++i)
    {
      if (*i == mee_self_tag)
	return ZMirFilter::R_Allow;
    }
  }
  return PARENT_GLASS::FilterMIR(mir);
}
 ZMEESelfFilter.cxx:1
 ZMEESelfFilter.cxx:2
 ZMEESelfFilter.cxx:3
 ZMEESelfFilter.cxx:4
 ZMEESelfFilter.cxx:5
 ZMEESelfFilter.cxx:6
 ZMEESelfFilter.cxx:7
 ZMEESelfFilter.cxx:8
 ZMEESelfFilter.cxx:9
 ZMEESelfFilter.cxx:10
 ZMEESelfFilter.cxx:11
 ZMEESelfFilter.cxx:12
 ZMEESelfFilter.cxx:13
 ZMEESelfFilter.cxx:14
 ZMEESelfFilter.cxx:15
 ZMEESelfFilter.cxx:16
 ZMEESelfFilter.cxx:17
 ZMEESelfFilter.cxx:18
 ZMEESelfFilter.cxx:19
 ZMEESelfFilter.cxx:20
 ZMEESelfFilter.cxx:21
 ZMEESelfFilter.cxx:22
 ZMEESelfFilter.cxx:23
 ZMEESelfFilter.cxx:24
 ZMEESelfFilter.cxx:25
 ZMEESelfFilter.cxx:26
 ZMEESelfFilter.cxx:27
 ZMEESelfFilter.cxx:28
 ZMEESelfFilter.cxx:29
 ZMEESelfFilter.cxx:30
 ZMEESelfFilter.cxx:31
 ZMEESelfFilter.cxx:32
 ZMEESelfFilter.cxx:33
 ZMEESelfFilter.cxx:34
 ZMEESelfFilter.cxx:35
 ZMEESelfFilter.cxx:36
 ZMEESelfFilter.cxx:37
 ZMEESelfFilter.cxx:38
 ZMEESelfFilter.cxx:39
 ZMEESelfFilter.cxx:40
 ZMEESelfFilter.cxx:41
 ZMEESelfFilter.cxx:42
 ZMEESelfFilter.cxx:43
 ZMEESelfFilter.cxx:44
 ZMEESelfFilter.cxx:45