Deskflow 1.24.0.365
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) 2025 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
5 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
12#include "deskflow/IApp.h"
13
14#include <string>
15#include <vector>
16
18{
19public:
20 AppUtil();
21 virtual ~AppUtil() = default;
22
23 void adoptApp(IApp *app);
24 IApp &app() const;
25 virtual void exitApp(int code)
26 {
27 throw ExitAppException(code);
28 }
29
30 static AppUtil &instance();
31 static void exitAppStatic(int code)
32 {
33 instance().exitApp(code);
34 }
35
36 // Virtual Methods subclasses can impliment
37 virtual int run() = 0;
38 virtual void startNode() = 0;
39 virtual std::vector<std::string> getKeyboardLayoutList() = 0;
40 virtual std::string getCurrentLanguageCode() = 0;
41
42private:
43 IApp *m_app = nullptr;
44 static AppUtil *s_instance;
45};
Definition AppUtil.h:18
virtual void exitApp(int code)
Definition AppUtil.h:25
AppUtil()
Definition AppUtil.cpp:14
virtual ~AppUtil()=default
virtual std::vector< std::string > getKeyboardLayoutList()=0
virtual int run()=0
IApp & app() const
Definition AppUtil.cpp:25
virtual void startNode()=0
static AppUtil & instance()
Definition AppUtil.cpp:31
void adoptApp(IApp *app)
Definition AppUtil.cpp:19
virtual std::string getCurrentLanguageCode()=0
static void exitAppStatic(int code)
Definition AppUtil.h:31
Generic exit eception.
Definition DeskflowException.h:129
Definition IApp.h:20