/*! @header ECXMLControlDelegateMessageRule @abstract Module of Encore @availability OS X, GNUstep @copyright 2004, 2005, 2006 Oliver Langer Author: Oliver Langer This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  -------------------------------------------------------------------------
  Modification history

  05.08.06 ola     initial version
  22.08.06 ola     license changed
  -------------------------------------------------------------------------
  
*/ #include @implementation ECXMLControlDelegateMessageRule - initWithDelegationTarget: (id) aDelegationtarget selectorToCall: (SEL) aSelectorToCall forXMLElementTypename: (NSString *) aTypename { self = [super init]; self->delegationTarget = [aDelegationtarget retain]; self->selectorToCall = aSelectorToCall; self->xmlElementTypename = [aTypename retain]; return self; } - (void) dealloc { [self->delegationTarget release]; [self->xmlElementTypename release]; [super dealloc]; } - (BOOL) mayActOn: (ECXMLControlContext *) aContext { return ([[[aContext event] elementName] isEqualToString: self->xmlElementTypename]) && ([[[aContext event] eventId] isEqual: [ECXMLControlEvent eventId_elementStarted]]); } - (BOOL) actOn: (ECXMLControlContext *) aContext { [self->delegationTarget performSelector: self->selectorToCall withObject: aContext]; return YES; } @end