/* CKMultiValue.h Copyright (C) <2006> Yen-Ju Chen Copyright (C) <2005> Bjoern Giesler 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 */ #import #import "CKTypedefs.h" @interface CKMultiValue : NSObject { NSString *_primaryId; CKPropertyType _type; NSMutableArray *_arr; } - (id) initWithMultiValue: (CKMultiValue*) mv; - (id) initWithType: (CKPropertyType) type; /** for save **/ - (id) initWithType: (CKPropertyType) type contentArray: (NSArray *) array; - (NSArray*) contentArray; - (unsigned int) count; - (id) valueAtIndex: (int) index; - (NSString*) labelAtIndex: (int) index; - (NSString*) identifierAtIndex: (int) index; - (int) indexForIdentifier: (NSString*) identifier; - (NSString*) primaryIdentifier; - (CKPropertyType) propertyType; @end @interface CKMutableMultiValue: CKMultiValue { int _nextId; } - (NSString*) addValue: (id) value withLabel: (NSString*) label; - (NSString *) insertValue: (id) value withLabel: (NSString*) label atIndex: (int) index; - (BOOL) removeValueAndLabelAtIndex: (int) index; - (BOOL) replaceValueAtIndex: (int) index withValue: (id) value; - (BOOL) replaceLabelAtIndex: (int) index withLabel: (NSString*) label; - (BOOL)setPrimaryIdentifier:(NSString *)identifier; @end