Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi there,

On Tue, 2012-05-08 at 21:19 +0100, Andrzej J. R. Hunt wrote:
just a few small (code) organisational issues -- I'm not entirely sure 
where it's best to place the code: there are going to be 3 components:
- The common code (thrift definition)
- The server component
- The android app

I thought it might be most appropriate to create a new folder in the 
main libo directory e.g. "impressremote", which will contain the thrift 
definitions and android app (with space to add more apps for other 
smartphones).

        Sounds reasonable to me :-)

  The server component I think is best kept in sd/source/ui/remotecontrol 
for the gui part, the actual server code could be there or in 
sd/source/core/remotecontrol.

        Having the server code in sd/source/ui/ doesn't sound horribly
out-of-place with common practise; the UNO interfaces all tend to be in
ui/ directories.

Since thrift isn't available as a standard package on most distros (and 
windows) would it be appropriate to add downloading and building of 
thrift to the makefiles ? Or should I change the choice of RPC to use 
something with simpler dependencies (thrift seems to be most suitable 
from what I've been able to determine, although XML- or JSON-RPC 
wouldn't really be a problem in terms of efficiency, what is more of an 
issue is making these work bidirectionally -- another alternative is 
scrapping RPC and implementing a custom messaging protocol, but this 
would be less flexible for the case that someone wants to extend things 
in the future -- in gmote they have a custom packet implemented as a 
class for every command, with this object being serialised and then 
sent, and deserialised at the other end -- although this wouldn't work 
in our case since the server is in C++, and the client in an arbitrary 
language).

        Up to you really :-) of course, adding more dependencies - particularly
if we only have a five method interface seems like quite a chunk of
work; many distros would have to package thrift, and add dependencies to
it - we'd have to make it compile cleanly on windows and mac, and then
there is the size.

        Either way, assuming the core library is less than say 100k or so
stripped, and all the above can be solved, I'm fairly sure no-one will
object.

        Then again - getting something working as a first pass, perhaps
linux-only with thrify, and iteratively improving / slimming
dependencies / growing the feature-set is usually the best strategy :-)
trying to make the perfect choice from the get-go is often rather hard.

        Anyhow - encouraged by your research :-)

        ATB,

                Michael.
-- 
michael.meeks@suse.com  <><, Pseudo Engineer, itinerant idiot


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.