This is XmCustomObject.m in view mode; [Download] [Up]
/* Archiving Category for CustomObject
Copyright (C) 1993 The Board of Trustees of
The Leland Stanford Junior University. All Rights Reserved.
Authors: Paul Kunz and Imran Qureshi
* This file is part of the nib translator for
* an Objective-C class library for X/Motif
XmCustomObject.m,v 1.6 1994/12/25 03:43:08 pfkeb Exp
*/
#include "XmCustomObject.h"
#include <objc/List.h>
#include <objc/hashtable.h>
#include <stdlib.h>
/* declared in Translator.m */
extern BOOL fileOwnerAdded;
extern List *list_of_objects;
@implementation CustomObject (XmArchiving)
- write:(TypedStream *)stream
{
/*
* if realObject exists here, it means this custom object was for the File's
* Owner. So just write "FileOwner" for class name and we'll connect it
* properly when this Custom Object is read in
*/
if (realObject) {
className = NXCopyStringBuffer("FileOwner");
}
[super write:stream];
#ifdef DEBUG
printf("->(CustomObject = %s)", className);
#endif
objc_write_type(stream, "*", &className);
return self;
}
- init
{
[super init];
printf("CustomObject : init\n");
return self;
}
- awake
{
[super awake];
#ifdef DEBUG
printf(" %s, realObject = %p\n", className, realObject);
#endif
return self;
}
/* just trap nibInstantiate so it doesn't try to connect */
- nibInstantiate
{
if ((realObject) && (!fileOwnerAdded)) {
fileOwnerAdded = YES;
[list_of_objects addObject:self];
#ifdef DEBUG
printf("Adding FileOwner CustomObject\n");
#endif
}
#ifdef DEBUG
printf("CustomObject = %s: nibInstantiate = %p\n", className, realObject);
#endif
return self;
}
- free
{
printf("CustomObject : free\n");
free(className);
return [super free];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.