1 /* 2 * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>. 3 * Copyright 2018-2021, Andrew Lindesay <apl@lindesay.co.nz> 4 * All rights reserved. Distributed under the terms of the MIT License. 5 */ 6 #ifndef APP_H 7 #define APP_H 8 9 10 #include <Application.h> 11 12 13 class BEntry; 14 class MainWindow; 15 16 17 class App : public BApplication { 18 public: 19 App(); 20 virtual ~App(); 21 22 virtual bool QuitRequested(); 23 virtual void ReadyToRun(); 24 bool IsFirstRun(); 25 26 virtual void MessageReceived(BMessage* message); 27 virtual void RefsReceived(BMessage* message); 28 virtual void ArgvReceived(int32 argc, char* argv[]); 29 30 private: 31 void _AlertSimpleError(BMessage* message); 32 void _Open(const BEntry& entry); 33 void _ShowWindow(MainWindow* window); 34 35 bool _LoadSettings(BMessage& settings); 36 void _StoreSettings(const BMessage& windowSettings); 37 38 void _CheckPackageDaemonRuns(); 39 bool _LaunchPackageDaemon(); 40 41 bool _CheckTestFile(); 42 static bool _CheckIsFirstRun(); 43 void _ClearCacheOnVersionChange(); 44 45 private: 46 MainWindow* fMainWindow; 47 int32 fWindowCount; 48 49 BMessage fSettings; 50 bool fSettingsRead; 51 52 bool fIsFirstRun; 53 }; 54 55 56 #endif // APP_H 57