#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:
Jamie Newbon 2020-07-27 13:29:58 +01:00
parent 28d376e7f0
commit 6684b8b09f
26 changed files with 250 additions and 180 deletions

View file

@ -56,7 +56,7 @@ Client::Client(
const String& name, const NetworkAddress& address,
ISocketFactory* socketFactory,
synergy::Screen* screen,
ClientArgs const& args) :
lib::synergy::ClientArgs const& args) :
m_mock(false),
m_name(name),
m_serverAddress(address),

View file

@ -59,7 +59,7 @@ public:
*/
Client(IEventQueue* events, const String& name,
const NetworkAddress& address, ISocketFactory* socketFactory,
synergy::Screen* screen, ClientArgs const& args);
synergy::Screen* screen, lib::synergy::ClientArgs const& args);
~Client();
@ -222,7 +222,7 @@ private:
Thread* m_writeToDropDirThread;
TCPSocket* m_socket;
bool m_useSecureNetwork;
ClientArgs m_args;
bool m_enableClipboard;
size_t m_maximumClipboardSize;
lib::synergy::ClientArgs m_args;
};

View file

@ -22,6 +22,8 @@
#include "net/SocketMultiplexer.h"
#include "net/TSocketMultiplexerMethodJob.h"
#include "arch/XArch.h"
#include "synergy/ArgParser.h"
#include "synergy/ArgsBase.h"
static const char s_certificateDir[] = { "SSL" };
static const char s_certificateFilename[] = { "Synergy.pem" };
@ -53,10 +55,16 @@ SecureListenSocket::accept()
setListeningJob();
}
//default location of the TLS cert file in users dir
String certificateFilename = synergy::string::sprintf("%s/%s/%s",
ARCH->getProfileDirectory().c_str(),
s_certificateDir,
s_certificateFilename);
ARCH->getProfileDirectory().c_str(),
s_certificateDir,
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);
if (!loaded) {

View file

@ -62,7 +62,7 @@ Server::Server(
PrimaryClient* primaryClient,
synergy::Screen* screen,
IEventQueue* events,
ServerArgs const& args) :
lib::synergy::ServerArgs const& args) :
m_mock(false),
m_primaryClient(primaryClient),
m_active(primaryClient),

View file

@ -107,7 +107,7 @@ public:
ownership of \p 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();
#ifdef TEST_ENV
@ -481,5 +481,5 @@ private:
bool m_waitDragInfoThread;
ClientListener* m_clientListener;
ServerArgs m_args;
lib::synergy::ServerArgs m_args;
};

View file

@ -58,7 +58,7 @@ App* App::s_instance = nullptr;
// App
//
App::App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, ArgsBase* args) :
App::App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, lib::synergy::ArgsBase* args) :
m_bye(&exit),
m_taskBarReceiver(NULL),
m_suspended(false),
@ -266,7 +266,7 @@ App::runEventsLoop(void*)
//
MinimalApp::MinimalApp() :
App(NULL, NULL, new ArgsBase())
App(NULL, NULL, new lib::synergy::ArgsBase())
{
m_arch.init();
setEvents(m_events);

View file

@ -43,11 +43,11 @@ typedef IArchTaskBarReceiver* (*CreateTaskBarReceiverFunc)(const BufferedLogOutp
class App : public IApp {
public:
App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, ArgsBase* args);
App(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver, lib::synergy::ArgsBase* args);
virtual ~App();
// 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.
virtual void version();
@ -113,7 +113,7 @@ protected:
IEventQueue* m_events;
private:
ArgsBase* m_args;
lib::synergy::ArgsBase* m_args;
static App* s_instance;
FileLogOutputter* m_fileLog;
CreateTaskBarReceiverFunc m_createTaskBarReceiver;
@ -164,7 +164,8 @@ private:
" -l --log <file> write log messages to file.\n" \
" --no-tray disable the system tray icon.\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 \
" -h, --help display this help and exit.\n" \

View file

@ -29,8 +29,8 @@
#ifdef WINAPI_MSWINDOWS
#include <VersionHelpers.h>
#endif
ArgsBase* ArgParser::m_argsBase = NULL;
lib::synergy::ArgsBase* ArgParser::m_argsBase = NULL;
ArgParser::ArgParser(App* app) :
m_app(app)
@ -38,7 +38,7 @@ ArgParser::ArgParser(App* app) :
}
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);
updateCommonArgs(argv);
@ -78,7 +78,7 @@ ArgParser::parseServerArgs(ServerArgs& args, int argc, const char* const* argv)
}
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);
updateCommonArgs(argv);
@ -130,7 +130,7 @@ ArgParser::parseClientArgs(ClientArgs& args, int argc, const char* const* argv)
}
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 (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)) {
argsBase().m_pluginDirectory = argv[++i];
}
else if (isArg(i, argc, argv, NULL, "--tls-cert", 1)) {
argsBase().m_tlsCertFile = argv[++i];
}
else {
// option not supported here
return false;

View file

@ -20,10 +20,15 @@
#include "base/String.h"
#include "common/stdvector.h"
class ServerArgs;
class ClientArgs;
namespace lib {
namespace synergy {
class ArgsBase;
class ServerArgs;
class ClientArgs;
}
}
class ToolArgs;
class ArgsBase;
class App;
class ArgParser {
@ -31,13 +36,13 @@ class ArgParser {
public:
ArgParser(App* app);
bool parseServerArgs(ServerArgs& args, int argc, const char* const* argv);
bool parseClientArgs(ClientArgs& args, int argc, const char* const* argv);
bool parsePlatformArg(ArgsBase& argsBase, const int& argc, const char* const* argv, int& i);
bool parseServerArgs(lib::synergy::ServerArgs& args, int argc, const char* const* argv);
bool parseClientArgs(lib::synergy::ClientArgs& args, int argc, const char* const* argv);
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 parseGenericArgs(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,
const char* name1, const char* name2,
@ -50,14 +55,15 @@ public:
static String assembleCommand(std::vector<String>& argsArray,
String ignoreArg = "", int parametersRequired = 0);
static lib::synergy::ArgsBase& argsBase() { return *m_argsBase; }
private:
void updateCommonArgs(const char* const* argv);
bool checkUnexpectedArgs();
static ArgsBase& argsBase() { return *m_argsBase; }
private:
App* m_app;
static ArgsBase* m_argsBase;
static lib::synergy::ArgsBase* m_argsBase;
};

View file

@ -1,6 +1,6 @@
/*
* synergy -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2012-2020 Symless Ltd.
* Copyright (C) 2012 Nick Bolton
*
* 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/>.
*/
#include "synergy/ArgsBase.h"
#include "ArgsBase.h"
ArgsBase::ArgsBase() :
#if SYSAPI_WIN32
m_daemon(false), // daemon mode not supported on windows (use --service)
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()
{
}
namespace lib {
namespace synergy {
ArgsBase::~ArgsBase() {
//
}
}
}

View file

@ -1,6 +1,6 @@
/*
* synergy -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2012-2020 Symless Ltd.
* Copyright (C) 2012 Nick Bolton
*
* 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/>.
*/
#pragma once
#ifndef SYNERGY_CORE_ARGSBASE_H
#define SYNERGY_CORE_ARGSBASE_H
#include "base/String.h"
class ArgsBase {
public:
ArgsBase();
virtual ~ArgsBase();
namespace lib {
namespace synergy {
/**
* @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
bool m_debugServiceWait;
bool m_pauseOnExit;
bool m_stopOnDeskSwitch;
bool m_debugServiceWait = false;
bool m_pauseOnExit = false;
bool m_stopOnDeskSwitch = false;
#endif
#if WINAPI_XWINDOWS
bool m_disableXInitThreads;
bool m_disableXInitThreads = false;
#endif
bool m_shouldExit;
String m_synergyAddress;
bool m_enableCrypto;
String m_profileDirectory;
String m_pluginDirectory;
};
protected:
/// @brief deletes pointers and sets the value to null
template<class T> static inline void destroy(T*& p) { delete p; p = 0; }
};
}
}
#endif //SYNERGY_CORE_ARGSBASE_H

View file

@ -63,7 +63,7 @@
#define RETRY_TIME 1.0
ClientApp::ClientApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
App(events, createTaskBarReceiver, new ClientArgs()),
App(events, createTaskBarReceiver, new lib::synergy::ClientArgs()),
m_client(NULL),
m_clientScreen(NULL),
m_serverAddress(NULL)

View file

@ -25,7 +25,11 @@ class Event;
class Client;
class NetworkAddress;
class Thread;
class ClientArgs;
namespace lib {
namespace synergy {
class ClientArgs;
}
}
class ClientApp : public App {
public:
@ -39,7 +43,7 @@ public:
void help();
// 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* daemonInfo() const;

View file

@ -15,9 +15,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "synergy/ClientArgs.h"
#include "ClientArgs.h"
ClientArgs::ClientArgs() :
m_yscroll(0)
{
}
namespace lib {
namespace synergy {
ClientArgs::~ClientArgs() {
}
ClientArgs::ClientArgs() {
m_classType = kClient;
}
}
}

View file

@ -15,16 +15,28 @@
* 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 {
public:
ClientArgs();
namespace lib {
namespace synergy {
class ClientArgs : public ArgsBase {
public:
int m_yscroll;
};
/// Public functions
public:
ClientArgs();
~ClientArgs() override;
public:
int m_yscroll = 0;
private:
};
}
}
#endif //SYNERGY_CORE_CLIENTARGS_H

View file

@ -308,24 +308,23 @@ DaemonApp::handleIpcMessage(const Event& e, void*)
ArgParser::splitCommandString(command, argsArray);
ArgParser argParser(NULL);
const char** argv = argParser.getArgv(argsArray);
ServerArgs serverArgs;
ClientArgs clientArgs;
int argc = static_cast<int>(argsArray.size());
bool server = argsArray[0].find("synergys") != String::npos ? true : false;
ArgsBase* argBase = NULL;
bool server = argsArray[0].find("synergys") != String::npos;
if (server) {
argParser.parseServerArgs(serverArgs, argc, argv);
argBase = &serverArgs;
auto serverArgs = new lib::synergy::ServerArgs();
argParser.parseServerArgs(*serverArgs, argc, argv);
}
else {
argParser.parseClientArgs(clientArgs, argc, argv);
argBase = &clientArgs;
auto clientArgs = new lib::synergy::ClientArgs();
argParser.parseClientArgs(*clientArgs, argc, argv);
}
delete[] argv;
String logLevel(argBase->m_logFilter);
String logLevel(ArgParser::argsBase().m_logFilter);
if (!logLevel.empty()) {
try {
// change log level based on that in the command string

View file

@ -22,8 +22,13 @@
typedef int (*StartupFunc)(int, char**);
namespace lib {
namespace synergy {
class ArgsBase;
}
}
class ILogOutputter;
class ArgsBase;
class IArchTaskBarReceiver;
namespace synergy { class Screen; }
class IEventQueue;
@ -32,7 +37,7 @@ class IApp : public IInterface
{
public:
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 runInner(int argc, char** argv, ILogOutputter* outputter, StartupFunc startup) = 0;
virtual void startNode() = 0;

View file

@ -65,7 +65,7 @@
//
ServerApp::ServerApp(IEventQueue* events, CreateTaskBarReceiverFunc createTaskBarReceiver) :
App(events, createTaskBarReceiver, new ServerArgs()),
App(events, createTaskBarReceiver, new lib::synergy::ServerArgs()),
m_server(NULL),
m_serverState(kUninitialized),
m_serverScreen(NULL),

View file

@ -45,7 +45,11 @@ class ClientListener;
class EventQueueTimer;
class ILogOutputter;
class IEventQueue;
class ServerArgs;
namespace lib {
namespace synergy{
class ServerArgs;
}
}
class ServerApp : public App {
public:
@ -59,7 +63,7 @@ public:
void help();
// 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* daemonInfo() const;

View file

@ -1,6 +1,6 @@
/*
* 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
* 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/>.
*/
#include "synergy/ServerArgs.h"
#include "ServerArgs.h"
ServerArgs::ServerArgs() :
m_configFile(),
m_serial(),
m_config(NULL)
{
namespace lib {
namespace synergy {
ServerArgs::~ServerArgs() {
destroy(m_config);
}
ServerArgs::ServerArgs() {
m_classType = kServer;
}
}
}

View file

@ -1,6 +1,6 @@
/*
* 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
* 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/>.
*/
#pragma once
#ifndef SYNERGY_CORE_SERVERARGS_H
#define SYNERGY_CORE_SERVERARGS_H
#include "synergy/ArgsBase.h"
#include "ArgsBase.h"
#include "shared/SerialKey.h"
#include "server/Config.h"
class NetworkAddress;
class Config;
namespace lib {
namespace synergy {
class ServerArgs : public ArgsBase {
/// Public Functions
public:
ServerArgs();
~ServerArgs() override;
class ServerArgs : public ArgsBase {
public:
ServerArgs();
/// Public variables
public:
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:
String m_configFile;
SerialKey m_serial;
Config* m_config;
};
/// Private Functions
private:
};
}
}
#endif //SYNERGY_CORE_SERVERARGS_H

View file

@ -128,8 +128,8 @@ TEST_F(NetworkTests, sendToClient_mockData)
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
serverArgs.m_enableDragDrop = true;
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
server.m_mock = true;
@ -144,7 +144,7 @@ TEST_F(NetworkTests, sendToClient_mockData)
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
clientArgs.m_enableDragDrop = true;
clientArgs.m_enableCrypto = false;
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
@ -186,8 +186,8 @@ TEST_F(NetworkTests, sendToClient_mockFile)
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
serverArgs.m_enableDragDrop = true;
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
server.m_mock = true;
@ -202,7 +202,7 @@ TEST_F(NetworkTests, sendToClient_mockFile)
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
clientArgs.m_enableDragDrop = true;
clientArgs.m_enableCrypto = false;
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
@ -238,8 +238,8 @@ TEST_F(NetworkTests, sendToServer_mockData)
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
serverArgs.m_enableDragDrop = true;
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
server.m_mock = true;
@ -253,7 +253,7 @@ TEST_F(NetworkTests, sendToServer_mockData)
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
clientArgs.m_enableDragDrop = true;
clientArgs.m_enableCrypto = false;
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);
@ -295,8 +295,8 @@ TEST_F(NetworkTests, sendToServer_mockFile)
ON_CALL(serverConfig, isScreen(_)).WillByDefault(Return(true));
ON_CALL(serverConfig, getInputFilter()).WillByDefault(Return(&serverInputFilter));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
serverArgs.m_enableDragDrop = true;
Server server(serverConfig, &primaryClient, &serverScreen, &m_events, serverArgs);
server.m_mock = true;
@ -310,7 +310,7 @@ TEST_F(NetworkTests, sendToServer_mockFile)
ON_CALL(clientScreen, getShape(_, _, _, _)).WillByDefault(Invoke(getScreenShape));
ON_CALL(clientScreen, getCursorPos(_, _)).WillByDefault(Invoke(getCursorPos));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
clientArgs.m_enableDragDrop = true;
clientArgs.m_enableCrypto = false;
Client client(&m_events, "stub", serverAddress, clientSocketFactory, &clientScreen, clientArgs);

View file

@ -46,7 +46,7 @@ TEST(ArgParserTests, isArg_missingArgs_returnFalse)
const int argc = 2;
const char* argv[argc] = { "stub", "-t" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
bool result = ArgParser::isArg(i, argc, argv, "-t", NULL, 1);

View file

@ -42,7 +42,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_yScrollArg_setYScroll)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
const int argc = 3;
const char* kYScrollCmd[argc] = { "stub", "--yscroll", "1" };
@ -56,7 +56,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_addressArg_setSynergyAddress)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
const int argc = 2;
const char* kAddressCmd[argc] = { "stub", "mock_address" };
@ -71,7 +71,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_noAddressArg_returnFalse)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
const int argc = 1;
const char* kNoAddressCmd[argc] = { "stub" };
@ -85,7 +85,7 @@ TEST(ClientArgsParsingTests, parseClientArgs_unrecognizedArg_returnFalse)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(client_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(client_stubCheckUnexpectedArgs));
ClientArgs clientArgs;
lib::synergy::ClientArgs clientArgs;
const int argc = 3;
const char* kUnrecognizedCmd[argc] = { "stub", "mock_arg", "mock_address"};

View file

@ -48,7 +48,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logLevelCmd_setLogLevel)
const char* kLogLevelCmd[argc] = { "stub", "--debug", "DEBUG" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kLogLevelCmd, i);
@ -66,7 +66,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logFileCmd_saveLogFilename)
const char* kLogFileCmd[argc] = { "stub", "--log", "mock_filename" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kLogFileCmd, i);
@ -84,7 +84,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_logFileCmdWithSpace_saveLogFilena
const char* kLogFileCmdWithSpace[argc] = { "stub", "--log", "mo ck_filename" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kLogFileCmdWithSpace, i);
@ -102,7 +102,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noDeamonCmd_daemonFalse)
const char* kNoDeamonCmd[argc] = { "stub", "-f" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kNoDeamonCmd, i);
@ -118,7 +118,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_deamonCmd_daemonTrue)
const char* kDeamonCmd[argc] = { "stub", "--daemon" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kDeamonCmd, i);
@ -134,7 +134,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_nameCmd_saveName)
const char* kNameCmd[argc] = { "stub", "--name", "mock" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kNameCmd, i);
@ -150,7 +150,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noRestartCmd_restartFalse)
const char* kNoRestartCmd[argc] = { "stub", "--no-restart" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kNoRestartCmd, i);
@ -166,7 +166,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_restartCmd_restartTrue)
const char* kRestartCmd[argc] = { "stub", "--restart" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kRestartCmd, i);
@ -182,7 +182,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_backendCmd_backendTrue)
const char* kBackendCmd[argc] = { "stub", "-z" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kBackendCmd, i);
@ -198,7 +198,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noHookCmd_noHookTrue)
const char* kNoHookCmd[argc] = { "stub", "--no-hooks" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kNoHookCmd, i);
@ -216,7 +216,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_helpCmd_showHelp)
NiceMock<MockApp> app;
ArgParser argParser(&app);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
ON_CALL(app, help()).WillByDefault(Invoke(showMockHelp));
@ -236,7 +236,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_versionCmd_showVersion)
NiceMock<MockApp> app;
ArgParser argParser(&app);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
ON_CALL(app, version()).WillByDefault(Invoke(showMockVersion));
@ -253,7 +253,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_noTrayCmd_disableTrayTrue)
const char* kNoTrayCmd[argc] = { "stub", "--no-tray" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kNoTrayCmd, i);
@ -269,7 +269,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_ipcCmd_enableIpcTrue)
const char* kIpcCmd[argc] = { "stub", "--ipc" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kIpcCmd, i);
@ -304,7 +304,7 @@ TEST(GenericArgsParsingTests, parseGenericArgs_dragDropCmdOnLinux_enableDragDrop
const char* kDragDropCmd[argc] = { "stub", "--enable-drag-drop" };
ArgParser argParser(NULL);
ArgsBase argsBase;
lib::synergy::ArgsBase argsBase;
argParser.setArgsBase(argsBase);
argParser.parseGenericArgs(argc, kDragDropCmd, i);

View file

@ -42,7 +42,7 @@ TEST(ServerArgsParsingTests, parseServerArgs_addressArg_setSynergyAddress)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
const int argc = 3;
const char* kAddressCmd[argc] = { "stub", "--address", "mock_address" };
@ -56,7 +56,7 @@ TEST(ServerArgsParsingTests, parseServerArgs_configArg_setConfigFile)
NiceMock<MockArgParser> argParser;
ON_CALL(argParser, parseGenericArgs(_, _, _)).WillByDefault(Invoke(server_stubParseGenericArgs));
ON_CALL(argParser, checkUnexpectedArgs()).WillByDefault(Invoke(server_stubCheckUnexpectedArgs));
ServerArgs serverArgs;
lib::synergy::ServerArgs serverArgs;
const int argc = 3;
const char* kConfigCmd[argc] = { "stub", "--config", "mock_configFile" };