#6734 Added new cmd option --tls-cert
- Moved ArgsBase, ClientArgs, and ServerArgs to own namespace - Added some Documentation to Args classes Signed-off-by: Jamie Newbon <jamie@symless.com>
This commit is contained in:
parent
28d376e7f0
commit
6684b8b09f
26 changed files with 250 additions and 180 deletions
|
|
@ -56,7 +56,7 @@ Client::Client(
|
||||||
const String& name, const NetworkAddress& address,
|
const String& name, const NetworkAddress& address,
|
||||||
ISocketFactory* socketFactory,
|
ISocketFactory* socketFactory,
|
||||||
synergy::Screen* screen,
|
synergy::Screen* screen,
|
||||||
ClientArgs const& args) :
|
lib::synergy::ClientArgs const& args) :
|
||||||
m_mock(false),
|
m_mock(false),
|
||||||
m_name(name),
|
m_name(name),
|
||||||
m_serverAddress(address),
|
m_serverAddress(address),
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ public:
|
||||||
*/
|
*/
|
||||||
Client(IEventQueue* events, const String& name,
|
Client(IEventQueue* events, const String& name,
|
||||||
const NetworkAddress& address, ISocketFactory* socketFactory,
|
const NetworkAddress& address, ISocketFactory* socketFactory,
|
||||||
synergy::Screen* screen, ClientArgs const& args);
|
synergy::Screen* screen, lib::synergy::ClientArgs const& args);
|
||||||
|
|
||||||
~Client();
|
~Client();
|
||||||
|
|
||||||
|
|
@ -222,7 +222,7 @@ private:
|
||||||
Thread* m_writeToDropDirThread;
|
Thread* m_writeToDropDirThread;
|
||||||
TCPSocket* m_socket;
|
TCPSocket* m_socket;
|
||||||
bool m_useSecureNetwork;
|
bool m_useSecureNetwork;
|
||||||
ClientArgs m_args;
|
|
||||||
bool m_enableClipboard;
|
bool m_enableClipboard;
|
||||||
size_t m_maximumClipboardSize;
|
size_t m_maximumClipboardSize;
|
||||||
|
lib::synergy::ClientArgs m_args;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@
|
||||||
#include "net/SocketMultiplexer.h"
|
#include "net/SocketMultiplexer.h"
|
||||||
#include "net/TSocketMultiplexerMethodJob.h"
|
#include "net/TSocketMultiplexerMethodJob.h"
|
||||||
#include "arch/XArch.h"
|
#include "arch/XArch.h"
|
||||||
|
#include "synergy/ArgParser.h"
|
||||||
|
#include "synergy/ArgsBase.h"
|
||||||
|
|
||||||
static const char s_certificateDir[] = { "SSL" };
|
static const char s_certificateDir[] = { "SSL" };
|
||||||
static const char s_certificateFilename[] = { "Synergy.pem" };
|
static const char s_certificateFilename[] = { "Synergy.pem" };
|
||||||
|
|
@ -53,10 +55,16 @@ SecureListenSocket::accept()
|
||||||
setListeningJob();
|
setListeningJob();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//default location of the TLS cert file in users dir
|
||||||
String certificateFilename = synergy::string::sprintf("%s/%s/%s",
|
String certificateFilename = synergy::string::sprintf("%s/%s/%s",
|
||||||
ARCH->getProfileDirectory().c_str(),
|
ARCH->getProfileDirectory().c_str(),
|
||||||
s_certificateDir,
|
s_certificateDir,
|
||||||
s_certificateFilename);
|
s_certificateFilename);
|
||||||
|
|
||||||
|
//if the tls cert option is set use that for the certificate file
|
||||||
|
if (!ArgParser::argsBase().m_tlsCertFile.empty()) {
|
||||||
|
certificateFilename = ArgParser::argsBase().m_tlsCertFile;
|
||||||
|
}
|
||||||
|
|
||||||
bool loaded = socket->loadCertificates(certificateFilename);
|
bool loaded = socket->loadCertificates(certificateFilename);
|
||||||
if (!loaded) {
|
if (!loaded) {
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ Server::Server(
|
||||||
PrimaryClient* primaryClient,
|
PrimaryClient* primaryClient,
|
||||||
synergy::Screen* screen,
|
synergy::Screen* screen,
|
||||||
IEventQueue* events,
|
IEventQueue* events,
|
||||||
ServerArgs const& args) :
|
lib::synergy::ServerArgs const& args) :
|
||||||
m_mock(false),
|
m_mock(false),
|
||||||
m_primaryClient(primaryClient),
|
m_primaryClient(primaryClient),
|
||||||
m_active(primaryClient),
|
m_active(primaryClient),
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ public:
|
||||||
ownership of \p primaryClient.
|
ownership of \p primaryClient.
|
||||||
*/
|
*/
|
||||||
Server(Config& config, PrimaryClient* primaryClient,
|
Server(Config& config, PrimaryClient* primaryClient,
|
||||||
synergy::Screen* screen, IEventQueue* events, ServerArgs const& args);
|
synergy::Screen* screen, IEventQueue* events, lib::synergy::ServerArgs const& args);
|
||||||
~Server();
|
~Server();
|
||||||
|
|
||||||
#ifdef TEST_ENV
|
#ifdef TEST_ENV
|
||||||
|
|
@ -481,5 +481,5 @@ private:
|
||||||
bool m_waitDragInfoThread;
|
bool m_waitDragInfoThread;
|
||||||
|
|
||||||
ClientListener* m_clientListener;
|
ClientListener* m_clientListener;
|
||||||
ServerArgs m_args;
|
lib::synergy::ServerArgs m_args;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ App* App::s_instance = nullptr;
|
||||||
// App
|
// App
|
||||||
//
|
//
|
||||||
|
|
||||||
App::App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, ArgsBase* args) :
|
App::App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, lib::synergy::ArgsBase* args) :
|
||||||
m_bye(&exit),
|
m_bye(&exit),
|
||||||
m_taskBarReceiver(NULL),
|
m_taskBarReceiver(NULL),
|
||||||
m_suspended(false),
|
m_suspended(false),
|
||||||
|
|
@ -266,7 +266,7 @@ App::runEventsLoop(void*)
|
||||||
//
|
//
|
||||||
|
|
||||||
MinimalApp::MinimalApp() :
|
MinimalApp::MinimalApp() :
|
||||||
App(NULL, NULL, new ArgsBase())
|
App(NULL, NULL, new lib::synergy::ArgsBase())
|
||||||
{
|
{
|
||||||
m_arch.init();
|
m_arch.init();
|
||||||
setEvents(m_events);
|
setEvents(m_events);
|
||||||
|
|
|
||||||
|
|
@ -43,11 +43,11 @@ typedef IArchTaskBarReceiver* (*CreateTaskBarReceiverFunc)(const BufferedLogOutp
|
||||||
|
|
||||||
class App : public IApp {
|
class App : public IApp {
|
||||||
public:
|
public:
|
||||||
App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, ArgsBase* args);
|
App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, lib::synergy::ArgsBase* args);
|
||||||
virtual ~App();
|
virtual ~App();
|
||||||
|
|
||||||
// Returns args that are common between server and client.
|
// Returns args that are common between server and client.
|
||||||
ArgsBase& argsBase() const { return *m_args; }
|
lib::synergy::ArgsBase& argsBase() const { return *m_args; }
|
||||||
|
|
||||||
// Prints the current compiled version.
|
// Prints the current compiled version.
|
||||||
virtual void version();
|
virtual void version();
|
||||||
|
|
@ -113,7 +113,7 @@ protected:
|
||||||
IEventQueue* m_events;
|
IEventQueue* m_events;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ArgsBase* m_args;
|
lib::synergy::ArgsBase* m_args;
|
||||||
static App* s_instance;
|
static App* s_instance;
|
||||||
FileLogOutputter* m_fileLog;
|
FileLogOutputter* m_fileLog;
|
||||||
CreateTaskBarReceiverFunc m_createTaskBarReceiver;
|
CreateTaskBarReceiverFunc m_createTaskBarReceiver;
|
||||||
|
|
@ -164,7 +164,8 @@ private:
|
||||||
" -l --log <file> write log messages to file.\n" \
|
" -l --log <file> write log messages to file.\n" \
|
||||||
" --no-tray disable the system tray icon.\n" \
|
" --no-tray disable the system tray icon.\n" \
|
||||||
" --enable-drag-drop enable file drag & drop.\n" \
|
" --enable-drag-drop enable file drag & drop.\n" \
|
||||||
" --enable-crypto enable the crypto (ssl) plugin.\n"
|
" --enable-crypto enable the crypto (ssl) plugin.\n" \
|
||||||
|
" --tls-cert specify the path to the tls certificate file.\n"
|
||||||
|
|
||||||
#define HELP_COMMON_INFO_2 \
|
#define HELP_COMMON_INFO_2 \
|
||||||
" -h, --help display this help and exit.\n" \
|
" -h, --help display this help and exit.\n" \
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
#include <VersionHelpers.h>
|
#include <VersionHelpers.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ArgsBase* ArgParser::m_argsBase = NULL;
|
lib::synergy::ArgsBase* ArgParser::m_argsBase = NULL;
|
||||||
|
|
||||||
ArgParser::ArgParser(App* app) :
|
ArgParser::ArgParser(App* app) :
|
||||||
m_app(app)
|
m_app(app)
|
||||||
|
|
@ -38,7 +38,7 @@ ArgParser::ArgParser(App* app) :
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ArgParser::parseServerArgs(ServerArgs& args, int argc, const char* const* argv)
|
ArgParser::parseServerArgs(lib::synergy::ServerArgs& args, int argc, const char* const* argv)
|
||||||
{
|
{
|
||||||
setArgsBase(args);
|
setArgsBase(args);
|
||||||
updateCommonArgs(argv);
|
updateCommonArgs(argv);
|
||||||
|
|
@ -78,7 +78,7 @@ ArgParser::parseServerArgs(ServerArgs& args, int argc, const char* const* argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ArgParser::parseClientArgs(ClientArgs& args, int argc, const char* const* argv)
|
ArgParser::parseClientArgs(lib::synergy::ClientArgs& args, int argc, const char* const* argv)
|
||||||
{
|
{
|
||||||
setArgsBase(args);
|
setArgsBase(args);
|
||||||
updateCommonArgs(argv);
|
updateCommonArgs(argv);
|
||||||
|
|
@ -130,7 +130,7 @@ ArgParser::parseClientArgs(ClientArgs& args, int argc, const char* const* argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ArgParser::parsePlatformArg(ArgsBase& argsBase, const int& argc, const char* const* argv, int& i)
|
ArgParser::parsePlatformArg(lib::synergy::ArgsBase& argsBase, const int& argc, const char* const* argv, int& i)
|
||||||
{
|
{
|
||||||
#if WINAPI_MSWINDOWS
|
#if WINAPI_MSWINDOWS
|
||||||
if (isArg(i, argc, argv, NULL, "--service")) {
|
if (isArg(i, argc, argv, NULL, "--service")) {
|
||||||
|
|
@ -290,6 +290,9 @@ ArgParser::parseGenericArgs(int argc, const char* const* argv, int& i)
|
||||||
else if (isArg(i, argc, argv, NULL, "--plugin-dir", 1)) {
|
else if (isArg(i, argc, argv, NULL, "--plugin-dir", 1)) {
|
||||||
argsBase().m_pluginDirectory = argv[++i];
|
argsBase().m_pluginDirectory = argv[++i];
|
||||||
}
|
}
|
||||||
|
else if (isArg(i, argc, argv, NULL, "--tls-cert", 1)) {
|
||||||
|
argsBase().m_tlsCertFile = argv[++i];
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
// option not supported here
|
// option not supported here
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,15 @@
|
||||||
#include "base/String.h"
|
#include "base/String.h"
|
||||||
#include "common/stdvector.h"
|
#include "common/stdvector.h"
|
||||||
|
|
||||||
class ServerArgs;
|
namespace lib {
|
||||||
class ClientArgs;
|
namespace synergy {
|
||||||
|
class ArgsBase;
|
||||||
|
class ServerArgs;
|
||||||
|
class ClientArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class ToolArgs;
|
class ToolArgs;
|
||||||
class ArgsBase;
|
|
||||||
class App;
|
class App;
|
||||||
|
|
||||||
class ArgParser {
|
class ArgParser {
|
||||||
|
|
@ -31,13 +36,13 @@ class ArgParser {
|
||||||
public:
|
public:
|
||||||
ArgParser(App* app);
|
ArgParser(App* app);
|
||||||
|
|
||||||
bool parseServerArgs(ServerArgs& args, int argc, const char* const* argv);
|
bool parseServerArgs(lib::synergy::ServerArgs& args, int argc, const char* const* argv);
|
||||||
bool parseClientArgs(ClientArgs& args, int argc, const char* const* argv);
|
bool parseClientArgs(lib::synergy::ClientArgs& args, int argc, const char* const* argv);
|
||||||
bool parsePlatformArg(ArgsBase& argsBase, const int& argc, const char* const* argv, int& i);
|
bool parsePlatformArg(lib::synergy::ArgsBase& argsBase, const int& argc, const char* const* argv, int& i);
|
||||||
bool parseToolArgs(ToolArgs& args, int argc, const char* const* argv);
|
bool parseToolArgs(ToolArgs& args, int argc, const char* const* argv);
|
||||||
bool parseGenericArgs(int argc, const char* const* argv, int& i);
|
bool parseGenericArgs(int argc, const char* const* argv, int& i);
|
||||||
bool parseDeprecatedArgs(int argc, const char* const* argv, int& i);
|
bool parseDeprecatedArgs(int argc, const char* const* argv, int& i);
|
||||||
void setArgsBase(ArgsBase& argsBase) { m_argsBase = &argsBase; }
|
void setArgsBase(lib::synergy::ArgsBase& argsBase) { m_argsBase = &argsBase; }
|
||||||
|
|
||||||
static bool isArg(int argi, int argc, const char* const* argv,
|
static bool isArg(int argi, int argc, const char* const* argv,
|
||||||
const char* name1, const char* name2,
|
const char* name1, const char* name2,
|
||||||
|
|
@ -50,14 +55,15 @@ public:
|
||||||
static String assembleCommand(std::vector<String>& argsArray,
|
static String assembleCommand(std::vector<String>& argsArray,
|
||||||
String ignoreArg = "", int parametersRequired = 0);
|
String ignoreArg = "", int parametersRequired = 0);
|
||||||
|
|
||||||
|
static lib::synergy::ArgsBase& argsBase() { return *m_argsBase; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateCommonArgs(const char* const* argv);
|
void updateCommonArgs(const char* const* argv);
|
||||||
bool checkUnexpectedArgs();
|
bool checkUnexpectedArgs();
|
||||||
|
|
||||||
static ArgsBase& argsBase() { return *m_argsBase; }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
App* m_app;
|
App* m_app;
|
||||||
|
|
||||||
static ArgsBase* m_argsBase;
|
static lib::synergy::ArgsBase* m_argsBase;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* synergy -- mouse and keyboard sharing utility
|
* synergy -- mouse and keyboard sharing utility
|
||||||
* Copyright (C) 2012-2016 Symless Ltd.
|
* Copyright (C) 2012-2020 Symless Ltd.
|
||||||
* Copyright (C) 2012 Nick Bolton
|
* Copyright (C) 2012 Nick Bolton
|
||||||
*
|
*
|
||||||
* This package is free software; you can redistribute it and/or
|
* This package is free software; you can redistribute it and/or
|
||||||
|
|
@ -16,38 +16,12 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "synergy/ArgsBase.h"
|
#include "ArgsBase.h"
|
||||||
|
|
||||||
ArgsBase::ArgsBase() :
|
namespace lib {
|
||||||
#if SYSAPI_WIN32
|
namespace synergy {
|
||||||
m_daemon(false), // daemon mode not supported on windows (use --service)
|
ArgsBase::~ArgsBase() {
|
||||||
m_debugServiceWait(false),
|
//
|
||||||
m_pauseOnExit(false),
|
}
|
||||||
m_stopOnDeskSwitch(false),
|
}
|
||||||
#else
|
|
||||||
m_daemon(true), // backward compatibility for unix (daemon by default)
|
|
||||||
#endif
|
|
||||||
#if WINAPI_XWINDOWS
|
|
||||||
m_disableXInitThreads(false),
|
|
||||||
#endif
|
|
||||||
m_backend(false),
|
|
||||||
m_restartable(true),
|
|
||||||
m_noHooks(false),
|
|
||||||
m_pname(NULL),
|
|
||||||
m_logFilter(NULL),
|
|
||||||
m_logFile(NULL),
|
|
||||||
m_display(NULL),
|
|
||||||
m_disableTray(false),
|
|
||||||
m_enableIpc(false),
|
|
||||||
m_enableDragDrop(false),
|
|
||||||
m_shouldExit(false),
|
|
||||||
m_synergyAddress(),
|
|
||||||
m_enableCrypto(false),
|
|
||||||
m_profileDirectory(""),
|
|
||||||
m_pluginDirectory("")
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
ArgsBase::~ArgsBase()
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* synergy -- mouse and keyboard sharing utility
|
* synergy -- mouse and keyboard sharing utility
|
||||||
* Copyright (C) 2012-2016 Symless Ltd.
|
* Copyright (C) 2012-2020 Symless Ltd.
|
||||||
* Copyright (C) 2012 Nick Bolton
|
* Copyright (C) 2012 Nick Bolton
|
||||||
*
|
*
|
||||||
* This package is free software; you can redistribute it and/or
|
* This package is free software; you can redistribute it and/or
|
||||||
|
|
@ -16,39 +16,65 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
#ifndef SYNERGY_CORE_ARGSBASE_H
|
||||||
|
#define SYNERGY_CORE_ARGSBASE_H
|
||||||
|
|
||||||
#include "base/String.h"
|
#include "base/String.h"
|
||||||
|
|
||||||
class ArgsBase {
|
namespace lib {
|
||||||
public:
|
namespace synergy {
|
||||||
ArgsBase();
|
/**
|
||||||
virtual ~ArgsBase();
|
* @brief This is the base Argument class that will store the generic
|
||||||
|
* arguments passed into the applications this will be derived
|
||||||
|
* from and expanded to include application specific arguments
|
||||||
|
*/
|
||||||
|
class ArgsBase {
|
||||||
|
public:
|
||||||
|
ArgsBase() = default;
|
||||||
|
virtual ~ArgsBase();
|
||||||
|
|
||||||
|
/// @brief This sets the type of the derived class
|
||||||
|
enum Type { kBase, kServer, kClient };
|
||||||
|
|
||||||
|
Type m_classType = kBase; /// @brief Stores what type of object this is
|
||||||
|
|
||||||
|
bool m_daemon = true; /// @brief Should run as a daemon
|
||||||
|
bool m_backend = false; /// @brief //TODO Unsure what this is used for
|
||||||
|
bool m_restartable = true; /// @brief Should the app restart automatically
|
||||||
|
bool m_noHooks = false; /// @brief Should the app use hooks
|
||||||
|
const char* m_pname = nullptr; /// @brief The filename of the running process
|
||||||
|
const char* m_logFilter = nullptr; /// @brief The logging level of the application
|
||||||
|
const char* m_logFile = nullptr; /// @brief The full path to the logfile
|
||||||
|
const char* m_display = nullptr; /// @brief Contains the X-Server display to use
|
||||||
|
String m_name; /// @brief The name of the current computer
|
||||||
|
bool m_disableTray = false; /// @brief Should the app add a tray icon
|
||||||
|
bool m_enableIpc = false; /// @brief Tell the client to talk through IPC to the daemon
|
||||||
|
bool m_enableDragDrop = false; /// @brief Should drag drop support be enabled
|
||||||
|
|
||||||
|
bool m_shouldExit = false; /// @brief Will cause the application to exit when set to true
|
||||||
|
String m_synergyAddress; /// @brief Bind to this address //TODO This really should be a ServerArgs
|
||||||
|
bool m_enableCrypto = false; /// @brief Should the connections be TLS encrypted
|
||||||
|
String m_profileDirectory; /// @brief The profile DIR to use for the application
|
||||||
|
String m_pluginDirectory; /// @brief //TODO Plugins? Get set in ARCH but doesn't seem to get used
|
||||||
|
String m_tlsCertFile; /// @brief Contains the location of the TLS certificate file
|
||||||
|
|
||||||
public:
|
|
||||||
bool m_daemon;
|
|
||||||
bool m_backend;
|
|
||||||
bool m_restartable;
|
|
||||||
bool m_noHooks;
|
|
||||||
const char* m_pname;
|
|
||||||
const char* m_logFilter;
|
|
||||||
const char* m_logFile;
|
|
||||||
const char* m_display;
|
|
||||||
String m_name;
|
|
||||||
bool m_disableTray;
|
|
||||||
bool m_enableIpc;
|
|
||||||
bool m_enableDragDrop;
|
|
||||||
#if SYSAPI_WIN32
|
#if SYSAPI_WIN32
|
||||||
bool m_debugServiceWait;
|
bool m_debugServiceWait = false;
|
||||||
bool m_pauseOnExit;
|
bool m_pauseOnExit = false;
|
||||||
bool m_stopOnDeskSwitch;
|
bool m_stopOnDeskSwitch = false;
|
||||||
#endif
|
#endif
|
||||||
#if WINAPI_XWINDOWS
|
#if WINAPI_XWINDOWS
|
||||||
bool m_disableXInitThreads;
|
bool m_disableXInitThreads = false;
|
||||||
#endif
|
#endif
|
||||||
bool m_shouldExit;
|
|
||||||
String m_synergyAddress;
|
protected:
|
||||||
bool m_enableCrypto;
|
|
||||||
String m_profileDirectory;
|
/// @brief deletes pointers and sets the value to null
|
||||||
String m_pluginDirectory;
|
template<class T> static inline void destroy(T*& p) { delete p; p = 0; }
|
||||||
};
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //SYNERGY_CORE_ARGSBASE_H
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
#define RETRY_TIME 1.0
|
#define RETRY_TIME 1.0
|
||||||
|
|
||||||
ClientApp::ClientApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
|
ClientApp::ClientApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
|
||||||
App(events, createTaskBarReceiver, new ClientArgs()),
|
App(events, createTaskBarReceiver, new lib::synergy::ClientArgs()),
|
||||||
m_client(NULL),
|
m_client(NULL),
|
||||||
m_clientScreen(NULL),
|
m_clientScreen(NULL),
|
||||||
m_serverAddress(NULL)
|
m_serverAddress(NULL)
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,11 @@ class Event;
|
||||||
class Client;
|
class Client;
|
||||||
class NetworkAddress;
|
class NetworkAddress;
|
||||||
class Thread;
|
class Thread;
|
||||||
class ClientArgs;
|
namespace lib {
|
||||||
|
namespace synergy {
|
||||||
|
class ClientArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class ClientApp : public App {
|
class ClientApp : public App {
|
||||||
public:
|
public:
|
||||||
|
|
@ -39,7 +43,7 @@ public:
|
||||||
void help();
|
void help();
|
||||||
|
|
||||||
// Returns arguments that are common and for client.
|
// Returns arguments that are common and for client.
|
||||||
ClientArgs& args() const { return (ClientArgs&)argsBase(); }
|
lib::synergy::ClientArgs& args() const { return (lib::synergy::ClientArgs&)argsBase(); }
|
||||||
|
|
||||||
const char* daemonName() const;
|
const char* daemonName() const;
|
||||||
const char* daemonInfo() const;
|
const char* daemonInfo() const;
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,17 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "synergy/ClientArgs.h"
|
#include "ClientArgs.h"
|
||||||
|
|
||||||
ClientArgs::ClientArgs() :
|
namespace lib {
|
||||||
m_yscroll(0)
|
namespace synergy {
|
||||||
{
|
|
||||||
|
ClientArgs::~ClientArgs() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ClientArgs::ClientArgs() {
|
||||||
|
m_classType = kClient;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -15,16 +15,28 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#ifndef SYNERGY_CORE_CLIENTARGS_H
|
||||||
|
#define SYNERGY_CORE_CLIENTARGS_H
|
||||||
|
|
||||||
#include "synergy/ArgsBase.h"
|
#include "ArgsBase.h"
|
||||||
|
|
||||||
class NetworkAddress;
|
|
||||||
|
|
||||||
class ClientArgs : public ArgsBase {
|
namespace lib {
|
||||||
public:
|
namespace synergy {
|
||||||
ClientArgs();
|
class ClientArgs : public ArgsBase {
|
||||||
|
|
||||||
public:
|
/// Public functions
|
||||||
int m_yscroll;
|
public:
|
||||||
};
|
ClientArgs();
|
||||||
|
|
||||||
|
~ClientArgs() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
int m_yscroll = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif //SYNERGY_CORE_CLIENTARGS_H
|
||||||
|
|
@ -308,24 +308,23 @@ DaemonApp::handleIpcMessage(const Event& e, void*)
|
||||||
ArgParser::splitCommandString(command, argsArray);
|
ArgParser::splitCommandString(command, argsArray);
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
const char** argv = argParser.getArgv(argsArray);
|
const char** argv = argParser.getArgv(argsArray);
|
||||||
ServerArgs serverArgs;
|
|
||||||
ClientArgs clientArgs;
|
|
||||||
int argc = static_cast<int>(argsArray.size());
|
int argc = static_cast<int>(argsArray.size());
|
||||||
bool server = argsArray[0].find("synergys") != String::npos ? true : false;
|
bool server = argsArray[0].find("synergys") != String::npos;
|
||||||
ArgsBase* argBase = NULL;
|
|
||||||
|
|
||||||
if (server) {
|
if (server) {
|
||||||
argParser.parseServerArgs(serverArgs, argc, argv);
|
auto serverArgs = new lib::synergy::ServerArgs();
|
||||||
argBase = &serverArgs;
|
argParser.parseServerArgs(*serverArgs, argc, argv);
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
argParser.parseClientArgs(clientArgs, argc, argv);
|
auto clientArgs = new lib::synergy::ClientArgs();
|
||||||
argBase = &clientArgs;
|
argParser.parseClientArgs(*clientArgs, argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete[] argv;
|
delete[] argv;
|
||||||
|
String logLevel(ArgParser::argsBase().m_logFilter);
|
||||||
String logLevel(argBase->m_logFilter);
|
|
||||||
if (!logLevel.empty()) {
|
if (!logLevel.empty()) {
|
||||||
try {
|
try {
|
||||||
// change log level based on that in the command string
|
// change log level based on that in the command string
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,13 @@
|
||||||
|
|
||||||
typedef int (*StartupFunc)(int, char**);
|
typedef int (*StartupFunc)(int, char**);
|
||||||
|
|
||||||
|
namespace lib {
|
||||||
|
namespace synergy {
|
||||||
|
class ArgsBase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class ILogOutputter;
|
class ILogOutputter;
|
||||||
class ArgsBase;
|
|
||||||
class IArchTaskBarReceiver;
|
class IArchTaskBarReceiver;
|
||||||
namespace synergy { class Screen; }
|
namespace synergy { class Screen; }
|
||||||
class IEventQueue;
|
class IEventQueue;
|
||||||
|
|
@ -32,7 +37,7 @@ class IApp : public IInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void setByeFunc(void(*bye)(int)) = 0;
|
virtual void setByeFunc(void(*bye)(int)) = 0;
|
||||||
virtual ArgsBase& argsBase() const = 0;
|
virtual lib::synergy::ArgsBase& argsBase() const = 0;
|
||||||
virtual int standardStartup(int argc, char** argv) = 0;
|
virtual int standardStartup(int argc, char** argv) = 0;
|
||||||
virtual int runInner(int argc, char** argv, ILogOutputter* outputter, StartupFunc startup) = 0;
|
virtual int runInner(int argc, char** argv, ILogOutputter* outputter, StartupFunc startup) = 0;
|
||||||
virtual void startNode() = 0;
|
virtual void startNode() = 0;
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
ServerApp::ServerApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
|
ServerApp::ServerApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
|
||||||
App(events, createTaskBarReceiver, new ServerArgs()),
|
App(events, createTaskBarReceiver, new lib::synergy::ServerArgs()),
|
||||||
m_server(NULL),
|
m_server(NULL),
|
||||||
m_serverState(kUninitialized),
|
m_serverState(kUninitialized),
|
||||||
m_serverScreen(NULL),
|
m_serverScreen(NULL),
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,11 @@ class ClientListener;
|
||||||
class EventQueueTimer;
|
class EventQueueTimer;
|
||||||
class ILogOutputter;
|
class ILogOutputter;
|
||||||
class IEventQueue;
|
class IEventQueue;
|
||||||
class ServerArgs;
|
namespace lib {
|
||||||
|
namespace synergy{
|
||||||
|
class ServerArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class ServerApp : public App {
|
class ServerApp : public App {
|
||||||
public:
|
public:
|
||||||
|
|
@ -59,7 +63,7 @@ public:
|
||||||
void help();
|
void help();
|
||||||
|
|
||||||
// Returns arguments that are common and for server.
|
// Returns arguments that are common and for server.
|
||||||
ServerArgs& args() const { return (ServerArgs&)argsBase(); }
|
lib::synergy::ServerArgs& args() const { return (lib::synergy::ServerArgs&)argsBase(); }
|
||||||
|
|
||||||
const char* daemonName() const;
|
const char* daemonName() const;
|
||||||
const char* daemonInfo() const;
|
const char* daemonInfo() const;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* synergy -- mouse and keyboard sharing utility
|
* synergy -- mouse and keyboard sharing utility
|
||||||
* Copyright (C) 2014-2016 Symless Ltd.
|
* Copyright (C) 2014-2020 Symless Ltd.
|
||||||
*
|
*
|
||||||
* This package is free software; you can redistribute it and/or
|
* This package is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
@ -15,12 +15,20 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "synergy/ServerArgs.h"
|
#include "ServerArgs.h"
|
||||||
|
|
||||||
ServerArgs::ServerArgs() :
|
namespace lib {
|
||||||
m_configFile(),
|
namespace synergy {
|
||||||
m_serial(),
|
|
||||||
m_config(NULL)
|
ServerArgs::~ServerArgs() {
|
||||||
{
|
destroy(m_config);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ServerArgs::ServerArgs() {
|
||||||
|
m_classType = kServer;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* synergy -- mouse and keyboard sharing utility
|
* synergy -- mouse and keyboard sharing utility
|
||||||
* Copyright (C) 2014-2016 Symless Ltd.
|
* Copyright (C) 2014-2020 Symless Ltd.
|
||||||
*
|
*
|
||||||
* This package is free software; you can redistribute it and/or
|
* This package is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
@ -15,20 +15,32 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#ifndef SYNERGY_CORE_SERVERARGS_H
|
||||||
|
#define SYNERGY_CORE_SERVERARGS_H
|
||||||
|
|
||||||
#include "synergy/ArgsBase.h"
|
#include "ArgsBase.h"
|
||||||
#include "shared/SerialKey.h"
|
#include "shared/SerialKey.h"
|
||||||
|
#include "server/Config.h"
|
||||||
|
|
||||||
class NetworkAddress;
|
namespace lib {
|
||||||
class Config;
|
namespace synergy {
|
||||||
|
class ServerArgs : public ArgsBase {
|
||||||
|
/// Public Functions
|
||||||
|
public:
|
||||||
|
ServerArgs();
|
||||||
|
~ServerArgs() override;
|
||||||
|
|
||||||
class ServerArgs : public ArgsBase {
|
/// Public variables
|
||||||
public:
|
public:
|
||||||
ServerArgs();
|
String m_configFile = ""; /// @brief Contains the path to the config file
|
||||||
|
SerialKey m_serial; /// @brief Contains the serial number and license info
|
||||||
|
Config* m_config = nullptr; /// @brief Contains the Parsed Configuration settings
|
||||||
|
|
||||||
public:
|
/// Private Functions
|
||||||
String m_configFile;
|
private:
|
||||||
SerialKey m_serial;
|
|
||||||
Config* m_config;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif //SYNERGY_CORE_SERVERARGS_H
|
||||||
|
|
@ -129,7 +129,7 @@ TEST_F(NetworkTests, sendToClient_mockData)
|
||||||
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
||||||
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
||||||
|
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
serverArgs.m_enableDragDrop = true;
|
serverArgs.m_enableDragDrop = true;
|
||||||
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
||||||
server.m_mock = true;
|
server.m_mock = true;
|
||||||
|
|
@ -144,7 +144,7 @@ TEST_F(NetworkTests, sendToClient_mockData)
|
||||||
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
||||||
|
|
||||||
|
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
clientArgs.m_enableDragDrop = true;
|
clientArgs.m_enableDragDrop = true;
|
||||||
clientArgs.m_enableCrypto = false;
|
clientArgs.m_enableCrypto = false;
|
||||||
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
||||||
|
|
@ -187,7 +187,7 @@ TEST_F(NetworkTests, sendToClient_mockFile)
|
||||||
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
||||||
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
||||||
|
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
serverArgs.m_enableDragDrop = true;
|
serverArgs.m_enableDragDrop = true;
|
||||||
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
||||||
server.m_mock = true;
|
server.m_mock = true;
|
||||||
|
|
@ -202,7 +202,7 @@ TEST_F(NetworkTests, sendToClient_mockFile)
|
||||||
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
||||||
|
|
||||||
|
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
clientArgs.m_enableDragDrop = true;
|
clientArgs.m_enableDragDrop = true;
|
||||||
clientArgs.m_enableCrypto = false;
|
clientArgs.m_enableCrypto = false;
|
||||||
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
||||||
|
|
@ -239,7 +239,7 @@ TEST_F(NetworkTests, sendToServer_mockData)
|
||||||
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
||||||
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
||||||
|
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
serverArgs.m_enableDragDrop = true;
|
serverArgs.m_enableDragDrop = true;
|
||||||
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
||||||
server.m_mock = true;
|
server.m_mock = true;
|
||||||
|
|
@ -253,7 +253,7 @@ TEST_F(NetworkTests, sendToServer_mockData)
|
||||||
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
|
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
|
||||||
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
||||||
|
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
clientArgs.m_enableDragDrop = true;
|
clientArgs.m_enableDragDrop = true;
|
||||||
clientArgs.m_enableCrypto = false;
|
clientArgs.m_enableCrypto = false;
|
||||||
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
||||||
|
|
@ -296,7 +296,7 @@ TEST_F(NetworkTests, sendToServer_mockFile)
|
||||||
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
|
||||||
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
|
||||||
|
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
serverArgs.m_enableDragDrop = true;
|
serverArgs.m_enableDragDrop = true;
|
||||||
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
|
||||||
server.m_mock = true;
|
server.m_mock = true;
|
||||||
|
|
@ -310,7 +310,7 @@ TEST_F(NetworkTests, sendToServer_mockFile)
|
||||||
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
|
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
|
||||||
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
|
||||||
|
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
clientArgs.m_enableDragDrop = true;
|
clientArgs.m_enableDragDrop = true;
|
||||||
clientArgs.m_enableCrypto = false;
|
clientArgs.m_enableCrypto = false;
|
||||||
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ TEST(ArgParserTests, isArg_missingArgs_returnFalse)
|
||||||
const int argc = 2;
|
const int argc = 2;
|
||||||
const char* argv[argc] = { "stub", "-t" };
|
const char* argv[argc] = { "stub", "-t" };
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
bool result = ArgParser::isArg(i, argc, argv, "-t", NULL, 1);
|
bool result = ArgParser::isArg(i, argc, argv, "-t", NULL, 1);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_yScrollArg_setYScroll)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
const int argc = 3;
|
const int argc = 3;
|
||||||
const char* kYScrollCmd[argc] = { "stub", "--yscroll", "1" };
|
const char* kYScrollCmd[argc] = { "stub", "--yscroll", "1" };
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_addressArg_setSynergyAddress)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
const int argc = 2;
|
const int argc = 2;
|
||||||
const char* kAddressCmd[argc] = { "stub", "mock_address" };
|
const char* kAddressCmd[argc] = { "stub", "mock_address" };
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_noAddressArg_returnFalse)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
const int argc = 1;
|
const int argc = 1;
|
||||||
const char* kNoAddressCmd[argc] = { "stub" };
|
const char* kNoAddressCmd[argc] = { "stub" };
|
||||||
|
|
||||||
|
|
@ -85,7 +85,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_unrecognizedArg_returnFalse)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
|
||||||
ClientArgs clientArgs;
|
lib::synergy::ClientArgs clientArgs;
|
||||||
const int argc = 3;
|
const int argc = 3;
|
||||||
const char* kUnrecognizedCmd[argc] = { "stub", "mock_arg", "mock_address"};
|
const char* kUnrecognizedCmd[argc] = { "stub", "mock_arg", "mock_address"};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logLevelCmd_setLogLevel)
|
||||||
const char* kLogLevelCmd[argc] = { "stub", "--debug", "DEBUG" };
|
const char* kLogLevelCmd[argc] = { "stub", "--debug", "DEBUG" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kLogLevelCmd, i);
|
argParser.parseGenericArgs(argc, kLogLevelCmd, i);
|
||||||
|
|
@ -66,7 +66,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logFileCmd_saveLogFilename)
|
||||||
const char* kLogFileCmd[argc] = { "stub", "--log", "mock_filename" };
|
const char* kLogFileCmd[argc] = { "stub", "--log", "mock_filename" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kLogFileCmd, i);
|
argParser.parseGenericArgs(argc, kLogFileCmd, i);
|
||||||
|
|
@ -84,7 +84,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logFileCmdWithSpace_saveLogFilena
|
||||||
const char* kLogFileCmdWithSpace[argc] = { "stub", "--log", "mo ck_filename" };
|
const char* kLogFileCmdWithSpace[argc] = { "stub", "--log", "mo ck_filename" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kLogFileCmdWithSpace, i);
|
argParser.parseGenericArgs(argc, kLogFileCmdWithSpace, i);
|
||||||
|
|
@ -102,7 +102,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noDeamonCmd_daemonFalse)
|
||||||
const char* kNoDeamonCmd[argc] = { "stub", "-f" };
|
const char* kNoDeamonCmd[argc] = { "stub", "-f" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kNoDeamonCmd, i);
|
argParser.parseGenericArgs(argc, kNoDeamonCmd, i);
|
||||||
|
|
@ -118,7 +118,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_deamonCmd_daemonTrue)
|
||||||
const char* kDeamonCmd[argc] = { "stub", "--daemon" };
|
const char* kDeamonCmd[argc] = { "stub", "--daemon" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kDeamonCmd, i);
|
argParser.parseGenericArgs(argc, kDeamonCmd, i);
|
||||||
|
|
@ -134,7 +134,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_nameCmd_saveName)
|
||||||
const char* kNameCmd[argc] = { "stub", "--name", "mock" };
|
const char* kNameCmd[argc] = { "stub", "--name", "mock" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kNameCmd, i);
|
argParser.parseGenericArgs(argc, kNameCmd, i);
|
||||||
|
|
@ -150,7 +150,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noRestartCmd_restartFalse)
|
||||||
const char* kNoRestartCmd[argc] = { "stub", "--no-restart" };
|
const char* kNoRestartCmd[argc] = { "stub", "--no-restart" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kNoRestartCmd, i);
|
argParser.parseGenericArgs(argc, kNoRestartCmd, i);
|
||||||
|
|
@ -166,7 +166,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_restartCmd_restartTrue)
|
||||||
const char* kRestartCmd[argc] = { "stub", "--restart" };
|
const char* kRestartCmd[argc] = { "stub", "--restart" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kRestartCmd, i);
|
argParser.parseGenericArgs(argc, kRestartCmd, i);
|
||||||
|
|
@ -182,7 +182,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_backendCmd_backendTrue)
|
||||||
const char* kBackendCmd[argc] = { "stub", "-z" };
|
const char* kBackendCmd[argc] = { "stub", "-z" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kBackendCmd, i);
|
argParser.parseGenericArgs(argc, kBackendCmd, i);
|
||||||
|
|
@ -198,7 +198,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noHookCmd_noHookTrue)
|
||||||
const char* kNoHookCmd[argc] = { "stub", "--no-hooks" };
|
const char* kNoHookCmd[argc] = { "stub", "--no-hooks" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kNoHookCmd, i);
|
argParser.parseGenericArgs(argc, kNoHookCmd, i);
|
||||||
|
|
@ -216,7 +216,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_helpCmd_showHelp)
|
||||||
|
|
||||||
NiceMock<MockApp> app;
|
NiceMock<MockApp> app;
|
||||||
ArgParser argParser(&app);
|
ArgParser argParser(&app);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
ON_CALL(app, help()).WillByDefault(Invoke(showMockHelp));
|
ON_CALL(app, help()).WillByDefault(Invoke(showMockHelp));
|
||||||
|
|
||||||
|
|
@ -236,7 +236,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_versionCmd_showVersion)
|
||||||
|
|
||||||
NiceMock<MockApp> app;
|
NiceMock<MockApp> app;
|
||||||
ArgParser argParser(&app);
|
ArgParser argParser(&app);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
ON_CALL(app, version()).WillByDefault(Invoke(showMockVersion));
|
ON_CALL(app, version()).WillByDefault(Invoke(showMockVersion));
|
||||||
|
|
||||||
|
|
@ -253,7 +253,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noTrayCmd_disableTrayTrue)
|
||||||
const char* kNoTrayCmd[argc] = { "stub", "--no-tray" };
|
const char* kNoTrayCmd[argc] = { "stub", "--no-tray" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kNoTrayCmd, i);
|
argParser.parseGenericArgs(argc, kNoTrayCmd, i);
|
||||||
|
|
@ -269,7 +269,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_ipcCmd_enableIpcTrue)
|
||||||
const char* kIpcCmd[argc] = { "stub", "--ipc" };
|
const char* kIpcCmd[argc] = { "stub", "--ipc" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kIpcCmd, i);
|
argParser.parseGenericArgs(argc, kIpcCmd, i);
|
||||||
|
|
@ -304,7 +304,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_dragDropCmdOnLinux_enableDragDrop
|
||||||
const char* kDragDropCmd[argc] = { "stub", "--enable-drag-drop" };
|
const char* kDragDropCmd[argc] = { "stub", "--enable-drag-drop" };
|
||||||
|
|
||||||
ArgParser argParser(NULL);
|
ArgParser argParser(NULL);
|
||||||
ArgsBase argsBase;
|
lib::synergy::ArgsBase argsBase;
|
||||||
argParser.setArgsBase(argsBase);
|
argParser.setArgsBase(argsBase);
|
||||||
|
|
||||||
argParser.parseGenericArgs(argc, kDragDropCmd, i);
|
argParser.parseGenericArgs(argc, kDragDropCmd, i);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ TEST(ServerArgsParsingTests, parseServerArgs_addressArg_setSynergyAddress)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
const int argc = 3;
|
const int argc = 3;
|
||||||
const char* kAddressCmd[argc] = { "stub", "--address", "mock_address" };
|
const char* kAddressCmd[argc] = { "stub", "--address", "mock_address" };
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ TEST(ServerArgsParsingTests, parseServerArgs_configArg_setConfigFile)
|
||||||
NiceMock<MockArgParser> argParser;
|
NiceMock<MockArgParser> argParser;
|
||||||
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
|
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
|
||||||
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
|
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
|
||||||
ServerArgs serverArgs;
|
lib::synergy::ServerArgs serverArgs;
|
||||||
const int argc = 3;
|
const int argc = 3;
|
||||||
const char* kConfigCmd[argc] = { "stub", "--config", "mock_configFile" };
|
const char* kConfigCmd[argc] = { "stub", "--config", "mock_configFile" };
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue