merge back reorganisation branch

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2010-02-14 10:48:10 +00:00
parent d0b66e510d
commit f13d56d8ec
263 changed files with 5577 additions and 4170 deletions

View file

@ -1,17 +1,40 @@
2010-02-14 Richard Frith-Macdonald <rfm@gnu.org>
Major change merge back of 'reorg' branch into trunk.
The gross changes are:
1. reorganisation of categories for additional non OSX methods into
separate files in the Additions library.
2. changes to headers to hide instance variables if we are using
the non-fragile-abi with clang.
3. additions of a void* instance variable for future expansion to
almost all classes (avoid the fragile ivar issue).
4. various code changes to support the nonfragile-abi (the use of
@defs is no longer allowed).
NB. This revision breaks binary compatibility ... all code using base
needs to be rebuilt. However, future releases of the base library
should all maintain abi compatibility with the first release based
on these changes (at least, as far as class instance size issues
are concerned).
2010-02-12 Richard Frith-Macdonald <rfm@gnu.org>
* configure.ac: Remove a couple of obsolete tests and add a couple for
new runtime features.
* config/config.objc_condition_timed_wait.c: remove
* config/config.non-fragile-ivars.m: add
* configure: regenerate
* Headers/Additions/GNUstepBase/config.h.in: regenerate
2010-02-11 Nicola Pero <nicola.pero@meta-innovation.com>
* Source/Makefile.postamble: Removed obsolete manual dependency
rules. Dependencies of object files on header files are
automatically computed by gnustep-make, so these rules were
superfluous.
2010-02-11 Nicola Pero <nicola.pero@meta-innovation.com>
* Source/GNUmakefile: Compile Additions as a subproject before the
two libraries that are built on top of it. This will prevent
problems when libraries from the same GNUmakefile are built in
parallel.
* Source/GNUmakefile (GNUmakefile.local): Do not try including
this non-existing file.
* Examples/GNUmakefile: Same change.
@ -89,12 +112,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

@ -116,8 +116,6 @@ REF_DOC_INSTALL_DIR = $(GNUSTEP_DOCUMENTATION)/Developer
-include Makefile.preamble
-include GNUmakefile.local
include $(GNUSTEP_MAKEFILES)/documentation.make
include $(GNUSTEP_MAKEFILES)/aggregate.make

View file

@ -0,0 +1,57 @@
/*
Global include file for the GNUstep Base Additions Library.
Copyright (C) 2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
Date: Feb 2010
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef __Additions_h_GNUSTEP_BASE_INCLUDE
#define __Additions_h_GNUSTEP_BASE_INCLUDE
#import <GNUstepBase/GSVersionMacros.h>
#import <GSBlocks.h>
#import <GSFileHandle.h>
#import <GSFunctions.h>
#import <GSLocale.h>
#import <GSLock.h>
#import <GSMime.h>
#import <GSXML.h>
#import <Unicode.h>
#import <NSArray+GNUstepBase.h>
#import <NSAttributedString+GNUstepBase.h>
#import <NSBundle+GNUstepBase.h>
#import <NSCalendarDate+GNUstepBase.h>
#import <NSData+GNUstepBase.h>
#import <NSFileHandle+GNUstepBase.h>
#import <NSInvocation+GNUstepBase.h>
#import <NSLock+GNUstepBase.h>
#import <NSMutableString+GNUstepBase.h>
#import <NSNumber+GNUstepBase.h>
#import <NSObject+GNUstepBase.h>
#import <NSProcessInfo+GNUstepBase.h>
#import <NSString+GNUstepBase.h>
#import <NSTask+GNUstepBase.h>
#import <NSURL+GNUstepBase.h>
#endif /* __Additions_h_GNUSTEP_BASE_INCLUDE */

View file

@ -22,8 +22,6 @@
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
AutogsdocSource: Additions/GSCategories.m
*/
#ifndef INCLUDED_GS_CATEGORIES_H
@ -206,65 +204,6 @@ typedef enum _NSGNUstepStringEncoding
for both gnustep-base and gnustep-baseadd.
*/
@interface NSCalendarDate (GSCategories)
- (NSInteger) weekOfYear;
@end
@interface NSData (GSCategories)
- (NSString*) hexadecimalRepresentation;
- (id) initWithHexadecimalRepresentation: (NSString*)string;
- (NSData*) md5Digest;
- (BOOL) uudecodeInto: (NSMutableData*)decoded
name: (NSString**)namePtr
mode: (NSInteger*)modePtr;
- (BOOL) uuencodeInto: (NSMutableData*)encoded
name: (NSString*)name
mode: (NSInteger)mode;
@end
@interface NSString (GSCategories)
+ (id) stringWithFormat: (NSString*)format
arguments: (va_list)argList;
- (NSString*) stringByDeletingPrefix: (NSString*)prefix;
- (NSString*) stringByDeletingSuffix: (NSString*)suffix;
- (NSString*) stringByTrimmingLeadSpaces;
- (NSString*) stringByTrimmingTailSpaces;
- (NSString*) stringByTrimmingSpaces;
- (NSString*) stringByReplacingString: (NSString*)replace
withString: (NSString*)by;
@end
@interface NSMutableString (GSCategories)
- (void) deleteSuffix: (NSString*)suffix;
- (void) deletePrefix: (NSString*)prefix;
- (NSString*) immutableProxy;
- (void) replaceString: (NSString*)replace
withString: (NSString*)by;
- (void) trimLeadSpaces;
- (void) trimTailSpaces;
- (void) trimSpaces;
@end
@interface NSNumber(GSCategories)
+ (NSValue*) valueFromString: (NSString *)string;
@end
@interface NSObject (GSCategories)
- notImplemented:(SEL)aSel;
- (id) subclassResponsibility: (SEL)aSel;
- (id) shouldNotImplement: (SEL)aSel;
/*
WARNING: The -compare: method for NSObject is deprecated
due to subclasses declaring the same selector with
conflicting signatures.
Comparision of arbitrary objects is not just meaningless
but also dangerous as most concrete implementations
expect comparable objects as arguments often accessing
instance variables directly.
This method will be removed in a future release.
*/
- (NSComparisonResult) compare: (id)anObject;
@end
/*
GSCompatibility methods are implemented in
@ -274,67 +213,6 @@ typedef enum _NSGNUstepStringEncoding
corresponding source files of -base.
*/
@interface NSArray (GSCompatibility)
- (id) initWithArray: (NSArray*)array copyItems: (BOOL)shouldCopy;
- (NSUInteger) insertionPosition: (id)item
usingFunction: (NSComparisonResult (*)(id, id, void *))sorter
context: (void *)context;
- (NSUInteger) insertionPosition: (id)item
usingSelector: (SEL)comp;
@end
@interface NSAttributedString (GSCategories)
- (NSAttributedString*) attributedSubstringWithRange: (NSRange)aRange;
@end
@interface NSBundle(GSCompatibility)
+ (NSString *) pathForLibraryResource: (NSString *)name
ofType: (NSString *)ext
inDirectory: (NSString *)bundlePath;
@end
@interface NSDistantObject (GSCompatibility)
+ (void) setDebug: (NSInteger)val;
@end
@interface NSFileHandle(GSCompatibility)
+ (id) fileHandleAsServerAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol;
- (NSString*) socketAddress;
@end
// Used only in EOFault.m, -[EOFault forward::], for Object compatibility
@interface NSInvocation(GSCompatibility)
- (retval_t) returnFrame:(arglist_t)args;
- (id) initWithArgframe:(arglist_t)args selector:(SEL)selector;
@end
@interface NSObject (GSCompatibility)
+ (id) notImplemented:(SEL)selector;
- (BOOL) isInstance;
@end
@interface NSString (GSCompatibility)
- (BOOL) boolValue;
- (NSString*) substringFromRange:(NSRange)range;
@end
@interface NSProcessInfo(GSCompatibility)
- (NSMutableSet *) debugSet;
@end
@interface NSLock (GSCategories)
+ (id) newLockAt: (id *)location;
@end
@interface NSRecursiveLock (GSCategories)
+ (id)newLockAt:(id *)location;
@end
@interface NSURL (GSCategories)
- (NSString*) fullPath;
@end
/* ------------------------------------------------------------------------
* Functions

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(GSMimeHeader)
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

@ -29,10 +29,12 @@
#ifndef __GSObjCRuntime_h_GNUSTEP_BASE_INCLUDE
#define __GSObjCRuntime_h_GNUSTEP_BASE_INCLUDE
#include <GNUstepBase/GSVersionMacros.h>
#include <objc/objc.h>
#include <objc/objc-api.h>
#include <objc/runtime.h>
#ifdef __cplusplus
extern "C" {
@ -88,7 +90,8 @@ extern "C" {
#define nil 0
#endif
#ifdef NeXT_RUNTIME
#if defined(NeXT_RUNTIME)
#define _C_CONST 'r'
#define _C_IN 'n'
#define _C_INOUT 'N'
@ -97,7 +100,8 @@ extern "C" {
#define _C_BYREF 'R'
#define _C_ONEWAY 'V'
#define _C_GCINVISIBLE '!'
#else
#elif defined(__GNUSTEP_RUNTIME__)
#define class_nextMethodList(aClass,anIterator) (({\
if (*(anIterator) == 0) \
@ -106,8 +110,23 @@ extern "C" {
*(anIterator) = (*((struct objc_method_list**)(anIterator)))->method_next; \
}), *(anIterator))
#else /* Old GNU runtime */
#define class_getInstanceSize(C) class_get_instance_size(C)
#define class_nextMethodList(aClass,anIterator) (({\
if (*(anIterator) == 0) \
*((struct objc_method_list**)(anIterator)) = (aClass)->methods; \
else \
*(anIterator) = (*((struct objc_method_list**)(anIterator)))->method_next; \
}), *(anIterator))
#define object_getClass(O) (O->isa)
#define object_setClass(O,C) (O->isa = C)
#endif
#ifndef NO_GNUSTEP
/*
* Functions for accessing instance variables directly -

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>
@ -32,7 +32,7 @@
#define GS_OPENSTEP_V 10000
#define NO_GNUSTEP 1
#elif defined(STRICT_MACOS_X)
#define GS_OPENSTEP_V 100000
#define GS_OPENSTEP_V 100600
#define NO_GNUSTEP 1
#else
#undef NO_GNUSTEP
@ -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) && !__has_feature(objc_nonfragile_abi2)) || defined(EXPOSE_##X##_IVARS))
#endif /* __GNUSTEP_GSVERSIONMACROS_H_INCLUDED_ */

View file

@ -0,0 +1,78 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSArray_GNUstepBase_h
#define INCLUDED_NSArray_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSArray.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSArray (GNUstepBase)
/** <p>Method for working with sorted arrays - use a binary chop
* to determine the insertion location for an object. If equal objects
* already exist in the array, they will be located immediately before
* the insertion position.
* </p>
* <p>The comparator function takes two items as arguments, the first is the
* item to be added, the second is the item already in the array.
* The function should return NSOrderedAscending if the item to be
* added is 'less than' the item in the array, NSOrderedDescending
* if it is greater, and NSOrderedSame if it is equal.
* </p>
*/
- (NSUInteger) insertionPosition: (id)item
usingFunction: (NSComparisonResult (*)(id, id, void *))sorter
context: (void *)context;
/* <p>Method for working with sorted arrays - use a binary chop
* to determine the insertion location for an object. If equal objects
* already exist in the array, they will be located immediately before
* the insertion position.
* </p>
* <p>The selector identifies a method returning NSOrderedAscending if
* the receiver is 'less than' the argument, and NSOrderedDescending if
* it is greate.
* </p>
*/
- (NSUInteger) insertionPosition: (id)item
usingSelector: (SEL)comp;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSArray_GNUstepBase_h */

View file

@ -0,0 +1,54 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSAttributedString_GNUstepBase_h
#define INCLUDED_NSAttributedString_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSAttributedString.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSAttributedString (GNUstepBase)
/**
* Deprecated synonym for attributedSubstringFromRange:
* for consistency with NSString
*/
- (NSAttributedString*) attributedSubstringWithRange: (NSRange)aRange;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSAttributedString_GNUstepBase_h */

View file

@ -0,0 +1,52 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSBundle_GNUstepBase_h
#define INCLUDED_NSBundle_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSBundle.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSBundle(GNUstepBase)
+ (NSString *) pathForLibraryResource: (NSString *)name
ofType: (NSString *)ext
inDirectory: (NSString *)bundlePath;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSBundle_GNUstepBase_h */

View file

@ -0,0 +1,61 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSCalendarDate_GNUstepBase_h
#define INCLUDED_NSCalendarDate_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSCalendarDate.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSCalendarDate (GNUstepBase)
/**
* The ISO standard week of the year is based on the first week of the
* year being that week (starting on monday) for which the thursday
* is on or after the first of january.<br />
* This has the effect that, if january first is a friday, saturday or
* sunday, the days of that week (up to and including the sunday) are
* considered to be in week 53 of the preceding year. Similarly if the
* last day of the year is a monday tuesday or wednesday, these days are
* part of week 1 of the next year.
*/
- (NSInteger) weekOfYear;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSCalendarDate_GNUstepBase_h */

View file

@ -0,0 +1,111 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSData_GNUstepBase_h
#define INCLUDED_NSData_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSData.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSData (GNUstepBase)
/**
* Returns an NSString object containing an ASCII hexadecimal representation
* of the receiver. This means that the returned object will contain
* exactly twice as many characters as there are bytes as the receiver,
* as each byte in the receiver is represented by two hexadecimal digits.<br />
* The high order four bits of each byte is encoded before the low
* order four bits. Capital letters 'A' to 'F' are used to represent
* values from 10 to 15.<br />
* If you need the hexadecimal representation as raw byte data, use code
* like -
* <example>
* hexData = [[sourceData hexadecimalRepresentation]
* dataUsingEncoding: NSASCIIStringEncoding];
* </example>
*/
- (NSString*) hexadecimalRepresentation;
/**
* Initialises the receiver with the supplied string data which contains
* a hexadecimal coding of the bytes. The parsing of the string is
* fairly tolerant, ignoring whitespace and permitting both upper and
* lower case hexadecimal digits (the -hexadecimalRepresentation method
* produces a string using only uppercase digits with no white space).<br />
* If the string does not contain one or more pairs of hexadecimal digits
* then an exception is raised.
*/
- (id) initWithHexadecimalRepresentation: (NSString*)string;
/**
* Creates an MD5 digest of the information stored in the receiver and
* returns it as an autoreleased 16 byte NSData object.<br />
* If you need to produce a digest of string information, you need to
* decide what character encoding is to be used and convert your string
* to a data object of that encoding type first using the
* [NSString-dataUsingEncoding:] method -
* <example>
* myDigest = [[myString dataUsingEncoding: NSUTF8StringEncoding] md5Digest];
* </example>
* If you need to use the digest in a human readable form, you will
* probably want it to be seen as 32 hexadecimal digits, and can do that
* using the -hexadecimalRepresentation method.
*/
- (NSData*) md5Digest;
/**
* Decodes the source data from uuencoded and return the result.<br />
* Returns the encoded file name in namePtr if it is not null.
* Returns the encoded file mode in modePtr if it is not null.
*/
- (BOOL) uudecodeInto: (NSMutableData*)decoded
name: (NSString**)namePtr
mode: (NSInteger*)modePtr;
/**
* Encode the source data to uuencoded.<br />
* Uses the supplied name as the filename in the encoded data,
* and says that the file mode is as specified.<br />
* If no name is supplied, uses <code>untitled</code> as the name.
*/
- (BOOL) uuencodeInto: (NSMutableData*)encoded
name: (NSString*)name
mode: (NSInteger)mode;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSData_GNUstepBase_h */

View file

@ -0,0 +1,53 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSFileHandle_GNUstepBase_h
#define INCLUDED_NSFileHandle_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSFileHandle.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSFileHandle(GNUstepBase)
+ (id) fileHandleAsServerAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol;
- (NSString*) socketAddress;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSFileHandle_GNUstepBase_h */

View file

@ -0,0 +1,51 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSInvocation_GNUstepBase_h
#define INCLUDED_NSInvocation_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSInvocation.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSInvocation(GNUstepBase)
- (retval_t) returnFrame:(arglist_t)args;
- (id) initWithArgframe:(arglist_t)args selector:(SEL)selector;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSInvocation_GNUstepBase_h */

View file

@ -0,0 +1,126 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSLock_GNUstepBase_h
#define INCLUDED_NSLock_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSLock.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
/**
* Returns IDENT which will be initialized
* to an instance of a CLASSNAME in a thread safe manner.
* If IDENT has been previously initialized
* this macro merely returns IDENT.
* IDENT is considered uninitialized, if it contains nil.
* CLASSNAME must be either NSLock, NSRecursiveLock or one
* of their subclasses.
* See [NSLock+newLockAt:] for details.
* This macro is intended for code that cannot insure
* that a lock can be initialized in thread safe manner otherwise.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
#define GS_INITIALIZED_LOCK(IDENT,CLASSNAME) \
(IDENT != nil ? (id)IDENT : (id)[CLASSNAME newLockAt: &IDENT])
@interface NSLock (GNUstepBase)
/**
* Initializes the id pointed to by location
* with a new instance of the receiver's class
* in a thread safe manner, unless
* it has been previously initialized.
* Returns the contents pointed to by location.
* The location is considered unintialized if it contains nil.
* <br/>
* This method is used in the GS_INITIALIZED_LOCK macro
* to initialize lock variables when it cannot be insured
* that they can be initialized in a thread safe environment.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
+ (id) newLockAt: (id *)location;
@end
@interface NSRecursiveLock (GNUstepBase)
/**
* Initializes the id pointed to by location
* with a new instance of the receiver's class
* in a thread safe manner, unless
* it has been previously initialized.
* Returns the contents pointed to by location.
* The location is considered unintialized if it contains nil.
* <br/>
* This method is used in the GS_INITIALIZED_LOCK macro
* to initialize lock variables when it cannot be insured
* that they can be initialized in a thread safe environment.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
+ (id) newLockAt: (id *)location;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSLock_GNUstepBase_h */

View file

@ -0,0 +1,57 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSMutableString_GNUstepBase_h
#define INCLUDED_NSMutableString_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSString.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSMutableString (GNUstepBase)
- (void) deleteSuffix: (NSString*)suffix;
- (void) deletePrefix: (NSString*)prefix;
- (NSString*) immutableProxy;
- (void) replaceString: (NSString*)replace
withString: (NSString*)by;
- (void) trimLeadSpaces;
- (void) trimTailSpaces;
- (void) trimSpaces;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSMutableString_GNUstepBase_h */

View file

@ -0,0 +1,56 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSNumber_GNUstepBase_h
#define INCLUDED_NSNumber_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSValue.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSNumber(GNUstepBase)
/**
* Parses string as a <code>double</code>, <code>int</code>, or <code>unsigned
* int</code> depending on what characters are present. Uses
* <code>atof</code> and <code>atoi</code> which don't report errors, so be
* careful if the string might contain an invalid value.
*/
+ (NSValue*) valueFromString: (NSString *)string;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSNumber_GNUstepBase_h */

View file

@ -0,0 +1,84 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSObject_GNUstepBase_h
#define INCLUDED_NSObject_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSObject.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSObject (GNUstepBase)
/**
* Message sent when an implementation wants to explicitly exclude a method
* (but cannot due to compiler constraint), and wants to make sure it is not
* called by mistake. Default implementation raises an exception at runtime.
*/
- (id) notImplemented: (SEL)aSel;
/**
* Message sent when an implementation wants to explicitly require a subclass
* to implement a method (but cannot at compile time since there is no
* <code>abstract</code> keyword in Objective-C). Default implementation
* raises an exception at runtime to alert developer that he/she forgot to
* override a method.
*/
- (id) subclassResponsibility: (SEL)aSel;
/**
* Message sent when an implementation wants to explicitly exclude a method
* (but cannot due to compiler constraint) and forbid that subclasses
* implement it. Default implementation raises an exception at runtime. If a
* subclass <em>does</em> implement this method, however, the superclass's
* implementation will not be called, so this is not a perfect mechanism.
*/
- (id) shouldNotImplement: (SEL)aSel;
/**
WARNING: The -compare: method for NSObject is deprecated
due to subclasses declaring the same selector with
conflicting signatures.
Comparision of arbitrary objects is not just meaningless
but also dangerous as most concrete implementations
expect comparable objects as arguments often accessing
instance variables directly.
This method will be removed in a future release.
*/
- (NSComparisonResult) compare: (id)anObject;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSObject_GNUstepBase_h */

View file

@ -0,0 +1,73 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSProcessInfo_GNUstepBase_h
#define INCLUDED_NSProcessInfo_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSProcessInfo.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSProcessInfo(GNUstepBase)
/**
* Returns a indication of whether debug logging is enabled.
* This returns YES unless a call to -setDebugLoggingEnabled: has
* been used to turn logging off.
*/
- (BOOL) debugLoggingEnabled;
/**
* This method returns a set of debug levels set using the
* --GNU-Debug=... command line option and/or the GNU-Debug
* user default.<br />
* You can modify this set to change the debug logging under
* your programs control ... but such modifications are not
* thread-safe.
*/
- (NSMutableSet*) debugSet;
/**
* This method permits you to turn all debug logging on or off
* without modifying the set of debug levels in use.
*/
- (void) setDebugLoggingEnabled: (BOOL)flag;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSProcessInfo_GNUstepBase_h */

View file

@ -0,0 +1,105 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSString_GNUstepBase_h
#define INCLUDED_NSString_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSString.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
/**
* Provides some additional (non-standard) utility methods.
*/
@interface NSString (GNUstepBase)
/**
* Alternate way to invoke <code>stringWithFormat</code> if you have or wish
* to build an explicit <code>va_list</code> structure.
*/
+ (id) stringWithFormat: (NSString*)format
arguments: (va_list)argList;
/**
* Returns a string formed by removing the prefix string from the
* receiver. Raises an exception if the prefix is not present.
*/
- (NSString*) stringByDeletingPrefix: (NSString*)prefix;
/**
* Returns a string formed by removing the suffix string from the
* receiver. Raises an exception if the suffix is not present.
*/
- (NSString*) stringByDeletingSuffix: (NSString*)suffix;
/**
* Returns a string formed by removing leading white space from the
* receiver.
*/
- (NSString*) stringByTrimmingLeadSpaces;
/**
* Returns a string formed by removing trailing white space from the
* receiver.
*/
- (NSString*) stringByTrimmingTailSpaces;
/**
* Returns a string formed by removing both leading and trailing
* white space from the receiver.
*/
- (NSString*) stringByTrimmingSpaces;
/**
* Returns a string in which any (and all) occurrences of
* replace in the receiver have been replaced with by.
* Returns the receiver if replace
* does not occur within the receiver. NB. an empty string is
* not considered to exist within the receiver.
*/
- (NSString*) stringByReplacingString: (NSString*)replace
withString: (NSString*)by;
/**
* An obsolete name for -substringWithRange: ... deprecated.
*/
- (NSString*) substringFromRange: (NSRange)aRange;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSString_GNUstepBase_h */

View file

@ -1,4 +1,4 @@
/** Declaration of additional methods for NSTask
/** Declaration of additional methods for base additions
Copyright (C) 2008 Free Software Foundation, Inc.
@ -21,14 +21,21 @@
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
AutogsdocSource: Additions/GSCategories.m
*/
#ifndef INCLUDED_NSTASK_GS_H
#define INCLUDED_NSTASK_GS_H
#ifndef INCLUDED_NSTask_GNUstepBase_h
#define INCLUDED_NSTask_GNUstepBase_h
@interface NSTask (GSCategories)
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSTask.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSTask (GNUstepBase)
/** Returns the launch path for a tool given the name of a tool.<br />
* Locates the tool by looking in the standard directories and,
* if not found there, looking in the PATH set in the environment.<br />
@ -39,5 +46,11 @@
+ (NSString*) launchPathForTool: (NSString*)name;
@end
#endif /* INCLUDED_NSTASK_GS */
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSTask_GNUstepBase_h */

View file

@ -0,0 +1,52 @@
/** Declaration of extension methods for base additions
Copyright (C) 2003-2010 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
and: Adam Fedor <fedor@gnu.org>
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
*/
#ifndef INCLUDED_NSURL_GNUstepBase_h
#define INCLUDED_NSURL_GNUstepBase_h
#import <GNUstepBase/GSVersionMacros.h>
#import <Foundation/NSURL.h>
#if defined(__cplusplus)
extern "C" {
#endif
#if OS_API_VERSION(GS_API_NONE,GS_API_LATEST)
@interface NSURL (GNUstepBase)
/** Returns the full path for this URL including any trailing slash.
*/
- (NSString*) fullPath;
@end
#endif /* OS_API_VERSION */
#if defined(__cplusplus)
}
#endif
#endif /* INCLUDED_NSURL_GNUstepBase_h */

View file

@ -1,8 +1,5 @@
/* Headers/Additions/GNUstepBase/config.h.in. Generated from configure.ac by autoheader. */
/* Define if nested functions are broken on this compiler */
#undef BROKEN_NESTED_FUNCTIONS
/* Define if SO_REUSEADDR is broken on this system */
#undef BROKEN_SO_REUSEADDR
@ -30,6 +27,9 @@
/* Define to 1 if you have the <callback.h> header file. */
#undef HAVE_CALLBACK_H
/* Define to 1 if you have the `class_getProperty' function. */
#undef HAVE_CLASS_GETPROPERTY
/* Define to 1 if you have the `ctime' function. */
#undef HAVE_CTIME
@ -214,9 +214,6 @@
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the `objc_condition_timedwait' function. */
#undef HAVE_OBJC_CONDITION_TIMEDWAIT
/* Define if objc-api.h defines this function */
#undef HAVE_OBJC_GET_UNINSTALLED_DTABLE
@ -229,9 +226,6 @@
/* Define to 1 if you have the `objc_sync_enter' function. */
#undef HAVE_OBJC_SYNC_ENTER
/* Define to 1 if you have the `objc_thread_add' function. */
#undef HAVE_OBJC_THREAD_ADD
/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL
@ -498,31 +492,31 @@
/* Define to 1 if the `setpgrp' function takes no argument. */
#undef SETPGRP_VOID
/* The size of `double', as computed by sizeof. */
/* The size of a `double', as computed by sizeof. */
#undef SIZEOF_DOUBLE
/* The size of `float', as computed by sizeof. */
/* The size of a `float', as computed by sizeof. */
#undef SIZEOF_FLOAT
/* The size of `int', as computed by sizeof. */
/* The size of a `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long long', as computed by sizeof. */
/* The size of a `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of `pthread_cond_t', as computed by sizeof. */
/* The size of a `pthread_cond_t', as computed by sizeof. */
#undef SIZEOF_PTHREAD_COND_T
/* The size of `pthread_mutex_t', as computed by sizeof. */
/* The size of a `pthread_mutex_t', as computed by sizeof. */
#undef SIZEOF_PTHREAD_MUTEX_T
/* The size of `short', as computed by sizeof. */
/* The size of a `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of `void*', as computed by sizeof. */
/* The size of a `void*', as computed by sizeof. */
#undef SIZEOF_VOIDP
/* Define to 1 if you have the ANSI C header files. */
@ -550,5 +544,5 @@
#undef inline
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t

View file

@ -136,4 +136,8 @@
#import <Foundation/NSXMLParser.h>
#import <Foundation/NSZone.h>
#if !defined(NO_GNUSTEP)
#import <GNUstep/Additions.h>
#endif
#endif /* __Foundation_h_GNUSTEP_BASE_INCLUDE */

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

@ -116,6 +116,9 @@ extern "C" {
- (BOOL) writeToURL: (NSURL*)url atomically: (BOOL)useAuxiliaryFile;
- (id) valueForKey: (NSString*)key;
#endif
#if OS_API_VERSION(100600, GS_API_LATEST)
DEFINE_BLOCK_TYPE(GSEnumeratorBlock, void, id, NSUInteger, BOOL*);
DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
/**
@ -124,7 +127,8 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* a pointer to a BOOL indicating whether the enumeration should stop. Setting
* this to YES will interrupt the enumeration.
*/
- (void)enumerateObjectsUsingBlock: (GSEnumeratorBlock)aBlock;
- (void) enumerateObjectsUsingBlock: (GSEnumeratorBlock)aBlock;
/**
* Enumerate over the collection using the given block. The first argument is
* the object and the second is the index in the array. The final argument is
@ -135,8 +139,8 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (void)enumerateObjectsWithOptions: (NSEnumerationOptions)opts
usingBlock: (GSEnumeratorBlock)aBlock;
- (void) enumerateObjectsWithOptions: (NSEnumerationOptions)opts
usingBlock: (GSEnumeratorBlock)aBlock;
/**
* Enumerate over the specified indexes in the collection using the given
* block. The first argument is the object and the second is the index in the
@ -148,9 +152,9 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (void)enumerateObjectsAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
usingBlock: (GSEnumeratorBlock)block;
- (void) enumerateObjectsAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
usingBlock: (GSEnumeratorBlock)block;
/**
* Returns the indexes of the objects in a collection that match the condition
* specified by the block.
@ -159,13 +163,15 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (NSIndexSet *)indexesOfObjectsWithOptions: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
- (NSIndexSet *) indexesOfObjectsWithOptions: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
/**
* Returns the indexes of the objects in a collection that match the condition
* specified by the block.
*/
- (NSIndexSet*)indexesOfObjectsPassingTest: (GSPredicateBlock)predicate;
- (NSIndexSet*) indexesOfObjectsPassingTest: (GSPredicateBlock)predicate;
/**
* Returns the indexes of the objects in a collection that match the condition
* specified by the block and are in the range specified by the index set.
@ -174,9 +180,10 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (NSIndexSet*)indexesOfObjectsAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
- (NSIndexSet*) indexesOfObjectsAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
/**
* Returns the index of the first object in the array that matches the
* condition specified by the block.
@ -185,13 +192,15 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (NSUInteger)indexOfObjectWithOptions: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
- (NSUInteger) indexOfObjectWithOptions: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
/**
* Returns the index of the first object in the array that matches the
* condition specified by the block.
*/
- (NSUInteger)indexOfObjectPassingTest: (GSPredicateBlock)predicate;
- (NSUInteger) indexOfObjectPassingTest: (GSPredicateBlock)predicate;
/**
* Returns the index of the first object in the specified range in a collection
* that matches the condition specified by the block.
@ -200,9 +209,10 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
* specifies that it is thread-safe. The NSEnumerationReverse bit specifies
* that it should be enumerated in reverse order.
*/
- (NSUInteger)indexOfObjectAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
- (NSUInteger) indexOfObjectAtIndexes: (NSIndexSet*)indexSet
options: (NSEnumerationOptions)opts
passingTest: (GSPredicateBlock)predicate;
#endif
@end
@ -257,29 +267,6 @@ DEFINE_BLOCK_TYPE(GSPredicateBlock, BOOL, id, NSUInteger, BOOL*);
@end
@interface NSArray (GSCategories)
/*
* Extension methods for working with sorted arrays - use a binary chop
* to determine the insertion location for an nobject. If equal objects
* already exist in the array, they will be located immediately before
* the insertion position.
*
* The comparator function takes two items as arguments, the first is the
* item to be added, the second is the item already in the array.
* The function should return NSOrderedAscending if the item to be
* added is 'less than' the item in the array, NSOrderedDescending
* if it is greater, and NSOrderedSame if it is equal.
*
* The selector version works the same - returning NSOrderedAscending if
* the receiver is 'less than' the item in the array.
*/
- (NSUInteger) insertionPosition: (id)item
usingFunction: (NSComparisonResult (*)(id, id, void *))sorter
context: (void *)context;
- (NSUInteger) insertionPosition: (id)item
usingSelector: (SEL)comp;
@end
#if defined(__cplusplus)
}
#endif

View file

@ -133,16 +133,6 @@ extern "C" {
@end //NSMutableAttributedString
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
@interface NSAttributedString (GSCategories)
/**
* Dep[recated synonym for attributedSubstringFromRange:
* for consistency with NSString
*/
- (NSAttributedString*) attributedSubstringWithRange: (NSRange)aRange;
@end
#endif
#endif /* GS_API_MACOSX */
#if defined(__cplusplus)

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,8 @@ GS_EXPORT NSString* const NSLoadedClasses;
*/
@interface NSBundle : NSObject
{
#if GS_EXPOSE(NSBundle)
@public
NSString *_path;
NSMutableArray *_bundleClasses;
Class _principalClass;
@ -116,6 +118,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
@ -123,27 +125,12 @@ extern "C" {
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
/**
* Adds <code>-weekOfYear</code> method.
*/
@interface NSCalendarDate (GSCategories)
/**
* The ISO standard week of the year is based on the first week of the
* year being that week (starting on monday) for which the thursday
* is on or after the first of january.<br />
* This has the effect that, if january first is a friday, saturday or
* sunday, the days of that week (up to and including the sunday) are
* considered to be in week 53 of the preceding year. Similarly if the
* last day of the year is a monday tuesday or wednesday, these days are
* part of week 1 of the next year.
*/
- (NSInteger) weekOfYear;
@end
@interface NSCalendarDate (GregorianDate)
- (NSInteger) lastDayOfGregorianMonth: (NSInteger)month year: (NSInteger)year;
- (NSInteger) absoluteGregorianDay: (NSInteger)day month: (NSInteger)month year: (NSInteger)year;
- (NSInteger) absoluteGregorianDay: (NSInteger)day
month: (NSInteger)month
year: (NSInteger)year;
- (void) gregorianDateFromAbsolute: (NSInteger)d
day: (NSInteger*)day
month: (NSInteger*)month

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

@ -167,75 +167,6 @@ enum {
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
/**
* Extension methods for the NSData class- mainly conversion utilities.
*/
@interface NSData (GSCategories)
/**
* Returns an NSString object containing an ASCII hexadecimal representation
* of the receiver. This means that the returned object will contain
* exactly twice as many characters as there are bytes as the receiver,
* as each byte in the receiver is represented by two hexadecimal digits.<br />
* The high order four bits of each byte is encoded before the low
* order four bits. Capital letters 'A' to 'F' are used to represent
* values from 10 to 15.<br />
* If you need the hexadecimal representation as raw byte data, use code
* like -
* <example>
* hexData = [[sourceData hexadecimalRepresentation]
* dataUsingEncoding: NSASCIIStringEncoding];
* </example>
*/
- (NSString*) hexadecimalRepresentation;
/**
* Initialises the receiver with the supplied string data which contains
* a hexadecimal coding of the bytes. The parsing of the string is
* fairly tolerant, ignoring whitespace and permitting both upper and
* lower case hexadecimal digits (the -hexadecimalRepresentation method
* produces a string using only uppercase digits with no white space).<br />
* If the string does not contain one or more pairs of hexadecimal digits
* then an exception is raised.
*/
- (id) initWithHexadecimalRepresentation: (NSString*)string;
/**
* Creates an MD5 digest of the information stored in the receiver and
* returns it as an autoreleased 16 byte NSData object.<br />
* If you need to produce a digest of string information, you need to
* decide what character encoding is to be used and convert your string
* to a data object of that encoding type first using the
* [NSString-dataUsingEncoding:] method -
* <example>
* myDigest = [[myString dataUsingEncoding: NSUTF8StringEncoding] md5Digest];
* </example>
* If you need to use the digest in a human readable form, you will
* probably want it to be seen as 32 hexadecimal digits, and can do that
* using the -hexadecimalRepresentation method.
*/
- (NSData*) md5Digest;
/**
* Decodes the source data from uuencoded and return the result.<br />
* Returns the encoded file name in namePtr if it is not null.
* Returns the encoded file mode in modePtr if it is not null.
*/
- (BOOL) uudecodeInto: (NSMutableData*)decoded
name: (NSString**)namePtr
mode: (int*)modePtr;
/**
* Encode the source data to uuencoded.<br />
* Uses the supplied name as the filename in the encoded data,
* and says that the file mode is as specified.<br />
* If no name is supplied, uses <code>untitled</code> as the name.
*/
- (BOOL) uuencodeInto: (NSMutableData*)encoded
name: (NSString*)name
mode: (int)mode;
@end
/*
* We include special support for coding/decoding - adding methods for
* serializing/deserializing type-tags and cross-references.

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>
{
@private
#if GS_EXPOSE(NSDistantObject)
@public
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;
@ -172,19 +176,19 @@ GS_EXPORT NSString * const NSFileHandleOperationException;
// GNUstep class extensions
@interface NSFileHandle (GNUstepExtensions)
+ (id) fileHandleAsServerAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol;
+ (id) fileHandleAsClientAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol;
+ (id) fileHandleAsClientInBackgroundAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol;
+ (id) fileHandleAsClientInBackgroundAtAddress: (NSString*)address
service: (NSString*)service
protocol: (NSString*)protocol
forModes: (NSArray*)modes;
+ (id) fileHandleAsServerAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p;
+ (id) fileHandleAsClientAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p;
+ (id) fileHandleAsClientInBackgroundAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p;
+ (id) fileHandleAsClientInBackgroundAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p
forModes: (NSArray*)m;
- (void) readDataInBackgroundAndNotifyLength: (unsigned)len;
- (void) readDataInBackgroundAndNotifyLength: (unsigned)len
forModes: (NSArray*)modes;

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
}
/**
@ -290,96 +298,6 @@ extern "C" {
@end
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
/**
* Returns IDENT which will be initialized
* to an instance of a CLASSNAME in a thread safe manner.
* If IDENT has been previously initialized
* this macro merely returns IDENT.
* IDENT is considered uninitialized, if it contains nil.
* CLASSNAME must be either NSLock, NSRecursiveLock or one
* of their subclasses.
* See [NSLock+newLockAt:] for details.
* This macro is intended for code that cannot insure
* that a lock can be initialized in thread safe manner otherwise.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
#define GS_INITIALIZED_LOCK(IDENT,CLASSNAME) \
(IDENT != nil ? (id)IDENT : (id)[CLASSNAME newLockAt: &IDENT])
/**
* Defines the <code>newLockAt:</code> method.
*/
@interface NSLock (GSCategories)
/**
* Initializes the id pointed to by location
* with a new instance of the receiver's class
* in a thread safe manner, unless
* it has been previously initialized.
* Returns the contents pointed to by location.
* The location is considered unintialized if it contains nil.
* <br/>
* This method is used in the GS_INITIALIZED_LOCK macro
* to initialize lock variables when it cannot be insured
* that they can be initialized in a thread safe environment.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
+ (id) newLockAt: (id *)location;
@end
/**
* Defines the <code>newLockAt:</code> method.
*/
@interface NSRecursiveLock (GSCategories)
/**
* Initializes the id pointed to by location
* with a new instance of the receiver's class
* in a thread safe manner, unless
* it has been previously initialized.
* Returns the contents pointed to by location.
* The location is considered unintialized if it contains nil.
* <br/>
* This method is used in the GS_INITIALIZED_LOCK macro
* to initialize lock variables when it cannot be insured
* that they can be initialized in a thread safe environment.
* <example>
* NSLock *my_lock = nil;
*
* void function (void)
* {
* [GS_INITIALIZED_LOCK(my_lock, NSRecursiveLock) lock];
* do_work ();
* [my_lock unlock];
* }
*
* </example>
*/
+ (id) newLockAt: (id *)location;
@end
#endif /* GS_API_NONE */
#if defined(__cplusplus)
}
#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

@ -376,50 +376,6 @@ GS_EXPORT NSRecursiveLock *gnustep_global_lock;
@end
#endif
/**
* Provides a number of GNUstep-specific methods that are used to aid
* implementation of the Base library.
*/
@interface NSObject (GSCategories)
/**
* Message sent when an implementation wants to explicitly exclude a method
* (but cannot due to compiler constraint), and wants to make sure it is not
* called by mistake. Default implementation raises an exception at runtime.
*/
- (id) notImplemented: (SEL)aSel;
/**
* Message sent when an implementation wants to explicitly require a subclass
* to implement a method (but cannot at compile time since there is no
* <code>abstract</code> keyword in Objective-C). Default implementation
* raises an exception at runtime to alert developer that he/she forgot to
* override a method.
*/
- (id) subclassResponsibility: (SEL)aSel;
/**
* Message sent when an implementation wants to explicitly exclude a method
* (but cannot due to compiler constraint) and forbid that subclasses
* implement it. Default implementation raises an exception at runtime. If a
* subclass <em>does</em> implement this method, however, the superclass's
* implementation will not be called, so this is not a perfect mechanism.
*/
- (id) shouldNotImplement: (SEL)aSel;
/**
WARNING: The -compare: method for NSObject is deprecated
due to subclasses declaring the same selector with
conflicting signatures.
Comparison of arbitrary objects is not just meaningless
but also dangerous as most concrete implementations
expect comparable objects as arguments often accessing
instance variables directly.
This method will be removed in a future release.
*/
- (NSComparisonResult) compare: (id)anObject;
@end
#endif
#import <Foundation/NSDate.h>

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

@ -207,29 +207,6 @@ enum {
*/
@interface NSProcessInfo (GNUstep)
/**
* Returns a indication of whether debug logging is enabled.
* This returns YES unless a call to -setDebugLoggingEnabled: has
* been used to turn logging off.
*/
- (BOOL) debugLoggingEnabled;
/**
* This method returns a set of debug levels set using the
* --GNU-Debug=... command line option and/or the GNU-Debug
* user default.<br />
* You can modify this set to change the debug logging under
* your programs control ... but such modifications are not
* thread-safe.
*/
- (NSMutableSet*) debugSet;
/**
* This method permits you to turn all debug logging on or off
* without modifying the set of debug levels in use.
*/
- (void) setDebugLoggingEnabled: (BOOL)flag;
/**
* Set the file to which NSLog output should be directed.<br />
* Returns YES on success, NO on failure.<br />

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

@ -805,117 +805,6 @@ typedef NSUInteger NSStringEncodingConversionOptions;
extern struct objc_class _NSConstantStringClassReference;
#endif
#if GS_API_VERSION(GS_API_NONE, 011700)
/**
* Provides some additional (non-standard) utility methods.
*/
@interface NSString (GSCategories)
/**
* Alternate way to invoke <code>stringWithFormat</code> if you have or wish
* to build an explicit <code>va_list</code> structure.
*/
+ (id) stringWithFormat: (NSString*)format
arguments: (va_list)argList;
/**
* Returns a string formed by removing the prefix string from the
* receiver. Raises an exception if the prefix is not present.
*/
- (NSString*) stringByDeletingPrefix: (NSString*)prefix;
/**
* Returns a string formed by removing the suffix string from the
* receiver. Raises an exception if the suffix is not present.
*/
- (NSString*) stringByDeletingSuffix: (NSString*)suffix;
/**
* Returns a string formed by removing leading white space from the
* receiver.
*/
- (NSString*) stringByTrimmingLeadSpaces;
/**
* Returns a string formed by removing trailing white space from the
* receiver.
*/
- (NSString*) stringByTrimmingTailSpaces;
/**
* Returns a string formed by removing both leading and trailing
* white space from the receiver.
*/
- (NSString*) stringByTrimmingSpaces;
/**
* Returns a string in which any (and all) occurrences of
* replace in the receiver have been replaced with by.
* Returns the receiver if replace
* does not occur within the receiver. NB. an empty string is
* not considered to exist within the receiver.
*/
- (NSString*) stringByReplacingString: (NSString*)replace
withString: (NSString*)by;
@end
/**
* GNUstep specific (non-standard) additions to the NSMutableString class.
*/
@interface NSMutableString (GSCategories)
/**
* Removes the specified suffix from the string. Raises an exception
* if the suffix is not present.
*/
- (void) deleteSuffix: (NSString*)suffix;
/**
* Removes the specified prefix from the string. Raises an exception
* if the prefix is not present.
*/
- (void) deletePrefix: (NSString*)prefix;
/**
* Returns a proxy to the receiver which will allow access to the
* receiver as an NSString, but which will not allow any of the
* extra NSMutableString methods to be used. You can use this method
* to provide other code with read-only access to a mutable string
* you own.
*/
- (NSString*) immutableProxy;
/**
* Replaces all occurrences of the string replace with the string by
* in the receiver.<br />
* Has no effect if replace does not occur within the
* receiver. NB. an empty string is not considered to exist within
* the receiver.<br />
* Calls - replaceOccurrencesOfString:withString:options:range: passing
* zero for the options and a range from 0 with the length of the receiver.
*/
- (void) replaceString: (NSString*)replace
withString: (NSString*)by;
/**
* Removes all leading white space from the receiver.
*/
- (void) trimLeadSpaces;
/**
* Removes all trailing white space from the receiver.
*/
- (void) trimTailSpaces;
/**
* Removes all leading or trailing white space from the receiver.
*/
- (void) trimSpaces;
@end
#endif /* GS_API_NONE */
#if defined(__cplusplus)
}
#endif

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,7 +51,8 @@ extern "C" {
*/
@interface NSThread : NSObject
{
@private
#if GS_EXPOSE(NSThread)
@public
id _target;
id _arg;
SEL _selector;
@ -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,7 +41,8 @@ extern "C" {
*/
@interface NSTimer : NSObject
{
@private
#if GS_EXPOSE(NSTimer)
@public
NSDate *_date; /* Must be first - for NSRunLoop optimisation */
BOOL _invalidated; /* Must be 2nd - for NSRunLoop optimisation */
BOOL _repeats;
@ -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;
@ -119,12 +122,6 @@ GS_EXPORT NSString* const NSURLFileScheme;
#endif /* GS_API_MACOSX */
@interface NSURL (GSCategories)
/** Returns the full path for this URL including any trailing slash.
*/
- (NSString*) fullPath;
@end
#if defined(__cplusplus)
}
#endif

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -46,8 +46,9 @@ extern "C" {
*/
@interface NSURLDownload : NSObject
{
@private
#if GS_EXPOSE(NSURLDownload)
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,9 @@ extern NSString * const NSURLAuthenticationMethodHTTPDigest;
*/
@interface NSURLProtectionSpace : NSObject <NSCopying>
{
@private
#if GS_EXPOSE(NSURLProtectionSpace)
void *_NSURLProtectionSpaceInternal;
#endif
}
/**

View file

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

View file

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

View file

@ -46,8 +46,9 @@ extern "C" {
*/
@interface NSURLResponse : NSObject <NSCoding, NSCopying>
{
@private
#if GS_EXPOSE(NSURLResponse)
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

@ -349,20 +349,6 @@ extern "C" {
#if OS_API_VERSION(GS_API_NONE, GS_API_NONE)
/**
* GNUstep specific (non-standard) additions to the NSNumber class.
*/
@interface NSNumber(GSCategories)
/**
* Parses string as a <code>double</code>, <code>int</code>, or <code>unsigned
* int</code> depending on what characters are present. Uses
* <code>atof</code> and <code>atoi</code> which don't report errors, so be
* careful if the string might contain an invalid value.
*/
+ (NSValue*) valueFromString: (NSString *)string;
@end
/** Note: Defines a method that is not in the OpenStep spec, but makes
subclassing easier. */
@interface NSValue (Subclassing)

View file

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

View file

@ -75,12 +75,14 @@ typedef NSUInteger NSXMLDTDNodeKind;
*/
@interface NSXMLDTDNode : NSXMLNode
{
#if GS_EXPOSE(NSXMLDTDNode)
@protected
NSXMLDTDNodeKind _DTDKind;
NSString *_name;
NSString *_notationName;
NSString *_publicID;
NSString *_systemID;
#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,12 @@ 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;
#endif
}
+ (Class) replacementClassForClass: (Class)cls;

View file

@ -40,15 +40,16 @@ 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;
#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
{
@private
#if GS_EXPOSE(NSXMLParser)
@public
void *_parser; // GSXMLParser
void *_handler; // SAXHandler
void *_unused;
#endif
}
/**

View file

@ -24,19 +24,19 @@
*/
#include "config.h"
#import "config.h"
#include <string.h>
#ifndef NeXT_Foundation_LIBRARY
#include <Foundation/NSException.h>
#include <Foundation/NSRange.h>
#include <Foundation/NSString.h>
#import "Foundation/NSException.h"
#import "Foundation/NSRange.h"
#import "Foundation/NSString.h"
#else
#include <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
#endif
#include "GNUstepBase/GSObjCRuntime.h"
#include "GNUstepBase/GCObject.h"
#include "GNUstepBase/GNUstep.h"
#import "GNUstepBase/GSObjCRuntime.h"
#import "GNUstepBase/GCObject.h"
#import "GNUstepBase/GNUstep.h"
@implementation GCArray

View file

@ -24,17 +24,17 @@
*/
#include "config.h"
#import "config.h"
#ifndef NeXT_Foundation_LIBRARY
#include <Foundation/NSException.h>
#include <Foundation/NSString.h>
#import "Foundation/NSException.h"
#import "Foundation/NSString.h"
#else
#include <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
#endif
#include "GNUstepBase/GSObjCRuntime.h"
#include "GNUstepBase/GCObject.h"
#include "GNUstepBase/GSCategories.h"
#import "GNUstepBase/GSObjCRuntime.h"
#import "GNUstepBase/GCObject.h"
#import "GNUstepBase/GSCategories.h"
typedef struct {
id object;

Some files were not shown because too many files have changed in this diff Show more