For the iOS port, no BASIC-related functionality can be present if we
want apps using the code to be allowed in the App Store. What would be
the most elegant way (least ifdefs to clutter the code, etc) to
achieve this?
(Well, just the possibility to execute BASIC code input as a result of
user action, i.e. in user documents, typed in, or whatever, needs to
go away, so in theory we could leave internal functionality
implemented in BASIC. But I hope we don't have any such...)
The first step is to don't even bother to build any of the libraries
that is related only to BASIC. Done already. (The corresponding
headers are still "delivered" though, to make it possible to compile
other stuff for now...)
I can think of the following approaches now:
1) Ifdef out all calls to code in the BASIC-related libraries. This
will surely mean a somewhat large amount of ugly ifdefs.
2) Add ifdefs to headers like basmgr.hxx and sbstar.hxx that implement
methods as necessary as "no-op" inline ones. This is somewhat ugly,
too, even if restricted to just a few headers, hopefully. Having
various BASIC-related methods always return compile-time false, NULL,
etc will hopefully mean lots of calling code will be optimized away.
3) Create a small number (as small as possible) of parallel "no-op"
headers related to BASIC just for iOS, that would work as in case 2,
i.e. contain inline null implementations.
Obviously I am just guessing about the relative ugliness of each
approach... But I think the third alternative is the best?
--tml
Context
- Most elegant way to disable all BASIC functionality? · Tor Lillqvist
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.