Commit graph

38 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
04867f76a3 Move much of functionality to Encoder.m, Decoder.m, and
objects/CoderPrivate.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@969 72102866-910b-0410-8b05-ffd578937521
1996-02-22 16:09:23 +00:00
Andrew McCallum
6db330119c ([Coder -decodeObject]): Return the object.
([Coder -initForReadingWithData:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@896 72102866-910b-0410-8b05-ffd578937521
1996-02-13 01:50:03 +00:00
Andrew McCallum
edb7a89289 ([Coder -_coderCreateReferenceForObject:]): Beginning with this
method, put in, but comment out, new ideas for "tag-less" coder
streams; this will allow for smaller archives.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@889 72102866-910b-0410-8b05-ffd578937521
1996-02-01 03:29:56 +00:00
Andrew McCallum
0769bbcdca ([Coder -closeCoding]): Method renamed from -closeCoder.
([Coder +encodeRootObject:withName:toStream:]): Make -closeCoding name
change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@885 72102866-910b-0410-8b05-ffd578937521
1996-01-28 02:18:13 +00:00
Andrew McCallum
67409d675d ([Coder +newReadingFromStream:]): Renamed from
coderReadingFromStream:, because it's silly to have different names
for this method for subclasses of Coder.  Don't autorelease returned
object (I also find this more helpful).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@882 72102866-910b-0410-8b05-ffd578937521
1996-01-28 02:09:10 +00:00
Andrew McCallum
d275e7050c ([Coder +initialize]): Make BinaryCStream the default, not TextCStream.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@859 72102866-910b-0410-8b05-ffd578937521
1996-01-26 20:17:19 +00:00
Andrew McCallum
c564c597a9 ([Coder -encodeTag:]): Let the cstream handle it, if it can.
([Coder -decodeTag]): Likewise.
([Coder -encodeClass:]): Perform classname mapping ala
encodeClassName:intoClassName.
([Coder -_doEncodeBycopyObject:]): Perform callbacks
-replacementObjectForCoder, -replacementObjectForArchiver,
-classForCoder, -classForArchiver.
([Coder -encodeClassName:intoClassName:]): Fix typos.
([Coder -encodeConditionalObject:]): Don't encode *forward*
references, only backward references; apparently NeXT-style decoding
(with -decodeObject, instead of GNU's decodeObjectAt:) can't handle
them.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@855 72102866-910b-0410-8b05-ffd578937521
1996-01-26 20:02:33 +00:00
Andrew McCallum
aae0ebd2b7 ([Coder -_initWithCStream:formatVersion:isDecoding:]): Initialize new
zone ivar.
([Coder -encodeBycopyObject:withName:]): Renamed from
-encodeObjectBycopy, to better match NeXT.
([Coder -decodeObjectAt:anObjPtr:name]): Use zone ivar in creating
decoded objects.
([Coder -encodeArrayOfObjCType:count:at:withName:]): Renamed from
-encodeArrayOfObjCType:at:count:withName:, to better match NeXT.
([Coder -decodeArrayOfObjCType:count:at:withName:]): Likewise.
([Coder +classNameEncodedForTrueClassName:trueName]): New method, for
NSCoder compatibility.
([Coder -encodeClassName:trueNameintoClassName:inArchiveName]):
Likewise.
([Coder +classNameDecodedForArchiveClassName:inArchiveName]):
Likewise.
([Coder +decodeClassName:inArchiveNameasClassName:]): Likewise.
([Coder -objectZone]): Likewise.
([Coder -setObjectZone:]): Likewise.
([Coder -encodeValueOfObjCType:at:]): Likewise.
([Coder -encodeArrayOfObjCType:count:at:]): Likewise.
([Coder -encodeBycopyObject:]): Likewise.
([Coder -encodeConditionalObject:]): Likewise.
([Coder -encodeDataObject:]): Likewise.
([Coder -encodeObject:]): Likewise.
([Coder -encodePoint:]): Likewise.
([Coder -encodeRect:]): Likewise.
([Coder -encodeRootObject:]): Likewise.
([Coder -encodeSize:]): Likewise.
([Coder -encodeValuesOfObjCTypes:...:]): Likewise.
([Coder -decodeValueOfObjCType:at:]): Likewise.
([Coder -decodeArrayOfObjCType:count:at:]): Likewise.
([Coder -decodeDataObject]): Likewise.
([Coder -decodeObject]): Likewise.
([Coder -decodePropertyList]): Likewise.
([Coder -decodePoint]): Likewise.
([Coder -decodeRect]): Likewise.
([Coder -decodeSize]): Likewise.
([Coder -decodeValuesOfObjCTypes:...:]): Likewise.
([Coder -systemVersion]): Likewise.
([Coder -versionForClassName:]): Likewise.
([Coder -initForWritingWithMutableData:]): New method, for
NSArchiver compatibility.
([Coder +archivedDataWithRootObject:]): Likewise.
([Coder +archiveRootObject:toFile:]): Likewise.
([Coder +unarchiveObjectWithData:data]): Likewise.
([Coder +unarchiveObjectWithFile:path]): Likewise.
([Coder -archiverData]): Likewise.
([Coder -cStream]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@825 72102866-910b-0410-8b05-ffd578937521
1996-01-26 03:06:35 +00:00
Andrew McCallum
e288bb5407 ([Coder -initForWritingToStream:withFormatVersion:cStreamClass:
cStreamFormatVersion:]): New method.
([Coder -initForWritingToFile:withFormatVersion:cStreamClass:
cStreamFormatVersion:]): New method.
([Coder -initForWritingToFile:filenamewithCStreamClass:cStreamClass]):
New method.
([Coder +encodeRootObject:withName:nametoStream:]): New method.
([Coder +encodeRootObject:withName:nametoFile:filename]): New method.
([Coder +decodeObjectWithName:namefromStream:]): New method.
([Coder +decodeObjectWithName:namefromFile:filename]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@819 72102866-910b-0410-8b05-ffd578937521
1996-01-25 16:58:36 +00:00
Andrew McCallum
57298e58f9 ([Coder -initForReadingFromFile:filename]): New method.
([Coder -initForWritingToFile:filename]): New method.
([Coder -closeCoder]): New method.
([Coder -isClosed]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@814 72102866-910b-0410-8b05-ffd578937521
1996-01-25 15:27:30 +00:00
Andrew McCallum
5204209c5c (SIGNATURE_FORMAT_STRING): New macro.
([Coder -writeSignature]): Use it.
([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
Likewise, and receive (char*) instead of (char**).  All callers
changed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@798 72102866-910b-0410-8b05-ffd578937521
1996-01-24 14:03:19 +00:00
Andrew McCallum
b8d4d350c0 ([Coder -writeSignature]): Write directly to stream ivar.
([Coder +readSignatureFromCStream:getClassname:PtrformatVersion:]):
Likewise.
([Coder -initForReadingFromStream:s]): New method.
([Coder -initForWritingToStream:s]): New method.
([Coder +coderWritingToStream:]): New method.
([Coder +coderWritingToFile:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@784 72102866-910b-0410-8b05-ffd578937521
1996-01-24 03:12:36 +00:00
Andrew McCallum
35d02f85c1 Now uses a CStream instance for low-level encoding of variables of C type.
Include many more files.  Use new-style method name
"..ValueOfObjCType", instead of "..ValueOfType".  Use (id <String>)
instead of (char *) where appropriate.
(DEFAULT_FORMAT_VERSION): Renamed from CODER_FORMAT_VERSION.
(default_stream_class): Renamed from defaultStreamClass;
(default_cstream_class): New static variable.
([Coder +initialize]): Initialize above two variables.
([Coder +setDefaultCStreamClass:]): New method.
([Coder +defaultCStreamClass]): New method.
([Coder +setDefaultStreamClass:]): New method.
([Coder +defaultStreamClass]): New method.
([Coder +defaultFormatVersion]): New method.
([Coder -writeSignature]): New method, replaces -encodeSignature.
([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
New method, replaces decodeSignature.
([Coder -_initWithCStream:formatVersion:isDecoding:f]): New method,
replaces _initWithStream:isDecoding.
([Coder +coderReadingFromStream:stream]): New method.
([Coder +coderReadingFromFile:filename]): New method.
([Coder -initForReadingFromStream:formatVersion:]): New method.
([Coder -initForWritingToStream:sformatVersion:version]): New method.
([Coder +decodeObjectFromStream:]): New method.
([Coder +decodeObjectFromFile:filename]): New method.
([Coder -initEncodingOnStream:]): Method removed.
([Coder -initDecodingOnStream:]): Method removed.
([Coder -initEncoding:]): Method removed.
([Coder -initDecoding:]): Method removed.
([Coder -encodeBytes:count:withName:]): Now unimplemented.
([Coder -decodeBytes:count:withName:name]): Likewise.
([Coder -decodeValueOfCType:at:withName:]): New method.
([Coder -encodeValueOfCType:at:withName:]): New method.
([Coder -encodeValueOfObjCType:at:withName:name]): Now longer handles
arrays and structs; those are now handled in a CStream method.
([Coder -decodeValueOfObjCType:at:withName:]): Likewise.
([Coder -encodeValueOfSimpleType:at:withName:]): Method removed.
([Coder -decodeValueOfSimpleType:at:withName:]): Method removed.
([Coder -encodeIndent]): Call cstream to handle this, instead of doing
nothing.
([Coder -encodeUnindent]): Likewise.
([Coder -decodeIndent]): Likewise.
([Coder -decodeUnindent]): Likewise.
([Coder -encodeName:]): Likewise.
([Coder -decodeName:]): Likewise.
([Coder -formatVersion]): Method renamed from coderFormatVersion.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@770 72102866-910b-0410-8b05-ffd578937521
1996-01-23 22:51:58 +00:00
Andrew McCallum
456af2488a Don't use ivar interconnected_stack_height.
(DOING_ROOT_OBJECT): New macro, defined based on
interconnected_stack_height.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@756 72102866-910b-0410-8b05-ffd578937521
1996-01-23 16:55:56 +00:00
Andrew McCallum
cc21667dfc ([Coder -doInitOnStream:isDecoding:]): Use new ivar names.
([Coder -_coderPushRootObjectTable]): Use new ivar names and don't use
Stack.
([Coder -_coderPopRootObjectTable]): Likewise.
([Coder -_coderTopRootObjectTable]): Likewise.
([Coder -_coderPushForwardObjectTable]): Likewise.
([Coder -_coderPopForwardObjectTable]): Likewise.
([Coder -_coderTopForwardObjectTable]): Likewise.
([Coder -_coderForwardObjectsAtReference:]): Don't access ivar directly.
([Coder -_coderPutForwardObjects:atReference:]): Likewise.
([Coder -finishDecodingInterconnectedObjects]): Use new ivar name.
([Coder -dealloc]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@626 72102866-910b-0410-8b05-ffd578937521
1995-10-14 18:19:32 +00:00
Andrew McCallum
760f0b3342 ([Coder -doInitOnStream:isDecoding:]): Temporarily change
in_progress_table from a Set to an Array.  I need to fix some problems
with Set.
([Coder -startEncodingInterconnectedObjects]): Deal with
interconnected_stack_height.
([Coder -finishEncodingInterconnectedObjects]): Likewise.
([Coder -startDecodingInterconnectedObjects]): Likewise.
([Coder -finishDecodingInterconnectedObjects]): Likewise.
([Coder -encodeRootObject:withName:]): Fix bug, whereby we weren't
giving what decodeObjectAt:withName: expected.
([Coder -encodeArrayOfType:at:count:withName:]): Don't encode the
array count.
([Coder -decodeArrayOfType:at:count:withName:]): Don't expect the
array count.  Change type on 3rd argument.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@605 72102866-910b-0410-8b05-ffd578937521
1995-09-11 00:36:35 +00:00
Andrew McCallum
7ecfb3729f Fix typos.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@602 72102866-910b-0410-8b05-ffd578937521
1995-09-08 22:49:50 +00:00
Andrew McCallum
9097909752 ([Coder -doInitOnStream:isDecoding:]): Init in_progress_table.
([Coder -dealloc]): Release in_progress_table.
([Coder -_encodeObject:withName:isBycopy:isForwardReference:]):
If the object is in progress, treat it like a forward reference.  Add
the object to the in_progess_table before really encoding the object;
remove it when done.  (NOTE, this isn't an excuse not to set up
"encoding interconnected objects" mode.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@600 72102866-910b-0410-8b05-ffd578937521
1995-09-08 22:44:23 +00:00
Andrew McCallum
4ea408c414 (-decodeObjectAt:withName:): Send newWithCoder: if the clsas
responds to it, otherwise send initWithCoder.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@327 72102866-910b-0410-8b05-ffd578937521
1995-04-09 01:32:33 +00:00
Andrew McCallum
fb614e87be (-decodeObjectAt:withName:): Create the instance and send
-initWithCoder if the object doesn't respond to +newWithCoder.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@324 72102866-910b-0410-8b05-ffd578937521
1995-04-08 18:44:45 +00:00
Andrew McCallum
85fa903749 (encodeSelector:withName:): Use sel_get_any_uid() to get sel type if
we can't get it the normal way.
(newWithCoder:):  Use NSAllocateObject.
(isProxy): Removed from NSObject category.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@164 72102866-910b-0410-8b05-ffd578937521
1995-03-23 03:20:04 +00:00
Andrew McCallum
40cb503995 (dealloc): Remove unneccesary releaseObjects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@138 72102866-910b-0410-8b05-ffd578937521
1995-03-17 20:11:35 +00:00
Andrew McCallum
68a97de892 Use release' and dealloc' instead of `free'.
Add category to NSObject, not Object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@105 72102866-910b-0410-8b05-ffd578937521
1995-03-12 19:59:51 +00:00
Andrew McCallum
38085a1d6c CLASS' #define no longer necessary, using Class'.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@68 72102866-910b-0410-8b05-ffd578937521
1995-03-08 23:04:52 +00:00
Andrew McCallum
19367a527e Convert Class* to Class.():
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@59 72102866-910b-0410-8b05-ffd578937521
1995-01-26 17:55:52 +00:00
Andrew McCallum
2b374f469f (Object (CoderAdditions)): Removed methods retainCount, dealloc,
release, retain.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@46 72102866-910b-0410-8b05-ffd578937521
1994-12-13 16:55:41 +00:00
Andrew McCallum
0098375b73 Initial revision
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1 72102866-910b-0410-8b05-ffd578937521
1994-11-04 16:29:24 +00:00