wiki:FutureHaiku/APIChangesOnCompatibilityDrop

Version 17 (modified by pulkomandy, 5 years ago) ( diff )

Remove the "wait for retrace" thing. Without the timeout version, you can't detect if WaitForRetrace works. If that's not what you meant, please discuss things on the development ML first.

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).
  • Switch to musl over glibc.
  • Maybe implement some non-standard POSIX pieces that Linux/BSDs have? e.g. ptrace (would be nice for GDB/QtCreator porting)
  • 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() and make BInvoker::InvokeNotify() available for gcc2 apps only.

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) HTML as input and as output.
  • 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.