Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
IApp.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) 2012 Nick Bolton
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include "common/IInterface.h"
11
12using StartupFunc = int (*)(int, char **);
13
14namespace deskflow {
15class ArgsBase;
16class Screen;
17} // namespace deskflow
18
19class IEventQueue;
20
21class IApp : public IInterface
22{
23public:
24 virtual void setByeFunc(void (*bye)(int)) = 0;
25 virtual deskflow::ArgsBase &argsBase() const = 0;
26 virtual int standardStartup(int argc, char **argv) = 0;
27 virtual int runInner(int argc, char **argv, StartupFunc startup) = 0;
28 virtual void startNode() = 0;
29 virtual void bye(int error) = 0;
30 virtual int mainLoop() = 0;
31 virtual void initApp(int argc, const char **argv) = 0;
32 virtual const char *daemonName() const = 0;
33 virtual int foregroundStartup(int argc, char **argv) = 0;
35 virtual IEventQueue *getEvents() const = 0;
36};
static int(PASCAL FAR *bind_winsock)(SOCKET s
int(*)(int, char **) StartupFunc
Definition IApp.h:12
Definition IApp.h:22
virtual int mainLoop()=0
virtual const char * daemonName() const =0
virtual void startNode()=0
virtual int runInner(int argc, char **argv, StartupFunc startup)=0
virtual deskflow::ArgsBase & argsBase() const =0
virtual void bye(int error)=0
virtual IEventQueue * getEvents() const =0
virtual int standardStartup(int argc, char **argv)=0
virtual void initApp(int argc, const char **argv)=0
virtual int foregroundStartup(int argc, char **argv)=0
virtual void setByeFunc(void(*bye)(int))=0
virtual deskflow::Screen * createScreen()=0
Event queue interface.
Definition IEventQueue.h:32
Base class of interfaces.
Definition IInterface.h:18
Definition Screen.h:26
This is the base Argument class that will store the generic arguments passed into the applications th...
Definition ArgsBase.h:19
Platform independent screen.
Definition Screen.h:30
Definition EventTypes.h:11