#6151 Introduce synergy-core

This commit is contained in:
Nick Bolton 2017-09-14 13:27:02 +01:00
parent 4d13e57ef1
commit c66729e187
3 changed files with 85 additions and 0 deletions

View File

@ -14,5 +14,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(core)
add_subdirectory(synergyc)
add_subdirectory(synergys)

View File

@ -0,0 +1,23 @@
# synergy -- mouse and keyboard sharing utility
# Copyright (C) 2012-2016 Symless Ltd.
# Copyright (C) 2009 Nick Bolton
#
# This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(sources
main.cpp
)
add_executable(synergy-core ${sources})
target_link_libraries(synergy-core
arch base client common io mt net ipc platform server core ${libs} ${OPENSSL_LIBS})

61
src/cmd/core/main.cpp Normal file
View File

@ -0,0 +1,61 @@
/*
* synergy -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2002 Chris Schoeneman
*
* This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file.
*
* This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "core/ClientApp.h"
#include "core/ServerApp.h"
#include "arch/Arch.h"
#include "base/Log.h"
#include "base/EventQueue.h"
#include <iostream>
int
main(int argc, char** argv)
{
// TODO: use existing arg parse code
bool server, client;
if (argc > 1) {
server = std::string(argv[1]) == "--server";
client = std::string(argv[1]) == "--client";
}
#if SYSAPI_WIN32
// record window instance for tray icon, etc
ArchMiscWindows::setInstanceWin32(GetModuleHandle(NULL));
#endif
Arch arch;
arch.init();
Log log;
EventQueue events;
if (server) {
ServerApp app(&events);
return app.run(argc, argv);
}
else if (client) {
ClientApp app(&events);
return app.run(argc, argv);
}
else {
// TODO: use common error code
std::cerr << "error: use --client or --server args" << std::endl;
return 1;
}
}