Partial code to avoid ivar layout issues in later releases

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/reorg@29550 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2010-02-11 16:34:46 +00:00
parent 3fa37b0f6b
commit 72219615d5
73 changed files with 279 additions and 56 deletions

View file

@ -63,12 +63,13 @@
2010-02-04 Jonathan Gillaspie <jonathan.gillaspie@testplant.com>
* Source/NSLock.m:
lockWhenCondition:beforeDate:
Switched to use timeIntervalSince1970.
added a loop to lockWhenCondition since pthread_cond_timedwait can return
to delay expiring. Hold the lock on a delayed acquire (and YES return).
tryLockWhenCondition:
No longer reports a deadlock when we already have the lock, now just returns NO.
([lockWhenCondition:beforeDate:])
Switched to use timeIntervalSince1970.
added a loop to lockWhenCondition since pthread_cond_timedwait can
return to delay expiring. Hold the lock on a delayed acquire
(and YES return).
([tryLockWhenCondition:]) No longer reports a deadlock when we
already have the lock, now just returns NO.
2010-02-03 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -38,6 +38,7 @@
@interface GSFileHandle : NSFileHandle <RunLoopEvents>
{
#if GS_EXPOSE(GSFileHandle)
int descriptor;
BOOL closeOnDealloc;
BOOL isStandardFile;
@ -61,6 +62,8 @@
#endif
#if defined(__MINGW32__)
WSAEVENT event;
#endif
void *_unused;
#endif
}

View file

@ -69,10 +69,13 @@ extern "C" {
@interface GSMimeHeader : NSObject <NSCopying>
{
#if GS_EXPOSE(GSMimeCodingContext)
NSString *name;
NSString *value;
NSMutableDictionary *objects;
NSMutableDictionary *params;
void *_unused;
#endif
}
+ (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag;
+ (NSString*) makeToken: (NSString*)t preservingCase: (BOOL)preserve;
@ -105,8 +108,11 @@ extern "C" {
@interface GSMimeDocument : NSObject <NSCopying>
{
#if GS_EXPOSE(GSMimeDocument)
NSMutableArray *headers;
id content;
void *_unused;
#endif
}
+ (NSString*) charsetFromEncoding: (NSStringEncoding)enc;
@ -186,6 +192,7 @@ extern "C" {
@interface GSMimeParser : NSObject
{
#if GS_EXPOSE(GSMimeParser)
NSMutableData *data;
unsigned char *bytes;
unsigned dataEnd;
@ -210,6 +217,8 @@ extern "C" {
GSMimeParser *child;
GSMimeCodingContext *context;
NSStringEncoding _defaultEncoding;
void *_unused;
#endif
}
+ (GSMimeDocument*) documentFromData: (NSData*)mimeData;

View file

@ -1,4 +1,4 @@
/* GSVersionMacros.h - macros for managing API versioning
/* GSVersionMacros.h - macros for managing API versioning and visibility
Copyright (C) 2006 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
@ -181,4 +181,21 @@
*/
#define GS_API_MACOSX 100000
/* The following is for deciding whether private instance variables
* should be visible ... if we are building with a compiler which
* does not define __has_feature then we know we don't have non-fragile
* ivar support.
* In the header we bracket instance variable declarations in a
* '#if GS_EXPOSE(classname) ... #endif' sequence, so that the variables
* will not be visible to code which uses the library.
* In the source file we define EXPOSE_classname_IVARS to be 1
* before including the header, so that the ivars are always available
* in the class source itsself
*/
#ifndef __has_feature
#define __has_feature(x) 0
#endif
#define GS_EXPOSE(X) \
(!__has_feature(objc_nonfragile_abi) || defined(EXPOSE_##X##_IVARS))
#endif /* __GNUSTEP_GSVERSIONMACROS_H_INCLUDED_ */

View file

@ -43,12 +43,14 @@ typedef struct {
@interface NSAffineTransform : NSObject <NSCopying, NSCoding>
{
#if GS_EXPOSE(NSAffineTransform)
@private
NSAffineTransformStruct _matrix;
BOOL _isIdentity; // special case: A=D=1 and B=C=0
BOOL _isFlipY; // special case: A=1 D=-1 and B=C=0
BOOL _pad1;
BOOL _pad2;
#endif
}
+ (NSAffineTransform*) transform;

View file

@ -42,6 +42,7 @@ extern "C" {
@interface NSArchiver : NSCoder
{
#if GS_EXPOSE(NSArchiver)
@private
NSMutableData *_data; /* Data to write into. */
id _dst; /* Serialization destination. */
@ -68,6 +69,8 @@ extern "C" {
unsigned _startPos; /* Where in data we started. */
BOOL _encodingRoot;
BOOL _initialPass;
void *_unused;
#endif
}
/* Initializing an archiver */
@ -150,6 +153,7 @@ extern "C" {
@interface NSUnarchiver : NSCoder
{
#if GS_EXPOSE(NSUnarchiver)
@private
NSData *data; /* Data to write into. */
Class dataClass; /* What sort of data is it? */
@ -171,6 +175,8 @@ extern "C" {
NSZone *zone; /* Zone for allocating objs. */
NSMutableDictionary *objDict; /* Class information store. */
NSMutableArray *objSave;
void *_unused;
#endif
}
/* Initializing an unarchiver */

View file

@ -180,6 +180,7 @@ typedef struct autorelease_array_list
*/
@interface NSAutoreleasePool : NSObject
{
#if GS_EXPOSE(NSAutoreleasePool)
/* For re-setting the current pool when we are dealloc'ed. */
NSAutoreleasePool *_parent;
/* This pointer to our child pool is necessary for co-existing
@ -192,6 +193,8 @@ typedef struct autorelease_array_list
unsigned _released_count;
/* The method to add an object to this pool */
void (*_addImp)(id, SEL, id);
void *_unused;
#endif
}
/**

View file

@ -107,6 +107,7 @@ GS_EXPORT NSString* const NSLoadedClasses;
*/
@interface NSBundle : NSObject
{
#if GS_EXPOSE(NSBundle)
NSString *_path;
NSMutableArray *_bundleClasses;
Class _principalClass;
@ -116,6 +117,8 @@ GS_EXPORT NSString* const NSLoadedClasses;
BOOL _codeLoaded;
unsigned _version;
NSString *_frameworkVersion;
void *_unused;
#endif
}
/** Return an array enumerating all the bundles in the application. This

View file

@ -38,13 +38,9 @@ extern "C" {
@class NSMutableDictionary;
@class NSMutableArray;
#ifndef __has_feature
#define __has_feature(x) 0
#endif
@interface NSCache : NSObject
{
#if !__has_feature(objc_nonfragile_abi) || defined(EXPOSE_GSCACHE_IVARS)
#if GS_EXPOSE(NSCache)
@private
/** The maximum total cost of all cache objects. */
NSUInteger _costLimit;
@ -64,6 +60,7 @@ extern "C" {
NSMutableArray *_accesses;
/** Total number of accesses to objects */
int64_t _totalAccesses;
void *_unused;
#endif
}
/**

View file

@ -34,9 +34,11 @@ extern "C" {
@interface NSCalendarDate : NSDate
{
#if GS_EXPOSE(NSCalendarDate)
NSTimeInterval _seconds_since_ref;
NSString *_calendar_format;
NSTimeZone *_time_zone;
#endif
}
// Getting an NSCalendar Date

View file

@ -71,13 +71,16 @@ typedef enum _NSPredicateOperatorType
@interface NSComparisonPredicate : NSPredicate
{
#if GS_EXPOSE(NSComparisonPredicate)
NSComparisonPredicateModifier _modifier;
SEL _selector;
NSUInteger _options;
NSPredicateOperatorType _type;
void *_unused;
@public
NSExpression *_left;
NSExpression *_right;
#endif
}
+ (NSPredicate *) predicateWithLeftExpression: (NSExpression *)left

View file

@ -44,8 +44,10 @@ typedef NSUInteger NSCompoundPredicateType;
@interface NSCompoundPredicate : NSPredicate
{
#if GS_EXPOSE(NSCompoundPredicate)
NSCompoundPredicateType _type;
NSArray *_subs;
#endif
}
+ (NSPredicate *) andPredicateWithSubpredicates: (NSArray *)list;

View file

@ -94,8 +94,10 @@ GS_EXPORT NSString* const NSConnectionProxyCount; /* Objects received */
*/
@interface NSConnection : NSObject
{
#if GS_EXPOSE(NSConnection)
@private
id _internal;
#endif
}
+ (NSArray*) allConnections;

View file

@ -102,8 +102,11 @@ extern "C" {
*/
@interface NSDateFormatter : NSFormatter <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSDateFormatter)
NSString *_dateFormat;
BOOL _allowsNaturalLanguage;
void *_unused;
#endif
}
/* Initializing an NSDateFormatter */

View file

@ -121,12 +121,15 @@ extern "C" {
*/
@interface NSDecimalNumberHandler : NSObject <NSDecimalNumberBehaviors>
{
#if GS_EXPOSE(NSDecimalNumberHandler)
NSRoundingMode _roundingMode;
short _scale;
BOOL _raiseOnExactness;
BOOL _raiseOnOverflow;
BOOL _raiseOnUnderflow;
BOOL _raiseOnDivideByZero;
void *_unused;
#endif
}
/**
@ -178,7 +181,9 @@ extern "C" {
*/
@interface NSDecimalNumber : NSNumber <NSDecimalNumberBehaviors>
{
#if GS_EXPOSE(NSDecimalNumber)
NSDecimal data;
#endif
}
/**

View file

@ -37,12 +37,15 @@ extern "C" {
@interface NSDistantObject : NSProxy <NSCoding>
{
#if GS_EXPOSE(NSDistantObject)
@private
NSConnection *_connection;
id _object;
unsigned _handle;
Protocol *_protocol;
unsigned _counter;
void *_unused;
#endif
}
+ (NSDistantObject*) proxyWithLocal: (id)anObject

View file

@ -36,8 +36,11 @@ extern "C" {
@interface NSDistributedLock : NSObject
{
#if GS_EXPOSE(NSDistributedLock)
NSString *_lockPath;
NSDate *_lockTime;
void *_unused;
#endif
}
+ (NSDistributedLock*) lockWithPath: (NSString*)aPath;

View file

@ -80,10 +80,13 @@ GS_EXPORT NSString* const GSNetworkNotificationCenterType;
@interface NSDistributedNotificationCenter : NSNotificationCenter
{
#if GS_EXPOSE(NSDistributedNotificationCenter)
NSRecursiveLock *_centerLock; /* For thread safety. */
NSString *_type; /* Type of notification center. */
id _remote; /* Proxy for center. */
BOOL _suspended; /* Is delivery suspended? */
void *_unused;
#endif
}
+ (NSNotificationCenter*) defaultCenter;
+ (NSNotificationCenter*) notificationCenterForType: (NSString*)type;

View file

@ -115,10 +115,13 @@ GS_EXPORT NSString* const NSCocoaErrorDomain;
*/
@interface NSError : NSObject <NSCopying, NSCoding>
{
#if GS_EXPOSE(NSError)
@private
int _code;
NSString *_domain;
NSDictionary *_userInfo;
void *_unused;
#endif
}
/**

View file

@ -83,10 +83,12 @@ extern "C" {
*/
@interface NSException : NSObject <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSException)
@private
NSString *_e_name;
NSString *_e_reason;
void *_reserved;
#endif
}
/**

View file

@ -50,7 +50,9 @@ typedef NSUInteger NSExpressionType;
@interface NSExpression : NSObject <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSExpression)
NSExpressionType _type;
#endif
}
+ (NSExpression *) expressionForConstantValue: (id)obj;

View file

@ -157,8 +157,12 @@ GS_EXPORT NSString * const NSFileHandleOperationException;
@interface NSPipe : NSObject
{
NSFileHandle* readHandle;
NSFileHandle* writeHandle;
#if GS_EXPOSE(NSPipe)
@private
NSFileHandle *_readHandle;
NSFileHandle *_writeHandle;
void *_unused;
#endif
}
+ (id) pipe;
- (NSFileHandle*) fileHandleForReading;

View file

@ -196,7 +196,11 @@ typedef uint32_t OSType;
@interface NSFileManager : NSObject
{
#if GS_EXPOSE(NSFileManager)
@private
NSString *_lastError;
void *_unused;
#endif
}
+ (NSFileManager*) defaultManager;
@ -361,6 +365,7 @@ typedef uint32_t OSType;
*/
@interface NSDirectoryEnumerator : NSEnumerator
{
#if GS_EXPOSE(NSDirectoryEnumerator)
@private
void *_stack; /* GSIArray */
NSString *_topPath;
@ -372,6 +377,8 @@ typedef uint32_t OSType;
BOOL isFollowing: 1;
BOOL justContents: 1;
} _flags;
void *_unused;
#endif
}
- (NSDictionary*) directoryAttributes;
- (NSDictionary*) fileAttributes;

View file

@ -46,8 +46,7 @@ extern "C" {
* applications.
*/
@interface NSFormatter : NSObject <NSCopying, NSCoding>
{
}
/**
* This method calls [-stringForObjectValue:] then marks up the string with
* attributes if it should be displayed specially. For example, in an

View file

@ -65,8 +65,10 @@ extern NSString * const NSHTTPCookieVersion; /** Obtain cookie version */
*/
@interface NSHTTPCookie : NSObject
{
#if GS_EXPOSE(NSHTTPCookie)
@private
void *_NSHTTPCookieInternal;
#endif
}
/**

View file

@ -70,8 +70,10 @@ extern NSString * const NSHTTPCookieManagerCookiesChangedNotification;
@interface NSHTTPCookieStorage : NSObject
{
#if GS_EXPOSE(NSHTTPCookieStorage)
@private
void *_NSHTTPCookieStorageInternal;
#endif
}
/**

View file

@ -39,9 +39,12 @@ extern "C" {
*/
@interface NSHost : NSObject
{
#if GS_EXPOSE(NSHost)
@private
NSSet *_names;
NSSet *_addresses;
void *_unused;
#endif
}
/**

View file

@ -44,9 +44,13 @@ extern "C" {
*/
@interface NSIndexPath : NSObject <NSCopying, NSCoding>
{
#if GS_EXPOSE(NSIndexPath)
@private
NSUInteger _hash;
NSUInteger _length;
NSUInteger *_indexes;
void *_unused;
#endif
}
/**

View file

@ -45,7 +45,9 @@ extern "C" {
*/
@interface NSIndexSet : NSObject <NSCopying, NSMutableCopying, NSCoding>
{
#if GS_EXPOSE(NSIndexSet)
void *_data;
#endif
}
/**

View file

@ -35,6 +35,7 @@ extern "C" {
@interface NSInvocation : NSObject
{
#if GS_EXPOSE(NSInvocation)
NSMethodSignature *_sig;
void *_cframe;
void *_retval;
@ -47,6 +48,8 @@ extern "C" {
BOOL _validReturn;
BOOL _sendToSuper;
void *_retptr;
void *_unused;
#endif
}
/*

View file

@ -52,6 +52,7 @@ extern "C" {
*/
@interface NSKeyedArchiver : NSCoder
{
#if GS_EXPOSE(NSKeyedArchiver)
@private
NSMutableData *_data; /* Data to write into. */
id _delegate; /* Delegate controls operation. */
@ -69,6 +70,8 @@ extern "C" {
NSMutableDictionary *_enc; /* Object being encoded. */
NSMutableArray *_obj; /* Array of objects. */
NSPropertyListFormat _format;
void *_unused;
#endif
}
/**
@ -216,6 +219,7 @@ extern "C" {
*/
@interface NSKeyedUnarchiver : NSCoder
{
#if GS_EXPOSE(NSKeyedUnarchiver)
@private
NSDictionary *_archive;
id _delegate; /* Delegate controls operation. */
@ -233,6 +237,8 @@ extern "C" {
#undef GSIArray
#endif
NSZone *_zone; /* Zone for allocating objs. */
void *_unused;
#endif
}
/**

View file

@ -71,9 +71,11 @@ extern "C" {
*/
@interface NSLock : NSObject <NSLocking>
{
#if GS_EXPOSE(NSLock)
@private
gs_mutex_t _mutex;
NSString *_name;
#endif
}
/**
@ -113,10 +115,12 @@ extern "C" {
*/
@interface NSCondition : NSObject <NSLocking>
{
#if GS_EXPOSE(NSCondition)
@private
gs_cond_t _condition;
gs_mutex_t _mutex;
NSString *_name;
#endif
}
/**
* Blocks and atomically unlocks the receiver.
@ -161,10 +165,12 @@ extern "C" {
*/
@interface NSConditionLock : NSObject <NSLocking>
{
#if GS_EXPOSE(NSConditionLock)
@private
NSCondition *_condition;
int _condition_value;
NSString *_name;
#endif
}
/**
@ -252,9 +258,11 @@ extern "C" {
*/
@interface NSRecursiveLock : NSObject <NSLocking>
{
#if GS_EXPOSE(NSRecursiveLock)
@private
gs_mutex_t _mutex;
NSString *_name;
#endif
}
/**

View file

@ -49,10 +49,13 @@ extern "C" {
*/
@interface NSMethodSignature : NSObject
{
#if GS_EXPOSE(NSMethodSignature)
@private
const char *_methodTypes;
NSUInteger _argFrameLength;
NSUInteger _numArgs;
void *_info;
#endif
}
/**

View file

@ -126,10 +126,12 @@ GS_EXPORT NSString * const NSNetServicesErrorDomain;
@interface NSNetService : NSObject
{
#if GS_EXPOSE(NSNetService)
@private
void * _netService;
id _delegate;
void * _reserved;
#endif
}
+ (NSData *) dataFromTXTRecordDictionary: (NSDictionary *) txtDictionary;

View file

@ -42,8 +42,6 @@ extern "C" {
@class NSLock;
@interface NSNotification : NSObject <NSCopying, NSCoding>
{
}
/* Creating a Notification Object */
+ (NSNotification*) notificationWithName: (NSString*)name
@ -65,7 +63,10 @@ extern "C" {
@interface NSNotificationCenter : NSObject
{
#if GS_EXPOSE(NSNotificationCenter)
@private
void *_table;
#endif
}
+ (NSNotificationCenter*) defaultCenter;

View file

@ -109,10 +109,13 @@ struct _NSNotificationQueueList;
@interface NSNotificationQueue : NSObject
{
#if GS_EXPOSE(NSNotificationQueue)
@private
NSNotificationCenter *_center;
struct _NSNotificationQueueList *_asapQueue;
struct _NSNotificationQueueList *_idleQueue;
NSZone *_zone;
#endif
}
/* Creating Notification Queues */

View file

@ -75,8 +75,10 @@ extern "C" {
* of attributes for positive and negative numbers, and for specific cases
* including 0, NaN, and nil... </p>
*/
@interface NSNumberFormatter: NSFormatter
@interface NSNumberFormatter : NSFormatter
{
#if GS_EXPOSE(NSNumberFormatter)
@private
BOOL _hasThousandSeparators;
BOOL _allowsFloats;
BOOL _localizesFormat;
@ -92,6 +94,8 @@ extern "C" {
NSString *_positiveFormat;
NSDictionary *_attributesForPositiveValues;
NSDictionary *_attributesForNegativeValues;
void *_unused;
#endif
}
// Format

View file

@ -49,8 +49,10 @@ typedef NSInteger NSOperationQueuePriority;
@interface NSOperation : NSObject
{
#if GS_EXPOSE(NSOperation)
@private
id _internal;
#endif
}
/** Adds a dependency to the receiver.<br />
@ -188,8 +190,10 @@ enum {
@interface NSOperationQueue : NSObject
{
#if GS_EXPOSE(NSOperationQueue)
@private
id _internal;
#endif
}
#if OS_API_VERSION(100600, GS_API_LATEST)
/** If called from within the -main method of an operation which is

View file

@ -74,8 +74,10 @@ extern "C" {
*/
@interface NSPort : NSObject <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSPort)
BOOL _is_valid;
id _delegate;
#endif
}
/**
@ -197,6 +199,7 @@ typedef SOCKET NSSocketNativeHandle;
*/
@interface NSSocketPort : NSPort
{
#if GS_EXPOSE(NSSocketPort)
NSRecursiveLock *myLock;
NSHost *host; /* OpenStep host for this port. */
NSString *address; /* Forced internet address. */
@ -206,6 +209,8 @@ typedef SOCKET NSSocketNativeHandle;
#if defined(__MINGW32__)
WSAEVENT eventListener;
NSMapTable *events;
#endif
void *_unused;
#endif
}
@ -268,7 +273,9 @@ typedef SOCKET NSSocketNativeHandle;
*/
@interface NSMessagePort : NSPort
{
#if GS_EXPOSE(NSMessagePort)
void *_internal;
#endif
}
@end

View file

@ -50,6 +50,7 @@ extern "C" {
// around, so maybe the docs should be changed..
@interface NSPortCoder : NSCoder
{
#if GS_EXPOSE(NSPortCoder)
@private
NSMutableArray *_comp;
NSConnection *_conn;
@ -92,6 +93,8 @@ extern "C" {
unsigned _cursor; /* Position in data buffer. */
unsigned _version; /* Version of archiver used. */
NSZone *_zone; /* Zone for allocating objs. */
void *_unused;
#endif
}
/**

View file

@ -44,10 +44,14 @@ extern "C" {
*/
@interface NSPortMessage : NSObject
{
#if GS_EXPOSE(NSPortMessage)
@private
unsigned _msgid;
NSPort *_recv;
NSPort *_send;
NSMutableArray *_components;
void *_unused;
#endif
}
/**
* OpenStep compatibility.

View file

@ -45,8 +45,6 @@ extern "C" {
@class NSPort, NSString, NSMutableArray;
@interface NSPortNameServer : NSObject
{
}
+ (id) systemDefaultPortNameServer;
- (NSPort*) portForName: (NSString*)name;
- (NSPort*) portForName: (NSString*)name
@ -58,8 +56,11 @@ extern "C" {
@interface NSSocketPortNameServer : NSPortNameServer
{
#if GS_EXPOSE(NSSocketPortNameServer)
NSMapTable *_portMap; /* Registered ports information. */
NSMapTable *_nameMap; /* Registered names information. */
void *_unused;
#endif
}
+ (id) sharedInstance;
- (NSPort*) portForName: (NSString*)name

View file

@ -37,8 +37,12 @@ extern "C" {
@interface NSProtocolChecker : NSProxy
{
#if GS_EXPOSE(NSProtocolChecker)
@private
Protocol *_myProtocol;
NSObject *_myTarget;
void *_unused;
#endif
}
// Creating a checker

View file

@ -43,12 +43,14 @@ GS_EXPORT NSString * const NSDefaultRunLoopMode;
@interface NSRunLoop : NSObject
{
#if GS_EXPOSE(NSRunLoop)
@private
NSString *_currentMode;
NSMapTable *_contextMap;
NSMutableArray *_contextStack;
NSMutableArray *_timedPerformers;
void *_extra;
#endif
}
+ (NSRunLoop*) currentRunLoop;

View file

@ -39,6 +39,7 @@ extern "C" {
*/
@interface NSScanner : NSObject <NSCopying>
{
#if GS_EXPOSE(NSScanner)
@private
NSString *_string;
NSCharacterSet *_charactersToBeSkipped;
@ -48,6 +49,8 @@ extern "C" {
unichar _decimal;
BOOL _caseSensitive;
BOOL _isUnicode;
void *_unused;
#endif
}
/*

View file

@ -44,9 +44,13 @@ extern "C" {
*/
@interface NSSortDescriptor : NSObject <NSCopying, NSCoding>
{
#if GS_EXPOSE(NSSortDescriptor)
@private
NSString *_key;
BOOL _ascending;
SEL _selector;
void *_unused;
#endif
}
/** Returns a flag indicating whether the sort descriptor sorts objects

View file

@ -55,6 +55,7 @@ GS_EXPORT NSString *const NSGrammarUserDescription;
@interface NSSpellServer : NSObject
{
#if GS_EXPOSE(NSSpellServer)
@private
id _delegate;
BOOL _caseSensitive;
@ -63,6 +64,7 @@ GS_EXPORT NSString *const NSGrammarUserDescription;
NSString *_currentLanguage;
NSArray *_ignoredWords;
void *_reserved;
#endif
}
// Checking in Your Service

View file

@ -38,6 +38,8 @@ extern "C" {
@interface NSTask : NSObject
{
#if GS_EXPOSE(NSTask)
@protected
NSString *_currentDirectoryPath;
NSString *_launchPath;
NSArray *_arguments;
@ -51,6 +53,8 @@ extern "C" {
BOOL _hasTerminated;
BOOL _hasCollected;
BOOL _hasNotified;
void *_unused;
#endif
}
+ (NSTask*) launchedTaskWithLaunchPath: (NSString*)path

View file

@ -51,6 +51,7 @@ extern "C" {
*/
@interface NSThread : NSObject
{
#if GS_EXPOSE(NSThread)
@private
id _target;
id _arg;
@ -65,7 +66,8 @@ extern "C" {
struct autorelease_thread_vars _autorelease_vars;
id _gcontext;
void *_runLoopInfo; // Per-thread runloop related info.
void *_reserved; // For future expansion
void *_unused; // For future expansion
#endif
}
/**

View file

@ -41,6 +41,7 @@ extern "C" {
*/
@interface NSTimer : NSObject
{
#if GS_EXPOSE(NSTimer)
@private
NSDate *_date; /* Must be first - for NSRunLoop optimisation */
BOOL _invalidated; /* Must be 2nd - for NSRunLoop optimisation */
@ -49,6 +50,8 @@ extern "C" {
id _target;
SEL _selector;
id _info;
void *_unused;
#endif
}
/* Creating timer objects. */

View file

@ -43,10 +43,13 @@ GS_EXPORT NSString* const NSURLFileScheme;
@interface NSURL: NSObject <NSCoding, NSCopying, NSURLHandleClient>
{
#if GS_EXPOSE(NSURL)
@private
NSString *_urlString;
NSURL *_baseURL;
void *_clients;
void *_data;
#endif
}
+ (id) fileURLWithPath: (NSString*)aPath;

View file

@ -79,8 +79,10 @@ extern "C" {
*/
@interface NSURLAuthenticationChallenge : NSObject
{
#if GS_EXPOSE(NSURLAuthenticationChallenge)
@private
void *_NSURLAuthenticationChallengeInternal;
#endif
}
/**

View file

@ -56,8 +56,10 @@ typedef enum
*/
@interface NSCachedURLResponse : NSObject <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSCachedURLResponse)
@private
void *_NSCachedURLResponseInternal;
#endif
}
/**
@ -101,8 +103,10 @@ typedef enum
@interface NSURLCache : NSObject
{
#if GS_EXPOSE(NSURLCache)
@private
void *_NSURLCacheInternal;
#endif
}
/**

View file

@ -45,8 +45,10 @@ extern "C" {
*/
@interface NSURLConnection : NSObject
{
#if GS_EXPOSE(NSURLConnection)
@private
void *_NSURLConnectionInternal;
#endif
}
/**

View file

@ -51,8 +51,10 @@ typedef enum {
*/
@interface NSURLCredential : NSObject <NSCopying>
{
#if GS_EXPOSE(NSURLCredential)
@private
void *_NSURLCredentialInternal;
#endif
}
/**

View file

@ -49,8 +49,10 @@ extern NSString *const NSURLCredentialStorageChangedNotification;
*/
@interface NSURLCredentialStorage : NSObject
{
#if GS_EXPOSE(NSURLCredentialStorage)
@private
void *_NSURLCredentialStorageInternal;
#endif
}
/**

View file

@ -46,8 +46,10 @@ extern "C" {
*/
@interface NSURLDownload : NSObject
{
#if GS_EXPOSE(NSURLDownload)
@private
void *_NSURLDownloadInternal;
#endif
}
/**

View file

@ -177,12 +177,15 @@ typedef NSUInteger NSURLHandleStatus;
- (void) URLHandleResourceDidFinishLoading: (NSURLHandle*)sender;
@end
@interface NSURLHandle: NSObject
@interface NSURLHandle : NSObject
{
#if GS_EXPOSE(NSURLHandle)
@protected
id _data;
NSMutableArray *_clients;
NSString *_failure;
NSURLHandleStatus _status;
#endif
}
+ (NSURLHandle*) cachedHandleForURL: (NSURL*)url;

View file

@ -60,8 +60,10 @@ extern NSString * const NSURLAuthenticationMethodHTTPDigest;
*/
@interface NSURLProtectionSpace : NSObject <NSCopying>
{
#if GS_EXPOSE(NSURLProtectionSpace)
@private
void *_NSURLProtectionSpaceInternal;
#endif
}
/**

View file

@ -118,8 +118,10 @@ extern "C" {
*/
@interface NSURLProtocol : NSObject
{
#if GS_EXPOSE(NSURLProtocol)
@private
void *_NSURLProtocolInternal;
#endif
}
/**

View file

@ -84,8 +84,10 @@ typedef NSUInteger NSURLRequestCachePolicy;
*/
@interface NSURLRequest : NSObject <NSCoding, NSCopying, NSMutableCopying>
{
#if GS_EXPOSE(NSURLRequest)
@private
void *_NSURLRequestInternal;
#endif
}
/*

View file

@ -46,8 +46,10 @@ extern "C" {
*/
@interface NSURLResponse : NSObject <NSCoding, NSCopying>
{
#if GS_EXPOSE(NSURLResponse)
@private
void *_NSURLResponseInternal;
#endif
}
/**

View file

@ -82,21 +82,23 @@ GS_EXPORT NSString* const NSUndoManagerWillRedoChangeNotification;
*/
GS_EXPORT NSString* const NSUndoManagerWillUndoChangeNotification;
@interface NSUndoManager: NSObject
@interface NSUndoManager : NSObject
{
#if GS_EXPOSE(NSUndoManager)
@private
NSMutableArray *_redoStack;
NSMutableArray *_undoStack;
id *_unused1;
id _group;
id _nextTarget;
NSArray *_modes;
BOOL _isRedoing;
BOOL _isUndoing;
BOOL _groupsByEvent;
BOOL _runLoopGroupingPending;
unsigned _disableCount;
unsigned _levelsOfUndo;
NSMutableArray *_redoStack;
NSMutableArray *_undoStack;
id *_unused1;
id _group;
id _nextTarget;
NSArray *_modes;
BOOL _isRedoing;
BOOL _isUndoing;
BOOL _groupsByEvent;
BOOL _runLoopGroupingPending;
unsigned _disableCount;
unsigned _levelsOfUndo;
#endif
}
- (void) beginUndoGrouping;

View file

@ -213,8 +213,9 @@ GS_EXPORT NSString* const GSLocale;
- write docs : -(
*/
@interface NSUserDefaults: NSObject
@interface NSUserDefaults : NSObject
{
#if GS_EXPOSE(NSUserDefaults)
@private
NSMutableArray *_searchList; // Current search list;
NSMutableDictionary *_persDomains; // Contains persistent defaults info;
@ -226,6 +227,8 @@ GS_EXPORT NSString* const GSLocale;
NSDate *_lastSync;
NSRecursiveLock *_lock;
NSDistributedLock *_fileLock;
void *_unused;
#endif
}
/**

View file

@ -41,6 +41,7 @@ extern "C" {
*/
@interface NSXMLDTD : NSXMLNode
{
#if GS_EXPOSE(NSXMLDTD)
@private
NSString *_name;
NSString *_publicID;
@ -48,12 +49,13 @@ extern "C" {
NSArray *_children;
BOOL _childrenHaveMutated;
BOOL _modified;
uint8_t _unused[sizeof(void*)-2];
NSMutableDictionary *_entities;
NSMutableDictionary *_elements;
NSMutableDictionary *_notations;
NSMutableDictionary *_attributes;
NSString *_original;
void *_unused;
#endif
}
/**

View file

@ -75,12 +75,15 @@ typedef NSUInteger NSXMLDTDNodeKind;
*/
@interface NSXMLDTDNode : NSXMLNode
{
#if GS_EXPOSE(NSXMLDTDNode)
@protected
NSXMLDTDNodeKind _DTDKind;
NSString *_name;
NSString *_notationName;
NSString *_publicID;
NSString *_systemID;
void *_unused;
#endif
}
/**

View file

@ -73,6 +73,7 @@ typedef NSUInteger NSXMLDocumentContentKind;
*/
@interface NSXMLDocument : NSXMLNode
{
#if GS_EXPOSE(NSXMLDocument)
@protected
NSString *_encoding;
NSString *_version;
@ -80,12 +81,13 @@ typedef NSUInteger NSXMLDocumentContentKind;
NSArray *_children;
BOOL _childrenHaveMutated;
BOOL _standalone;
uint8_t _unused[sizeof(void*)-2];
NSXMLElement *_rootElement;
NSString *_URI;
NSString *_MIMEType;
NSUInteger _fidelityMask;
NSXMLDocumentContentKind _contentKind;
void *_unused;
#endif
}
+ (Class) replacementClassForClass: (Class)cls;

View file

@ -40,15 +40,17 @@ extern "C" {
*/
@interface NSXMLElement : NSXMLNode
{
#if GS_EXPOSE(NSXMLElement)
@protected
NSString *_name;
NSMutableArray *_attributes;
NSMutableArray *_namespaces;
NSArray *_children;
BOOL _childrenHaveMutated;
uint8_t _unused[sizeof(void*)- 1];
NSString *_URI;
NSInteger _prefixIndex;
void *_unused;
#endif
}
/**

View file

@ -80,12 +80,15 @@ typedef NSUInteger NSXMLNodeKind;
*/
@interface NSXMLNode : NSObject <NSCopying>
{
#if GS_EXPOSE(NSXMLNode)
@protected
void *_handle;
NSXMLNodeKind _kind;
NSXMLNode *_parent;
NSUInteger _index;
id _objectValue;
void *_unused;
#endif
}
/**

View file

@ -69,9 +69,12 @@ GS_EXPORT NSString* const NSXMLParserErrorDomain;
*/
@interface NSXMLParser : NSObject
{
#if GS_EXPOSE(NSXMLParser)
@private
void *_parser; // GSXMLParser
void *_handler; // SAXHandler
void *_unused;
#endif
}
/**

View file

@ -47,15 +47,15 @@
* Instance variables are referenced using the 'internal->ivar' suntax or
* the GSIV(classname,object,ivar) macro.
*
* If built with CLANG (assumed to support non-fragile instance variables)
* If built with CLANG, with support for non-fragile instance variables,
* rather than GCC, the compiler/runtime can simply declare instance variables
* within the implementation file so that they are not part of the public ABI,
* in which case the macros here mostly reduce to nothing and the generated
* code can be much more efficient.
*/
#if defined(__GNUC__)
#if !__has_feature(objc_nonfragile_abi)
/* Code for GCC.
/* Code for when we don't have non-fragine instance variables
*/
/* Start declaration of internal ivars.
@ -88,9 +88,9 @@ DESTROY(_internal);
#undef GSIVar
#define GSIVar(X,Y) (((GSInternal*)(X->_internal))->Y)
#else /* defined(__GNUC__) */
#else /* !__has_feature(objc_nonfragile_abi) */
/* Not GCC, so we assume this is CLANG with support for non-fragile ivars
/* We have support for non-fragile ivars
*/
#define GS_BEGIN_INTERNAL(name) \
@ -116,6 +116,6 @@ DESTROY(_internal);
#undef GSIVar
#define GSIVar(X,Y) ((X)->Y)
#endif /* defined(__GNUC__) */
#endif /* !__has_feature(objc_nonfragile_abi) */

View file

@ -32,6 +32,8 @@
#import "config.h"
#include <math.h>
#define EXPOSE_NSAffineTransform_IVARS 1
#import "Foundation/NSArray.h"
#import "Foundation/NSException.h"
#import "Foundation/NSString.h"

View file

@ -25,6 +25,9 @@
*/
#include "config.h"
#define EXPOSE_NSPipe_IVARS 1
#include "GNUstepBase/preface.h"
#include "Foundation/NSObject.h"
#include "Foundation/NSFileHandle.h"
@ -57,8 +60,8 @@
- (void) dealloc
{
RELEASE(readHandle);
RELEASE(writeHandle);
RELEASE(_readHandle);
RELEASE(_writeHandle);
[super dealloc];
}
@ -72,10 +75,10 @@
if (pipe(p) == 0)
{
readHandle = [[NSFileHandle alloc] initWithFileDescriptor: p[0]
closeOnDealloc: YES];
writeHandle = [[NSFileHandle alloc] initWithFileDescriptor: p[1]
_readHandle = [[NSFileHandle alloc] initWithFileDescriptor: p[0]
closeOnDealloc: YES];
_writeHandle = [[NSFileHandle alloc] initWithFileDescriptor: p[1]
closeOnDealloc: YES];
}
else
{
@ -92,10 +95,10 @@
if (CreatePipe(&readh, &writeh, &saAttr, 0) != 0)
{
readHandle = [[NSFileHandle alloc] initWithNativeHandle: readh
closeOnDealloc: YES];
writeHandle = [[NSFileHandle alloc] initWithNativeHandle: writeh
_readHandle = [[NSFileHandle alloc] initWithNativeHandle: readh
closeOnDealloc: YES];
_writeHandle = [[NSFileHandle alloc] initWithNativeHandle: writeh
closeOnDealloc: YES];
}
else
{
@ -112,7 +115,7 @@
*/
- (NSFileHandle*) fileHandleForReading
{
return readHandle;
return _readHandle;
}
/**
@ -120,7 +123,7 @@
*/
- (NSFileHandle*) fileHandleForWriting
{
return writeHandle;
return _writeHandle;
}
@end