This is NXCoder.h in view mode; [Download] [Up]
/* Interface for NXCoder class
*
* Copyright (C) 1993 The Board of Trustees of
* The Leland Stanford Junior University. All Rights Reserved.
*
* Authors: Paul Kunz
*
* This file is part of an Objective-C class library
*
* NXCoder.h,v 1.5 1995/07/03 18:15:26 pfkeb Exp
*/
/* Based on
* (Preliminary Documentation) Copyright (c) 1994 by NeXT Computer, Inc.
* All Rights Reserved.
*
* An implementation of subclass of NSCoder that over-rides to use
* NXTypedStreams allowing its use with NS 3.2 archived objects
*
*/
#ifndef __NXCoder__include__
#define __NXCoder__include__
#include <objc/Object.h>
#import <appkit/color.h> /* must use import */
#include <appkit/graphics.h>
#include <objc/typedstream.h>
@class NSString;
@interface NXCoder : Object
{
NXTypedStream *stream;
}
// Encoding Data
- (void)encodeArrayOfObjCType:(const char *)types
count:(unsigned)count
at:(const void *)array;
/*
* Serializes data of Objective C types listed in types having count
* elements residing at address array.
*/
- (void)encodeBycopyObject:(id)anObject;
/*
* Overridden by subclasses to serialize the supplied Objective C object so
* that a copy rather than a proxy of anObject is created upon
* deserialization. NXCoder's implementation simply invokes encodeObject:.
*/
- (void)encodeConditionalObject:(id)anObject;
/*
* Overridden by subclasses to conditionally serialize the supplied
* Objective C object. The object should be serialized only if it is an
* inherent member of the larger data structure. NXCoder's implementation
* simply invokes encodeObject:.
*/
// - (void)encodeDataObject:(NSData *)data;
/*
* Serializes the NSData object data.
*/
- (void)encodeObject:(id)anObject;
/*
* Serializes the supplied Objective C object.
*/
- (void)encodeObjectReference:(id)anObject;
/*
* Serializes the reference to an object
* Note: this might be what 'encodeConditionalObject' means
*/
// - (void)encodePropertyList:(id)plist;
/*
* Serializes the supplied property list (NSData, NSArray, NSDictionary, or
* NSString objects).
*/
// - (void)encodePoint:(NSPoint)point;
/*
* Serializes the supplied point structure.
*/
// - (void)encodeRect:(NSRect)rect;
/*
* Serializes the supplied rectangle structure.
*/
- (void)encodeRootObject:(id)rootObject;
/*
* Overridden by subclasses to start the serialization of an interconnected
* group of Objective C objects, starting with rootObject. NXCoder's
* implementation simply invokes encodeObject:.
*/
- (void)encodeSize:(NXSize)size;
/*
* Serializes the supplied size structure.
*/
- (void)encodeColor:(NXColor *)aColor;
/*
* Serializes the referenced structure
*/
- (void)encodeValueOfObjCType:(const char *)type
at:(const void *)address;
/*
* Serializes data of Objective C type type residing at address address.
*/
// - (void)encodeValuesOfObjCTypes:(const char *)types,...;
/*
* Serializes values corresponding to the Objective C types listed in types
* argument list.
*/
// Decoding Data
- (void)decodeArrayOfObjCType:(const char *)types
count:(unsigned)count
at:(void *)address;
/*
* Deserializes data of Objective C types listed in type having count
* elements residing at address address.
*/
// - (NSData *)decodeDataObject;
/*
* Deserializes and returns an NSData object.
*/
- (id)decodeObject;
/*
* Deserializes an Objective C object.
*/
// - (id)decodePropertyList;
/*
* Deserializes a property list (NSData, NSArray, NSDictionary, or NSString
* objects).
*/
// - (NSPoint)decodePoint;
/*
* Deserializes a point structure.
*/
- (NXRect)decodeRect;
/*
* Deserializes a rectangle structure.
*/
- (NXSize)decodeSize;
/*
* Deserializes a size structure.
*/
- (NXColor) decodeColor;
/*
* deserializes a NXColor
* not supported by NSCoder
*/
- (void)decodeValueOfObjCType:(const char *)type
at:(void *)address;
/*
* Deserializes data of Objective C type type residing at address address.
* You are responsible for releasing the resulting objects.
*/
- (void)decodeValuesOfObjCTypes:(const char *)types, ...;
/*
* Deserializes values corresponding to the Objective C types listed in
* types argument list. You are responsible for releasing the resulting
* objects.
*/
// Managing Zones
// - (NSZone *)objectZone;
/*
* Returns the memory zone used by deserialized objects. For instances of
* NXCoder, this is the default memory zone, the one returned by
* NSDefaultMallocZone().
*/
// - (void)setObjectZone:(NSZone *)zone;
/*
* Sets the memory zone used by deserialized objects. Instances of NXCoder
* always use the default memory zone, the one returned by
* NSDefaultMallocZone(), and so ignore this method.
*/
// Getting a Version
// - (unsigned int)systemVersion;
/*
* Returns the system version number as of the time the archive was created.
*/
- (unsigned int)versionForClassName:(NSString *)className;
/*
* Returns the version number of the class className as of the time it was
* archived.
*/
@end
#endif /* __NXCoder__include__ */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.