wiki:FutureHaiku/APIChangesOnCompatibilityDrop

This page is a collection of API changes we intend to make as soon as we drop BeOS backward compatibility. Feel free to add comments concerning any API removal/change/addition to be done.


General:

  • Redo shared libraries: there should be one library per kit and corresponding names for each. (possible conventions are "libsupport.so", "libSupport.so", "libSupportKit.so")
  • Stop supporting the GCC2 ABI
  • Switch to LLVM?

POSIX:

  • Drop stat_beos in favor of stat.
  • Switch to a 64-bit time_t (bigtime_t -> time_t).
  • Replace glibc (use parts of musl? it's MIT licensed).
  • Multiuser! (some general things that need to be cleaned up at the same time: Tracker's ConfirmChangeIfWellKnownDirectory).

Application Kit:

  • Integrate the functionality of BInvoker::InvokeNotify() into BInvoker::Invoke().

Support Kit:

  • Replace BAutolock with a proper template based AutoLocker, like the one we have in shared already.
  • convert_encoding_open() convert_encoding_close() with respect to UTF-8, #976 (or perhaps drop textencoding altogether and create a ByteArray class in the Support Kit that can handle encodings?)

Interface Kit:

  • Derive BView from BLayoutItem and drop BViewLayoutItem.
  • Create a model/view infrastructure for the column list view and OutlineListView. (maybe look at Qt's [rejected] Model/Views 2.0?)
  • BAlerts should be layout-aware along with all other rich text views.
  • All rich text views should accept (simple) style markup as input and as output (maybe HTML).
  • Add a BToolbar API (the currently-shared BToolBar should be a good basis, it needs support to add arbitrary BViews)
  • Cleanup BTabView -- get rid of the non-layout version. (Terminal may need a rewrite...)

Media Kit:

  • The API uses add_on and AddOn, but also addon - the latter should be faded out.
  • Get rid of R5 compatibility stuff (and R3 (!) compatibility stuff).

Tracker:

  • FilePanel does not use layouts due to the Be Book's recommendation for developers to mess with the layout if they needed to.
Last modified 22 months ago Last modified on Jul 14, 2015 3:41:13 PM