Commit graph

1259 commits

Author SHA1 Message Date
Andrew McCallum
94235c99ce (gnustep/base): Use -r test for file existance, not -e.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1527 72102866-910b-0410-8b05-ffd578937521
1996-05-13 15:40:57 +00:00
Andrew McCallum
2eca55f16b Include <netinet/in.h> for byte-conversion; needed on Solaris.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1526 72102866-910b-0410-8b05-ffd578937521
1996-05-13 15:39:21 +00:00
Andrew McCallum
a78eb13bc0 (AUTHORS): Also search for "Rewritten by" string.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1524 72102866-910b-0410-8b05-ffd578937521
1996-05-13 13:03:40 +00:00
Andrew McCallum
ffb11e3c7b ([Coder -encodeConditionalObject:]): Comment additions.
([Coder -decodeObject]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1523 72102866-910b-0410-8b05-ffd578937521
1996-05-13 00:14:51 +00:00
Andrew McCallum
c9ae05dadd Remove many methods from (Coder NSCoderCompatibility), they are now
included by adding the behavior from NSCoderNonCore.
([Coder +initialize]): Add behavior from NSCoderNonCore.
([Coder -encodeArrayOfObjCType:count:at:]): Method removed.
([Coder -decodeArrayOfObjCType:count:at:]): Method removed.
([Coder -encodeProperyList:]): Method removed.
([Coder -decodeProperyList:]): Method removed.
([Coder -encodePoint:]): Method removed.
([Coder -decodePoint:]): Method removed.
([Coder -encodeSize:]): Method removed.
([Coder -decodeSize:]): Method removed.
([Coder -encodeRect:]): Method removed.
([Coder -decodeRect:]): Method removed.
([Coder -encodeValuesOfObjCTypes:]): Method removed.
([Coder -decodeValuesOfObjCTypes:]): Method removed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1522 72102866-910b-0410-8b05-ffd578937521
1996-05-12 23:57:50 +00:00
Andrew McCallum
168f431ba9 Change "Gnustep" to "GNUstep"
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1521 72102866-910b-0410-8b05-ffd578937521
1996-05-12 00:56:10 +00:00
Andrew McCallum
889c412539 Preparation for thread-safety.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1517 72102866-910b-0410-8b05-ffd578937521
1996-05-12 00:38:45 +00:00
Andrew McCallum
63e596e70c Comment changes, and preparation for thread-safety.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1516 72102866-910b-0410-8b05-ffd578937521
1996-05-12 00:38:07 +00:00
Andrew McCallum
ee7c173599 #include <values.h> to get BITSPERBYTE on Solaris. (Reported by
M. Decugis <mds@sepgifbr.sep.de.edf.fr>.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1515 72102866-910b-0410-8b05-ffd578937521
1996-05-10 13:55:35 +00:00
Andrew McCallum
37d8cc7765 (objc_load_module): Uncomment local vars when needed. (Provided by
Bill Bumgarner <bbum@friday.com>.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1514 72102866-910b-0410-8b05-ffd578937521
1996-05-08 14:56:44 +00:00
Andrew McCallum
4300f0e9a2 (BITSPERBYTE): Define if not defined and on NeXT.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1513 72102866-910b-0410-8b05-ffd578937521
1996-05-08 14:53:02 +00:00
Andrew McCallum
f32db3d692 Separate implemented, non-core methods into separate class, in
preparation for avoiding the duplication of these methods in Coder.m.
([NSCoder +initialize]): New method.
(NSCoderNonCore): New class.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1510 72102866-910b-0410-8b05-ffd578937521
1996-05-07 18:08:01 +00:00
Andrew McCallum
3b51fcdff1 ([NSGArchiver -encodeObjectReference:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1503 72102866-910b-0410-8b05-ffd578937521
1996-05-07 01:20:22 +00:00
Andrew McCallum
3f10d36cbc ([Decoder -decodeObjectAt:anObjPtr:name]): Move CREATE_REF_BEFORE_INIT
assertion to inside conditional for FREF being true.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1502 72102866-910b-0410-8b05-ffd578937521
1996-05-07 01:16:34 +00:00
Andrew McCallum
404b2c5d12 (PRINTF_ATSIGN_VA_LIST): New macro, when 1, undoes previous changes.
Previous changes cause crashes with my libc.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1501 72102866-910b-0410-8b05-ffd578937521
1996-05-07 01:14:54 +00:00
Andrew McCallum
b4695b292a It should now work again to build in a separate directory.
Use ${OEXT}, not $(OEXT).
(ALL_INCLUDE_FLAGS): Look in ./include, not $(srcdir).
(GNU_HEADERS): Remove duplicate NS*.h files.
(gnustep/base): Make soft links to the $(srcdir) include files inside
./include.
(include/preface.h): Get preface.h.in from the $(srcdir)!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1499 72102866-910b-0410-8b05-ffd578937521
1996-05-06 21:24:04 +00:00
Andrew McCallum
d43d347684 ([NSMutableArray +initialize]): Add the NSArrayNonCore methods also.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1496 72102866-910b-0410-8b05-ffd578937521
1996-05-06 19:57:29 +00:00
Andrew McCallum
42b38028bd Add o- prefix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1495 72102866-910b-0410-8b05-ffd578937521
1996-05-06 19:40:26 +00:00
Andrew McCallum
1daf82a5fe Add `o-' prefix to object collection function files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1494 72102866-910b-0410-8b05-ffd578937521
1996-05-06 19:22:54 +00:00
Andrew McCallum
d39b518212 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1493 72102866-910b-0410-8b05-ffd578937521
1996-05-06 19:10:52 +00:00
Andrew McCallum
b00a575e5e All uses of @"" were crashing in Linux libc-5.3.9.
(arginfo_func): New function.
(handle_printf_atsign): Get the string object without va_arg().
([NSString +initialize]): Use new function.
(Reported and fixed by Kai-Uwe Sattler
<sattler@volker.cs.Uni-Magdeburg.DE>.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1492 72102866-910b-0410-8b05-ffd578937521
1996-05-06 18:59:01 +00:00
Andrew McCallum
e74c56158b ([NSMutableArrayNonCore -removeObject:]): Replace with version that
removes all objects equal to argument.
([NSMutableArrayNonCore -removeObjectIdenticalTo:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1491 72102866-910b-0410-8b05-ffd578937521
1996-04-30 14:25:22 +00:00
Andrew McCallum
f55677d2e5 ([TextCStream -encodeValueOfCType:at:withName:]): If name is nil or
zero-length, make it "Anonymous".


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1485 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:16:59 +00:00
Andrew McCallum
7e261d59d5 Add todo comments.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1484 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:16:24 +00:00
Andrew McCallum
66356eb508 (USE_OPENSTEP_STYLE_FORWARD_REFERENCES): New macro.
(NSGArchiverNullCStream): New class, interface and implementation.
([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New method.
([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New method.
([NSGArchiver -encodeRootObject:withName:]): New method.
([NSGArchiver -encodeConditionalObject:]): New method.
([NSGArchiver -_coderCreateReferenceForObject:]): New method.
([NSGArchiver -_coderCreateForwardReferenceForObject:]): New method.
([NSGArchiver -_coderForwardReferenceForObject:]): New method.
([NSGArchiver -_objectWillBeInProgress:]): New method.
([NSGArchiver -_objectNoLongerInProgress:]): New method.
([NSGArchiver -defaultDecoderClassname]): New method.
([NSGUnarchiver -_createReferenceBeforeInit]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1483 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:15:30 +00:00
Andrew McCallum
69b93a3648 ([NSUnarchiver +initialize]): Test self against NSUnarchiver class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1482 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:13:51 +00:00
Andrew McCallum
ffbdc162d3 (debug_coder): Make it a static var instead of a #define.
([Encoder -_objectWillBeInProgress:]): New method.
([Encoder -_objectNoLongerInProgress:]): New method.  Depending on
whether we are doing GNU or OpenStep style forward references one of
these two methods will create a backward reference to the object by
calling -_coderInternalCreateReferenceForObject:.  This will effect
whether encoding make forward or backward references to objects in
progress.  GNU uses forward references, which is robust even when the
object's -initWithCoder substitutes another object for self.
([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): Use
new methods.  Don't call -_coderInternalCreateReferenceForObject here,
let one of the ...InProgress methods do it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1481 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:12:59 +00:00
Andrew McCallum
b5526b907d (debug_coder): Make it a static var instead of a #define.
([Decoder -_coderCreateReferenceForObject:]): Add a debugging message.
([Decoder -_coderCreateReferenceForInterconnectedObject:]):
Autorelease the placeholder object.
([Decoder -_createReferenceBeforeInit]): New method.  By default
return NO, for the GNU-style forward references.
([Decoder -decodeObjectAt:anObjPtr:name]): [CODER_OBJECT]: Use new
method; if it returns true, then we are using non-GNU, OpenStep-style
forward references.  In this case: (1) don't try to decode the object by
sending +newWithCoder:, in fact, raise an error if the object wanted
to be decoded that way; (2) call _coderInternalCreateReferenceForObject
before sending -initWithCoder, not after; unfortunately this means
that -initWithCoder methods cannot substitute another object for self.
If it returns false, use the more robust GNU style forward references.
The NSGUnarchiver overrides this method to use the OpenStep style.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1480 72102866-910b-0410-8b05-ffd578937521
1996-04-19 23:05:57 +00:00
Andrew McCallum
e20d99bcd6 Include gnustep/base/Archiver.h.
([Coder +archivedDataWithRootObject:]): Use Archiver class, not
NSArchiver, it matters because now the two classes handle forward
references differently.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1479 72102866-910b-0410-8b05-ffd578937521
1996-04-19 22:59:11 +00:00
Andrew McCallum
39d7d5a0b3 (Foundation): Fix dependancy to force proper handling after a cvs
checkout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1476 72102866-910b-0410-8b05-ffd578937521
1996-04-18 12:31:52 +00:00
Andrew McCallum
e3b1d2f905 ([Decoder -decodeObjectAt:anObjPtr:name]): Decode the Unindent
*before* decoding the fref; as does Encoder!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1466 72102866-910b-0410-8b05-ffd578937521
1996-04-18 01:47:52 +00:00
Andrew McCallum
1b2c5c89ff Change R. Andrew McCallum to post-marriage name: Andrew Kachites McCallum
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1456 72102866-910b-0410-8b05-ffd578937521
1996-04-17 20:17:45 +00:00
Andrew McCallum
8a87d785db Rename in comments from GNU Objective C Class Library to Gnustep Base Library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1454 72102866-910b-0410-8b05-ffd578937521
1996-04-17 20:01:09 +00:00
Andrew McCallum
05817bc168 Rename in comments from GNU Objective C Class Library to Gnustep Base Library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1451 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:55:26 +00:00
Andrew McCallum
a131f7d913 Rename all objects_* to o_*.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1445 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:26:04 +00:00
Andrew McCallum
3a50890494 ([NSGSet -isEqual:]): Call isEqualToSet: (in superclass).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1444 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:21:57 +00:00
Andrew McCallum
71a4589ca7 Use preface.h instead of stdobjects.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1439 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:04:15 +00:00
Andrew McCallum
a6b8bb8c62 Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1438 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:02:37 +00:00
Andrew McCallum
210128dc5d File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1437 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:01:47 +00:00
Andrew McCallum
afb83bf2f0 Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1436 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:01:22 +00:00
Andrew McCallum
6c9c554683 ([CStream -writeSignature]): Use new version macro names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1435 72102866-910b-0410-8b05-ffd578937521
1996-04-17 18:59:34 +00:00
Andrew McCallum
320fc36233 (__gnustep_base_subinit_args__): Renamed from libobjects...
(main): Use gnustep_base_user_main, not LibobjectsMain.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1431 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:37:22 +00:00
Andrew McCallum
dcca50d0f4 Include objc-malloc.h from gnustep/base.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1429 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:31:02 +00:00
Andrew McCallum
9825d73ba4 (Foundation): Add step to get rid of old Foundation directory that
would come from a CVS checkout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1428 72102866-910b-0410-8b05-ffd578937521
1996-04-17 17:10:43 +00:00
Andrew McCallum
9f38de1da8 Adjust comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1427 72102866-910b-0410-8b05-ffd578937521
1996-04-17 16:58:44 +00:00
Andrew McCallum
287f653518 (include/preface.h): Make substitutions for macro name, as well as value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1421 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:40:18 +00:00
Andrew McCallum
a8ae3dddbb Fix typo; it is preface.h, not prefix.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1420 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:34:35 +00:00
Andrew McCallum
838ac3681f Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1419 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:23:00 +00:00
Andrew McCallum
6b6588b249 (all): Add dependancy on `Foundation'.
(Foundation): New target.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1418 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:17:52 +00:00
Andrew McCallum
47816bf1e0 Update names of global const char's.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1417 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:08:10 +00:00
Andrew McCallum
91973f85d6 Don't assume the `lib' prefix is included in $(LIBRARY_NAME).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1413 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:52:22 +00:00
Andrew McCallum
713b915540 Rename all occurrences of objects/' to include/'.
Rename all occurrences of `Foundation/' to `include/'.
Rename all occurrences of `libobjects' to `$(LIBRARY_NAME)'.
Rename all occurrences of `OBJECTS_*VERSION' to `*VERSION'.
(GNU_NEXT_INCLUDES): Renamed from OBJECTS_NEXT_INCLUDES.
(gnustep/base): New target; make symbolic link to `include'.
(all): Added dependancy on gnustep/base.
(install): Put the include files in gnustep/base.  Make a link from
$(includedir)/Foundation to $(includedir)/gnustep/base.
(installdirs): Make $(includedir)/gnustep/base, not objects and
Foundation include directories.
(GNU_MFILES): stdobjects.m renamed to preface.m.
(GNU_HEADERS): LibobjectsMain.h renamed to fake-main.h.  objects.h
renamed to all.h.
(HEADERS_INSTALL): stdobjects.h renamed to preface.h.
(maintainer-clean): Likewise.
(DIST_FILES): stdobjects.h.in renamed to preface.h.in.
(RCS_FILES): Likewise.
(include/preface.h): Target renamed from stdobjects.h.
(preface$(OEXT)): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1409 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:41:15 +00:00
Andrew McCallum
36d3ad87e4 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1408 72102866-910b-0410-8b05-ffd578937521
1996-04-17 14:33:00 +00:00
Andrew McCallum
a6a5e9b024 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1406 72102866-910b-0410-8b05-ffd578937521
1996-04-17 13:34:36 +00:00
Andrew McCallum
41a403eb2a File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1404 72102866-910b-0410-8b05-ffd578937521
1996-04-17 13:14:40 +00:00
Andrew McCallum
9f48ee5fdf ([NotificationDispatcher
-_addObserver:notificationRequest:name:object:]): Don't release NR here.
([NotificationDispatcher -addInvocation:name:object:]): Release it here.
([NotificationDispatcher -addObserver:selector:name:object:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1388 72102866-910b-0410-8b05-ffd578937521
1996-04-17 00:29:24 +00:00
Andrew McCallum
cbcb4e387b (debug_tcpport): Changed from 1 to 0; don't print debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1386 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:28:35 +00:00
Andrew McCallum
704892af05 (debug_proxy): Changed from 1 to 0; don't print debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1385 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:28:14 +00:00
Andrew McCallum
ea87381939 (debug_connection): Changed from 1 to 0; don't print debugging
messages.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1384 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:27:53 +00:00
Andrew McCallum
a9f17d9f4c ([NSArrayNonCore -arrayByAddingObject:]): Autorelease the returned
array.
([NSArrayNonCore -arrayByAddingObjectsFromArray:]): Likewise.
([NSArrayNonCore -subarrayWithRange:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1383 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:22:08 +00:00
Andrew McCallum
4ddaa9c2b5 (GNU_MFILES): Re-added Time.m.
(o_vscanf$(OEXT), o_vscanf_pic$(OEXT)): New rules that turn off
warnings for o_vscanf.c, it generates a bunch of unimportant ones.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1381 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:38:28 +00:00
Andrew McCallum
d09bb35143 Only declare "id MemoryExchaustedException" #ifdef __OBJC__. This
allows <objects/objc-malloc.h> to be include in non-ObjC files, i.e. C
files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1380 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:18:32 +00:00
Andrew McCallum
52f8925439 Include <objects/stdobjects.h> first.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1379 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:17:34 +00:00
Andrew McCallum
4b27d299d9 ([Time +initialize]): Comment out day/month name handling that depends
on old Collection heirarchy.
([Time +indexOfDayName:]): un-implemented.
([Time +nameOfDayIndex:]): Likewise.
([Time +indexOfMonthName:]): Likewise.
([Time +nameOfMonthIndex:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1375 72102866-910b-0410-8b05-ffd578937521
1996-04-16 22:01:18 +00:00
Andrew McCallum
9589470e76 ([Heap -heapifyFromIndex:]): Swap -compare: receiver and argument, so
firstObject is minimum instead of maximum object.
([Heap -addObject:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1371 72102866-910b-0410-8b05-ffd578937521
1996-04-16 21:29:00 +00:00
Andrew McCallum
ffdfa979d3 ([NSGDictionaryObjectEnumerator -nextObject]): Return the key, not the
object.
([NSGDictionary -objectForKey:]): Method moved from
NSGMutableDictionary.
([NSGMutableDictionary +initialize]): Don't use static variable in
test.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1370 72102866-910b-0410-8b05-ffd578937521
1996-04-16 02:52:13 +00:00
Andrew McCallum
712b81db57 ([KeyEnumerator -initWithCollection:]): New method.
([KeyEnumerator -nextObject]): New method.
([KeyEnumerator -dealloc]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1369 72102866-910b-0410-8b05-ffd578937521
1996-04-16 02:50:42 +00:00
Andrew McCallum
44cbeaf2d3 ([LinkedList -encodeWithCoder:]): New method.
([LinkedList -initWithCoder:]): New method.
([LinkedList -_initCollectionWithCoder:]): Method removed.
([LinkedList -_encodeContentsWithCoder:]): Method removed.
([LinkedList -_decodeContentsWithCoder:]): Method removed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1366 72102866-910b-0410-8b05-ffd578937521
1996-04-14 16:00:07 +00:00
Andrew McCallum
b221c36652 ([Coder -encodeConditionalObject:]): Don't use old, removed method
name to see if object has already been encoded.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1365 72102866-910b-0410-8b05-ffd578937521
1996-04-14 15:58:03 +00:00
Andrew McCallum
5b5191d0d7 (debug_binary_coder): Explicitly set to zero.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1364 72102866-910b-0410-8b05-ffd578937521
1996-04-14 00:59:58 +00:00
Andrew McCallum
5378b08741 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1363 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:57:11 +00:00
Andrew McCallum
ea8267399d ([Coder (Private) -_coderReferenceForObject:): Renamed from
old-xref-scheme "_coderHasObjectReference:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1362 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:55:26 +00:00
Andrew McCallum
d21db0efa3 Add comments to CONNECTION_WIDE_OBJECT_REFERENCES section.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1361 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:54:19 +00:00
Andrew McCallum
0fafec9796 ([Decoder -decodeObjectAt:withName:]): Allow for the case in which
ANOBJPTR is NULL, and deal with it using a DUMMY_OBJECT local variable.
Remove CODER_OBJECT_FORWARD_SATISFIER case.  In the CODER_OBJECT case,
decode the forward reference number, and deal with it appropriately.
See the ChangeLog comments for the Encoder changes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1359 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:29:39 +00:00
Andrew McCallum
5b21ec95f4 ([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): See
if object satisfies a forward reference *after* encoding it.  This is
necessary because the encoding of subobjects may generate forward
references.  (In a sense, this undoes the last change, but it is
significantly different in that we test whether the object is in the
object_2_fref table *after* encoding the object; before we looked in
the table before encoding the object.)  As a consequence,
the CODER_OBJECT_FORWARD_SATISFIER tag is no longer necessary; this
was used to tag an object before it was encoded, but now we understand
that we cannot know whether this object satisfies a forward reference
until after it has been encoded.  Thus, for all objects we encode an
unsigned int after encoding the object itself.  This unsigned int is
either the forward reference number of zero, depending on whether this
object satisfies any forward references.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1358 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:27:23 +00:00
Andrew McCallum
919f4e6955 (CODER_OBJECT_FORWARD_SATISFIER): Enum constant removed; it is no
longer needed.  Note: decoders built after this change will not be
able to read data files encoded before this change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1357 72102866-910b-0410-8b05-ffd578937521
1996-04-13 19:21:07 +00:00
Andrew McCallum
2e400e6677 ([ConstantCollection -_decodeContentsWithCoder:]): Use alloca(), not
objc_malloc(), plugging memory leak.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1356 72102866-910b-0410-8b05-ffd578937521
1996-04-13 18:37:57 +00:00
Andrew McCallum
3e11ebacf5 ([Encode -_encodeObject:withName:isBycopy:isForwardReference:]): If
this object satisfies a forward reference, remove it from the
object_2_fref table before encoding the object, since, in the process
of encoding the object, we may generate more references to this
object, and we don't want to interpret this as another forward
reference satisfier; previously an object could get encoded as a
forward reference satisfier more than once.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1355 72102866-910b-0410-8b05-ffd578937521
1996-04-13 17:49:22 +00:00
Andrew McCallum
a6084ea9ae (Encoder fref_counter): New ivar for guaranteeing that forward
references have unique names.  Previous use of the MapTable count
for this purpose didn't work because we occasionally removed elements
from the table, and thus had aliased forward reference numbers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1354 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:13:12 +00:00
Andrew McCallum
4e25d2ffb4 ([StdioStream -writeBytes:length:]): Check for error condition, and
report.  Reporting scheme needs fixing.
([StdioStream -readBytes:length:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1353 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:11:11 +00:00
Andrew McCallum
34a9de6b6e ([LinkedList -_decodeContentsWithCoder:]): Step through the new list,
and send -setLinkedList:, otherwise the links don't properly know
about their parent LinkedList.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1352 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:10:15 +00:00
Andrew McCallum
f1066b039f ([Encoder -initForWritingToStream:withFormatVersion:cStreamClass
:cStreamFormatVersion:]): Initialize new ivar.
([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
`gensym' a new forward reference.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1351 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:09:24 +00:00
Andrew McCallum
95846c0b9b ([Decoder -_coderSatisfyForwardReference:withObject:]): Create
fref_2_object with NSNonOwnedPointerMapValueCallBacks, not
NSObjectMapValueCallBacks.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1350 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:08:06 +00:00
Andrew McCallum
a9fe3fa3f6 ([Encoder -_coderCreateForwardReferenceForObject:]): Initialize the
OBJECT_2_FREF ivar, if it hasn't been already.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1349 72102866-910b-0410-8b05-ffd578937521
1996-04-10 21:30:10 +00:00
Andrew McCallum
c1bd83a8b1 (MemoryExhaustedException): Declare this global variable; note that
now objc-malloc.h cannot be included in .c files, only .m files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1348 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:47:02 +00:00
Andrew McCallum
9dbb5319f7 Changed from objc-malloc.c. Raise a MemoryExhaustedException with
NSException instead of calling objc_fatal.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1347 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:46:03 +00:00
Andrew McCallum
8937fc50b9 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1346 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:30:35 +00:00
Andrew McCallum
59e81049c8 (GNU_CFILES): Removed objc-malloc.c.
(GNU_MFILES): Added objc-malloc.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1344 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:21:46 +00:00
Andrew McCallum
8b2b5c7e7e (GNUSTEP_MFILES): Added NSRunLoop.m.
(GNUSTEP_HEADERS): Added Foundation/NSRunLoop.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1343 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:21:47 +00:00
Andrew McCallum
240f96946f New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1341 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:20:36 +00:00
Andrew McCallum
b323dabc31 ([NSAutoreleasePool -dealloc]): When unintalling ourselves at the
current pool, and setting our parent to be the current pool, be sure
to set our parent's _CHILD ivar to nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1340 72102866-910b-0410-8b05-ffd578937521
1996-04-10 16:40:25 +00:00
Andrew McCallum
459308b0a3 (mframe_do_call): Use sel_get_type() instead of
class_get_instance_method() to get the selector type.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1339 72102866-910b-0410-8b05-ffd578937521
1996-04-10 16:37:30 +00:00
Andrew McCallum
18a8b28a16 (mframe_do_call): When getting the instance method, just use
object->class_pointer, not object_get_class(), because
object_get_class() of a class will return the argument, not the
metaclass---we want the metaclass.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1337 72102866-910b-0410-8b05-ffd578937521
1996-04-09 23:55:42 +00:00
Andrew McCallum
c2b688a5ea ([TcpInPort +newForReceivingFromPortNumber:]): Bind the socket with
INADDR_ANY, (not the host's address), so that others can connect using
any of the host's interfaces, including localhost.  Add the host's
address to _LISTENING_ADDRESS after the bind().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1336 72102866-910b-0410-8b05-ffd578937521
1996-04-09 03:02:20 +00:00
Andrew McCallum
6d43bc6533 ([NSDictionary -allKeysForObject:]): Ask SELF for objectForKey:, not K.
(Reported by Robert Quillen <rquillen@csugrad.cs.vt.edu>).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1335 72102866-910b-0410-8b05-ffd578937521
1996-04-08 17:19:16 +00:00
Andrew McCallum
2f7ae60a2d (ABS): Remove macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1333 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:52:12 +00:00
Andrew McCallum
bdc87d4dba ([MappedCollector -nextObjectAndKey:withEnumState:]): Add comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1331 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:50:55 +00:00
Andrew McCallum
8de44d50d1 ([MappedCollector -newEnumState]): New method.
([MappedCollector -freeEnumState:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1329 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:41:44 +00:00
Andrew McCallum
438776d6f3 (ABS): Remove macro; now defined in objects/stdobjects.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1328 72102866-910b-0410-8b05-ffd578937521
1996-03-31 23:15:12 +00:00
Andrew McCallum
2c66e11f59 Declare new function names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1327 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:59 +00:00
Andrew McCallum
738fe577c4 Add #ifndef/#endif wrapper around header file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1326 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:44 +00:00
Andrew McCallum
0f3872167e (behavior_class_add_class): Function renamed from class_add_behavior.
Add more explanation to NSCAssert().
(class_add_behavior): New function, calling above function.
(behavior_class_add_category): New function.
(behavior_class_add_methods): Function renamed from
class_add_methods_if_not_there.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1325 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:14 +00:00
Andrew McCallum
c8954cfab5 ([NSGArray +initialize]): Add the NSArrayNonCore behavior, so we can,
once and for all, avoid the need for those odd [super ...] calls, and
can remove many methods.
([NSGArray -initWithObjects:count:]): Method removed.
([NSGArray -indexOfObject:]): Method removed.
([NSGArray -objectAtIndex:]): Method removed.
([NSGMutableArray +initialize]): Add the NSMutableArrayNonCore
behavior, as above.
([NSGMutableArray -replaceObjectAtIndex:withObject:]): Method removed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1324 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:34:27 +00:00
Andrew McCallum
379fe835f5 Divide methods between NSArray and NSArrayNonCore classes. Add
NSArrayNonCore behavior to NSArray.
Divide methods between NSMutableArray and NSMutableArrayNonCore
classes.  Add NSArrayNonCore behavior to NSArray.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1323 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:23:37 +00:00
Andrew McCallum
b8f0b79536 Include <objects/stdobjects.h>.
(class_add_behavior): Use NSCAssert() to make sure that we don't try
to increase the instance size of a class that has been subclassed;
(hopeless ivar layout confusion would result).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1319 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:54:02 +00:00
Andrew McCallum
e6fee2e397 (GNU_CFILES): Removed behavior.c.
(GNU_MFILES): Added behavior.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1318 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:43:41 +00:00
Andrew McCallum
227b53dda4 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1317 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:41:02 +00:00
Andrew McCallum
82eb5732bd ([NSArray -lastObject]): Don't assert count; just return nil if it's
empty.
([NSMutableArray -removeLastObject]): Don't assert count; raise
NSRangeError if it's empty.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1314 72102866-910b-0410-8b05-ffd578937521
1996-03-30 23:00:27 +00:00
Andrew McCallum
54acc69932 Make NSAutoreleasePools co-exist with exceptions, safely and without
leaks.  Also improve efficiency by using a linked list of arrays
instead of realloc when more space is needed, and by using a cache of
pools that helps avoid the allocation/deallocation of pools.
(push_pool_to_cache): New function.
(pop_pool_from_cache): New function.
([NSAutoreleasePool +initialize]): New method.
([NSAutoreleasePool +allocWithZone:]): New method.
([NSAutoreleasePool -init]): Method overhauled to initialize new ivar
for handling exceptions, _child; also use pool cache.
(total_autoreleased_objects_count): New static variable.
(BEGINNING_POOL_SIZE): Macro renamed from DEFAULT_SIZE.
(autorelease_pool_cache, autorelease_pool_cache_size,
autorelease_pool_cache_count): New static variables.
([NSAutoreleasePool -_setChildPool:]): New method, handling stack and
dealing with exceptions.
([NSAutoreleasePool -addObject:]): Deal with linked list of arrays.
([NSAutoreleasePool -dealloc]): Deal with exceptions by releasing
child pools.  Place self into the pool cache instead of deallocating.
([NSAutoreleasePool +resetTotalAutoreleasedObjects]): New method.
([NSAutoreleasePool +totalAutoreleasedObjects]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1311 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:39:48 +00:00
Andrew McCallum
f03cc597e1 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1310 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:22:20 +00:00
Andrew McCallum
deb6958fe6 Change return types of "grow factor" methods from unsigned to int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1309 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:48 +00:00
Andrew McCallum
44a604d900 ([IndexedCollection -removeObject:]): Use unsigned for index, not int.
([IndexedCollection -replaceObject:withObject:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1308 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:11 +00:00
Andrew McCallum
97e6ad9b21 (NO_INDEX): Change from UINT_MAX to NSNotFound, so that Array and
NSArray can coexist.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1305 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:07:46 +00:00
Andrew McCallum
0a4dd31b8a ([NSArray -isEqualToArray:]): Fix typo; reverse test before returning no.
([NSArray -arrayByAddingObject:]): New function, from Scott
Christley.
([NSArray -arrayByAddingObjectsFromArray:]): Likewise.
([NSArray -subarrayWithRange:]): Implemented by Scott Christely.
([NSMutableArray -removeObjectIdenticalTo:]): Don't fail if the object
is not present.
([NSMutableArray -removeObject:]): Likewise.
([NSMutableArray -removeAllObjects]): Implemented by Scott Christley.
([NSMutableArray -setArray:]): New function, from Scott Christley.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1304 72102866-910b-0410-8b05-ffd578937521
1996-03-30 19:14:43 +00:00
Andrew McCallum
433dd8ef66 ([IndexedCollection -removeObject:]): Now removes *all* instances of
ANOBJECT, not just one.
([IndexedCollection -replaceObject:withObject:]): Now replaces *all*
instances of OLDOBJECT, not just one.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1303 72102866-910b-0410-8b05-ffd578937521
1996-03-30 19:04:35 +00:00
Andrew McCallum
5054040415 (ABS): New macro, defined if not already defined.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1302 72102866-910b-0410-8b05-ffd578937521
1996-03-30 16:01:43 +00:00
Andrew McCallum
3eb99042d6 Fix typos in method types.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1301 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:58:28 +00:00
Andrew McCallum
c721e0da0e (Array _grow_factor): Change type of ivar from unsigned to int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1300 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:06:46 +00:00
Andrew McCallum
b9fabc2237 ([Array +defaultGrowFactor]): Return type changed to int.
([Array -growFactor]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1299 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:06:20 +00:00
Andrew McCallum
7867d0a082 Add new semantic to ivar _grow_factor: if it is less than 0, the array
grows by -_grow_factor, but never shrinks.
(incrementCount): Use the ABS() of _grow_factor.
(decrementCount): Only shrink the array if _grow_factor is > 0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1298 72102866-910b-0410-8b05-ffd578937521
1996-03-30 15:05:15 +00:00
Andrew McCallum
ff190a3a03 Declare new method names, and comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1293 72102866-910b-0410-8b05-ffd578937521
1996-03-30 01:33:05 +00:00
Andrew McCallum
78380df445 Overhauled for memory management changes to fix leaks, various other
fixes.
(MFRAME_STRUCTURES_PASSED_BY_REFERENCE): Renamed from
CONNECTION_STRUCTURES_PASSED_BY_REFERENCE.
(mframe_dissect_call): Function renamed from dissect_method_call.
Remove some redundant if()-else clauses.  Clarify case in which
OUT_PARAMETERS is true.  Use switch statement instead of if-else's.
(mframe_do_call): Function renamed from make_method_call.  Get the
local selector type from the target's Method, not from the selector
type; this will more reliably give the correct type string.  Don't
bother to set OBJECT twice.  Remove some redundant if()-else clauses.
Use NSParameterAssert, not assert, so we can catch problems, (and not
crash the D.O. server).  Change the way memory management for decoded
arguments is handled to remove memory leaks; use new scheme for
DECODER functions that are responsonsible for making sure allocated
memory is eventually freed.  Use alloca() to allocate space for _C_PTR
values, struct's and arrays.  Overhaul the way floats and doubles are
extracted from the RETFRAME; use functions with __builtin_return,
instead of fishing around the RETFRAME.  Use switch statement intead
of if-else's.  Separate cases for char's and short's.  Change some
local variable names for clarity.
(mframe_build_return): Function renamed from dissect_method_return.
Remove some redundant if()-else clauses.  Use NSParameterAssert, not
assert.  Change the way memory management for decoded arguments is
handled to remove memory leaks; use new scheme for DECODER functions
that are responsonsible for making sure allocated memory is eventually
freed.  Use alloca() to allocate space for _C_PTR values, struct's and
arrays.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1292 72102866-910b-0410-8b05-ffd578937521
1996-03-30 01:29:07 +00:00
Andrew McCallum
89c6fa64ca ([BinaryCStream -encodeValueOfCType:at:withName:]): Encode the
exponent as a short, not an int.
([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, decoding.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1291 72102866-910b-0410-8b05-ffd578937521
1996-03-30 00:50:30 +00:00
Andrew McCallum
a4627672a3 ([Connection -forwardForProxy:selector:argFrame:]): Use new mframe
interface.  In the nested function DECODER, autorelease any char*'s
that we decode, as required by the new memory reference scheme.
([Connection -_service_forwardForProxy:]): Likewise, for both.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1290 72102866-910b-0410-8b05-ffd578937521
1996-03-29 17:55:15 +00:00
Andrew McCallum
5e439ccd99 ([BinaryCStream -encodeValueOfCType:at:withName:]): [_C_CHARPTR]:
Don't autorelease the malloc'ed pointer here; thus the behavior is
analogous to decoding an object: it gives you a reference, it is the
callers responsibility to free it.
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_DBL]: Fix
typo.  Use mantissa1, not mantissa2 twice.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1289 72102866-910b-0410-8b05-ffd578937521
1996-03-29 17:53:05 +00:00
Andrew McCallum
fca9bcfe2f ([ConstantCollection -_collectionReleaseContents]): Use alloca()
instead of malloc() and free().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1288 72102866-910b-0410-8b05-ffd578937521
1996-03-29 17:51:07 +00:00
Andrew McCallum
06183fce8e Include <math.h>
(FLOAT_FACTOR): New macro.
(WRITE_SIGNED_TYPE): Take new first argument, the pointer for the
data.
(READ_SIGNED_TYPE): Likewise.
(WRITE_UNSIGNED_TYPE): Likewise.
(READ_UNSIGNED_TYPE): Likewise.
([BinaryCStream -encodeValueOfCType:at:withName:]): [_C_FLT]: Use new
scheme, based on frexp() to turn a float into a series of ints.
[_C_DBL]: Likewise.
([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_FLT]: Likewise
to match.
[_C_DBL]: Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1286 72102866-910b-0410-8b05-ffd578937521
1996-03-29 15:51:13 +00:00
Andrew McCallum
c110e65ee5 (debug_run_loop): Changed from 1 to 0; turn off debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1285 72102866-910b-0410-8b05-ffd578937521
1996-03-29 14:47:38 +00:00
Andrew McCallum
15f0c95e86 ([MallocAddress +autoreleaseMallocAddress:]): Fix typo in method name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1284 72102866-910b-0410-8b05-ffd578937521
1996-03-29 04:01:33 +00:00
Andrew McCallum
07a8527760 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1283 72102866-910b-0410-8b05-ffd578937521
1996-03-29 03:59:34 +00:00
Andrew McCallum
976194d214 ([MallocAddress +initialize]): Use
NSNonRetainedObjectMapValueCallBacks, not NSObjectMapValueCallBacks,
because otherwise the object will never get dealloc'ed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1282 72102866-910b-0410-8b05-ffd578937521
1996-03-27 02:14:47 +00:00
Andrew McCallum
ae95bc9c58 In all methods, use NSParameterAssert() instead of assert(), so that
it raises an NSException, and doesn't abort().
([Connection -forwardForProxy:selector:argFrame:]): Decode the flag
that indicates whether the return packet hold an exception or the
return values.  If it holds an exception, decode it and raise it.
([Connection -_service_forwardForProxy:]): Surround the processing of
the method request packet with NS_DURING...NS_ENDHANDLER.  If an
exception is raised, catch it, encode in in a specially flagged
packet, and send the packet back to the client.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1278 72102866-910b-0410-8b05-ffd578937521
1996-03-26 22:34:40 +00:00
Andrew McCallum
5f00258b41 ([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_CHARPTR]:
Autorelease the malloc'ed char pointer.  Before memory was leaking.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1277 72102866-910b-0410-8b05-ffd578937521
1996-03-26 22:28:48 +00:00
Andrew McCallum
647f080875 Fix typos.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1276 72102866-910b-0410-8b05-ffd578937521
1996-03-26 20:59:42 +00:00
Andrew McCallum
9b7e65f4e0 Use NSException instead of sending -error: in all methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1275 72102866-910b-0410-8b05-ffd578937521
1996-03-26 20:52:26 +00:00
Andrew McCallum
7f329b4714 ([OrderedCollection -putObject:atIndex:]): Return type changed from id
to void.  Use NSException, not error:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1274 72102866-910b-0410-8b05-ffd578937521
1996-03-26 20:52:17 +00:00
Andrew McCallum
5aae0eafb3 Use NSException instead of sending -error: in all methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1273 72102866-910b-0410-8b05-ffd578937521
1996-03-26 19:35:47 +00:00
Andrew McCallum
9536fdc257 ([BinaryCStream -encodeValueOfCType:at:withName:]): Use NSException
instead of sending -error:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1272 72102866-910b-0410-8b05-ffd578937521
1996-03-26 19:23:09 +00:00
Andrew McCallum
095ebaaa4c (string_buf_ptr): Init local variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1271 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:29:07 +00:00
Andrew McCallum
f744067833 ([NSBundle +setSystemLanguages:]): Comment out unused variables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1270 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:28:39 +00:00
Andrew McCallum
60bd74fd01 ([NSMutableData -resetBytesInRange:]): Cast to avoid warning.
([NSMutableData -initWithLength:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1269 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:28:20 +00:00
Andrew McCallum
ea1e49af1b ([NSValueDecoder -initValue:withObjCType:]): Return self.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1268 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:27:44 +00:00
Andrew McCallum
ffa7dbcfe9 (objc_load_module): Comment out unused variables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1267 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:27:31 +00:00
Andrew McCallum
c286e57a89 Include <sys/param.h> for MAXHOSTNAMELEN.
([UdpInPort -newPacketReceivedBeforeDate:]): Return nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1266 72102866-910b-0410-8b05-ffd578937521
1996-03-26 00:27:03 +00:00
Andrew McCallum
e9a9bc4532 (name_2_port_number): Function renamed from name_to_port_number, and
changed to better use IPPORT_USERRESERVED.
([UdpInPort +newForReceivingFromPortNumber:]): Overhauled and
commented.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1260 72102866-910b-0410-8b05-ffd578937521
1996-03-24 22:04:23 +00:00
Andrew McCallum
5cdc044b70 ([NSObject +initialize]): Use NSNonOwnedPointerOrNullMapKeyCallBacks,
not NSNonRetainedObjectsMapKeyCallBacks; keying on addresses, and
avoiding a call to -isEqual is better.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1258 72102866-910b-0410-8b05-ffd578937521
1996-03-22 13:39:01 +00:00
Andrew McCallum
11b30bb8be ([BinaryCStream -encodeValueOfCType:at:withName:name]): [_C_CHARPTR]:
Write the string with the host LENGTH, not the network LENGTH!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1256 72102866-910b-0410-8b05-ffd578937521
1996-03-22 02:36:22 +00:00
Andrew McCallum
af9619a45c ([NSGSet -isEqual:]): Make this just compare the id's, not call [super
isEqual:].  I did this to prevent an infinite loop while running
checks/nsarchiver.m, but I have a feeling that the bug might be in
map.c, not here.  Look at this again!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1254 72102866-910b-0410-8b05-ffd578937521
1996-03-22 02:35:07 +00:00
Andrew McCallum
2579e7ddca ([Set -nextObjectWithEnumState:]): Dereference ENUMSTATE; this change
mirrors the earlier change to [NSGSet -nextObject].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1253 72102866-910b-0410-8b05-ffd578937521
1996-03-22 02:33:33 +00:00
Andrew McCallum
d4ab4732b7 ([ConstantKeyedCollection -_decodeContentsWithCoder:]): Reverse order
of objects and keys, to match _encodeContentsWithCoder:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1252 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:46:30 +00:00
Andrew McCallum
0a7e7d34fd New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1251 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:26:22 +00:00
Andrew McCallum
6d47e07f58 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1250 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:25:46 +00:00
Andrew McCallum
773646c583 (GNUSTEP_CFILES): Removed NSZone.c.
(GNUSTEP_MFILES): Added NSZone.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1249 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:25:23 +00:00
Andrew McCallum
3b6d04dfb8 (objects/stdobjects.h): Create it in the build directory, not
$(srcdir).  (Thanks to Albin Jones.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1248 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:17:04 +00:00
Andrew McCallum
d76efa4108 (CFLAGS): Added -Wno-implicit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1247 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:13:51 +00:00
Andrew McCallum
eb6d83ed31 Change -basics and -callbacks to -bas and -cbs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1246 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:11:38 +00:00
Andrew McCallum
c6ce2ed572 Added -bas.m and -cbs.m.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1245 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:10:35 +00:00
Andrew McCallum
d0ece8e982 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1244 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:09:05 +00:00
Andrew McCallum
d6b8fb5fc0 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1243 72102866-910b-0410-8b05-ffd578937521
1996-03-22 01:06:28 +00:00
Andrew McCallum
cae0ba6673 ([BinaryCStream -encodeValueOfCType:at:withName:name]): Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1242 72102866-910b-0410-8b05-ffd578937521
1996-03-22 00:41:23 +00:00
Andrew McCallum
9e44cc662c New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1241 72102866-910b-0410-8b05-ffd578937521
1996-03-22 00:37:53 +00:00
Andrew McCallum
17de3bd4bc Second patch from Albin Jones
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1240 72102866-910b-0410-8b05-ffd578937521
1996-03-22 00:36:13 +00:00
Andrew McCallum
6c9e163ef5 Overhauled to use htonl() and friends. New format is incompatible
with the old.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1237 72102866-910b-0410-8b05-ffd578937521
1996-03-22 00:31:09 +00:00
Andrew McCallum
7650c0da16 (CC): Added -pipe.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1232 72102866-910b-0410-8b05-ffd578937521
1996-03-20 18:21:13 +00:00
Andrew McCallum
29e7f82a7e (debug_tcp_port): Set to 1.
([TcpInPort -encodeWithCoder:]): Use encodeBytes:.., not
encodeValue..; the data is already in network byte-order.
([TcpOutPort -encodeWithCoder:]): Likewise.
([TcpOutPort +newWithCoder:]): Likewise.
([TcpOutPort
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Set
entirety of _REMOTE_IN_PORT_ADDRESS to zero.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1227 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:37:04 +00:00
Andrew McCallum
8ca91f872c ([NotificationQueue -dequeueNotificationsMatching:coalesceMask:]):
Specify object class in arg type for nested function.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1226 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:34:29 +00:00
Andrew McCallum
ab2f452521 ([Encoder -encodeBytes:count:withName:]): Update for new argument
types.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1225 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:33:46 +00:00
Andrew McCallum
8ba8c086a6 ([Decoder -decodeBytes:count:withName:name]): Update for new argument
types, and verify read count.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1224 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:33:28 +00:00
Andrew McCallum
925ffab1d0 (Coding -encodeBytes:count:withName:): Use void*, not char* for bytes.
(Coding -decodeBytes:count:withName:): Likewise, and pass COUNT, not
pointer to COUNT.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1223 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:32:33 +00:00
Andrew McCallum
deba918381 ([Decoder -decodeBytes:count:withName:name]): Method implemented;
although it may need to change later.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1222 72102866-910b-0410-8b05-ffd578937521
1996-03-19 18:33:07 +00:00
Andrew McCallum
e3a2c20e9d ([Encoder -encodeBytes:count:withName:]): Method implemented; although
it may need to change later.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1221 72102866-910b-0410-8b05-ffd578937521
1996-03-19 18:32:49 +00:00
Andrew McCallum
a737a8e65f ([RunLoop -acceptInputForMode:beforeDate:]): If LIMIT_DATE is nil,
poll the inputs, but don't wait if there is nothing available
immediately.  Check to make sure that the LIMIT_DATE hasn't already
past; if it has, return immediately, before polling input sources.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1220 72102866-910b-0410-8b05-ffd578937521
1996-03-19 17:10:41 +00:00
Andrew McCallum
1b2de183e8 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1217 72102866-910b-0410-8b05-ffd578937521
1996-03-19 02:02:52 +00:00
Andrew McCallum
f32edd01af Raise NSExceptions instead of using -error:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1214 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:48:39 +00:00
Andrew McCallum
2dfd45f9ec Fix indentation.
([NSThread +currentThread]): Add parenthesis around assignment inside
while.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1213 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:45:25 +00:00
Andrew McCallum
0bf7ab8983 Include <objects/behavior.h.
([NSString -componentsSeparatedByString:]): Initialize ARRAY!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1212 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:44:01 +00:00
Andrew McCallum
163c4a6b3c Include <objects/stdobjects.h>
Use OBJC_MALLOC and friends, instead of NX_MALLOC.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1211 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:40:44 +00:00
Andrew McCallum
f5e685101b ([Decoder -finishDecodingInterconnectedObjects]): Comment out
temporarily unused AWAKE_SEL local variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1210 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:35:05 +00:00
Andrew McCallum
74782ae088 ([Proxy -encodeWithCoder:]): Add a more explanatory error message for
the use of invalid Connections.
([Proxy +encodeObject:withConnectedCoder:]): Likewise.
([Proxy -forward::]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1208 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:05:46 +00:00
Andrew McCallum
82c7cb714c Prepend debugging messages with "RunLoop".
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1205 72102866-910b-0410-8b05-ffd578937521
1996-03-19 00:59:05 +00:00
Andrew McCallum
ca3f658c9c ([Connection -_handleRmc:]): [METHOD_REQUEST]: Fix conditional for
which we handle a request immediately.  Before it inappropriately
queued call backs from the server on which we were waiting, causing us
to wait forever.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1204 72102866-910b-0410-8b05-ffd578937521
1996-03-19 00:58:38 +00:00
Andrew McCallum
c2e7210f88 ([TcpOutPort -encodeWithCoder:]): Add debugging message.
([TcpOutPort +newWithCoder:]): Add debugging message.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1203 72102866-910b-0410-8b05-ffd578937521
1996-03-19 00:56:23 +00:00
Andrew McCallum
39d213eb41 ([Proxy +newWithCoder:]): Fix misspelling in debug message.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1202 72102866-910b-0410-8b05-ffd578937521
1996-03-19 00:55:27 +00:00
Andrew McCallum
166bb21ba3 ([Proxy +encodeObject:withConnectedCoder:]): Assert that triangle
connection proxy out port's are valid.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1201 72102866-910b-0410-8b05-ffd578937521
1996-03-18 21:57:29 +00:00
Andrew McCallum
fa55380b3a ([NSObject -autorelease]): Print retain and release counts in more
helpful error message.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1199 72102866-910b-0410-8b05-ffd578937521
1996-03-18 21:48:15 +00:00
Andrew McCallum
b345ca1491 (NSAllMapTableKeys): Don't autorelease the return value; it was
already autoreleased.  Too many autoreleases were causing crashes.
(NSAllMapTableValues): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1198 72102866-910b-0410-8b05-ffd578937521
1996-03-18 21:47:49 +00:00
Andrew McCallum
7bc19d4b5b ([NSAutoreleasePool -dealloc]): Set CURRENT_POOL to PARENT, even if
PARENT is nil.  This is correct behavior.  Old behavior could cause
infinite loops in the PARENT pointers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1197 72102866-910b-0410-8b05-ffd578937521
1996-03-18 21:43:14 +00:00
Andrew McCallum
f62116869f ([RunLoop -limitDateForMode:]): Assert mode.
([RunLoop -acceptInputForMode:beforeDate:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1196 72102866-910b-0410-8b05-ffd578937521
1996-03-18 20:29:34 +00:00
Andrew McCallum
f24b91155f ([NSTimer +scheduledTimerWithTimeInterval:invocation:repeats:]): Add
to RunLoopDefaultMode, not nil.
([NSTimer
+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]):
Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1195 72102866-910b-0410-8b05-ffd578937521
1996-03-18 20:28:12 +00:00
Andrew McCallum
b0a8032e42 ([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Run the
RunLoop in RunLoopConnectionReplyMode, not nil mode.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1194 72102866-910b-0410-8b05-ffd578937521
1996-03-18 20:27:30 +00:00
Andrew McCallum
ef5d6a6d5e Remove old methods. Add declaration of new RunLoop mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1193 72102866-910b-0410-8b05-ffd578937521
1996-03-18 20:09:30 +00:00
Andrew McCallum
8c4e419ead ([Connection +newForInPort:outPort:ancestorConnection:]): Add the in
port to the RunLoop in new RunLoop style.
([Connection -addToRunLoop:forMode:]): Method removed.
([Connection -removeFromRunLoop:forMode:]): Method removed.
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Use new class
method for RunLoop.
([Connection -invalidate]): Remove comment about removing from
RunLoop.  RunLoop's now automatically remove invalid ports.
(RunLoopConnectionReplyMode): New run loop mode string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1192 72102866-910b-0410-8b05-ffd578937521
1996-03-18 20:08:53 +00:00
Andrew McCallum
894952afe3 Removed methods for dealing remembering locally which RunLoop we've
been added to; now the RunLoop manages this.
([TcpInPort +newForReceivingFromPortNumber:]): Don't initialize the
the removed ivar ACTIVE_FD_SET.  Likewise with _RUN_LOOPS.
([TcpInPort -newPacketReceivedBeforeDate:]): Don't use removed
_RUN_LOOPS.
([TcpInPort -old_receivePacketWithTimeout:]): Remove old deprecated
method.
([TcpInPort -invokeWithObject:]): Method removed.
([TcpInPort -newPacketReceivedBeforeDate:]): Overhauled to use new
RunLoop mechanism.
([TcpInPort -getFds:count:]): New method, called by RunLoop.
([TcpInPort -readyForReadingOnFileDescriptor:]): Likewise.
([TcpInPort -_addClientOutPort:]): Updated for new scheme.
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
([TcpInPort -addToRunLoop:forMode:]): Method removed.
([TcpInPort -removeFromRunLoop:forMode:]): Method removed.
([TcpInPort -dealloc]): Don't release _RUN_LOOPS.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1189 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:40:45 +00:00
Andrew McCallum
168723aa94 (TcpInPort _run_loops): Removed ivars.
(TcpInPort _client_sock_2_out_port, _client_sock_2_packet): Prepended
ivars with underscores.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1188 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:33:51 +00:00
Andrew McCallum
d1ae74f76b Add new explanatory comment at beginning.
([RunLoop -init]): Initialize new ivars.
([RunLoop -currentMode]): New method.
([RunLoop -addFileDescriptor:object:forMode:]): Method replaces
-addFileDescriptor:invocation:forMode:, and re-implemented.  Not yet
functional.
([RunLoop -removeFileDescriptor:forMode:]): Likewise.
([RunLoop -addPort:forMode:]): New method.
([RunLoop -removePort:forMode:]): New method.
([RunLoop -addTimer:forMode:]): Overhauled to do the right thing with
the MODE argument.
([RunLoop -acceptInputForMode:beforeDate:]): Method overhauled to ask
port objects for their FD's, create FD_2_OBJECT map table on the fly,
and initialize FDS on the fly.  Now properly removed invalidated ports
from the MODE.
([RunLoop -runOnceBeforeDate:forMode:]): New method.
([RunLoop -runOnceBeforeDate:]): New method.
([RunLoop -runUntilDate:forMode:]): New method.
([RunLoop -runUntilDate:]): New method.
([RunLoop +runUntilDate:forMode:]): New method.
([RunLoop +runOnceBeforeDate:]): New method.
([RunLoop +runOnceBeforeDate:forMode:]): New method.
([RunLoop +currentMode]): New method.
(RunLoopDefaultMode): New global variable.
([NSObject -performSelector:afterDelay:]): Not implemented.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1187 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:32:45 +00:00
Andrew McCallum
d885418358 Many new methods declared.
(RunLoop _mode_2_timers): New ivar.
(RunLoop _mode_2_in_ports): New ivar.
(RunLoop _mode_2_fd_listeners): New ivar.
(RunLoopDefaultMode): New extern variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1186 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:26:13 +00:00
Andrew McCallum
a91e058724 (RandomGenerating): Inherit from NSObject protocol. Remove methods
+alloc and -init.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1185 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:23:57 +00:00
Andrew McCallum
a6e5beda0e ([NSDate +distantFuture]): Increase efficiency by caching a single
instance in a static variable.
([NSDate +distantPast]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1184 72102866-910b-0410-8b05-ffd578937521
1996-03-18 18:31:37 +00:00
Andrew McCallum
c00ba6acd1 Don't include <objects/SocketPort.h>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1183 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:10:06 +00:00
Andrew McCallum
1ec7e45812 Declare classes UdpInPacket and UdpOutPacket.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1182 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:09:48 +00:00
Andrew McCallum
c15e973016 (dissect_method_return): Initialize RETFRAME to NULL to prevent warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1181 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:03:17 +00:00
Andrew McCallum
259be49a34 Change references to non-existant UdpPacket class to UdpInPacket.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1180 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:02:44 +00:00
Andrew McCallum
a5a2baa793 ([TextCStream -decodeName:name]): Pass correct value to debug message.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1179 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:02:14 +00:00
Andrew McCallum
baea97e1c6 (bzero): New macro, to memset(); for FD_ZERO().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1178 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:01:18 +00:00
Andrew McCallum
1da6a89a71 Remove references to NAN. Define bzero for FD_CLR(). Include
<string.h> for memset.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1177 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:00:47 +00:00
Andrew McCallum
d214ea4667 ([RawCStream -encodeValueOfCType:at:withName:name]): Remove unused variable.
([RawCStream -decodeValueOfCType:at:withName:]): Likewise.  Switch on
*type, not unused variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1176 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:00:06 +00:00
Andrew McCallum
942f1e24e4 ([Proxy +newWithCoder:]): Remove unused variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1175 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:59:19 +00:00
Andrew McCallum
76af37a95b ([OrderedCollection -replaceRange:withCollection:]): Return void.
([OrderedCollection -replaceRange:usingCollection:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1174 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:58:56 +00:00
Andrew McCallum
ed687ac91d ([NotificationDispatcher -removeObserver:name:object:]): Remove unused
variables.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1173 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:58:28 +00:00
Andrew McCallum
10978d3756 Remove references to NAN.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1172 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:57:39 +00:00
Andrew McCallum
9c98a2c9a4 Include <behavior.h>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1171 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:57:20 +00:00
Andrew McCallum
9e636b73bc ([NSInvocation -methodSignature]): Return nil.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1170 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:56:54 +00:00
Andrew McCallum
51f66d0afb Comment fix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1169 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:56:13 +00:00
Andrew McCallum
8e4d7cb0f0 ([NSDate -initWithString:]): Initialize theTime to 0, to prevent warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1168 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:55:57 +00:00
Andrew McCallum
8629f4acda ([NSData +_setConcreteClass:]): Include <string.h> for memset().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1167 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:55:26 +00:00
Andrew McCallum
a0d31dfff1 ([NSCountedSet -countForObject:]): Return 0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1166 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:55:09 +00:00
Andrew McCallum
c4950521ad Minor comment format fix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1165 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:54:56 +00:00
Andrew McCallum
9312eb0466 ([NSAutoreleasePool -parentAutoreleasePool]): Remove inclusion of
eltfuncs.h and collhash.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1164 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:54:29 +00:00
Andrew McCallum
c53287e532 ([NSArchiver +initialize]): Use ==, not = in if test.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1163 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:54:00 +00:00
Andrew McCallum
660b7d7a9c Include <string.h> for memset().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1162 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:53:30 +00:00
Andrew McCallum
f239d2f58d ([MutableCString -initWithCoder:]): Remove unused variable n. Return
self, not n.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1161 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:53:13 +00:00
Andrew McCallum
d8e18e8c0e ([MappedCollector -initWithObjects:forKeys:count:]): Return self.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1160 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:52:10 +00:00
Andrew McCallum
0893c12129 ([LinkedList -initWithObjects:count:]): Return self.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1159 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:51:44 +00:00
Andrew McCallum
195b803929 ([ConstantKeyedCollection -initWithObjects:forKeys:count:]): Return nil.
([ConstantKeyedCollection -objectAtKey:]): Likewise.
([ConstantKeyedCollection -keyOfObject:]): Likewise.
([ConstantKeyedCollection -withKeysInvoke:]): Return void.
([ConstantKeyedCollection -withKeysInvoke:whileTrue:]): Likewise.
([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]): Return nil.
([ConstantKeyedCollection -copyValuesAs:]): Likewise.
([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1158 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:51:14 +00:00
Andrew McCallum
c2435c991e ([MethodInvocation -invokeWithObject:]): Revert last change: call
-invokeWithTarget:, not -subclassResponsibility.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1157 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:49:14 +00:00
Andrew McCallum
b67377ea04 ([ConstantIndexedCollection -prevObjectWithEnumState:]): Use
assignment, not equality test for setting enumState to -1.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1156 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:47:14 +00:00
Andrew McCallum
4c749159ef ([GapArray -empty]): Renamed from _collectionEmpty, and implemented to
do entire job of emptying.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1155 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:46:06 +00:00
Andrew McCallum
a151fd55a0 ([Encoder -_coderCreateReferenceForObject:]): Return the xref!
([Encoder -_coderCreateReferenceForConstPtr:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1154 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:45:37 +00:00
Andrew McCallum
c66d202549 ([Dictionary -newEnumState]): Removed useless cruft.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1153 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:44:52 +00:00
Andrew McCallum
6c3e854e97 ([ConstantCollection -detectObjectByInvoking:]): Set detectedObject to
nil to avoid warning.
([ConstantCollection -maxObject]): Initialize MAX to nil.
([ConstantCollection -minObject]): Initialize MIN to nil.
([Collection -uniqueContents]): Iterate over CP, not SELF.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1152 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:44:21 +00:00
Andrew McCallum
6f575ef4c9 Return nil for several -notImplemented methods that are to return objects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1151 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:42:32 +00:00
Andrew McCallum
de0f2e6372 ([CircularArray -empty]): Renamed from _collectionEmpty, and
implemented to do entire job of emptying.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1150 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:42:07 +00:00
Andrew McCallum
5cd928bd5e ([CStream -initForWritingToStream:s]): Return the result.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1149 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:41:30 +00:00
Andrew McCallum
5833fa43c0 ([Array -empty]): Renamed from _empty, and implemented to do entire
job of emptying.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1148 72102866-910b-0410-8b05-ffd578937521
1996-03-18 13:40:54 +00:00
Andrew McCallum
22d088ceeb (TcpInPort _run_loops): Make it a Bag.
(TcpInPort _run_loop_modes): Remove ivar.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1138 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:39:07 +00:00
Andrew McCallum
ae9d7fa426 Fix packet type.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1137 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:38:33 +00:00
Andrew McCallum
c48dcc8183 ([TcpInPort +newForReceivingFromPortNumber:]): Initialize _run_loops.
([TcpInPort -addToRunLoop:forMode:]): Use new _run_loops Bag.
([TcpInPort -removeFromRunLoop:forMode:]): Likewise.
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
([TcpInPort -_addClientOutPort:]): Likewise.
([TcpInPort -dealloc]): Release _run_loops.
([TcpOutPort -outPacketClass]): Method renamed from -packetClass.
([TcpOutPort +outPacketClass]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1136 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:38:16 +00:00
Andrew McCallum
e6637ea4b5 ([RunLoop -removeFileDescriptor:forMode:]): Add debugging message.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1135 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:35:25 +00:00
Andrew McCallum
3b390395b2 ([InPort -setReceivedPacketInvocation:]): Assert that
_packet_invocation isn't already set.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1134 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:55 +00:00
Andrew McCallum
4009d73c8c ([NSGSet -member:]): Return value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1133 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:37 +00:00
Andrew McCallum
28bd665d46 ([ConstantIndexedCollection -firstObject]): Return nil if emtpy.
([ConstantIndexedCollection -lastObject]): Likewise.
([ConstantIndexedCollection -prevObjectWithEnumState:]): Use -1 to
deal with reversals at extremes.
([ConstantIndexedCollection -nextObjectWithEnumState:]): Use [self
count] to deal with reversals at extremes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1132 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:22 +00:00
Andrew McCallum
a4b77d360c (in_port_2_ancestor): New static variable.
([Connection +initialize]): Initialize it.
([Connection +newForInPort:outPort:ancestorConnection:]): Use new
static variable to handle ancestor; (ignore ancestor argument; the
method name will be changed later).  Set the in-port's packet
invocation to the Connection class. Don't call -addToRunLoop.. here,
the mechanics of it were already done above.
([Connection -addToRunLoop:forMode:]): Mark it as not implemented, for
now.
([Connection -runConnectionUntilDate:]): Don't add to run loop here.
([Connection +invokeWithObject:]): Make it a class method instead of
an instance method; alter contents appropriately for this.
([Connection -portIsInvalid:]): Look at in_port_2_ancestor and remove
ourselves if necessary.
([Connection -invalidate]): Don't remove ourselves from the run loop
here, because we may not be the only one listening.  This still needs
fixing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1131 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:32:46 +00:00
Andrew McCallum
775eb86a05 ([ConnectedEncoder -dismiss]): Fix typo in sendPacket: call.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1130 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:26:24 +00:00
Andrew McCallum
f2ccdab2ce Several minor fixes to return types and return values.
([ReverseEnumerator -nextObject]): Pass pointer to enum_state.
([ConstantIndexedCollection -prevObjectWithEnumState:]): Method
overhauled.
([ConstantIndexedCollection -nextObjectWithEnumState:]): Likewise.
([ConstantIndexedCollection -newEnumState]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1129 72102866-910b-0410-8b05-ffd578937521
1996-03-12 20:39:58 +00:00
Andrew McCallum
b1eb75963d Remove #include of objects/eltfuncs.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1126 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:48:47 +00:00
Andrew McCallum
a0e603c0cd Remove #include of objects/collhash.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1125 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:48:05 +00:00
Andrew McCallum
8a6b87d429 Declare new methods and classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1124 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:45:24 +00:00
Andrew McCallum
f9e74bde31 Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1123 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:45:11 +00:00
Andrew McCallum
1d71f2259c Declare new methods. Type arguments with InPort and OutPort, not just
Port.
(Connection reply_depth): New ivar.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1122 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:44:34 +00:00
Andrew McCallum
7a13ca8958 Updated to conform to new Port class. TcpPacket class split into
TcpInPacket and TcpOutPacket.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1121 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:43:25 +00:00
Andrew McCallum
4dce3fd8d6 Debugging messages conditioned on debug_run_loop.
([RunLoop -runOnceBeforeDate:forMode:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1120 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:42:45 +00:00
Andrew McCallum
6050415646 ([Port +outPacketClass]): Method renamed from packetClass.
([Port -outPacketClass]): Likewise.
([InPort -setReceivedPacketInvocation:]): Method renamed from
setPacketInvocation.
([OutPort -sendPacket:]): Method renamed from -sendPacket:withTimeout:.
(OutPacket, InPacket): New classes, replacing Packet class.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1119 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:42:10 +00:00
Andrew McCallum
7410f0818d ([MemoryStream -initWithCapacity:prefix:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1118 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:40:30 +00:00
Andrew McCallum
cce7a64779 Remove old-style methods for getting incoming ConnectedCoders. Add
new methods that use RunLoop.  All callers changed.
([Connection -addToRunLoop:forMode:]): New method.
([Connection -removeFromRunLoop:forMode:]): New method.
([Connection -runConnectionUntilDate:]): New method.
([Connection -runConnection]): Method changed to call above method.
([Connection -_handleRmc:]): New method.
([Connection -_handleQueuedRmcRequests]): New method.
([Connection -_getReceivedReplyRmcFromQueueWithSequenceNumber:]): New
method.
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): New method.
([Connection -invokeWithObject:]): New method.
([Connection +newForInPort:outPort:ancestorConnection:]): Set
reply_depth ivar.
([Connection -_encoderCreateReferenceForConstPtr:]): Return the xref!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1117 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:40:16 +00:00
Andrew McCallum
17093e1111 ([ConnectedDecoder +newDecodingWithPacket:connection:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1116 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:36:13 +00:00
Andrew McCallum
3417862743 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1114 72102866-910b-0410-8b05-ffd578937521
1996-03-12 15:39:13 +00:00
Andrew McCallum
a2f89eeb5a (TcpInPort _run_loop, _run_loop_mode): New ivars.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1113 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:57:08 +00:00
Andrew McCallum
ca33981cce Declare new methods.
(Port _packet_invocation): New ivar.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1112 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:56:43 +00:00
Andrew McCallum
0347b4349f ([NotificationDispatcher +defaultInstance): Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1111 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:55:49 +00:00
Andrew McCallum
4275c2c40d (Notifying): New protocol.
(NotificationPosting): New protocol.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1110 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:55:22 +00:00
Andrew McCallum
8e71e638a8 Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1109 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:54:34 +00:00
Andrew McCallum
ab0cc7c2ac (ConstantArray): Inherit from ConstantIndexedCollection, not
IndexedCollection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1108 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:54:25 +00:00
Andrew McCallum
499c00bb34 ([TcpInPort -receivePacketWithTimeout:]): Completely new
implementation that uses the RunLoop.
([TcpInPort -old_receivePacketWithTimeout:]): New method, holding old
implementation.
([TcpInPort -invokeWithObject:]): New method, called by RunLoop.
([TcpInPort -_tryToGetPacketFromReadableFD:]): New private method.
([TcpInPort -_addClientOutPort:toRunLoop:forMode:]): New method.
([TcpInPort -addToRunLoop:forMode:]): New method.
([TcpInPort -_removeClientOutPort:fromRunLoop:forMode:]): New method.
([TcpInPort -removeFromRunLoop:forMode:]): New method.
([TcpInPort -_addClientOutPort:]): Add it to the RunLoop.
([TcpInPort -_connectedOutPortInvalidated:]): Remove it from the
RunLoop.
([TcpInPort -_addClientOutPort:]): Method renamed from _addOutPort:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1107 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:53:45 +00:00
Andrew McCallum
c7560c1d06 ([InPort -init]): Set _packet_invocation.
([InPort -setPacketInvocation:]): New method.
([InPort -addToRunLoop:forMode:]): New method.
([InPort -removeFromRunLoop:forMode:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1106 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:50:46 +00:00
Andrew McCallum
1400e225cd ([NotificationDispatcher +defaultInstance]): New method.
([NotificationDispatcher -removeObserver:name:object:]): Remove
handling of non-existance _nil_observer_array.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1105 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:49:02 +00:00
Andrew McCallum
7e9fbfc9ac Many small formatting changes.
(UNIX_REFERENCE_INTERVAL): Macro renamed from UNIX_OFFSET.
([NSConcreteDate -timeIntervalSinceNow]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1104 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:48:07 +00:00
Andrew McCallum
01e6c781ee (CFLAGS): Add -Wall.
(GNU_MFILES): Add RunLoop.m.
(GNU_HEADERS): Add objects/RunLoop.h.
(GNUSTEP_MFILES): Add NSTimer.m.
(GNUSTEP_HEADERS): Add Foundation/NSTimer.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1103 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:46:20 +00:00
Andrew McCallum
88bd7036a3 (return_retained): Change macro from 1 to 0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1102 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:44:47 +00:00
Andrew McCallum
8878d34fc3 ([Connection -isValid]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1099 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:43:30 +00:00
Andrew McCallum
ec380ef78f ([IndexedCollection +initialize]): Compare self with
IndexedCollection, not KeyedCollection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1096 72102866-910b-0410-8b05-ffd578937521
1996-03-11 17:02:02 +00:00
Andrew McCallum
e31ac21a93 ([TcpInPort -receivePacketWithTimeout:]): Move initialization of
select_timeout to inside loop since Linux select() modifies
*select_timeout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1095 72102866-910b-0410-8b05-ffd578937521
1996-03-07 20:51:50 +00:00
Andrew McCallum
148267ae25 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1092 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:14:41 +00:00
Andrew McCallum
e90175e3b3 Assert is_valid in many places.
([TcpInPort +newForReceivingFromPortNumber:]): Get the address of the
host, not localhost=127.0.0.1.
([TcpInPort -invalidate]): Remove ourselves from socket_2_port and
port_number_2_port here instead of in -dealloc.
([TcpInPort -description]): Indicate whether we are valid or not in
string.
([TcpOutPort -description]): Likewise.
([TcpOutPort -invalidate]): Assert is_valid, don't just conditionally
execute body.  Remove ourselves from out_port_bag and socket_2_port
here, not in -dealloc.
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): If we
don't read() full prefix, don't abort(), just return EOF.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1091 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:14:23 +00:00
Andrew McCallum
090baa7b50 Assert that the connection is valid in several places.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1090 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:09:06 +00:00
Andrew McCallum
1d5160b3ca Assert is_valid in many places.
([Connection +newForInPort:outPort:ancestorConnection:]): Set is_valid
to 1.  Only ask for notification of out port death if out port is non-nil.
([Connection -portIsInvalid:]): Properly get the port from the
notification object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1089 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:08:24 +00:00
Andrew McCallum
f8753a41c1 ([Port -invalidate]): Insist that is_valid is true at the beginning of
this method, don't test it and skip the body of this method.  Force
users to be careful about calling -invalidate more than once.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1088 72102866-910b-0410-8b05-ffd578937521
1996-03-07 02:30:04 +00:00
Andrew McCallum
32a702571f (NSAllMapTableValues): Get rid of unused variable ARRAY. Return
VALUEARRAY, not unused variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1087 72102866-910b-0410-8b05-ffd578937521
1996-03-07 01:56:10 +00:00
Andrew McCallum
8e27da11da Declare new methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1083 72102866-910b-0410-8b05-ffd578937521
1996-03-07 00:29:05 +00:00
Andrew McCallum
b0645f6d52 (NotificationRequest): Ivar names prepended with `_'.
(NotificationInvocation): Likewise.
(NotificationPerformer): Likewise.
([NotificationDispatcher
-_addObserver:notificationRequest:name:object:]): Insist that observer
be non-nil; (in the case of Invocation's, the invocation is now the
observer).
([NotificationDispatcher -addInvocation:name:object:]): Method renamed
from -addObserver:invocation:...  Pass the invocation as the
observer.  Release the NR after it has been added.
([NotificationDispatcher -addObserver:selector:name:object:]): Release
the NR after it has been added.
([NotificationDispatcher -_removeFromLinkedListNotificationRequest:]):
New method.
([NotificationDispatcher -removeInvocation:]): New method.
([NotificationDispatcher -removeInvocation:name:object:]): New method.
([NotificationDispatcher -removeObserver:]): Use
_removeFromLinkedListNotificationRequest:.
([NotificationDispatcher -removeObserver:name:object:]): Likewise.
([NotificationDispatcher +addInvocation:name:object:]): New method.
([NotificationDispatcher +removeInvocation:]): New method.
([NotificationDispatcher +removeInvocation:name:object:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1082 72102866-910b-0410-8b05-ffd578937521
1996-03-07 00:28:43 +00:00
Andrew McCallum
489b5a0805 ([Connection +initialize]): Initialize all_connections_local_targets.
([Connection -addLocalObject:]): Put it in all_connections_local_targets
also.
([Connection -removeLocalObject:]): Remove it from
all_connections_local_targets also.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1081 72102866-910b-0410-8b05-ffd578937521
1996-03-06 16:40:00 +00:00
Andrew McCallum
63b4e802b0 Declare new ivars and notfication strings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1068 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:38:38 +00:00
Andrew McCallum
b13cd50a86 Several ivar name changes. Method types fixed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1067 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:38:13 +00:00
Andrew McCallum
e2fb754a73 (in_port_class, out_port_class): New ivars replacing port_class.
Declare methods to get and set them.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1066 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:37:45 +00:00
Andrew McCallum
e209d7cc64 (SIGNATURE_FORMAT_STRING): Remove "version" from between class name
and format version.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1065 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:37:11 +00:00
Andrew McCallum
d8be8f0bd5 Fix typos.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1064 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:36:36 +00:00
Andrew McCallum
871b80f439 Many ivar names changed for clarity. Some new ivars added; see
changes to TcpPort.h.  Overhaul of how TcpOutPort's track their remote
address.  Previously they used the address of their local peer; this
is no good when encoding a TcpOutPort on the wire for D.O.; the
D.O. reciever needs a way to contact the listen'ing socket of the
TcpInPort in order to form a new connection.  _remote_in_port_address
is now the address of the remote listen'ing socket.  Added many
comments throughout.  All perror() calls changes to be more
informative.
(debug_tcp_port): Make this a static variable instead of a macro.
(init_socket_2_port): Check pre-existance of socket_2_port here
instead of callers.
([TcpInPort +newForReceivingFromPortNumber:]): Method overhauled.
Don't bind socket to INADDR_ANY because we need to be able to encode
our unique host address on the wire for D.O.
([TcpInPort -_listeningSockaddr]): New method.
([TcpInPort -receivePacketWithTimeout:]): Method overhauled.  Get the
reply port for an incoming packet from the packet prefix.
([TcpInPort -_connectedOutPortInvalidated:]): Add debugging message.
([TcpInPort -classForConnectedCoder:]): Return the TcpOutPort class,
not [self class] because we always encode a "send right" (ala Mach),
not a "recieve right".
([TcpOutPort
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Method
renamed, and majorly overhauled.  Now many different combinations of
NULL argument do different things.  This is now the single designated
initializer.  We now check both the SOCKADDR and the SOCK argument to
find previously-created TcpOutPort's.  This method is also used to set
the remote_in_port_address of an already-created TcpOutPort.  There is
more error checking.
([TcpOutPort +newForSendingToPortNumber:onHost:]): Overhauled.
([TcpOutPort +_newWithAcceptedSocket:peeraddr:inPort:]): Overhauled to
work with new designated  initalizer.
([TcpOutPort -sendPacket:withTimeout:]): Use new low-level Packet
interface that deals with reply ports.
([TcpOutPort +packetClass]): New method.
(PREFIX_LENGTH_TYPE): New macro.
(PREFIX_LENGTH_SIZE): New macro.
(PREFIX_ADDRESS_TYPE): New macro.
(PREFIX_ADDRESS_SIZE): New macro.
(PREFIX_SIZE): New macro.
([TcpPacket -_initForReceivingWithSize:replyPort:]): Use 0 prefix,
because the separate +_getPacketSize... method reads those bytes.
([TcpPacket -_writeToSocket:withReplySockaddr:]): Now the prefix
includes the sockaddr of the reply port.  If ADDR is non-null, set the
reply port address portion of the prefix.
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): New
method, replacing +readPacketSizeFromSocket:.
([TcpPacket -_fillFromSocket:]): Set Stream's eofPosition properly.
Leave Stream's position at zero.
(InPortAcceptedClientNotification): New notification string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1063 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:35:57 +00:00
Andrew McCallum
e2b839730f Change many ivar names.
(debug_proxy): Temporarily set to 1.
([Proxy +newForRemoteTarget:connection:]): Set new ivar names.
Embellish debugging message to include connection.
([Proxy -invalidateProxy]): Return void instead of self.
([Proxy +encodeObject:withConnectedCoder:]): Overhauled, encode tag,
and change order of encoding for more efficient encoding.  Added many
comments.
([Proxy +newWithCoder:]): Likewise, to match.  Also added a check to
make sure we don't return a bogus pointer for a local object; do this
by checking with connection's +includesLocalObject; if it's not
there, raise an exception.
([Proxy -forward::]): Call the new forwarding method name in Connection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1062 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:16:04 +00:00
Andrew McCallum
7cda86ef49 Indentation changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1061 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:10:17 +00:00
Andrew McCallum
224b9099b9 ([LinkedList -prependObject:]): Fix return type.
([LinkedList -insertObject:atIndex:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1060 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:09:55 +00:00
Andrew McCallum
d37b1c5572 ([Encoder -_coderCreateReferenceForObject:]): Insert it in
object_2_xref, not const_ptr_2_xref.
([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]):
Create the in_progress_table with NSNonOwnedPointerMapKeyCallBacks,
not NSObject..; needed by distributed objects so we don't get infinite
loop with proxy objects.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1059 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:09:15 +00:00
Andrew McCallum
e14e479e6b ([Decoder +readSignatureFromCStream:getClassname:formatVersion:]):
Compare got with 6, not 2.
([Decoder -_coderCreateReferenceForObject:]): Add warning comment
about a -retain we don't want.  Fix this eventually!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1058 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:07:17 +00:00
Andrew McCallum
14700c26f3 (default_in_port_class, default_out_port_class): New static variables,
replacing default_port_class.
(all_connections_local_targets): New map table; not used yet, though.
(debug_connection): Temporarily set to 1.
([Connection +initialize]): Set new static vars.
([Connection +setDefaultInPortClass:]): New method.
([Connection +defaultInPortClass]): New method.
([Connection +setDefaultOutPortClass:]): New method.
([Connection +defaultOutPortClass]): New method.
([Connection -init]): Use new default_in_port_class.
([Connection +new]): Likewise.
([Connection +newWithRootObject:]): Likewise.
([Connection +newRegisteringAtName:withRootObject:]): Likewise.
([Connection +rootProxyAtName:onHost:]): Likewise.
([Connection +rootProxyAtPort:]): Likewise.
([Connection +newForInPort:outPort:ancestorConnection:]): Assert the
in port.  Embellish the debugging message to print the in port and
out port.  Set the new connection's in port and out port ivars.
Register ourselves as observers of port invalidation with the
NotificationDispatcher.  Post a notification that a new connection was
created.
([Connection -runConnectionWithTimeout:]): Use
_serviceReceivedRequestsWithTimeout:.
([Connection -_newReceivedRmcWithTimeout:]): Use decodingClass, not
encodingClass.
([Connection -_serviceReceivedRequestsWithTimeout:]): Method name
changed from -newReceivedReplyRmcWithSequenceNumber:.
([Connection +includesLocalObject:]): New method; still needs more
infrastructure to work, though.
([Connection -inPortClass]): New method.
([Connection -outPortClass]): New method.
([Connection -setInPortClass:aPortClass]): New method.
([Connection -setOutPortClass:aPortClass]): New method.
([Connection -_encoderCreateReferenceForConstPtr:]): Add 1 to map
table count to get xref.
([Connection -_decoderCreateReferenceForConstPtr:]): Likewise.
([Connection -dealloc]): Remove ourselves from the NotificationDispatcher.
(ConnectionWasCreatedNotification): New notification string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1057 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:05:36 +00:00
Andrew McCallum
0944e0909c (CONNECTED_CODER_FORMAT_VERSION): New macro.
([ConnectedEncoder
-_initForWritingWithConnection:sequenceNumber:identifier:]): Get
packetClass from the connection's outPort, not the outPortClass.
Return self.
([ConnectedDecoder
+readSignatureFromCStream:getClassname:formatVersion:]): Fill in name
and version.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1056 72102866-910b-0410-8b05-ffd578937521
1996-03-06 13:54:21 +00:00
Andrew McCallum
bfeb6dcb3b Use new SIGNATURE_FORMAT_STRING, as defined in objects/CoderPrivate.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1055 72102866-910b-0410-8b05-ffd578937521
1996-03-06 13:51:48 +00:00
Andrew McCallum
dba54a8bd3 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1054 72102866-910b-0410-8b05-ffd578937521
1996-03-03 02:18:46 +00:00
Andrew McCallum
c86c5f3459 (GNU_MFILES): Added Notification.m and NotificationDispatcher.m.
Removed SocketPort.m.
(GNU_HEADERS): Added objects/Notification.h and
objects/NotificationDispatcher.h.  Removed objects/SocketPort.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1053 72102866-910b-0410-8b05-ffd578937521
1996-03-03 02:16:25 +00:00
Andrew McCallum
d21e400996 New implementation based on GNU NotificationDispatcher. This version
is much faster, and has some better features.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1050 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:41:20 +00:00
Andrew McCallum
1921e871e2 New implementation based on GNU Notification. This version is much
faster, and has some better features.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1049 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:41:01 +00:00
Andrew McCallum
8d63f852b9 Declare new methods and new Notification String.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1048 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:38:40 +00:00
Andrew McCallum
39e0bb14f2 ([Proxy +initialize]): Don't return self.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1047 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:37:59 +00:00
Andrew McCallum
5459c5ec71 Don't include <objc/Object.h>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1046 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:37:39 +00:00
Andrew McCallum
e137fb1552 ([LinkedListNode -initialize]): Method removed.
([LinkedListNode -init]): Set _linked_list.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1045 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:37:08 +00:00
Andrew McCallum
bf4fd7952b ([LinkedList -insertObject:after:]): When inserting first object, set
_count to 1.
([LinkedList -insertObject:before:]): Likewise.
([LinkedList -appendObject:]): Don't claim ownership here if we're
going to call -insertObject:after: later.
([LinkedList -prependObject:]): Likewise.  And renamed from
prependElement.
([LinkedList -insertObject:atIndex:]): Likewise.
([LinkedList -newEnumState]): New method.
([LinkedList -nextObjectWithEnumState:]): Overhauled.
([LinkedList -prevObjectWithEnumState:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1044 72102866-910b-0410-8b05-ffd578937521
1996-03-03 01:36:41 +00:00
Andrew McCallum
8e74895739 ([Connection +connectionsCountWithInPort:]): Fix use of END_FOR_ARRAY.
([Connection -invalidate]): Post ConnectionBecameInvalidNotification.
(ConnectionBecameInvalidNotification): New extern String.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1043 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:45:04 +00:00
Andrew McCallum
c669aba353 (ConnectionBecameInvalidNotification): Declare extern new String.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1042 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:42:42 +00:00
Andrew McCallum
2283a8beb1 (String): Make the protocol inherit from the NSObject protocol.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1041 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:41:51 +00:00
Andrew McCallum
091ab5191c (ConstantCollecting): Make is inherit from the NSObject protocol.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1040 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:41:23 +00:00
Andrew McCallum
7d8460ea0e ([TcpInPort -numberOfConnectedOutPorts]): New method.
([TcpInPort -_connectedOutPortInvalidated:]): Post an
InPortClientBecameInvalidNotification.
([TcpInPort -portNumber]): New method.
([TcpInPort -description]): New method.
([TcpOutPort +newWithAcceptedSocket:inPort:]): Fill in the _address
ivar.
([TcpOutPort -portNumber]): New method.
([TcpOutPort -description]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1039 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:40:46 +00:00
Andrew McCallum
272ac50286 ([MethodInvocation -invokeWithObject:]): Make it a
-subclassResponsibililty.
([MethodInvocation -initWithArgframe:selector:]): Raise an exception
if we are unable to get a non-null selector type string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1038 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:38:06 +00:00
Andrew McCallum
844e785f3c ([Port -invalidate]): Post PortBecameInvalidNotification.
(PortBecameInvalidNotification): New String object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1037 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:36:53 +00:00
Andrew McCallum
f48fa64139 ([NSGMutableDictionary -objectForKey:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1036 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:35:52 +00:00
Andrew McCallum
7f08658033 ([ConstantKeyedCollection -description]): Use object_get_class_name
instead of -name.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1035 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:35:28 +00:00
Andrew McCallum
2595147b64 ([DelegatePool -forward::]): Fix use of END_FOR_ARRAY.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1033 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:33:51 +00:00
Andrew McCallum
e3422df521 ([Enumerator -nextObject]): Pass pointer to ENUM_STATE.
([Enumerator -dealloc]): Likewise.
([ConstantCollection -detectObjectByInvoking:]): Use -returnValueIsTrue.
([ConstantCollection -printForDebugger]): Use object_get_class_name
instead of -name because -name is now ambiguously typed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1032 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:33:24 +00:00
Andrew McCallum
0c2a93d89c Surrounded by #if for mach.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1027 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:21:34 +00:00
Andrew McCallum
4a9fdee68c Fix #ifndef symbol.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1026 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:21:00 +00:00
Andrew McCallum
d13ca8ae70 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1025 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:20:32 +00:00
Andrew McCallum
0f2b819b87 (GNU_MFILES): Add MachPort.m.
(GNU_HEADERS): Add objects/MachPort.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1024 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:18:08 +00:00
Andrew McCallum
f8715219c1 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1023 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:07:42 +00:00
Andrew McCallum
87e9935a0b New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1022 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:06:57 +00:00
Andrew McCallum
65fd114c58 Overhauled for new Port heirarchy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1021 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:06:03 +00:00
Andrew McCallum
c2d70ec345 Comment change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1020 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:05:07 +00:00
Andrew McCallum
7eb7574418 ([Encoder -_coderCreateReferenceForConstPtr:]): Get xref before
asserting it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1019 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:01:33 +00:00
Andrew McCallum
8e1ff3942b (WRITE_SIGNATURE_FORMAT_ARGS): Use STRINGIFY() for OBJECTS_PACKAGE_NAME.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1018 72102866-910b-0410-8b05-ffd578937521
1996-03-01 15:57:59 +00:00
Andrew McCallum
fdeb9d835e (STRINGIFY): New macro defined, if not defined already.
(XSTRINGIFY): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1017 72102866-910b-0410-8b05-ffd578937521
1996-03-01 15:57:32 +00:00
Andrew McCallum
bac3cfc0b6 (END_FOR_ARRAY): Macro renamed from FOR_ARRAY_END, and given argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1016 72102866-910b-0410-8b05-ffd578937521
1996-03-01 15:56:16 +00:00
Andrew McCallum
ba18103892 Overhauled for new collections, coders and ports.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1015 72102866-910b-0410-8b05-ffd578937521
1996-03-01 15:54:57 +00:00
Andrew McCallum
ea47307d11 (GNU_MFILES): Added UdpPort.m.
(GNU_HEADERS): Added objects/UdpPort.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1013 72102866-910b-0410-8b05-ffd578937521
1996-03-01 14:53:30 +00:00
Andrew McCallum
ea3234233b (GNUSTEP_MFILES): Re-added Connection.m and ConnectedCoder.m.
(GNUSTEP_HEADERS): Removed duplicate Foundation/NSHashTable.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1012 72102866-910b-0410-8b05-ffd578937521
1996-03-01 02:49:31 +00:00
Andrew McCallum
bbc64a55de ([Decoder +readSignatureFromCStream:getClassname:formatVersion:]): Get
new values.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1009 72102866-910b-0410-8b05-ffd578937521
1996-02-29 01:50:31 +00:00
Andrew McCallum
8983f563c8 ([Encoder -writeSignature]): Use new macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1008 72102866-910b-0410-8b05-ffd578937521
1996-02-29 01:50:05 +00:00
Andrew McCallum
dabaf835a8 New macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1007 72102866-910b-0410-8b05-ffd578937521
1996-02-29 01:49:34 +00:00
Andrew McCallum
df2d822402 (SIGNATURE_FORMAT_STRING): Change to include package name and version.
(WRITE_SIGNATURE_FORMAT_ARGS): New macro.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1006 72102866-910b-0410-8b05-ffd578937521
1996-02-29 01:39:48 +00:00
Andrew McCallum
c418865078 (GNU_MFILES): Add TcpPort.m.
(GNU_HEADERS): Add objects/TcpPort.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1005 72102866-910b-0410-8b05-ffd578937521
1996-02-29 01:37:26 +00:00
Andrew McCallum
51809f8537 (FILE_AUTHORS): Added "Albin L. Jones".
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1004 72102866-910b-0410-8b05-ffd578937521
1996-02-25 15:01:49 +00:00
Andrew McCallum
4bf7f6fe58 ([NSInvocation +initialize]): Fix typo.
([NSInvocation +invocationWithMethodSignature:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1003 72102866-910b-0410-8b05-ffd578937521
1996-02-24 18:51:20 +00:00
Andrew McCallum
5df75048c4 (GNUSTEP_MFILES): Add NSInvocation.m.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1002 72102866-910b-0410-8b05-ffd578937521
1996-02-24 18:49:35 +00:00
Andrew McCallum
c9f6d80bb1 Class implemented using Invocation as behavior.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1000 72102866-910b-0410-8b05-ffd578937521
1996-02-24 18:47:39 +00:00
Andrew McCallum
d4cdc0c31f (return_retained): New macro.
([Invocation -setReturnValue:]): Retain return value if necessary.
([ArgframeInvocation -_retainArguments]): Add missing local var.
([MethodInvocation -initWithArgframe:type:]): New method.
([MethodInvocation -initWithArgframe:selector:]): Use new method.  Set
selector using sel_pointer.
([ObjectFunctionInvocation -invokeWithObject:]): Use return_retained,
not args_retained.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@999 72102866-910b-0410-8b05-ffd578937521
1996-02-24 18:46:48 +00:00
Andrew McCallum
645c3c3c96 ([Invocation -initWithReturnType:]): Use new ivar names. Use calloc
instead of malloc.
([Invocation -encodeWithCoder:]): New method.
([Invocation -initWithCoder:]): New method.
([Invocation -classForConnectedCoder:]): New method.
([Invocation -returnType]): Use new ivar name.
([Invocation -setReturnValue:]): New method.
([Invocation -objectReturnValue]): Method implemented.
([Invocation -intReturnValue]): Method implemented.
([Invocation -returnValueIsTrue]): Method implementation finished.
([Invocation -dealloc]): Use new ivar name.  Release return type if
necessary.
([ArgframeInvocation -_retainArguments]): New method.
([ArgframeInvocation -_initArgframeFrom:withType:retainArgs:]): Method
overhauled.
([ArgframeInvocation -initWithArgframe:type:]): Use new method.
([ArgframeInvocation -encodeWithCoder:]): New method.
([ArgframeInvocation -initWithCoder:]): New method.
([ArgframeInvocation -argumentTypeAtIndex:]): Use new ivar name.
([ArgframeInvocation -retainArguments]): New method.
([ArgframeInvocation -argumentsRetained]): New method.
([ArgframeInvocation -_deallocArgframe]): New method.
([ArgframeInvocation -dealloc]): Use new method.  Release args if
necessary.
([MethodInvocation -_initTargetAndSelPointers]): New method.
([MethodInvocation -initWithArgframe:selector:]): Use new method.
([MethodInvocation -initWithCoder:]): New method.
([MethodInvocation -initWithTarget:selector:...]): Retain args if
necessary.
([MethodInvocation -invoke]): Use new ivars.
([MethodInvocation -invokeWithTarget:]): Use -setTarget:.
([MethodInvocation -selector]): Use new ivar.
([MethodInvocation -setSelector:]): Likewise.
([MethodInvocation -target]): Likewise.
([MethodInvocation -setTarget:]): Likewise.
([ObjectMethodInvocation -_initArgObjectPointer]): New method.
([ObjectMethodInvocation -initWithArgframe:selector:]): Use new method.
([ObjectMethodInvocation -initWithCoder:]): New method.
([ObjectMethodInvocation -invokeWithObject:]): New method.
(VoidFunctionInvocation): New class implementation.
(ObjectFunctionInvocation): New class implementation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@998 72102866-910b-0410-8b05-ffd578937521
1996-02-24 17:03:04 +00:00
Andrew McCallum
49f9e1b864 Make -invoke methods return void. Include objects/Invoking.h.
(return_type): ivar renamed from encoding.
(ArgframeInvocation args_retained): new ivar.
(MethodInvocation target_pointer): new ivar.
(MethodInvocation sel_pointer): new ivar.
(VoidFunctionInvocation): New class.
(ObjectFunctionInvocation): New class.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@997 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:42:35 +00:00
Andrew McCallum
bbcd2338b7 Make -invoke methods return void.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@996 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:40:44 +00:00
Andrew McCallum
4ae2c0777d ([Encoder +initialize]): Compare self with Encoder, not Coder.
([Encoder +encodeRootObject:withName:toStream:]): Rename method to
-close.
([Encoder -encodeSelector:withName:name]): Use sel_get_any_typed_uid
instead of sel_get_any_uid.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@995 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:40:17 +00:00
Andrew McCallum
b9b9179ba4 Formatting change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@994 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:38:43 +00:00
Andrew McCallum
d34f64b00e ([Stream -close]): Method renamed from -closeStream.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@993 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:37:55 +00:00
Andrew McCallum
f4cc4199c3 Rename method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@992 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:37:09 +00:00
Andrew McCallum
cc0042bdac ([Coder +setDefaultCStreamClass:]): Declare method.
([Coder +defaultCStreamClass]): Declare method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@991 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:35:58 +00:00
Andrew McCallum
a0e9567b24 ([Coder -close]): Method renamed from -closeCoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@990 72102866-910b-0410-8b05-ffd578937521
1996-02-24 16:35:03 +00:00
Andrew McCallum
45f688298e (retain_counts): Make it a NSMapTable instead of a coll_hash.
(NSIncrementExtraRefCount): Update for new retain_counts type.
(NSDecrementExtraRefCountWasZero): Likewise.
([NSObject +initialize]): Likewise.
([NSObject -retainCount]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@989 72102866-910b-0410-8b05-ffd578937521
1996-02-22 23:12:19 +00:00
Andrew McCallum
cb082f3af4 (GNU_HEADERS): Add objects/bitops.h, objects/minmax.h.
(GNU_OTHER_SRCFILES): Add md5.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@988 72102866-910b-0410-8b05-ffd578937521
1996-02-22 22:17:15 +00:00