diff --git a/Headers/gnustep/base/Coder.h b/Headers/gnustep/base/Coder.h index 1ad461a15..3eeb2b544 100644 --- a/Headers/gnustep/base/Coder.h +++ b/Headers/gnustep/base/Coder.h @@ -48,28 +48,51 @@ int interconnected_stack_height; /* number of nested root objects */ } -+ coderReadingFromStream: (id )stream; -+ coderReadingFromFile: (id ) filename; +/* Encoding */ -+ coderWritingToStream: (id )stream; -+ coderWritingToFile: (id )filename; +- initForWritingToFile: (id ) filename; +- initForWritingToFile: (id ) filename + withCStreamClass: (Class) cStreamClass; +- initForWritingToFile: (id ) filename + withFormatVersion: (int) version + cStreamClass: (Class)scc + cStreamFormatVersion: (int) cStreamFormatVersion; -+ decodeObjectFromStream: (id )stream; -+ decodeObjectFromFile: (id ) filename; - -- initForReadingFromStream: (id ) stream - formatVersion: (int)version; -- initForReadingFromStream: (id ) stream; - -- initForWritingToStream: (id ) s - formatVersion: (int) version; - initForWritingToStream: (id ) s; +- initForWritingToStream: (id ) s + withCStreamClass: (Class) cStreamClass; +- initForWritingToStream: (id ) s + withFormatVersion: (int) version + cStreamClass: (Class) cStreamClass + cStreamFormatVersion: (int) cStreamFormatVersion; ++ (BOOL) encodeRootObject: anObject + withName: (id ) name + toFile: (id ) filename; ++ (BOOL) encodeRootObject: anObject + withName: (id ) name + toStream: (id )stream; + +/* Decoding */ +/* These are class methods because the header of the file or stream + determines which (sub)class of Coder is created. */ + ++ coderReadingFromFile: (id ) filename; ++ coderReadingFromStream: (id )stream; + ++ decodeObjectWithName: (id *) name + fromFile: (id ) filename; ++ decodeObjectWithName: (id *) name + fromStream: (id )stream; + + +/* Querying */ + (void) setDefaultStreamClass: sc; + defaultStreamClass; + (int) defaultFormatVersion; + + setDebugging: (BOOL)f; @end diff --git a/Source/objects/Coder.h b/Source/objects/Coder.h index 1ad461a15..3eeb2b544 100644 --- a/Source/objects/Coder.h +++ b/Source/objects/Coder.h @@ -48,28 +48,51 @@ int interconnected_stack_height; /* number of nested root objects */ } -+ coderReadingFromStream: (id )stream; -+ coderReadingFromFile: (id ) filename; +/* Encoding */ -+ coderWritingToStream: (id )stream; -+ coderWritingToFile: (id )filename; +- initForWritingToFile: (id ) filename; +- initForWritingToFile: (id ) filename + withCStreamClass: (Class) cStreamClass; +- initForWritingToFile: (id ) filename + withFormatVersion: (int) version + cStreamClass: (Class)scc + cStreamFormatVersion: (int) cStreamFormatVersion; -+ decodeObjectFromStream: (id )stream; -+ decodeObjectFromFile: (id ) filename; - -- initForReadingFromStream: (id ) stream - formatVersion: (int)version; -- initForReadingFromStream: (id ) stream; - -- initForWritingToStream: (id ) s - formatVersion: (int) version; - initForWritingToStream: (id ) s; +- initForWritingToStream: (id ) s + withCStreamClass: (Class) cStreamClass; +- initForWritingToStream: (id ) s + withFormatVersion: (int) version + cStreamClass: (Class) cStreamClass + cStreamFormatVersion: (int) cStreamFormatVersion; ++ (BOOL) encodeRootObject: anObject + withName: (id ) name + toFile: (id ) filename; ++ (BOOL) encodeRootObject: anObject + withName: (id ) name + toStream: (id )stream; + +/* Decoding */ +/* These are class methods because the header of the file or stream + determines which (sub)class of Coder is created. */ + ++ coderReadingFromFile: (id ) filename; ++ coderReadingFromStream: (id )stream; + ++ decodeObjectWithName: (id *) name + fromFile: (id ) filename; ++ decodeObjectWithName: (id *) name + fromStream: (id )stream; + + +/* Querying */ + (void) setDefaultStreamClass: sc; + defaultStreamClass; + (int) defaultFormatVersion; + + setDebugging: (BOOL)f; @end