Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
AppUtil.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include "deskflow/IAppUtil.h"
11#include "deskflow/XDeskflow.h"
12
13class AppUtil : public IAppUtil
14{
15public:
16 AppUtil();
17 ~AppUtil() override = default;
18
19 void adoptApp(IApp *app) override;
20 IApp &app() const override;
21 virtual void exitApp(int code)
22 {
23 throw XExitApp(code);
24 }
25
26 static AppUtil &instance();
27 static void exitAppStatic(int code)
28 {
29 instance().exitApp(code);
30 }
31
32private:
33 IApp *m_app = nullptr;
34 static AppUtil *s_instance;
35};
Definition AppUtil.h:14
virtual void exitApp(int code)
Definition AppUtil.h:21
IApp & app() const override
Definition AppUtil.cpp:25
AppUtil()
Definition AppUtil.cpp:14
void adoptApp(IApp *app) override
Definition AppUtil.cpp:19
static AppUtil & instance()
Definition AppUtil.cpp:31
~AppUtil() override=default
static void exitAppStatic(int code)
Definition AppUtil.h:27
Definition IAppUtil.h:17
Definition IApp.h:22
Generic exit eception.
Definition XDeskflow.h:128