Annotation of objc/Object.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * "Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.0 (the 'License').  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License."
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: /*
                     25:        Object.h
                     26:        Copyright 1988, 1989 NeXT, Inc.
                     27:   
                     28:        DEFINED AS:     A common class
                     29:        HEADER FILES:   "Object.h"
                     30: 
                     31: */
                     32: 
                     33: #ifndef _OBJC_OBJECT_H_
                     34: #define _OBJC_OBJECT_H_
                     35: 
                     36: #import "objc.h"
                     37: #import "objc-class.h"
                     38: #import "typedstream.h"
                     39: #import <objc/zone.h>
                     40: @class Protocol;
                     41: 
                     42: @interface Object
                     43: {
                     44:        Class isa;      /* A pointer to the instance's class structure */
                     45: }
                     46: 
                     47: /* Initializing classes and instances */
                     48: 
                     49: + initialize;
                     50: - init;
                     51: 
                     52: /* Creating, copying, and freeing instances */
                     53: 
                     54: + new;
                     55: + free;
                     56: - free;
                     57: + alloc;
                     58: - copy;
                     59: + allocFromZone:(NXZone *)zone;
                     60: - copyFromZone:(NXZone *)zone;
                     61: - (NXZone *)zone;
                     62: 
                     63: /* Identifying classes */
                     64: 
                     65: + class;
                     66: + superclass;
                     67: + (const char *) name;
                     68: - class;
                     69: - superclass;
                     70: - (const char *) name;
                     71: 
                     72: /* Identifying and comparing instances */
                     73: 
                     74: - self;
                     75: - (unsigned int) hash;
                     76: - (BOOL) isEqual:anObject;
                     77: 
                     78: /* Testing inheritance relationships */
                     79: 
                     80: - (BOOL) isKindOf: aClassObject;
                     81: - (BOOL) isMemberOf: aClassObject;
                     82: - (BOOL) isKindOfClassNamed: (const char *)aClassName;
                     83: - (BOOL) isMemberOfClassNamed: (const char *)aClassName;
                     84: 
                     85: /* Testing class functionality */
                     86: 
                     87: + (BOOL) instancesRespondTo:(SEL)aSelector;
                     88: - (BOOL) respondsTo:(SEL)aSelector;
                     89: 
                     90: /* Testing protocol conformance */
                     91: 
                     92: - (BOOL) conformsTo: (Protocol *)aProtocolObject;
                     93: + (BOOL) conformsTo: (Protocol *)aProtocolObject;
                     94: 
                     95: /* Obtaining method descriptors from protocols */
                     96: 
                     97: - (struct objc_method_description *) descriptionForMethod:(SEL)aSel;
                     98: + (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel;
                     99: 
                    100: /* Obtaining method handles */
                    101: 
                    102: - (IMP) methodFor:(SEL)aSelector;
                    103: + (IMP) instanceMethodFor:(SEL)aSelector;
                    104: 
                    105: /* Sending messages determined at run time */
                    106: 
                    107: - perform:(SEL)aSelector;
                    108: - perform:(SEL)aSelector with:anObject;
                    109: - perform:(SEL)aSelector with:object1 with:object2;
                    110: 
                    111: /* Posing */
                    112: 
                    113: + poseAs: aClassObject;
                    114: 
                    115: /* Enforcing intentions */
                    116:  
                    117: - subclassResponsibility:(SEL)aSelector;
                    118: - notImplemented:(SEL)aSelector;
                    119: 
                    120: /* Error handling */
                    121: 
                    122: - doesNotRecognize:(SEL)aSelector;
                    123: - error:(const char *)aString, ...;
                    124: 
                    125: /* Debugging */
                    126: 
                    127: - (void) printForDebugger:(NXStream *)stream;
                    128: 
                    129: /* Archiving */
                    130: 
                    131: - awake;
                    132: - write:(NXTypedStream *)stream;
                    133: - read:(NXTypedStream *)stream;
                    134: + (int) version;
                    135: + setVersion: (int) aVersion;
                    136: 
                    137: /* Forwarding */
                    138: 
                    139: - forward: (SEL)sel : (marg_list)args;
                    140: - performv: (SEL)sel : (marg_list)args;
                    141: 
                    142: @end
                    143: 
                    144: /* Abstract Protocol for Archiving */
                    145: 
                    146: @interface Object (Archiving)
                    147: 
                    148: - startArchiving: (NXTypedStream *)stream;
                    149: - finishUnarchiving;
                    150: 
                    151: @end
                    152: 
                    153: /* Abstract Protocol for Dynamic Loading */
                    154: 
                    155: @interface Object (DynamicLoading)
                    156: 
                    157: + finishLoading:(struct mach_header *)header;
                    158: + startUnloading;
                    159: 
                    160: @end
                    161: 
                    162: extern id object_dispose(Object *anObject);
                    163: extern id object_copy(Object *anObject, unsigned nBytes);
                    164: extern id object_copyFromZone(Object *anObject, unsigned nBytes, NXZone *);
                    165: extern id object_realloc(Object *anObject, unsigned nBytes);
                    166: extern id object_reallocFromZone(Object *anObject, unsigned nBytes, NXZone *);
                    167: 
                    168: extern Ivar object_setInstanceVariable(id, const char *name, void *);
                    169: extern Ivar object_getInstanceVariable(id, const char *name, void **);
                    170: 
                    171: #endif /* _OBJC_OBJECT_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.