Commit graph

670 commits

Author SHA1 Message Date
mccallum
931eb3b58c ([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
mccallum
e51b3f9c60 ([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
mccallum
d714589623 (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
mccallum
2aea66d1cb (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
mccallum
f26a2609fe 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
mccallum
3ac9d40922 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
mccallum
0e5c8c02a8 (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
mccallum
6dc128356a 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
mccallum
8471dd2b25 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
mccallum
67aae38b85 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
mccallum
c888258e60 ([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
mccallum
199edc8cd5 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
mccallum
6e8b9c47a0 ([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
mccallum
f44968627f ([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
mccallum
78362f95c8 ([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
mccallum
916a5ee316 (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
mccallum
6910873fa9 (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
mccallum
a955a3bd30 (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
mccallum
6cc416e14e ([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
mccallum
42b53d068e ([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
mccallum
2999ea826d ([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
mccallum
e55c09f42c ([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
mccallum
8bc528f073 ([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
mccallum
08f493f917 ([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
mccallum
a7cfff726b ([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
mccallum
98a91e5fb3 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
mccallum
a9db0be31a 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
mccallum
d1361514a0 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
mccallum
7c84620fae (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
mccallum
0e55df1258 *** 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
mccallum
b28e7c8ede 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
mccallum
10fd5300fb 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
mccallum
f56cfab056 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
mccallum
c9a822d789 ([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
mccallum
817c1e5677 (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
mccallum
164ab2393e (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
mccallum
7edf52aaa0 (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
mccallum
7a180f449a 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
mccallum
abb2d4f80e (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
mccallum
a926eb2858 (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
mccallum
6f7c314f40 ([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
mccallum
d693f394d4 ([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
mccallum
189f6992db 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
mccallum
592c128410 (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
mccallum
1a79d72e2f (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
mccallum
2392b217a8 (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
mccallum
ed81ee921f ([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
mccallum
40bcdbbfaa (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
mccallum
c919834d1c 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
mccallum
401815e4f5 (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