#ifndef BROWSER_APP_H
#define BROWSER_APP_H
#include <Application.h>
#include <Catalog.h>
#include <NetworkCookieJar.h>
#include <Rect.h>
#include <UrlContext.h>
class ConsoleWindow;
class CookieWindow;
class DownloadWindow;
class BrowserWindow;
class SettingsMessage;
class SettingsWindow;
class BrowserApp : public BApplication {
public:
BrowserApp();
virtual ~BrowserApp();
virtual void AboutRequested();
virtual void ArgvReceived(int32 agrc, char** argv);
virtual void MessageReceived(BMessage* message);
virtual void RefsReceived(BMessage* message);
virtual void ReadyToRun();
virtual bool QuitRequested();
private:
void _RefsReceived(BMessage* message,
int32* pagesCreated = NULL,
bool* fullscreen = NULL);
BrowserWindow* _CreateNewPage(const BString& url,
BrowserWindow* window = NULL,
bool fullscreen = false,
bool useBlankTab = true);
BrowserWindow* _CreateNewWindow(const BString& url,
bool fullscreen = false);
BrowserWindow* _FindWindowOnCurrentWorkspace();
void _CreateNewTab(BrowserWindow* window,
const BString& url, bool select);
void _ShowWindow(const BMessage* message,
BWindow* window);
private:
int fWindowCount;
BRect fLastWindowFrame;
BMessage* fLaunchRefsMessage;
bool fInitialized;
SettingsMessage* fSettings;
SettingsMessage* fCookies;
SettingsMessage* fSession;
BReference<BPrivate::Network::BUrlContext> fContext;
DownloadWindow* fDownloadWindow;
SettingsWindow* fSettingsWindow;
ConsoleWindow* fConsoleWindow;
CookieWindow* fCookieWindow;
};
extern const char* kApplicationSignature;
extern const char* kApplicationName;
#endif