On 2010-11-17 at 05:38:49 [+0100], clemens.zeidler@xxxxxxxxxxxxxx wrote: > Modified: haiku/trunk/headers/os/app/Application.h > =================================================================== > --- haiku/trunk/headers/os/app/Application.h 2010-11-17 03:06:09 UTC > (rev 39461) > +++ haiku/trunk/headers/os/app/Application.h 2010-11-17 04:38:48 UTC > (rev 39462) > @@ -29,6 +29,10 @@ > } > > > +void restore_window_geometry(BWindow* window, const BMessage* > windowGeometry); > +void save_window_geometry(const BWindow* window, BMessage* windowGeometry); > + > + > class BApplication : public BLooper { > public: > BApplication(const char* signature); > @@ -91,6 +95,12 @@ > > class Private; > > +protected: > + // Session Manager > + bool HasBeenRestored(); > + virtual status_t RestoreState(const BMessage* state); > + virtual status_t SaveState(BMessage* state) const; > + Introducing new virtual methods without removing reserved slots breaks binary compatibility. That aside, I'm not very fond of the idea of introducing such an API in an ad hoc manner before R1. I'm afraid there are concerns similar to those of the archiving API that need to be considered, plus the integration with the system (and possibly other APIs). I very much recommend creating a feature branch. CU, Ingo