1995-04-03 22:59:20 +00:00
|
|
|
/* Interface for NSCoder for GNUStep
|
1996-01-26 03:12:10 +00:00
|
|
|
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
1995-07-01 19:01:11 +00:00
|
|
|
|
1996-04-17 20:17:45 +00:00
|
|
|
Written by: Andrew Kachites McCallum <mccallum@gnu.ai.mit.edu>
|
1995-07-01 19:01:11 +00:00
|
|
|
Date: 1995
|
1995-04-03 22:59:20 +00:00
|
|
|
|
1996-05-12 00:56:10 +00:00
|
|
|
This file is part of the GNUstep Base Library.
|
1995-04-09 02:06:39 +00:00
|
|
|
|
1995-04-03 22:59:20 +00:00
|
|
|
This library is free software; you can redistribute it and/or
|
2007-09-14 11:36:11 +00:00
|
|
|
modify it under the terms of the GNU Lesser General Public
|
1995-04-03 22:59:20 +00:00
|
|
|
License as published by the Free Software Foundation; either
|
2008-06-08 10:38:33 +00:00
|
|
|
version 2 of the License, or (at your option) any later version.
|
1995-04-03 22:59:20 +00:00
|
|
|
|
|
|
|
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
|
2019-12-09 23:36:00 +00:00
|
|
|
Lesser General Public License for more details.
|
1995-04-03 22:59:20 +00:00
|
|
|
|
2007-09-14 11:36:11 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
1995-04-03 22:59:20 +00:00
|
|
|
License along with this library; if not, write to the Free
|
2024-11-07 13:37:59 +00:00
|
|
|
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
|
1995-04-03 22:59:20 +00:00
|
|
|
*/
|
|
|
|
|
1996-04-17 19:36:35 +00:00
|
|
|
#ifndef __NSCoder_h_GNUSTEP_BASE_INCLUDE
|
|
|
|
#define __NSCoder_h_GNUSTEP_BASE_INCLUDE
|
2006-10-31 07:05:46 +00:00
|
|
|
#import <GNUstepBase/GSVersionMacros.h>
|
1995-04-03 22:59:20 +00:00
|
|
|
|
2006-10-31 07:05:46 +00:00
|
|
|
#import <Foundation/NSObject.h>
|
|
|
|
#import <Foundation/NSGeometry.h>
|
2017-06-24 20:35:23 +00:00
|
|
|
#import <Foundation/NSSet.h>
|
2006-10-31 07:05:46 +00:00
|
|
|
#import <Foundation/NSZone.h>
|
1995-04-03 22:59:20 +00:00
|
|
|
|
2006-09-13 10:20:49 +00:00
|
|
|
#if defined(__cplusplus)
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
1995-04-03 22:59:20 +00:00
|
|
|
@class NSMutableData, NSData, NSString;
|
|
|
|
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* <p>Top-level class defining methods for use when archiving (encoding)
|
|
|
|
* objects to a byte array or file, and when restoring (decoding) objects.
|
|
|
|
* Generally only subclasses of this class are used directly - [NSArchiver],
|
|
|
|
* [NSUnarchiver], [NSKeyedArchiver], [NSKeyedUnarchiver], or [NSPortCoder].
|
|
|
|
* </p>
|
|
|
|
* <p><code>NSPortCoder</code> is used within the distributed objects
|
|
|
|
* framework. For archiving to/from disk, the <em>Keyed...</em> classes are
|
|
|
|
* preferred for new implementations, since they provide greater
|
|
|
|
* forward/backward compatibility in the face of class changes.</p>
|
|
|
|
*/
|
2021-01-18 13:20:14 +00:00
|
|
|
GS_EXPORT_CLASS
|
1995-04-03 22:59:20 +00:00
|
|
|
@interface NSCoder : NSObject
|
|
|
|
// Encoding Data
|
|
|
|
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* Encodes array of count structures or objects of given type, which may be
|
|
|
|
* obtained through the '<code>@encode(...)</code>' compile-time operator.
|
|
|
|
* Usually this is used for primitives though it can be used for objects as
|
|
|
|
* well.
|
|
|
|
*/
|
1996-01-26 03:12:10 +00:00
|
|
|
- (void) encodeArrayOfObjCType: (const char*)type
|
2009-02-23 20:42:32 +00:00
|
|
|
count: (NSUInteger)count
|
1999-09-16 07:21:34 +00:00
|
|
|
at: (const void*)array;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Can be ignored.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeBycopyObject: (id)anObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* Can be ignored.
|
|
|
|
*/
|
1998-03-23 20:49:54 +00:00
|
|
|
- (void) encodeByrefObject: (id)anObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Stores bytes directly into archive.
|
|
|
|
*/
|
2009-02-23 20:42:32 +00:00
|
|
|
- (void) encodeBytes: (void*)d length: (NSUInteger)l;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encode object if it is/will be encoded unconditionally by this coder,
|
|
|
|
* otherwise store a nil.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeConditionalObject: (id)anObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encode an instance of [NSData].
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeDataObject: (NSData*)data;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
2004-09-19 23:24:36 +00:00
|
|
|
* Encodes a generic object. This will usually result in an
|
|
|
|
* [(NSCoding)-encodeWithCoder:] message being sent to anObject so it
|
|
|
|
* can encode itself.
|
2004-06-22 22:27:39 +00:00
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeObject: (id)anObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encodes a property list by calling [NSSerializer -serializePropertyList:],
|
|
|
|
* then encoding the resulting [NSData] object.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodePropertyList: (id)plist;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encodes a point structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodePoint: (NSPoint)point;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encodes a rectangle structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeRect: (NSRect)rect;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Store object and objects it refers to in archive (i.e., complete object
|
|
|
|
* graph).
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeRootObject: (id)rootObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encodes a size structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeSize: (NSSize)size;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Encodes structure or object of given type, which may be obtained
|
|
|
|
* through the '<code>@encode(...)</code>' compile-time operator. Usually
|
|
|
|
* this is used for primitives though it can be used for objects as well.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeValueOfObjCType: (const char*)type
|
1999-09-16 07:21:34 +00:00
|
|
|
at: (const void*)address;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Multiple version of [-encodeValueOfObjCType:at:].
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) encodeValuesOfObjCTypes: (const char*)types,...;
|
1995-04-03 22:59:20 +00:00
|
|
|
|
|
|
|
// Decoding Data
|
|
|
|
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* Decodes array of count structures or objects of given type, which may be
|
|
|
|
* obtained through the '<code>@encode(...)</code>' compile-time operator.
|
|
|
|
* Usually this is used for primitives though it can be used for objects as
|
|
|
|
* well. Objects will be retained and you must release them.
|
|
|
|
*/
|
1996-01-26 03:12:10 +00:00
|
|
|
- (void) decodeArrayOfObjCType: (const char*)type
|
2009-02-23 20:42:32 +00:00
|
|
|
count: (NSUInteger)count
|
1996-01-26 03:12:10 +00:00
|
|
|
at: (void*)address;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieve bytes directly from archive.
|
|
|
|
*/
|
2009-02-23 20:42:32 +00:00
|
|
|
- (void*) decodeBytesWithReturnedLength: (NSUInteger*)l;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decode an instance of [NSData].
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (NSData*) decodeDataObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a generic object. Usually the class will be read from the
|
|
|
|
* archive, an object will be created through an <code>alloc</code> call,
|
2004-09-19 23:24:36 +00:00
|
|
|
* then that class will be sent an [(NSCoding)-initWithCoder:] message.
|
2004-06-22 22:27:39 +00:00
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (id) decodeObject;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a property list from the archive previously stored through a call
|
|
|
|
* to [-encodePropertyList:].
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (id) decodePropertyList;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a point structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (NSPoint) decodePoint;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a rectangle structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (NSRect) decodeRect;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a size structure.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (NSSize) decodeSize;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes structure or object of given type, which may be obtained
|
|
|
|
* through the '<code>@encode(...)</code>' compile-time operator. Usually
|
|
|
|
* this is used for primitives though it can be used for objects as well,
|
|
|
|
* in which case you are responsible for releasing them.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) decodeValueOfObjCType: (const char*)type
|
1999-09-16 07:21:34 +00:00
|
|
|
at: (void*)address;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Multiple version of [-decodeValueOfObjCType:at:].
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) decodeValuesOfObjCTypes: (const char*)types,...;
|
1995-04-03 22:59:20 +00:00
|
|
|
|
|
|
|
// Managing Zones
|
|
|
|
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* Returns zone being used to allocate memory for decoded objects.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (NSZone*) objectZone;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets zone to use for allocating memory for decoded objects.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (void) setObjectZone: (NSZone*)zone;
|
1995-04-03 22:59:20 +00:00
|
|
|
|
|
|
|
// Getting a Version
|
|
|
|
|
2004-06-22 22:27:39 +00:00
|
|
|
/**
|
|
|
|
* Returns *Step version, which is not the release version, but a large number,
|
|
|
|
* by specification <1000 for pre-OpenStep. This implementation returns
|
|
|
|
* a number based on the GNUstep major, minor, and subminor versions.
|
|
|
|
*/
|
1995-04-09 02:06:39 +00:00
|
|
|
- (unsigned int) systemVersion;
|
2004-06-22 22:27:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns current version of class (when encoding) or version of decoded
|
|
|
|
* class (decoded). Version comes from [NSObject -getVersion].
|
|
|
|
*
|
|
|
|
*/
|
2008-12-08 09:08:05 +00:00
|
|
|
- (NSInteger) versionForClassName: (NSString*)className;
|
1995-04-09 02:06:39 +00:00
|
|
|
|
2006-10-31 07:05:46 +00:00
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
2004-01-22 09:37:07 +00:00
|
|
|
/*
|
2004-05-26 13:45:37 +00:00
|
|
|
* Include GSConfig.h for typedefs/defines of uint8_t, int32_t int64_t
|
2004-01-22 09:37:07 +00:00
|
|
|
*/
|
2010-03-10 14:53:51 +00:00
|
|
|
#import <GNUstepBase/GSConfig.h>
|
2004-01-22 09:37:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a flag indicating whether the receiver supported keyed coding.
|
|
|
|
* the default implementation returns NO. Subclasses supporting keyed
|
|
|
|
* coding must override this to return YES.
|
|
|
|
*/
|
|
|
|
- (BOOL) allowsKeyedCoding;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a class indicating whether an encoded value corresponding
|
|
|
|
* to aKey exists.
|
|
|
|
*/
|
|
|
|
- (BOOL) containsValueForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a boolean value associated with aKey. This value must previously
|
|
|
|
* have been encoded using -encodeBool:forKey:
|
|
|
|
*/
|
|
|
|
- (BOOL) decodeBoolForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a pointer to a byte array associated with aKey.<br />
|
|
|
|
* Returns the length of the data in aLength.<br />
|
|
|
|
* This value must previously have been encoded using
|
|
|
|
* -encodeBytes:length:forKey:
|
|
|
|
*/
|
|
|
|
- (const uint8_t*) decodeBytesForKey: (NSString*)aKey
|
2009-02-23 20:42:32 +00:00
|
|
|
returnedLength: (NSUInteger*)alength;
|
2004-01-22 09:37:07 +00:00
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a double value associated with aKey. This value must previously
|
|
|
|
* have been encoded using -encodeDouble:forKey: or -encodeFloat:forKey:
|
|
|
|
*/
|
|
|
|
- (double) decodeDoubleForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a float value associated with aKey. This value must previously
|
|
|
|
* have been encoded using -encodeFloat:forKey: or -encodeDouble:forKey:<br />
|
|
|
|
* Precision may be lost (or an exception raised if the value will not fit
|
|
|
|
* in a float) if the value was encoded using -encodeDouble:forKey:,
|
|
|
|
*/
|
|
|
|
- (float) decodeFloatForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns an integer value associated with aKey. This value must previously
|
|
|
|
* have been encoded using -encodeInt:forKey:, -encodeInt32:forKey:, or
|
|
|
|
* -encodeInt64:forKey:.<br />
|
|
|
|
* An exception will be raised if the value does not fit in an integer.
|
|
|
|
*/
|
|
|
|
- (int) decodeIntForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a 32-bit integer value associated with aKey. This value must
|
|
|
|
* previously have been encoded using -encodeInt:forKey:,
|
|
|
|
* -encodeInt32:forKey:, or -encodeInt64:forKey:.<br />
|
|
|
|
* An exception will be raised if the value does not fit in a 32-bit integer.
|
|
|
|
*/
|
|
|
|
- (int32_t) decodeInt32ForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns a 64-bit integer value associated with aKey. This value must
|
|
|
|
* previously have been encoded using -encodeInt:forKey:,
|
|
|
|
* -encodeInt32:forKey:, or -encodeInt64:forKey:.
|
|
|
|
*/
|
|
|
|
- (int64_t) decodeInt64ForKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Returns an object value associated with aKey. This value must
|
|
|
|
* previously have been encoded using -encodeObject:forKey: or
|
|
|
|
* -encodeConditionalObject:forKey:
|
|
|
|
*/
|
|
|
|
- (id) decodeObjectForKey: (NSString*)aKey;
|
|
|
|
|
2017-06-24 20:35:23 +00:00
|
|
|
|
|
|
|
|
2004-01-22 09:37:07 +00:00
|
|
|
/** <override-subclass />
|
|
|
|
* Encodes aBool and associates the encoded value with aKey.
|
|
|
|
*/
|
|
|
|
- (void) encodeBool: (BOOL) aBool forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
2004-06-22 22:27:39 +00:00
|
|
|
* Encodes the data of the specified length and pointed to by aPointer,
|
2004-01-22 09:37:07 +00:00
|
|
|
* and associates the encoded value with aKey.
|
|
|
|
*/
|
|
|
|
- (void) encodeBytes: (const uint8_t*)aPointer
|
2009-02-23 20:42:32 +00:00
|
|
|
length: (NSUInteger)length
|
2004-01-22 09:37:07 +00:00
|
|
|
forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Encodes anObject and associates the encoded value with aKey, but only
|
|
|
|
* if anObject has already been encoded using -encodeObject:forKey:
|
|
|
|
*/
|
|
|
|
- (void) encodeConditionalObject: (id)anObject forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Encodes aDouble and associates the encoded value with aKey.
|
|
|
|
*/
|
|
|
|
- (void) encodeDouble: (double)aDouble forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Encodes aFloat and associates the encoded value with aKey.
|
|
|
|
*/
|
|
|
|
- (void) encodeFloat: (float)aFloat forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
2009-02-23 20:42:32 +00:00
|
|
|
* Encodes an int and associates the encoded value with aKey.
|
2004-01-22 09:37:07 +00:00
|
|
|
*/
|
|
|
|
- (void) encodeInt: (int)anInteger forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
2009-02-23 20:42:32 +00:00
|
|
|
* Encodes 32 bit integer and associates the encoded value with aKey.
|
2004-01-22 09:37:07 +00:00
|
|
|
*/
|
|
|
|
- (void) encodeInt32: (int32_t)anInteger forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
2009-02-23 20:42:32 +00:00
|
|
|
* Encodes a 64 bit integer and associates the encoded value with aKey.
|
2004-01-22 09:37:07 +00:00
|
|
|
*/
|
|
|
|
- (void) encodeInt64: (int64_t)anInteger forKey: (NSString*)aKey;
|
|
|
|
|
|
|
|
/** <override-subclass />
|
|
|
|
* Encodes anObject and associates the encoded value with aKey.
|
|
|
|
*/
|
|
|
|
- (void) encodeObject: (id)anObject forKey: (NSString*)aKey;
|
|
|
|
#endif
|
2008-06-06 13:57:06 +00:00
|
|
|
|
2013-07-01 07:08:55 +00:00
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
|
2008-06-06 13:57:06 +00:00
|
|
|
/** <override-subclass />
|
2009-02-23 20:42:32 +00:00
|
|
|
* Encodes an NSInteger and associates the encoded value with key.
|
2008-06-06 13:57:06 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
- (void) encodeInteger: (NSInteger)anInteger forKey: (NSString *)key;
|
|
|
|
/** <override-subclass />
|
2009-02-23 20:42:32 +00:00
|
|
|
* Decodes an NSInteger associated with the key.
|
2008-06-06 13:57:06 +00:00
|
|
|
*/
|
|
|
|
- (NSInteger) decodeIntegerForKey: (NSString *)key;
|
2017-06-24 20:35:23 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_8, GS_API_LATEST)
|
|
|
|
|
|
|
|
#if GS_HAS_DECLARED_PROPERTIES
|
|
|
|
@property (nonatomic, assign) BOOL requiresSecureCoding;
|
|
|
|
#else
|
|
|
|
- (BOOL) requiresSecureCoding;
|
|
|
|
- (void) setRequiresSecureCoding: (BOOL)requires;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
- (id) decodeObjectOfClass: (Class)cls forKey: (NSString *)key;
|
|
|
|
- (id) decodeObjectOfClasses: (NSSet *)classes forKey: (NSString *)key;
|
|
|
|
|
2008-06-06 13:57:06 +00:00
|
|
|
#endif
|
1995-04-03 22:59:20 +00:00
|
|
|
@end
|
|
|
|
|
2006-09-13 10:20:49 +00:00
|
|
|
#if defined(__cplusplus)
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
1996-04-17 19:36:35 +00:00
|
|
|
#endif /* __NSCoder_h_GNUSTEP_BASE_INCLUDE */
|