wiki:FutureHaiku/APIChangesOnCompatibilityDrop

Version 18 (modified by pulkomandy, 9 years ago) ( diff )

Remove "ptrace" (adding APIs does not need to wait for the compatibility drop). Remove reference to musl (by the time we bet there there will probably be other alternatives). Remove plans for gcc2 suport (if you can support gcc2, this does not need a compatibility drop).

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

POSIX:

  • Drop stat_beos in favor of stat.
  • Switch to a 64-bit time_t (bigtime_t).
  • Replace glibc with a BSD-licensed alternative.
  • 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) styling 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)

Media Kit:

  • The API uses add_on and AddOn, but also addon - the latter should be faded out.

Tracker:

  • FilePanel does not use layouts due to the Be Book's recommendation for developers to mess with the layout if they needed to.
Note: See TracWiki for help on using the wiki.