/*! @header FTDictionaryService @abstract Module of FT @availability OS X, GNUstep @copyright 2004, 2005, 2006 Free Software Foundation, Inc. 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

  17.09.05 ola     initial version
  21.06.06 ola     removeObjectForKey added
  23.08.06 ola     license changed
  -------------------------------------------------------------------------
  
*/ #if !defined(__FTDictionaryService_H) #define __FTDictionaryService_H #include #include #include #include /*! * @class FTDictionaryService * @abstract A service which allows usage of simple dictionaries for nodes. * @discussion This service returns "FTDictionaryService" as service id and * allows simple management of key/value pairs. */ @protocol FTDictionaryService /*! * @method allKeys * @result all keys */ - (id ) allKeys; /*! * @method close * @abstract closes this dictionary. After this call the dictionary may not * be used any more */ - (void) close; /*! * @method setObject * @abstract adds an object to the dictionary. Replaces an existing one if there * is one already defined for the given key * @param anObject object to add * @param aKey underlying key * @result self */ - setObject: (id ) anObject forKey: (id ) aKey; /*! * @method objectForKey * @abstract returns the object for the given key * @param aKey underlying key * @result object for specified key */ - objectForKey: (id ) aKey; /*! * @method removeObjectForKey * @abstract Remove the object associated with the given key. Does nothing if no * object exists for the given key. * @param aKey related key * @result self */ - removeObjectForKey: (id ) aKey; @end #endif