Commit graph

136 commits

Author SHA1 Message Date
David Ayers
bf51bd1b9b * Source/Additions/GSObjCRuntime.m (BDBGPrintf) New macro.
(GSObjCAddClassBehavior, GSObjCAddMethods): Use new macro.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19457 72102866-910b-0410-8b05-ffd578937521
2004-06-04 13:42:13 +00:00
David Ayers
3423dcf309 * Headers/Additions/GNUstepBase/GSObjCRuntime.h
* Source/Additions//GSObjCRuntime.m
	(GSProtocolFromName): New function.
	(GSRegisterProtocol): Ditto.
	(gs_string_hash): New internal function.
	(gs_find_protocol_named_in_protocol_list): Ditto.
	(gs_find_protocol_named): Ditto.
	(gs_init_protocol_lock): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19274 72102866-910b-0410-8b05-ffd578937521
2004-05-09 19:29:16 +00:00
David Ayers
7cdd68b29e * Headers/Additions/GNUstepBase/GSObjCRuntime.h/m:
(GSClassList): New function.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19264 72102866-910b-0410-8b05-ffd578937521
2004-05-07 16:26:50 +00:00
David Ayers
7c202de0d1 * Headers/Additions/GNUstepBase/GSObjCRuntime.h/m
(GSAllocateMutexAt): New function.
        (_GSObjCRuntimeInitializer): Define local support class.

        * Headers/Additions/GNUstepBase/objc-gnu2next.h: Fixed minor
        whitespace issues.
        (objc_mutex_t, objc_mutex_allocate, objc_mutex_deallocate)
        (objc_mutex_lock, objc_mutex_unlock, objc_mutex_trylock):
        Declare
        for the NeXT runtime.
        * Source/Additions/GSNextRuntime.m
        (objc_mutex_allocate, objc_mutex_deallocate)
        (objc_mutex_lock, objc_mutex_unlock, objc_mutex_trylock):
        Implement for NeXT runtime.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19249 72102866-910b-0410-8b05-ffd578937521
2004-05-06 15:25:01 +00:00
Adam Fedor
4abb9b17fa Include fixes for darwin
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18413 72102866-910b-0410-8b05-ffd578937521
2004-01-15 04:07:08 +00:00
Adam Fedor
3aed9afeb7 Add ifdefs to include only on MacOSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18395 72102866-910b-0410-8b05-ffd578937521
2004-01-12 19:44:48 +00:00
Adam Fedor
831216a9fe Minor changes for baseadd compilation and compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18394 72102866-910b-0410-8b05-ffd578937521
2004-01-12 19:42:18 +00:00
David Ayers
c2b8811456 * Headers/Additions/GNUstepBase/GSLock.h: Added missing
forward declaration.
	* Headers/Additions/GNUstepBase/GSCategories.h: Remove
	declaraion of gnustep_global_lock.
	(GS_INITIALIZED_LOCK): New macro.
	(+[NSLock newLockAt:]): New method.
	(+[NSRecursiveLock newLockAt:]): Ditto.
	* Headers/Foundation/NSLock.h: Ditto.
	* Source/Additions/GSCategories.m: Replace global lock with
	local lock.
	(_GSLockInitializer): New class to initialize local lock
	safely.
	(newLockAt): New static function shared by +newLockAt:
	implementations to safely intialize lock variables.
	(+[NSLock newLockAt:]): Implemented and documented.
	(+[NSRecursiveLock newLockAt:]): Ditto.
	* Source/Additions/GSCompatibility.m: Remove
	gnustep_global_lock.
	* Source/Additions/GSObjCRuntime.m: Remove superfluous
	locking.
	* Source/Additions/Unicode.m: Use new GS_INITIALIZED_LOCK
	macro and replace global lock with local lock.
	* Source/NSLock.m
	(-[NSConditionLock lockWhenCondition:beforeDate:]):
	Implemented.
	* Testing/gslock.m: New test case.
	* Testing/GNUmakefile: Add new test case.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18010 72102866-910b-0410-8b05-ffd578937521
2003-10-30 13:44:55 +00:00
David Ayers
adf139cf68 * Headers/Additions/GNUstepBase/GSCategories.h: Move
declarations
	from Source/Additions/GSCompatibility.h to here.
	([NSObject -compare:]): Deprecate.
	* Source/Additions/GSCompatibility.h: Move contents from here
	to
	Headers/Additions/GNUstepBase/GSCategories.h.

	* Source/Additions/GSCategories.m:
	([NSObject -compare:]): Deprecate.

	* Headers/Foundation/NSObject.h
	([NSObject -compare:]): Deprecate.

	* Source/Additions/GCDictionary.m: Include
	GNUstepBase/GSCategories.h rather than GSCompatibility.h.
	* Source/Additions/GCObject.m: Ditto.
	* Source/Additions/GSMime.m: Ditto.
	* Source/Additions/GSObjCRuntime.m: Ditto.
	* Source/Additions/GSXML.m: Ditto.
	* Source/Additions/Unicode.m: Ditto.

	* macosx/GNUstepBase/preface.h: Update include for new header
	structure.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17664 72102866-910b-0410-8b05-ffd578937521
2003-09-13 22:42:50 +00:00
David Ayers
fda10c748a Various GSObjCRuntime usage cleanups.
See ChangeLog for details.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17533 72102866-910b-0410-8b05-ffd578937521
2003-08-24 23:07:41 +00:00
David Ayers
ac30183cd6 Header reorganizsateion - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
Gregory John Casamento
e360fa5bf5 Corrected issue with GSObjCMethodNames function.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17374 72102866-910b-0410-8b05-ffd578937521
2003-07-27 14:57:47 +00:00
David Ayers
ab38554fd9 * Source/Additions/GSObjCRuntime.m
(GSCGetInstanceVariableDefinition): Make more robust.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17195 72102866-910b-0410-8b05-ffd578937521
2003-07-12 12:44:12 +00:00
David Ayers
e8cc1affaf * Headers/gnustep/base/GSObjCRuntime.h:
* Source/Additions/GSObjCRuntime.m:
	Added typedef for GSIVar.
	(GSCGetInstanceVariableDefinition): New function.
	(GSObjCGetInstanceVariableDefinition): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17168 72102866-910b-0410-8b05-ffd578937521
2003-07-07 10:31:59 +00:00
David Ayers
2b6fccdf85 include GSCompatibility.h in GSObjCRuntime.m
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17085 72102866-910b-0410-8b05-ffd578937521
2003-07-01 19:54:37 +00:00
David Ayers
f1fb026bb9 * Headers/gnustep/base/GSObjCRuntime.h/m (GSPrintf),
* Headers/gnustep/base/NSObjCRuntime.h (GSPrintf),
        * Source/NSLog.m (GSPrintf): Moved implementation from NSLog.m
        * to
        GSObjCRuntime.m and declaration from NSObjCRuntime.h to
        GSObjCRuntime.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17084 72102866-910b-0410-8b05-ffd578937521
2003-07-01 17:00:14 +00:00
David Ayers
15e69d06b5 * Headers/gnustep/base/objc-gnu2next.h: Remove simple mappings for
class_get_class_method they cannot work due to different
	parameter expectations.  Added mapping from NeXT->GNU runtime.
	The other way does not work.  Added simple mapping for internal
	flush function __objc_update_dispatch_table_for_class and
	_objc_flush_caches.

	* Headers/gnustep/base/GSObjCRuntime.h/m:
	Added typedef for GSMethod.
	(GSGetInstanceMethod): New function.
	(GSGetClassMethod): Ditto.
	(GSGetInstanceMethodNotInherited): Ditto.
	(GSGetClassMethodNotInherited): Ditto.
	(GSFlushMethodCacheForClass): Ditto.
	(flush_method_cache_for_class): Removed function which is replaced
	by GSFlushMethodCacheForClass.
	(GSObjCGetMethod): Removed function which is replaced by
	GSGetInstanceMethod and GSGetClassMethod.
	(GSObjCReplaceMethod): Removed function.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16997 72102866-910b-0410-8b05-ffd578937521
2003-06-22 08:45:48 +00:00
David Ayers
68aaf34eb1 * Headers/gnustep/base/GSObjCRuntime.h
* Source/Additions/GSObjCRuntime.m : White space patch to better
	conform with GNU coding standards and improve readability.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16878 72102866-910b-0410-8b05-ffd578937521
2003-06-07 09:45:51 +00:00
Adam Fedor
d228cba99b Change syntax of includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
Richard Frith-Macdonald
cb7d493886 New message handling features for libxml wrapper
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16773 72102866-910b-0410-8b05-ffd578937521
2003-05-22 17:00:03 +00:00
Adam Fedor
2f182f82b2 * Source/Additions/GCArray.m: Replace retain/release by
RETAIN/RELEASE macros.
* Source/Additions/GCDictionary.m: Idem.
* Source/Additions/GSCompatibility.h: Add NSBundle category.
* Source/Additions/GSCompatibility.m (GSEncodingName): New.
Add -[NSBundle pathForGNUstepResource:ofType:inDirectory:].
* Source/Additions/GSObjCRuntime.m: Include GNUstep.h.
(GSObjCMethodNames): Cast method_name to const char *.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16309 72102866-910b-0410-8b05-ffd578937521
2003-04-01 04:27:18 +00:00
David Ayers
ffcac98789 * Rename GSObjCReplaceImplementation to GSObjCReplaceMethod.
* Added GSObjCGetMethod.
* Added sanity checks in GSObjCRuntime.m
* Added includes to GSCategories.h


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16257 72102866-910b-0410-8b05-ffd578937521
2003-03-25 14:57:08 +00:00
David Ayers
4de07c1156 Fixed typo for NeXT runtime of last mod.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16254 72102866-910b-0410-8b05-ffd578937521
2003-03-25 10:03:19 +00:00
David Ayers
79462200b5 * Headers/gnustep/base/GSObjCRuntime.h
* Source/Additions/GSObjCRuntime.m (GSObjCReplaceImplementation):
        Added new function.
        * Source/Additions/GSObjCRuntime.m (search_for_method_in_class):
        Renamed static function for NeXT runtime to better reflect
        reality.
        (GSObjCAddMethods): Updated usage.
        (search_for_method_in_class): New static function for GNU runtime.
        (flush_method_cache_for_class): New function.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16252 72102866-910b-0410-8b05-ffd578937521
2003-03-25 09:49:39 +00:00
Richard Frith-Macdonald
5c49ef401a Merged in 1.6.0 branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16228 72102866-910b-0410-8b05-ffd578937521
2003-03-23 07:06:27 +00:00
Richard Frith-Macdonald
58629e4f18 Trivial functions added.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16106 72102866-910b-0410-8b05-ffd578937521
2003-03-02 10:17:24 +00:00
Richard Frith-Macdonald
3a344ae100 MInor tidyup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16105 72102866-910b-0410-8b05-ffd578937521
2003-03-02 07:47:18 +00:00
Adam Fedor
9d78b79dce Header fixups for MacOSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15864 72102866-910b-0410-8b05-ffd578937521
2003-02-03 04:15:27 +00:00
Adam Fedor
485132bf15 Move methods to Additions for use with gdl2 on MacOSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15723 72102866-910b-0410-8b05-ffd578937521
2003-01-26 19:38:42 +00:00
Adam Fedor
4667c84855 Port baseadd to MacOSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15199 72102866-910b-0410-8b05-ffd578937521
2002-12-03 02:50:07 +00:00
Richard Frith-Macdonald
f34d7a922a Tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15183 72102866-910b-0410-8b05-ffd578937521
2002-11-29 14:31:23 +00:00
Richard Frith-Macdonald
3f2346e70d Tidied function names
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15180 72102866-910b-0410-8b05-ffd578937521
2002-11-29 14:21:09 +00:00
Richard Frith-Macdonald
ce0b794ad5 Tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15165 72102866-910b-0410-8b05-ffd578937521
2002-11-28 09:35:36 +00:00
Manuel Guesdon
50324c7db1 2002-11-27 Manuel Guesdon <mguesdon@orange-concept.com>
* Source/Additions/GSObjCRuntime.m: fixed type call typo
	in GSFindInstanceVariable


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15155 72102866-910b-0410-8b05-ffd578937521
2002-11-27 20:17:19 +00:00
Richard Frith-Macdonald
7c09917f11 Further tidying of objc functions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15154 72102866-910b-0410-8b05-ffd578937521
2002-11-27 18:52:53 +00:00
Richard Frith-Macdonald
97ee138a2b Tidy more GNUstep extensions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15137 72102866-910b-0410-8b05-ffd578937521
2002-11-27 12:52:29 +00:00