home *** CD-ROM | disk | FTP | other *** search
- /*
- NXDataLink
- Application Kit, Release 3.0
- Copyright (c) 1991, NeXT, Inc. All rights reserved.
- */
-
- #import <objc/Object.h>
- #import <objc/hashtable.h>
- #import "Pasteboard.h"
- #import <sys/types.h>
- #import "NXSelection.h"
- @class NXDataLinkManager;
-
- typedef enum _NXDataLinkUpdateMode {
- NX_UpdateContinuously = 1,
- NX_UpdateWhenSourceSaved = 2,
- NX_UpdateManually = 3,
- NX_UpdateNever = 4
- } NXDataLinkUpdateMode;
-
- typedef enum _NXDataLinkDisposition {
- NX_LinkInDestination = 1,
- NX_LinkInSource = 2,
- NX_LinkBroken = 3
- } NXDataLinkDisposition;
-
- extern NXAtom NXDataLinkPboardType;
-
- /* A persistent identifier of links on the destination side. Never 0. */
- typedef int NXDataLinkNumber;
-
- /* filename suffix used for saved links */
- extern NXAtom NXDataLinkFilenameExtension;
-
- @interface NXDataLink : Object {
- /* these instance variables are NOT part of the API, are subject to change in future releases */
- @private
- NXSelection *srcSelection;
- id srcFile;
- char *srcAppName;
- id srcMgr;
- NXSelection *destSelection;
- char *destFileName;
- char *destAppName;
- id destMgr;
- time_t lastUpdateTime;
- NXDataLinkNumber linkNum;
- struct _dlFlags {
- unsigned int dirty:1;
- unsigned int memorable:1;
- unsigned int mode:2;
- unsigned int canUpdateContinuously:1;
- unsUEd int updateMode:4;
- unsigned int appVerifiesLinks:1;
- unsigned int willOpenSource:1;
- unsigned int willUpdate:1;
- unsigned int dead:1;
- unsigned int cyclical:1;
- unsigned int RESERVED:2;
- } dlFlags;
- NXAtom *types;
- unsigned int _reservedDataLink1;
- }
-
- - initLinkedToSourceSelection:(NXSelection *)selection managedBy:linkManager supportingTypes:(const char *const *)newTypes count:(int)numTypes;
- - initLinkedToFile:(const char *)filename;
- - initFromPasteboard:(Pasteboard *)pasteboard;
- - initFromFile:(const char *)filename;
- - copyFromZone:(NXZone *)zone;
-
- - writeToPasteboard:(Pasteboard *)pasteboard;
- - writeToFile:(const char *)filename;
-
- - saveLinkIn:(const char *)directoryName;
-
- - (const NXAtom *)types;
- - (NXSelection *)sourceSelection;
- - (NXSelection *)destinationSelection;
- - (const char *)sourceFilename;
- - (const char *)destinationFilename;
- - (const char *)sourceAppName;
- - (const char *)destinationAppName;
- - (NXDataLinkManager *)manager;
- - (time_t)lastUpdateTime;
- - (NXDataLinkNumber)linkNumber;
- - (NXDataLinkDisposition)disposition;
-
- - updateDestination;
- - openSource;
- - break;
- - setUpdateMode:(NXDataLinkUpdateMode)mode;
- - (NXDataLinkUpdateMode)updateMode;
- - sourceEdited;
-
- @end
-