* Radically culled the list of BApplication friends and introduced a

BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2005-06-28 12:55:16 +00:00
parent ecf3bc3eb4
commit c8e7f53e08
5 changed files with 93 additions and 46 deletions
+9 -10
View File
@@ -95,14 +95,11 @@ public:
private:
typedef BLooper _inherited;
friend class BWindow;
friend class BView;
friend class BBitmap;
friend class BScrollBar;
friend class BPrivateScreen;
friend class BPrivate::AppServerLink;
friend void _toggle_handles_(bool);
class Private;
friend class Private;
BApplication(const char* signature, bool initGUI,
status_t* error);
BApplication(uint32 signature);
BApplication(const BApplication&);
BApplication& operator=(const BApplication&);
@@ -120,14 +117,16 @@ private:
BMessage* specifier, int32 form,
const char* property);
void run_task();
void InitData(const char* signature, status_t* error);
void InitData(const char* signature, bool initGUI,
status_t* error);
void BeginRectTracking(BRect r, bool trackWhole);
void EndRectTracking();
void setup_server_heaps();
status_t setup_server_heaps();
void* rw_offs_to_ptr(uint32 offset);
void* ro_offs_to_ptr(uint32 offset);
void* global_ro_offs_to_ptr(uint32 offset);
void connect_to_app_server();
status_t _InitGUIContext();
status_t connect_to_app_server();
void send_drag( BMessage* msg,
int32 vs_token,
BPoint offset,
+22
View File
@@ -0,0 +1,22 @@
/*
* Copyright 2001-2005, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold <[email protected]>
*/
#ifndef _APPLICATION_PRIVATE_H
#define _APPLICATION_PRIVATE_H
#include <Application.h>
class BApplication::Private {
public:
static inline status_t InitGUIContext()
{ return be_app->_InitGUIContext(); }
static inline BPrivate::PortLink *ServerLink()
{ return be_app->fServerLink; }
};
#endif // _APPLICATION_PRIVATE_H