Dearest protobuf I have the protobuf lite code running on Symbian. It's around 100k which although large by the platform standards, I can live with. However, it's pretty hacky and not really ready for public consumption. Here's some observations:
Implementing Mutex and related stuff is simple. I'm using ustl (as OpenC, Nokia/Symbian's STL implementation, requires a large installation package), which is a bare-bones STL implementation. I've augmented it with the missing standard methods that protobuf wants. The Symbian libc lacks a number of functions (strtoll, snprintf) which can be implemented more-or-less reasonably (using native functions for strtoll and APR's vsnprintf). Now for the tricky bits: 1. I use gtest but I _am_ using OpenC with that (as I don't mind installing extra dependencies for running unittests on my handsets). This means that I want to compile protobuf with a different STL than gtest. 2. Aborting on errors is not a nice mechanism for end-user programs that potentially deal with corrupt files (battery-powered devices with FAT fs...) so I've reimplemented GOOGLE_(D)CHECK in terms of Symbian exceptions (I know protobuf isn't exception safe but I'm thinking I can deal with the occasional memory leak) To play nicely with 1 I would like to have all the STL types and functions be typedefs/using declarations in another namespace which could be redirected, prob. through config.h. This affects both the library code and the generated code. For 2 I'd just like a reasonable place to override the CHECK functions. What think you, o' masters? Are these goals worth pursuing in the mainline protobuf codebase? Mika --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---
