Author: qmathe
Date: Sat Mar 29 15:30:35 2008
New Revision: 2985
URL: http://svn.gna.org/viewcvs/etoile?rev=2985&view=rev
Log:
Part 1 of the refactoring of serialization backends to restrict their role to
the encoding of data structures to a given format: binary, XML, PList etc.
Their other responsabilities like additional serialization infos, mapping of
multiple serialization streams like versions to URLs will be handled by
ETSerializer, and the URL protocol in use will be in charge of interpreting
these URLs as it wants.
* ETSerializerBackendBinaryFile
Moved ivars version and filename to ETSerializer.
(-setVersion:, -newVersion:): Removed by moving this responsibility to
ETSerializer.
(-deserializer): Modified to use URLs instead of paths.
(-initWithURL:): Modified to handle ivar initialization previously done in
-setFile: and keep track of the serialization destination as an URL instead of
a
path. Moved the mappping of versions to paths to
-[ETSerializer initWithBackend:forURL].
(-closeFile): Moved ivar deallocation into -dealloc.
* ETSerializer
New ivars version and filename taken from the backend.
(-setVersion:, -newVersion:): Rewritten to include the versioning logic
directly instead of delegating it to the backend.
(-initWithBackend:forURL:): New designated initializer that supercedes
-initWithURL:.
(+serializerWithBackend:forURL:): Modified to use the new designated
initializer.
* ETSerializerBackend, ETSerializerNullBackend, ETSerializerBackendExample
(-setVersion:, -newVersion:): Removed.
(-setFile:): Added as a temporary refactoring hack.
Modified:
/ (props changed)
branches/qmathe/EtoileSerialize/Headers/ETSerializer.h
branches/qmathe/EtoileSerialize/Headers/ETSerializerBackendBinaryFile.h
branches/qmathe/EtoileSerialize/Sources/ETSerializer.m
branches/qmathe/EtoileSerialize/Sources/ETSerializerBackendBinaryFile.m
branches/qmathe/EtoileSerialize/Sources/ETSerializerBackendExample.m
branches/qmathe/EtoileSerialize/Sources/ETSerializerNullBackend.m
_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs