wiki:FutureHaiku/APIChangesOnCompatibilityDrop

Version 15 (modified by waddlesplash, 9 years ago) ( diff )

BScreen::WaitForRetrace

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")
  • Consider dropping GCC2 altogether

POSIX:

  • Drop stat_beos in favor of stat.
  • Switch to a 64-bit time_t.
  • 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 can be cleaned up at the same time: Tracker).

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)
  • Drop the timeout version of BScreen::WaitForRetrace()

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.