104c9d578SStephan Aßmus /* 204c9d578SStephan Aßmus * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>. 3*02ccdc6fSAndrew Lindesay * Copyright 2018-2021, Andrew Lindesay <apl@lindesay.co.nz> 404c9d578SStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License. 504c9d578SStephan Aßmus */ 604c9d578SStephan Aßmus #ifndef APP_H 704c9d578SStephan Aßmus #define APP_H 804c9d578SStephan Aßmus 904c9d578SStephan Aßmus 1004c9d578SStephan Aßmus #include <Application.h> 1104c9d578SStephan Aßmus 1204c9d578SStephan Aßmus 136d519fd1SStephan Aßmus class BEntry; 1404c9d578SStephan Aßmus class MainWindow; 1504c9d578SStephan Aßmus 1604c9d578SStephan Aßmus 1704c9d578SStephan Aßmus class App : public BApplication { 1804c9d578SStephan Aßmus public: 1904c9d578SStephan Aßmus App(); 2004c9d578SStephan Aßmus virtual ~App(); 2104c9d578SStephan Aßmus 2204c9d578SStephan Aßmus virtual bool QuitRequested(); 2304c9d578SStephan Aßmus virtual void ReadyToRun(); 24d309d940SAndrew Lindesay bool IsFirstRun(); 25d309d940SAndrew Lindesay 2604c9d578SStephan Aßmus virtual void MessageReceived(BMessage* message); 276d519fd1SStephan Aßmus virtual void RefsReceived(BMessage* message); 286d519fd1SStephan Aßmus virtual void ArgvReceived(int32 argc, char* argv[]); 2904c9d578SStephan Aßmus 3004c9d578SStephan Aßmus private: 313369e03dSAndrew Lindesay void _AlertSimpleError(BMessage* message); 326d519fd1SStephan Aßmus void _Open(const BEntry& entry); 336d519fd1SStephan Aßmus void _ShowWindow(MainWindow* window); 3404c9d578SStephan Aßmus 356d519fd1SStephan Aßmus bool _LoadSettings(BMessage& settings); 366d519fd1SStephan Aßmus void _StoreSettings(const BMessage& windowSettings); 376d519fd1SStephan Aßmus 38474b9e09SStephan Aßmus void _CheckPackageDaemonRuns(); 39474b9e09SStephan Aßmus bool _LaunchPackageDaemon(); 40474b9e09SStephan Aßmus 4132ed7659SAndrew Lindesay bool _CheckTestFile(); 42d309d940SAndrew Lindesay static bool _CheckIsFirstRun(); 43*02ccdc6fSAndrew Lindesay void _ClearCacheOnVersionChange(); 4432ed7659SAndrew Lindesay 456d519fd1SStephan Aßmus private: 4604c9d578SStephan Aßmus MainWindow* fMainWindow; 476d519fd1SStephan Aßmus int32 fWindowCount; 486d519fd1SStephan Aßmus 496d519fd1SStephan Aßmus BMessage fSettings; 506d519fd1SStephan Aßmus bool fSettingsRead; 51d309d940SAndrew Lindesay 52d309d940SAndrew Lindesay bool fIsFirstRun; 5304c9d578SStephan Aßmus }; 5404c9d578SStephan Aßmus 5504c9d578SStephan Aßmus 5604c9d578SStephan Aßmus #endif // APP_H 57