From: stephan b. <st...@wa...> - 2003-09-27 22:35:50
|
i'm about to do a mass commit of an experimental s11n and classloader=20 implementation. i finally whipped up a real classloader, and i'm not=20 wondering what i was so afraid of all that time. The code will be in lib/s11n and tests/s11n, and will only be enabled if = you=20 --enable-s11n. Caveats: - i stripped this from elib, renamed classes EXxx to Xxx and the namespac= e to=20 s11n. i had to bring a lot more classes over than i really wanted to, som= e of=20 which currently duplicate libfun functionality (but do it in STL). i'll s= ee=20 what i can do to reduce the amount of dependent classes. - requires flex (tested by configure if you --enable-s11n). - the file-based classloader (s11n/DLLLoader.*) is only a couple hours ol= d, as=20 is the S11N_INSTANTIATOR() macro which powers it, so there may still be=20 fundamental flaws there. Non-caveats: - supports gzipped data if HAVE_ZLIB is true (set by configure). (See the LGPL gzstream class in lib/s11n.) To run the test app, try: cd tests/s11n =2E/sertest -f in.sertest -x -I What you should see is an XML-formatted version of the funtxt-formatted=20 in.sertext. You should not see any instantiation errors (if you do, that'= s a=20 bug). The -I argument is telling it to Instantiate the deserialized data = -=20 you can read/convert s11'd data without instantiating it by leaving out -= I. See test.ser.cpp::main() for the command-line options. Basically it can o= nly=20 read in any of the 3 supported formats (funtxt/funxml/simplistic-xml) and= =20 write out to one of them (see the args -ot, -ox and -osx). --=20 ----- st...@wa... http://qub.sourceforge.net http://libfunutil.sourceforge.net =20 http://toc.sourceforge.net http://countermoves.sourceforge.net http://stephan.rootonfire.org |