Commit graph

275 commits

Author SHA1 Message Date
Richard Frith-MacDonald
33ed35331b Various configure/build tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40062 72102866-910b-0410-8b05-ffd578937521
2016-08-19 12:20:24 +00:00
Richard Frith-MacDonald
2dbc4d0d20 msys2 64bit tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39930 72102866-910b-0410-8b05-ffd578937521
2016-06-27 16:38:51 +00:00
Richard Frith-MacDonald
3b02814665 more updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38803 72102866-910b-0410-8b05-ffd578937521
2015-07-16 08:44:15 +00:00
Niels Grewe
46d97b3be0 Implement +addObjectsFromArray: on NSHashTable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38802 72102866-910b-0410-8b05-ffd578937521
2015-07-16 07:38:14 +00:00
Marcus Müller
28cac03e05 Added NSUserNotification (new in OSX 10.8) and infrastructure. It's currently only available for compilers which support autosynthesis (clang >= 3.2) and the default implementation of NSUserNotificationCenter doesn't do much. However, there's a bundle loading mechanism embedded which makes it easy to provide a concrete implementation. I've provided a DBusKit based implementation as part of DBusKit which already works.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37645 72102866-910b-0410-8b05-ffd578937521
2014-01-30 14:23:18 +00:00
Richard Frith-MacDonald
9b99122b0f iUUID for unix by leeg
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37480 72102866-910b-0410-8b05-ffd578937521
2013-12-20 12:26:22 +00:00
Richard Frith-MacDonald
498b8300c3 add new class from Graham Lee <iamleeg@gmail.com>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36860 72102866-910b-0410-8b05-ffd578937521
2013-07-09 18:59:38 +00:00
Richard Frith-MacDonald
9151fe541b Added Ibadinov's socks parsing code, modified to build without warnings/errors
on more systems.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36828 72102866-910b-0410-8b05-ffd578937521
2013-07-04 05:33:50 +00:00
Richard Frith-MacDonald
8398b7e156 fixups to avoid future ABI breakage
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36538 72102866-910b-0410-8b05-ffd578937521
2013-04-15 09:07:19 +00:00
Richard Frith-MacDonald
d314f0f843 experiment with slower but better hashes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36344 72102866-910b-0410-8b05-ffd578937521
2013-03-12 16:11:10 +00:00
Gregory John Casamento
feb7c308aa * Headers/Foundation/NSMetadata.h: Add _ to delegate.
* Source/GNUmakefile: Remove reference to NSMetadata.m
	* Source/NSMetadata.m: Remove from here and add OS specific
	implementations.
	* Source/unix/GNUmakefile: Add new file...
	* Source/unix/NSMetadata.m: UNIX implementation...
	* Source/win32/GNUmakefile: Add new file..
	* Source/win32/NSMetadata.m: Windows implementation.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35932 72102866-910b-0410-8b05-ffd578937521
2013-01-05 05:50:21 +00:00
Gregory John Casamento
65d3018c68 * Headers/Foundation/NSMetadataQuery.h: Remove old file.
* Source/GNUmakefile: Change name to NSMetadata.[hm].
	* Source/NSMetadata.m: Add new file with correct name.
	* Source/NSMetadataQuery.m: Remove old file.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35804 72102866-910b-0410-8b05-ffd578937521
2012-11-18 16:54:08 +00:00
Gregory John Casamento
f6656b4051 * Headers/Foundation/Foundation.h: Add NSMetadataQuery.h to
include list.
	* Headers/Foundation/NSMetadataQuery.h: New header for class.
	* Source/GNUmakefile: Add NSMetadataQuery.[hm] to makefile.
	* Source/NSMetadataQuery.m: Abstract implementation for
	NSMetdataQuery.  The idea is much like NSFileStream and other
	classes which have operating system specific implementations.
	On linux this will, most likely, interface with locate/slocate.
	I'm not certain what it will talk to on Win32.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35803 72102866-910b-0410-8b05-ffd578937521
2012-11-18 16:37:57 +00:00
Richard Frith-MacDonald
a7171ab9be restructure for maintainability
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35598 72102866-910b-0410-8b05-ffd578937521
2012-09-24 09:07:55 +00:00
Richard Frith-MacDonald
a4140c8f51 Changes to restore sorting functiionality
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35579 72102866-910b-0410-8b05-ffd578937521
2012-09-20 09:32:00 +00:00
Niels Grewe
f8fd11f3fd Completely overhaul how we do sorting in -base. GSSorting.h now defines an
interface that can be used for all sorting tasks in the library. The actual sort
algorithms to use are now plugable. Timsort is the new default sorting
algorithm, the existing algorithms, shellsort and quicksort, can still be
selected using a configure switch.

Also implement the new NSComparator (blocks) based sorting and insertion index
searching methods for NSMutableArray and NSArray.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35573 72102866-910b-0410-8b05-ffd578937521
2012-09-19 13:31:09 +00:00
Gregory John Casamento
e26964a166 * Headers/Foundation/Foundation.h
* Headers/Foundation/NSScriptWhoseTests.h
	* Source/GNUmakefile
	* Source/NSObject+NSComparisonMethods.m: Move the
	comparison methods to the header for NSScriptWhoseTests.h,
	but don't define the abstract class since we don't support
	Apple script.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35570 72102866-910b-0410-8b05-ffd578937521
2012-09-17 16:05:06 +00:00
Richard Frith-MacDonald
84ce4ee4e3 evert/improve last changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34925 72102866-910b-0410-8b05-ffd578937521
2012-03-12 18:13:27 +00:00
Richard Frith-MacDonald
f3da6a5455 restructure a bit to make it easier to add namespace support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34924 72102866-910b-0410-8b05-ffd578937521
2012-03-12 13:27:32 +00:00
Richard Frith-MacDonald
37f430d9d9 tidyup private api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34029 72102866-910b-0410-8b05-ffd578937521
2011-10-19 15:25:38 +00:00
Richard Frith-MacDonald
4cc58b721a Use _POSIX_C_SOURCE=199506L
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33998 72102866-910b-0410-8b05-ffd578937521
2011-10-15 05:02:22 +00:00
Richard Frith-MacDonald
0282c8146e windows compile fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33974 72102866-910b-0410-8b05-ffd578937521
2011-10-12 16:23:52 +00:00
David Chisnall
c1cca9a336 Added NSJSONSerialization (10.7) implementation. The code path reading from an NSInputStream is not well tested - please try and break it!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33631 72102866-910b-0410-8b05-ffd578937521
2011-07-25 15:50:51 +00:00
Richard Frith-MacDonald
4a5cb96bef For the avoidance of confusion, remove references to obsolete header.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33562 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:53:45 +00:00
Richard Frith-MacDonald
899590c40c tweaks for OpenBSD
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32766 72102866-910b-0410-8b05-ffd578937521
2011-04-03 09:54:57 +00:00
Richard Frith-MacDonald
09bd40334c simplify header layout
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32545 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:52:37 +00:00
Richard Frith-MacDonald
46cf25ebed add config check for blocks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32539 72102866-910b-0410-8b05-ffd578937521
2011-03-13 08:20:17 +00:00
Richard Frith-MacDonald
98c6309213 Update ChangeLog. reverse accidental addition of GSBlocks.m to makefile ...
we mustn't thave it there until it can be added without causing link error.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32533 72102866-910b-0410-8b05-ffd578937521
2011-03-11 09:17:34 +00:00
Richard Frith-MacDonald
4f9574fc5d add missing headers etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32531 72102866-910b-0410-8b05-ffd578937521
2011-03-11 08:14:04 +00:00
Richard Frith-MacDonald
05e186ac65 fix gc heade rlocation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
David Chisnall
a139de7bcb Move method declarations on blocks from EtoileFoundation into GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32376 72102866-910b-0410-8b05-ffd578937521
2011-02-26 13:10:49 +00:00
Stefan Bidigaray
c4fdcb6d93 Started working on NSCalendar. I have done very limited testing and would really appreciate if people could start testing the code here.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31741 72102866-910b-0410-8b05-ffd578937521
2010-12-16 02:57:31 +00:00
Stefan Bidigaray
5db47c44eb Add new, completely empty and useless NSCalendar class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31735 72102866-910b-0410-8b05-ffd578937521
2010-12-15 00:04:51 +00:00
David Chisnall
a5335c34fb Added implementation of NSRegularExpression, from iOS 4 Foundation.
This class is a thin wrapper around libicu regular expressions, so if we don't
have libicu we simply don't compile it at all.  This will give people a linker
failure, rather than a nonfunctional class if they try to use GNUstep without
ICU with code that requires it.

The Apple documentation says that this class has a primitive method that takes
a block as an argument and that this method is called by others, so subclasses
can replace that block method without touching the convenience methods.  We
mimic this behaviour when compiling with block, but when compiling without them
it's a problem.  The current code contains some ugly hacks that will work in
normal usage but break with subclassing when not compiling with blocks.

This commit also includes a partial implementation of NSTextCheckingResult,
implementing the subset of its functionality required for NSRegularExpression
to work.

It also includes numerous fixes to GSICUString.  This is heavily used by
NSRegularExpression, to avoid copying strings when mapping between UText for
libicu and NSString for GNUstep.


Note: I don't have a copy of iOS anywhere to test this against, so it's
entirely possible that there are significant discrepancies between this
implementation of NSRegularExpression and the iOS version.  This version should
function exactly as the iOS one is described as functioning, but I think we've
all seen that Apple documentation refers more to hopes than facts.  Any testing
that someone who does have an ip{hone,od,ad} can do is very welcome.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31635 72102866-910b-0410-8b05-ffd578937521
2010-11-19 22:06:18 +00:00
Richard Frith-MacDonald
a30baac0de avoid a couple of makefile warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31459 72102866-910b-0410-8b05-ffd578937521
2010-10-01 11:39:06 +00:00
Richard Frith-MacDonald
1452902204 Attempt to integrate Niels Grewe's avahi code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30952 72102866-910b-0410-8b05-ffd578937521
2010-07-13 10:35:13 +00:00
Niels Grewe
7a35233e0c Fix makefile to copy common.h into $GNUSTEP_TARGET_DIR so that it is found when
building with a non-flattened namespace.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30908 72102866-910b-0410-8b05-ffd578937521
2010-07-01 10:15:37 +00:00
David Chisnall
edcd8d0c5d Added class for catching C++ exceptions. When using libobjc2, you can catch C++ exceptions by writing @catch(CXXException *e). This will wrap the C++ exception in an Objective-C object and allow you to access it by sending a -thrownValue message to the object. This returns a pointer to the exception. For example, if the exception is an integer, you would retrieve it like this from Objective-C:
@catch(CXXException *e)
{
	int i = *(int*)[e thrownValue];
}

In ObjC++, you can also make sure that it really is an int, by doing:

assert(typeid(int) == *(std::type_info*)[e cxx_type_info]);

These interfaces are experimental and subject to change without notice.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30904 72102866-910b-0410-8b05-ffd578937521
2010-06-30 13:08:22 +00:00
Richard Frith-MacDonald
1de22f472c initial addition of NSLocale
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30849 72102866-910b-0410-8b05-ffd578937521
2010-06-25 07:18:20 +00:00
Nicola Pero
40d25d9fea Fixed installation-domains.conf on Windows - merged back the path configuration into the main configure script to do it. Minor other fixes to configuration.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30180 72102866-910b-0410-8b05-ffd578937521
2010-04-18 18:18:45 +00:00
Gregory John Casamento
b5dbc1afc5 * Source/GNUmakefile: Remove reference to synchonization.m.
* Source/synchronization.m: Remove, since ObjectiveC2 has been
	merged.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29903 72102866-910b-0410-8b05-ffd578937521
2010-03-11 17:11:25 +00:00
Richard Frith-MacDonald
f59ba481f0 Move NSStream addition declarations to separate file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29853 72102866-910b-0410-8b05-ffd578937521
2010-03-05 12:41:40 +00:00
Richard Frith-MacDonald
1a4662001d Remove obsolete headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29850 72102866-910b-0410-8b05-ffd578937521
2010-03-05 10:32:15 +00:00
Richard Frith-MacDonald
299c3aefeb cleanup compatibility header installation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29793 72102866-910b-0410-8b05-ffd578937521
2010-02-28 09:10:16 +00:00
Richard Frith-MacDonald
c7fc73ec19 make runtime.h available to other code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29684 72102866-910b-0410-8b05-ffd578937521
2010-02-20 06:49:32 +00:00
Richard Frith-MacDonald
8d72e6f951 Don't build synchronisation.m ... I don't think we need it any more.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29673 72102866-910b-0410-8b05-ffd578937521
2010-02-19 15:30:27 +00:00
Richard Frith-MacDonald
073595b9e9 Attempt to link in ObjC2 compatibility code if we have an older runtime.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29670 72102866-910b-0410-8b05-ffd578937521
2010-02-19 12:51:02 +00:00
Richard Frith-MacDonald
85760d2563 move a bit more stuff into additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29666 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:18:54 +00:00
Richard Frith-MacDonald
6a1ff80510 Backward compatibility fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29663 72102866-910b-0410-8b05-ffd578937521
2010-02-18 11:40:58 +00:00
Richard Frith-MacDonald
2d237c91ae remove obsolete invocation stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29649 72102866-910b-0410-8b05-ffd578937521
2010-02-15 17:14:12 +00:00