/*! @header ECXMLControlEvent @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 <pre> ------------------------------------------------------------------------- Modification history 27.11.05 ola initial version 22.08.06 ola license changed ------------------------------------------------------------------------- </pre> */ #include <Encore/ECXMLControlEvent.h> @implementation ECXMLControlEvent + (const id) eventId_elementStarted { return @"eventId_elementStarted"; } + (const id) eventId_elementEnded { return @"eventId_elementEnded"; } + (const id) eventId_addAttribute { return @"eventId_addAttribute"; } + (const id) eventId_addAllAttributes { return @"eventId_addAllAttributes"; } - initInternal { self->elementName = nil; self->attributes = nil; self->attributeName = nil; self->attributeValue = nil; return nil; } - initElementEndedEventWithName: (NSString *) anElementName { self = [super init]; [self initInternal]; self->eventId = [ECXMLControlEvent eventId_elementEnded]; self->elementName = [anElementName retain]; return self; } - initElementStartedEventWithName: (NSString *) anElementName withAttributes: (NSDictionary *) theAttributes { self = [super init]; [self initInternal]; self->eventId = [ECXMLControlEvent eventId_elementStarted]; self->elementName = [anElementName retain]; self->attributes = [[NSMutableDictionary alloc] init]; [self->attributes setDictionary: theAttributes]; return self; } - initAddAttributeEventWithName: (NSString *) anElementName withAttributeName: (NSString *) anAttributeName withAttributeValue: (NSString *) anAttributeValue { self = [super init]; [self initInternal]; self->eventId = [ECXMLControlEvent eventId_addAttribute]; self->elementName = [anElementName retain]; self->attributeName = [anAttributeName retain]; self->attributeValue = [anAttributeValue retain]; return self; } - (void) dealloc { if( nil != self->elementName ) { [self->elementName release]; } if( nil != self->attributes ) { [self->attributes release]; } if( nil != self->attributeName ) { [self->attributeName release]; } if( nil != self->attributeValue ) { [self->attributeValue release]; } [super dealloc]; } - (NSString *) attributeName { return self->attributeName; } - (NSString *) attributeValue { return self->attributeValue; } - (NSMutableDictionary *) attributes { return self->attributes; } - eventId { return self->eventId; } - (NSString *) elementName { return self->elementName; } @end