diff --git a/src/apps/deskflow-client/MSWindowsClientTaskBarReceiver.cpp b/src/apps/deskflow-client/MSWindowsClientTaskBarReceiver.cpp index b09a93be8..b3fbf2ac8 100644 --- a/src/apps/deskflow-client/MSWindowsClientTaskBarReceiver.cpp +++ b/src/apps/deskflow-client/MSWindowsClientTaskBarReceiver.cpp @@ -211,7 +211,7 @@ void MSWindowsClientTaskBarReceiver::copyLog() const { if (m_logBuffer != NULL) { // collect log buffer - String data; + std::string data; for (BufferedLogOutputter::const_iterator index = m_logBuffer->begin(); index != m_logBuffer->end(); ++index) { data += *index; data += "\n"; diff --git a/src/apps/deskflow-server/MSWindowsServerTaskBarReceiver.cpp b/src/apps/deskflow-server/MSWindowsServerTaskBarReceiver.cpp index eb6ee5c0d..b42926683 100644 --- a/src/apps/deskflow-server/MSWindowsServerTaskBarReceiver.cpp +++ b/src/apps/deskflow-server/MSWindowsServerTaskBarReceiver.cpp @@ -238,7 +238,7 @@ void MSWindowsServerTaskBarReceiver::copyLog() const { if (m_logBuffer != NULL) { // collect log buffer - String data; + std::string data; for (BufferedLogOutputter::const_iterator index = m_logBuffer->begin(); index != m_logBuffer->end(); ++index) { data += *index; data += "\n"; diff --git a/src/lib/arch/IArchDaemon.h b/src/lib/arch/IArchDaemon.h index 4c9ccf115..22b06d927 100644 --- a/src/lib/arch/IArchDaemon.h +++ b/src/lib/arch/IArchDaemon.h @@ -18,8 +18,8 @@ #pragma once -#include "base/String.h" #include "common/IInterface.h" +#include //! Interface for architecture dependent daemonizing /*! diff --git a/src/lib/arch/IArchFile.h b/src/lib/arch/IArchFile.h index 80f63651d..c7b3563da 100644 --- a/src/lib/arch/IArchFile.h +++ b/src/lib/arch/IArchFile.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "common/IInterface.h" #include "common/stdstring.h" @@ -93,12 +92,12 @@ public: /* Returns the user's profile directory. */ - virtual void setProfileDirectory(const String &s) = 0; + virtual void setProfileDirectory(const std::string &s) = 0; //@} //! Set the user's plugin directory /* Returns the user's plugin directory. */ - virtual void setPluginDirectory(const String &s) = 0; + virtual void setPluginDirectory(const std::string &s) = 0; }; diff --git a/src/lib/arch/IArchTaskBarReceiver.h b/src/lib/arch/IArchTaskBarReceiver.h index 903da8f5e..59a1c5e81 100644 --- a/src/lib/arch/IArchTaskBarReceiver.h +++ b/src/lib/arch/IArchTaskBarReceiver.h @@ -18,9 +18,10 @@ #pragma once -#include "base/String.h" #include "common/IInterface.h" +#include + class IScreen; class INode; @@ -91,7 +92,7 @@ public: */ virtual std::string getToolTip() const = 0; - virtual void updateStatus(INode *, const String &errorMsg) = 0; + virtual void updateStatus(INode *, const std::string &errorMsg) = 0; virtual void cleanup() { diff --git a/src/lib/arch/unix/ArchFileUnix.cpp b/src/lib/arch/unix/ArchFileUnix.cpp index 0f04336e0..3644e2a5e 100644 --- a/src/lib/arch/unix/ArchFileUnix.cpp +++ b/src/lib/arch/unix/ArchFileUnix.cpp @@ -146,12 +146,12 @@ std::string ArchFileUnix::concatPath(const std::string &prefix, const std::strin return path; } -void ArchFileUnix::setProfileDirectory(const String &s) +void ArchFileUnix::setProfileDirectory(const std::string &s) { m_profileDirectory = s; } -void ArchFileUnix::setPluginDirectory(const String &s) +void ArchFileUnix::setPluginDirectory(const std::string &s) { m_pluginDirectory = s; } diff --git a/src/lib/arch/unix/ArchFileUnix.h b/src/lib/arch/unix/ArchFileUnix.h index d30f5f846..fa684cf28 100644 --- a/src/lib/arch/unix/ArchFileUnix.h +++ b/src/lib/arch/unix/ArchFileUnix.h @@ -38,10 +38,10 @@ public: virtual std::string getPluginDirectory(); virtual std::string getProfileDirectory(); virtual std::string concatPath(const std::string &prefix, const std::string &suffix); - virtual void setProfileDirectory(const String &s); - virtual void setPluginDirectory(const String &s); + virtual void setProfileDirectory(const std::string &s); + virtual void setPluginDirectory(const std::string &s); private: - String m_profileDirectory; - String m_pluginDirectory; + std::string m_profileDirectory; + std::string m_pluginDirectory; }; diff --git a/src/lib/arch/win32/ArchFileWindows.cpp b/src/lib/arch/win32/ArchFileWindows.cpp index fef30154b..d6706ba31 100644 --- a/src/lib/arch/win32/ArchFileWindows.cpp +++ b/src/lib/arch/win32/ArchFileWindows.cpp @@ -143,7 +143,7 @@ std::string ArchFileWindows::getPluginDirectory() std::string ArchFileWindows::getProfileDirectory() { - String dir; + std::string dir; if (!m_profileDirectory.empty()) { dir = m_profileDirectory; } else { @@ -173,12 +173,12 @@ std::string ArchFileWindows::concatPath(const std::string &prefix, const std::st return path; } -void ArchFileWindows::setProfileDirectory(const String &s) +void ArchFileWindows::setProfileDirectory(const std::string &s) { m_profileDirectory = s; } -void ArchFileWindows::setPluginDirectory(const String &s) +void ArchFileWindows::setPluginDirectory(const std::string &s) { m_pluginDirectory = s; } diff --git a/src/lib/arch/win32/ArchFileWindows.h b/src/lib/arch/win32/ArchFileWindows.h index ff1ed8d31..61ceba52f 100644 --- a/src/lib/arch/win32/ArchFileWindows.h +++ b/src/lib/arch/win32/ArchFileWindows.h @@ -38,10 +38,10 @@ public: virtual std::string getPluginDirectory(); virtual std::string getProfileDirectory(); virtual std::string concatPath(const std::string &prefix, const std::string &suffix); - virtual void setProfileDirectory(const String &s); - virtual void setPluginDirectory(const String &s); + virtual void setProfileDirectory(const std::string &s); + virtual void setPluginDirectory(const std::string &s); private: - String m_profileDirectory; - String m_pluginDirectory; + std::string m_profileDirectory; + std::string m_pluginDirectory; }; diff --git a/src/lib/arch/win32/ArchMiscWindows.cpp b/src/lib/arch/win32/ArchMiscWindows.cpp index 59a1f8b81..c06ae6cfd 100644 --- a/src/lib/arch/win32/ArchMiscWindows.cpp +++ b/src/lib/arch/win32/ArchMiscWindows.cpp @@ -384,7 +384,7 @@ void ArchMiscWindows::wakeupDisplay() bool ArchMiscWindows::wasLaunchedAsService() { - String name; + std::string name; if (!getParentProcessName(name)) { LOG((CLOG_ERR "cannot determine if process was launched as service")); return false; @@ -393,7 +393,7 @@ bool ArchMiscWindows::wasLaunchedAsService() return (name == SERVICE_LAUNCHER); } -bool ArchMiscWindows::getParentProcessName(String &name) +bool ArchMiscWindows::getParentProcessName(std::string &name) { PROCESSENTRY32 parentEntry; if (!getParentProcessEntry(parentEntry)) { diff --git a/src/lib/arch/win32/ArchMiscWindows.h b/src/lib/arch/win32/ArchMiscWindows.h index e9800aafc..abb3b7b31 100644 --- a/src/lib/arch/win32/ArchMiscWindows.h +++ b/src/lib/arch/win32/ArchMiscWindows.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "common/stdset.h" #include "common/stdstring.h" @@ -164,7 +163,7 @@ public: static bool wasLaunchedAsService(); //! Returns true if we got the parent process name. - static bool getParentProcessName(String &name); + static bool getParentProcessName(std::string &name); static HINSTANCE instanceWin32(); diff --git a/src/lib/base/EventQueue.cpp b/src/lib/base/EventQueue.cpp index fa9df6f3d..3ba9c6bf6 100644 --- a/src/lib/base/EventQueue.cpp +++ b/src/lib/base/EventQueue.cpp @@ -510,7 +510,7 @@ double EventQueue::getNextTimerTimeout() const return m_timerQueue.top(); } -Event::Type EventQueue::getRegisteredType(const String &name) const +Event::Type EventQueue::getRegisteredType(const std::string &name) const { NameMap::const_iterator found = m_nameMap.find(name); if (found != m_nameMap.end()) diff --git a/src/lib/base/EventQueue.h b/src/lib/base/EventQueue.h index 309a60152..84a95923b 100644 --- a/src/lib/base/EventQueue.h +++ b/src/lib/base/EventQueue.h @@ -63,7 +63,7 @@ public: virtual bool isEmpty() const; virtual IEventJob *getHandler(Event::Type type, void *target) const; virtual const char *getTypeName(Event::Type type); - virtual Event::Type getRegisteredType(const String &name) const; + virtual Event::Type getRegisteredType(const std::string &name) const; void *getSystemTarget(); virtual void waitForReady() const; @@ -107,7 +107,7 @@ private: using EventTable = std::map; using EventIDList = std::vector; using TypeMap = std::map; - using NameMap = std::map; + using NameMap = std::map; using TypeHandlerTable = std::map; using HandlerTable = std::map; diff --git a/src/lib/base/IEventQueue.h b/src/lib/base/IEventQueue.h index 8175cd273..6c8147c25 100644 --- a/src/lib/base/IEventQueue.h +++ b/src/lib/base/IEventQueue.h @@ -19,8 +19,8 @@ #pragma once #include "base/Event.h" -#include "base/String.h" #include "common/IInterface.h" +#include class IEventJob; class IEventQueueBuffer; @@ -211,7 +211,7 @@ public: /*! Returns the registered type for an event for a given name. */ - virtual Event::Type getRegisteredType(const String &name) const = 0; + virtual Event::Type getRegisteredType(const std::string &name) const = 0; //! Get the system event type target /*! diff --git a/src/lib/base/Path.cpp b/src/lib/base/Path.cpp index b3d812fbb..efc4b8deb 100644 --- a/src/lib/base/Path.cpp +++ b/src/lib/base/Path.cpp @@ -26,7 +26,7 @@ namespace filesystem { #ifdef SYSAPI_WIN32 -std::wstring path(const String &filePath) +std::wstring path(const std::string &filePath) { std::wstring result; @@ -40,7 +40,7 @@ std::wstring path(const String &filePath) } #else -std::string path(const String &filePath) +std::string path(const std::string &filePath) { return filePath; } diff --git a/src/lib/base/Path.h b/src/lib/base/Path.h index 45f1bad9f..4925c3135 100644 --- a/src/lib/base/Path.h +++ b/src/lib/base/Path.h @@ -16,16 +16,17 @@ */ #pragma once -#include "String.h" +#include +#include namespace deskflow { namespace filesystem { #ifdef SYSAPI_WIN32 -std::wstring path(const String &filePath); +std::wstring path(const std::string &filePath); #else -std::string path(const String &filePath); +std::string path(const std::string &filePath); #endif } // namespace filesystem diff --git a/src/lib/base/String.cpp b/src/lib/base/String.cpp index 9b73883f1..003071ca5 100644 --- a/src/lib/base/String.cpp +++ b/src/lib/base/String.cpp @@ -30,20 +30,21 @@ #include #include #include +#include namespace deskflow { namespace string { -String format(const char *fmt, ...) +std::string format(const char *fmt, ...) { va_list args; va_start(args, fmt); - String result = vformat(fmt, args); + std::string result = vformat(fmt, args); va_end(args); return result; } -String vformat(const char *fmt, va_list args) +std::string vformat(const char *fmt, va_list args) { // find highest indexed substitution and the locations of substitutions std::vector pos; @@ -108,7 +109,7 @@ String vformat(const char *fmt, va_list args) } // substitute - String result; + std::string result; result.reserve(resultLength); size_t src = 0; for (int i = 0; i < n; ++i) { @@ -121,12 +122,12 @@ String vformat(const char *fmt, va_list args) return result; } -String sprintf(const char *fmt, ...) +std::string sprintf(const char *fmt, ...) { char tmp[1024]; char *buffer = tmp; int len = (int)(sizeof(tmp) / sizeof(tmp[0])); - String result; + std::string result; while (buffer != NULL) { // try printing into the buffer va_list args; @@ -156,27 +157,27 @@ String sprintf(const char *fmt, ...) return result; } -void findReplaceAll(String &subject, const String &find, const String &replace) +void findReplaceAll(std::string &subject, const std::string &find, const std::string &replace) { size_t pos = 0; - while ((pos = subject.find(find, pos)) != String::npos) { + while ((pos = subject.find(find, pos)) != std::string::npos) { subject.replace(pos, find.length(), replace); pos += replace.length(); } } -String removeFileExt(String filename) +std::string removeFileExt(std::string filename) { size_t dot = filename.find_last_of('.'); - if (dot == String::npos) { + if (dot == std::string::npos) { return filename; } return filename.substr(0, dot); } -void toHex(String &subject, int width, const char fill) +void toHex(std::string &subject, int width, const char fill) { std::stringstream ss; ss << std::hex; @@ -187,24 +188,24 @@ void toHex(String &subject, int width, const char fill) subject = ss.str(); } -void uppercase(String &subject) +void uppercase(std::string &subject) { std::transform(subject.begin(), subject.end(), subject.begin(), ::toupper); } -void removeChar(String &subject, const char c) +void removeChar(std::string &subject, const char c) { subject.erase(std::remove(subject.begin(), subject.end(), c), subject.end()); } -String sizeTypeToString(size_t n) +std::string sizeTypeToString(size_t n) { std::stringstream ss; ss << n; return ss.str(); } -size_t stringToSizeType(String string) +size_t stringToSizeType(std::string string) { std::istringstream iss(string); size_t value; @@ -212,13 +213,13 @@ size_t stringToSizeType(String string) return value; } -std::vector splitString(String string, const char c) +std::vector splitString(std::string string, const char c) { - std::vector results; + std::vector results; size_t head = 0; size_t separator = string.find(c); - while (separator != String::npos) { + while (separator != std::string::npos) { if (head != separator) { results.push_back(string.substr(head, separator - head)); } @@ -237,31 +238,31 @@ std::vector splitString(String string, const char c) // CaselessCmp // -bool CaselessCmp::cmpEqual(const String::value_type &a, const String::value_type &b) +bool CaselessCmp::operator()(const std::string &a, const std::string &b) const { - // should use std::tolower but not in all versions of libstdc++ have it - return tolower(a) == tolower(b); + return less(a, b); } -bool CaselessCmp::cmpLess(const String::value_type &a, const String::value_type &b) +bool CaselessCmp::less(const std::string &a, const std::string &b) +{ + return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end(), &deskflow::string::CaselessCmp::cmpLess); +} + +bool CaselessCmp::equal(const std::string &a, const std::string &b) +{ + return !(less(a, b) || less(b, a)); +} + +bool CaselessCmp::cmpLess(const std::string::value_type &a, const std::string::value_type &b) { // should use std::tolower but not in all versions of libstdc++ have it return tolower(a) < tolower(b); } -bool CaselessCmp::less(const String &a, const String &b) +bool CaselessCmp::cmpEqual(const std::string::value_type &a, const std::string::value_type &b) { - return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end(), &deskflow::string::CaselessCmp::cmpLess); -} - -bool CaselessCmp::equal(const String &a, const String &b) -{ - return !(less(a, b) || less(b, a)); -} - -bool CaselessCmp::operator()(const String &a, const String &b) const -{ - return less(a, b); + // should use std::tolower but not in all versions of libstdc++ have it + return tolower(a) == tolower(b); } } // namespace string diff --git a/src/lib/base/String.h b/src/lib/base/String.h index 6bd53f41a..f38fdf3ee 100644 --- a/src/lib/base/String.h +++ b/src/lib/base/String.h @@ -24,12 +24,9 @@ #include #include -// use standard C++ string class for our string class -using String = std::string; - namespace deskflow { -//! String utilities +//! std::string utilities /*! Provides functions for string manipulation. */ @@ -45,67 +42,67 @@ characters and conversion specifications introduced by `\%': All arguments in the variable list are const char*. Positional elements are indexed from 1. */ -String format(const char *fmt, ...); +std::string format(const char *fmt, ...); //! Format positional arguments /*! Same as format() except takes va_list. */ -String vformat(const char *fmt, va_list); +std::string vformat(const char *fmt, va_list); //! Print a string using sprintf-style formatting /*! Equivalent to sprintf() except the result is returned as a String. */ -String sprintf(const char *fmt, ...); +std::string sprintf(const char *fmt, ...); //! Find and replace all /*! Finds \c find inside \c subject and replaces it with \c replace */ -void findReplaceAll(String &subject, const String &find, const String &replace); +void findReplaceAll(std::string &subject, const std::string &find, const std::string &replace); //! Remove file extension /*! Finds the last dot and remove all characters from the dot to the end */ -String removeFileExt(String filename); +std::string removeFileExt(std::string filename); //! Convert into hexdecimal /*! Convert each character in \c subject into hexdecimal form with \c width */ -void toHex(String &subject, int width, const char fill = '0'); +void toHex(std::string &subject, int width, const char fill = '0'); //! Convert to all uppercase /*! Convert each character in \c subject to uppercase */ -void uppercase(String &subject); +void uppercase(std::string &subject); //! Remove all specific char in suject /*! Remove all specific \c c in \c suject */ -void removeChar(String &subject, const char c); +void removeChar(std::string &subject, const char c); //! Convert a size type to a string /*! Convert an size type to a string */ -String sizeTypeToString(size_t n); +std::string sizeTypeToString(size_t n); //! Convert a string to a size type /*! Convert an a \c string to an size type */ -size_t stringToSizeType(String string); +size_t stringToSizeType(std::string string); //! Split a string into substrings /*! Split a \c string that separated by a \c c into substrings */ -std::vector splitString(String string, const char c); +std::vector splitString(std::string string, const char c); //! Case-insensitive comparisons /*! @@ -115,19 +112,19 @@ class CaselessCmp { public: //! Same as less() - bool operator()(const String &a, const String &b) const; + bool operator()(const std::string &a, const std::string &b) const; //! Returns true iff \c a is lexicographically less than \c b - static bool less(const String &a, const String &b); + static bool less(const std::string &a, const std::string &b); //! Returns true iff \c a is lexicographically equal to \c b - static bool equal(const String &a, const String &b); + static bool equal(const std::string &a, const std::string &b); //! Returns true iff \c a is lexicographically less than \c b - static bool cmpLess(const String::value_type &a, const String::value_type &b); + static bool cmpLess(const std::string::value_type &a, const std::string::value_type &b); //! Returns true iff \c a is lexicographically equal to \c b - static bool cmpEqual(const String::value_type &a, const String::value_type &b); + static bool cmpEqual(const std::string::value_type &a, const std::string::value_type &b); }; } // namespace string diff --git a/src/lib/base/Unicode.cpp b/src/lib/base/Unicode.cpp index 15acd8530..ec200dc17 100644 --- a/src/lib/base/Unicode.cpp +++ b/src/lib/base/Unicode.cpp @@ -84,7 +84,7 @@ inline static void setError(bool *errors) UInt32 Unicode::s_invalid = 0x0000ffff; UInt32 Unicode::s_replacement = 0x0000fffd; -bool Unicode::isUTF8(const String &src) +bool Unicode::isUTF8(const std::string &src) { // convert and test each character const UInt8 *data = reinterpret_cast(src.c_str()); @@ -96,14 +96,14 @@ bool Unicode::isUTF8(const String &src) return true; } -String Unicode::UTF8ToUCS2(const String &src, bool *errors) +std::string Unicode::UTF8ToUCS2(const std::string &src, bool *errors) { // default to success resetError(errors); // get size of input string and reserve some space in output UInt32 n = (UInt32)src.size(); - String dst; + std::string dst; dst.reserve(2 * n); // convert each character @@ -123,14 +123,14 @@ String Unicode::UTF8ToUCS2(const String &src, bool *errors) return dst; } -String Unicode::UTF8ToUCS4(const String &src, bool *errors) +std::string Unicode::UTF8ToUCS4(const std::string &src, bool *errors) { // default to success resetError(errors); // get size of input string and reserve some space in output UInt32 n = (UInt32)src.size(); - String dst; + std::string dst; dst.reserve(4 * n); // convert each character @@ -146,14 +146,14 @@ String Unicode::UTF8ToUCS4(const String &src, bool *errors) return dst; } -String Unicode::UTF8ToUTF16(const String &src, bool *errors) +std::string Unicode::UTF8ToUTF16(const std::string &src, bool *errors) { // default to success resetError(errors); // get size of input string and reserve some space in output UInt32 n = (UInt32)src.size(); - String dst; + std::string dst; dst.reserve(2 * n); // convert each character @@ -181,14 +181,14 @@ String Unicode::UTF8ToUTF16(const String &src, bool *errors) return dst; } -String Unicode::UTF8ToUTF32(const String &src, bool *errors) +std::string Unicode::UTF8ToUTF32(const std::string &src, bool *errors) { // default to success resetError(errors); // get size of input string and reserve some space in output UInt32 n = (UInt32)src.size(); - String dst; + std::string dst; dst.reserve(4 * n); // convert each character @@ -207,7 +207,7 @@ String Unicode::UTF8ToUTF32(const String &src, bool *errors) return dst; } -String Unicode::UTF8ToText(const String &src, bool *errors) +std::string Unicode::UTF8ToText(const std::string &src, bool *errors) { // default to success resetError(errors); @@ -220,7 +220,7 @@ String Unicode::UTF8ToText(const String &src, bool *errors) int len = ARCH->convStringWCToMB(NULL, tmp, size, errors); char *mbs = new char[len + 1]; ARCH->convStringWCToMB(mbs, tmp, size, errors); - String text(mbs, len); + std::string text(mbs, len); // clean up delete[] mbs; @@ -229,7 +229,7 @@ String Unicode::UTF8ToText(const String &src, bool *errors) return text; } -String Unicode::UCS2ToUTF8(const String &src, bool *errors) +std::string Unicode::UCS2ToUTF8(const std::string &src, bool *errors) { // default to success resetError(errors); @@ -239,7 +239,7 @@ String Unicode::UCS2ToUTF8(const String &src, bool *errors) return doUCS2ToUTF8(reinterpret_cast(src.data()), n, errors); } -String Unicode::UCS4ToUTF8(const String &src, bool *errors) +std::string Unicode::UCS4ToUTF8(const std::string &src, bool *errors) { // default to success resetError(errors); @@ -249,7 +249,7 @@ String Unicode::UCS4ToUTF8(const String &src, bool *errors) return doUCS4ToUTF8(reinterpret_cast(src.data()), n, errors); } -String Unicode::UTF16ToUTF8(const String &src, bool *errors) +std::string Unicode::UTF16ToUTF8(const std::string &src, bool *errors) { // default to success resetError(errors); @@ -259,7 +259,7 @@ String Unicode::UTF16ToUTF8(const String &src, bool *errors) return doUTF16ToUTF8(reinterpret_cast(src.data()), n, errors); } -String Unicode::UTF32ToUTF8(const String &src, bool *errors) +std::string Unicode::UTF32ToUTF8(const std::string &src, bool *errors) { // default to success resetError(errors); @@ -269,7 +269,7 @@ String Unicode::UTF32ToUTF8(const String &src, bool *errors) return doUTF32ToUTF8(reinterpret_cast(src.data()), n, errors); } -String Unicode::textToUTF8(const String &src, bool *errors, IArchString::EWideCharEncoding encoding) +std::string Unicode::textToUTF8(const std::string &src, bool *errors, IArchString::EWideCharEncoding encoding) { // default to success resetError(errors); @@ -281,7 +281,7 @@ String Unicode::textToUTF8(const String &src, bool *errors, IArchString::EWideCh ARCH->convStringMBToWC(wcs, src.c_str(), n, errors); // convert to UTF8 - String utf8 = wideCharToUTF8(wcs, len, errors, encoding); + std::string utf8 = wideCharToUTF8(wcs, len, errors, encoding); // clean up delete[] wcs; @@ -289,10 +289,10 @@ String Unicode::textToUTF8(const String &src, bool *errors, IArchString::EWideCh return utf8; } -wchar_t *Unicode::UTF8ToWideChar(const String &src, UInt32 &size, bool *errors) +wchar_t *Unicode::UTF8ToWideChar(const std::string &src, UInt32 &size, bool *errors) { // convert to platform's wide character encoding - String tmp; + std::string tmp; switch (ARCH->getWideCharEncoding()) { case IArchString::kUCS2: tmp = UTF8ToUCS2(src, errors); @@ -324,7 +324,8 @@ wchar_t *Unicode::UTF8ToWideChar(const String &src, UInt32 &size, bool *errors) return dst; } -String Unicode::wideCharToUTF8(const wchar_t *src, UInt32 size, bool *errors, IArchString::EWideCharEncoding encoding) +std::string +Unicode::wideCharToUTF8(const wchar_t *src, UInt32 size, bool *errors, IArchString::EWideCharEncoding encoding) { if (encoding == IArchString::kPlatformDetermined) { encoding = ARCH->getWideCharEncoding(); @@ -347,14 +348,14 @@ String Unicode::wideCharToUTF8(const wchar_t *src, UInt32 size, bool *errors, IA default: assert(0 && "unknown wide character encoding"); - return String(); + return std::string(); } } -String Unicode::doUCS2ToUTF8(const UInt8 *data, UInt32 n, bool *errors) +std::string Unicode::doUCS2ToUTF8(const UInt8 *data, UInt32 n, bool *errors) { // make some space - String dst; + std::string dst; dst.reserve(n); // check if first character is 0xfffe or 0xfeff @@ -387,10 +388,10 @@ String Unicode::doUCS2ToUTF8(const UInt8 *data, UInt32 n, bool *errors) return dst; } -String Unicode::doUCS4ToUTF8(const UInt8 *data, UInt32 n, bool *errors) +std::string Unicode::doUCS4ToUTF8(const UInt8 *data, UInt32 n, bool *errors) { // make some space - String dst; + std::string dst; dst.reserve(n); // check if first character is 0xfffe or 0xfeff @@ -423,10 +424,10 @@ String Unicode::doUCS4ToUTF8(const UInt8 *data, UInt32 n, bool *errors) return dst; } -String Unicode::doUTF16ToUTF8(const UInt8 *data, UInt32 n, bool *errors) +std::string Unicode::doUTF16ToUTF8(const UInt8 *data, UInt32 n, bool *errors) { // make some space - String dst; + std::string dst; dst.reserve(n); // check if first character is 0xfffe or 0xfeff @@ -482,10 +483,10 @@ String Unicode::doUTF16ToUTF8(const UInt8 *data, UInt32 n, bool *errors) return dst; } -String Unicode::doUTF32ToUTF8(const UInt8 *data, UInt32 n, bool *errors) +std::string Unicode::doUTF32ToUTF8(const UInt8 *data, UInt32 n, bool *errors) { // make some space - String dst; + std::string dst; dst.reserve(n); // check if first character is 0xfffe or 0xfeff @@ -672,7 +673,7 @@ UInt32 Unicode::fromUTF8(const UInt8 *&data, UInt32 &n) return c; } -void Unicode::toUTF8(String &dst, UInt32 c, bool *errors) +void Unicode::toUTF8(std::string &dst, UInt32 c, bool *errors) { UInt8 data[6]; diff --git a/src/lib/base/Unicode.h b/src/lib/base/Unicode.h index bd076934a..28ab2729c 100644 --- a/src/lib/base/Unicode.h +++ b/src/lib/base/Unicode.h @@ -19,8 +19,8 @@ #pragma once #include "arch/IArchString.h" -#include "base/String.h" #include "common/basic_types.h" +#include //! Unicode utility functions /*! @@ -38,7 +38,7 @@ public: Returns true iff the string contains a valid sequence of UTF-8 encoded characters. */ - static bool isUTF8(const String &); + static bool isUTF8(const std::string &); //! Convert from UTF-8 to UCS-2 encoding /*! @@ -46,7 +46,7 @@ public: is set to true iff any character could not be encoded in UCS-2. Decoding errors do not set *errors. */ - static String UTF8ToUCS2(const String &, bool *errors = NULL); + static std::string UTF8ToUCS2(const std::string &, bool *errors = NULL); //! Convert from UTF-8 to UCS-4 encoding /*! @@ -54,7 +54,7 @@ public: is set to true iff any character could not be encoded in UCS-4. Decoding errors do not set *errors. */ - static String UTF8ToUCS4(const String &, bool *errors = NULL); + static std::string UTF8ToUCS4(const std::string &, bool *errors = NULL); //! Convert from UTF-8 to UTF-16 encoding /*! @@ -62,7 +62,7 @@ public: is set to true iff any character could not be encoded in UTF-16. Decoding errors do not set *errors. */ - static String UTF8ToUTF16(const String &, bool *errors = NULL); + static std::string UTF8ToUTF16(const std::string &, bool *errors = NULL); //! Convert from UTF-8 to UTF-32 encoding /*! @@ -70,7 +70,7 @@ public: is set to true iff any character could not be encoded in UTF-32. Decoding errors do not set *errors. */ - static String UTF8ToUTF32(const String &, bool *errors = NULL); + static std::string UTF8ToUTF32(const std::string &, bool *errors = NULL); //! Convert from UTF-8 to the current locale encoding /*! @@ -78,43 +78,44 @@ public: NULL then *errors is set to true iff any character could not be encoded. Decoding errors do not set *errors. */ - static String UTF8ToText(const String &, bool *errors = NULL); + static std::string UTF8ToText(const std::string &, bool *errors = NULL); //! Convert from UCS-2 to UTF-8 /*! Convert from UCS-2 to UTF-8. If errors is not NULL then *errors is set to true iff any character could not be decoded. */ - static String UCS2ToUTF8(const String &, bool *errors = NULL); + static std::string UCS2ToUTF8(const std::string &, bool *errors = NULL); //! Convert from UCS-4 to UTF-8 /*! Convert from UCS-4 to UTF-8. If errors is not NULL then *errors is set to true iff any character could not be decoded. */ - static String UCS4ToUTF8(const String &, bool *errors = NULL); + static std::string UCS4ToUTF8(const std::string &, bool *errors = NULL); //! Convert from UTF-16 to UTF-8 /*! Convert from UTF-16 to UTF-8. If errors is not NULL then *errors is set to true iff any character could not be decoded. */ - static String UTF16ToUTF8(const String &, bool *errors = NULL); + static std::string UTF16ToUTF8(const std::string &, bool *errors = NULL); //! Convert from UTF-32 to UTF-8 /*! Convert from UTF-32 to UTF-8. If errors is not NULL then *errors is set to true iff any character could not be decoded. */ - static String UTF32ToUTF8(const String &, bool *errors = NULL); + static std::string UTF32ToUTF8(const std::string &, bool *errors = NULL); //! Convert from the current locale encoding to UTF-8 /*! Convert from the current locale encoding to UTF-8. If errors is not NULL then *errors is set to true iff any character could not be decoded. */ - static String textToUTF8( - const String &, bool *errors = nullptr, IArchString::EWideCharEncoding encoding = IArchString::kPlatformDetermined + static std::string textToUTF8( + const std::string &, bool *errors = nullptr, + IArchString::EWideCharEncoding encoding = IArchString::kPlatformDetermined ); //@} @@ -124,24 +125,24 @@ private: // to the platform). caller must delete[] the returned string. the // string is *not* nul terminated; the length (in characters) is // returned in size. - static wchar_t *UTF8ToWideChar(const String &, UInt32 &size, bool *errors); + static wchar_t *UTF8ToWideChar(const std::string &, UInt32 &size, bool *errors); // convert nul terminated wchar_t string (in platform's native // encoding) to UTF8. - static String wideCharToUTF8( + static std::string wideCharToUTF8( const wchar_t *, UInt32 size, bool *errors, IArchString::EWideCharEncoding encoding = IArchString::kPlatformDetermined ); // internal conversion to UTF8 - static String doUCS2ToUTF8(const UInt8 *src, UInt32 n, bool *errors); - static String doUCS4ToUTF8(const UInt8 *src, UInt32 n, bool *errors); - static String doUTF16ToUTF8(const UInt8 *src, UInt32 n, bool *errors); - static String doUTF32ToUTF8(const UInt8 *src, UInt32 n, bool *errors); + static std::string doUCS2ToUTF8(const UInt8 *src, UInt32 n, bool *errors); + static std::string doUCS4ToUTF8(const UInt8 *src, UInt32 n, bool *errors); + static std::string doUTF16ToUTF8(const UInt8 *src, UInt32 n, bool *errors); + static std::string doUTF32ToUTF8(const UInt8 *src, UInt32 n, bool *errors); // convert characters to/from UTF8 static UInt32 fromUTF8(const UInt8 *&src, UInt32 &size); - static void toUTF8(String &dst, UInt32 c, bool *errors); + static void toUTF8(std::string &dst, UInt32 c, bool *errors); private: static UInt32 s_invalid; diff --git a/src/lib/base/XBase.cpp b/src/lib/base/XBase.cpp index 8dd1bd12d..f7a594caa 100644 --- a/src/lib/base/XBase.cpp +++ b/src/lib/base/XBase.cpp @@ -32,7 +32,7 @@ XBase::XBase() : std::runtime_error("") // do nothing } -XBase::XBase(const String &msg) : std::runtime_error(msg) +XBase::XBase(const std::string &msg) : std::runtime_error(msg) { // do nothing } @@ -52,13 +52,13 @@ const char *XBase::what() const _NOEXCEPT return m_what.c_str(); } -String XBase::format(const char * /*id*/, const char *fmt, ...) const throw() +std::string XBase::format(const char * /*id*/, const char *fmt, ...) const throw() { // FIXME -- lookup message string using id as an index. set // fmt to that string if it exists. // format - String result; + std::string result; va_list args; va_start(args, fmt); try { diff --git a/src/lib/base/XBase.h b/src/lib/base/XBase.h index 496cc1bcf..2a00c7992 100644 --- a/src/lib/base/XBase.h +++ b/src/lib/base/XBase.h @@ -18,8 +18,8 @@ #pragma once -#include "base/String.h" #include "common/stdexcept.h" +#include //! Exception base class /*! @@ -31,7 +31,7 @@ public: //! Use getWhat() as the result of what() XBase(); //! Use \c msg as the result of what() - XBase(const String &msg); + XBase(const std::string &msg); virtual ~XBase() _NOEXCEPT; //! Reason for exception @@ -39,7 +39,7 @@ public: protected: //! Get a human readable string describing the exception - virtual String getWhat() const throw() + virtual std::string getWhat() const throw() { return ""; } @@ -50,16 +50,16 @@ protected: no format can be found, then replaces positional parameters in the format string and returns the result. */ - virtual String format(const char *id, const char *defaultFormat, ...) const throw(); + virtual std::string format(const char *id, const char *defaultFormat, ...) const throw(); private: - mutable String m_what; + mutable std::string m_what; }; /*! \def XBASE_SUBCLASS Convenience macro to subclass from XBase (or a subclass of it), -providing the c'tor taking a const String&. getWhat() is not +providing the c'tor taking a const std::string&. getWhat() is not declared. */ #define XBASE_SUBCLASS(name_, super_) \ @@ -69,7 +69,7 @@ declared. name_() : super_() \ { \ } \ - name_(const String &msg) : super_(msg) \ + name_(const std::string &msg) : super_(msg) \ { \ } \ virtual ~name_() _NOEXCEPT \ @@ -80,7 +80,7 @@ declared. /*! \def XBASE_SUBCLASS Convenience macro to subclass from XBase (or a subclass of it), -providing the c'tor taking a const String&. getWhat() must be +providing the c'tor taking a const std::string&. getWhat() must be implemented. */ #define XBASE_SUBCLASS_WHAT(name_, super_) \ @@ -90,7 +90,7 @@ implemented. name_() : super_() \ { \ } \ - name_(const String &msg) : super_(msg) \ + name_(const std::string &msg) : super_(msg) \ { \ } \ virtual ~name_() _NOEXCEPT \ @@ -98,13 +98,13 @@ implemented. } \ \ protected: \ - virtual String getWhat() const throw(); \ + virtual std::string getWhat() const throw(); \ } /*! \def XBASE_SUBCLASS_FORMAT Convenience macro to subclass from XBase (or a subclass of it), -providing the c'tor taking a const String&. what() is overridden +providing the c'tor taking a const std::string&. what() is overridden to call getWhat() when first called; getWhat() can format the error message and can call what() to get the message passed to the c'tor. @@ -124,7 +124,7 @@ c'tor. name_() : super_(), m_state(kDone) \ { \ } \ - name_(const String &msg) : super_(msg), m_state(kFirst) \ + name_(const std::string &msg) : super_(msg), m_state(kFirst) \ { \ } \ virtual ~name_() _NOEXCEPT \ @@ -146,7 +146,7 @@ c'tor. } \ \ protected: \ - virtual String getWhat() const throw(); \ + virtual std::string getWhat() const throw(); \ \ private: \ mutable EState m_state; \ diff --git a/src/lib/base/log_outputters.cpp b/src/lib/base/log_outputters.cpp index 081a1d4a7..2cfe0c037 100644 --- a/src/lib/base/log_outputters.cpp +++ b/src/lib/base/log_outputters.cpp @@ -19,6 +19,7 @@ #include "base/log_outputters.h" #include "arch/Arch.h" #include "base/Path.h" +#include "base/String.h" #include "base/TMethodJob.h" #include @@ -205,7 +206,7 @@ bool BufferedLogOutputter::write(ELevel, const char *message) while (m_buffer.size() >= m_maxBufferSize) { m_buffer.pop_front(); } - m_buffer.push_back(String(message)); + m_buffer.push_back(std::string(message)); return true; } @@ -246,7 +247,7 @@ bool FileLogOutputter::write(ELevel level, const char *message) m_handle.close(); if (moveFile) { - String oldLogFilename = deskflow::string::sprintf("%s.1", m_fileName.c_str()); + std::string oldLogFilename = deskflow::string::sprintf("%s.1", m_fileName.c_str()); remove(oldLogFilename.c_str()); rename(m_fileName.c_str(), oldLogFilename.c_str()); } diff --git a/src/lib/base/log_outputters.h b/src/lib/base/log_outputters.h index 03393c91c..8847204b2 100644 --- a/src/lib/base/log_outputters.h +++ b/src/lib/base/log_outputters.h @@ -19,13 +19,13 @@ #pragma once #include "base/ILogOutputter.h" -#include "base/String.h" #include "common/basic_types.h" #include "common/stddeque.h" #include "mt/Thread.h" #include #include +#include //! Stop traversing log chain outputter /*! @@ -137,7 +137,7 @@ This outputter records the last N log messages. class BufferedLogOutputter : public ILogOutputter { private: - using Buffer = std::deque; + using Buffer = std::deque; public: using const_iterator = Buffer::const_iterator; diff --git a/src/lib/client/Client.cpp b/src/lib/client/Client.cpp index 987b047d0..09895ba02 100644 --- a/src/lib/client/Client.cpp +++ b/src/lib/client/Client.cpp @@ -57,7 +57,7 @@ using namespace deskflow::client; // Client::Client( - IEventQueue *events, const String &name, const NetworkAddress &address, ISocketFactory *socketFactory, + IEventQueue *events, const std::string &name, const NetworkAddress &address, ISocketFactory *socketFactory, deskflow::Screen *screen, deskflow::ClientArgs const &args ) : m_mock(false), @@ -299,12 +299,12 @@ void Client::setClipboardDirty(ClipboardID, bool) assert(0 && "shouldn't be called"); } -void Client::keyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) +void Client::keyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) { m_screen->keyDown(id, mask, button, lang); } -void Client::keyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +void Client::keyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) { m_screen->keyRepeat(id, mask, count, button, lang); } @@ -378,7 +378,7 @@ void Client::setOptions(const OptionsList &options) m_screen->setOptions(options); } -String Client::getName() const +std::string Client::getName() const { return m_name; } @@ -402,7 +402,7 @@ void Client::sendClipboard(ClipboardID id) // check time if (m_timeClipboard[id] == 0 || clipboard.getTime() != m_timeClipboard[id]) { // marshall the data - String data = clipboard.marshall(); + std::string data = clipboard.marshall(); if (data.size() >= m_maximumClipboardSize * 1024) { LOG( (CLOG_NOTE "skipping clipboard transfer because the clipboard" @@ -757,7 +757,7 @@ void Client::writeToDropDirThread(void *) DropHelper::writeToDir(m_screen->getDropTarget(), m_dragFileList, m_receivedFileData); } -void Client::dragInfoReceived(UInt32 fileNum, String data) +void Client::dragInfoReceived(UInt32 fileNum, std::string data) { // TODO: fix duplicate function from CServer if (!m_args.m_enableDragDrop) { @@ -798,7 +798,7 @@ void Client::sendFileThread(void *filename) m_sendFileThread.reset(nullptr); } -void Client::sendDragInfo(UInt32 fileCount, String &info, size_t size) +void Client::sendDragInfo(UInt32 fileCount, std::string &info, size_t size) { m_server->sendDragInfo(fileCount, info.c_str(), size); } diff --git a/src/lib/client/Client.h b/src/lib/client/Client.h index f55d8b659..799c71d6e 100644 --- a/src/lib/client/Client.h +++ b/src/lib/client/Client.h @@ -59,7 +59,7 @@ public: { } bool m_retry; - String m_what; + std::string m_what; }; public: @@ -69,7 +69,7 @@ public: to create the socket. \p screen is the local screen. */ Client( - IEventQueue *events, const String &name, const NetworkAddress &address, ISocketFactory *socketFactory, + IEventQueue *events, const std::string &name, const NetworkAddress &address, ISocketFactory *socketFactory, deskflow::Screen *screen, deskflow::ClientArgs const &args ); Client(Client const &) = delete; @@ -109,13 +109,13 @@ public: virtual void handshakeComplete(); //! Received drag information - void dragInfoReceived(UInt32 fileNum, String data); + void dragInfoReceived(UInt32 fileNum, std::string data); //! Create a new thread and use it to send file to Server void sendFileToServer(const char *filename); //! Send dragging file information back to server - void sendDragInfo(UInt32 fileCount, String &info, size_t size); + void sendDragInfo(UInt32 fileCount, std::string &info, size_t size); //@} //! @name accessors @@ -151,7 +151,7 @@ public: } //! Return received file data - String &getReceivedFileData() + std::string &getReceivedFileData() { return m_receivedFileData; } @@ -182,8 +182,8 @@ public: virtual void setClipboard(ClipboardID, const IClipboard *); virtual void grabClipboard(ClipboardID); virtual void setClipboardDirty(ClipboardID, bool); - virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const String &); - virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &lang); + virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &); + virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &lang); virtual void keyUp(KeyID, KeyModifierMask, KeyButton); virtual void mouseDown(ButtonID); virtual void mouseUp(ButtonID); @@ -193,7 +193,7 @@ public: virtual void screensaver(bool activate); virtual void resetOptions(); virtual void setOptions(const OptionsList &options); - virtual String getName() const; + virtual std::string getName() const; private: void sendClipboard(ClipboardID); @@ -233,7 +233,7 @@ public: bool m_mock; private: - String m_name; + std::string m_name; NetworkAddress m_serverAddress; ISocketFactory *m_socketFactory; deskflow::Screen *m_screen; @@ -247,12 +247,12 @@ private: bool m_ownClipboard[kClipboardEnd]; bool m_sentClipboard[kClipboardEnd]; IClipboard::Time m_timeClipboard[kClipboardEnd]; - String m_dataClipboard[kClipboardEnd]; + std::string m_dataClipboard[kClipboardEnd]; IEventQueue *m_events; std::size_t m_expectedFileSize; - String m_receivedFileData; + std::string m_receivedFileData; DragFileList m_dragFileList; - String m_dragFileExt; + std::string m_dragFileExt; using AutoThread = std::unique_ptr; AutoThread m_sendFileThread; AutoThread m_writeToDropDirThread; diff --git a/src/lib/client/ServerProxy.cpp b/src/lib/client/ServerProxy.cpp index 38d82ff12..5f65806d6 100644 --- a/src/lib/client/ServerProxy.cpp +++ b/src/lib/client/ServerProxy.cpp @@ -250,7 +250,7 @@ ServerProxy::EResult ServerProxy::parseMessage(const UInt8 *code) } else if (memcmp(code, kMsgDKeyDownLang, 4) == 0) { - String lang; + std::string lang; UInt16 id = 0; UInt16 mask = 0; UInt16 button = 0; @@ -382,7 +382,7 @@ bool ServerProxy::onGrabClipboard(ClipboardID id) void ServerProxy::onClipboardChanged(ClipboardID id, const IClipboard *clipboard) { - String data = IClipboard::marshall(clipboard); + std::string data = IClipboard::marshall(clipboard); LOG((CLOG_DEBUG "sending clipboard %d seqnum=%d", id, m_seqNum)); StreamChunker::sendClipboard(data, data.size(), id, m_seqNum, m_events, this); @@ -547,7 +547,7 @@ void ServerProxy::leave() void ServerProxy::setClipboard() { // parse - static String dataCached; + static std::string dataCached; ClipboardID id; UInt32 seq; @@ -585,7 +585,7 @@ void ServerProxy::grabClipboard() m_client->grabClipboard(id); } -void ServerProxy::keyDown(UInt16 id, UInt16 mask, UInt16 button, const String &lang) +void ServerProxy::keyDown(UInt16 id, UInt16 mask, UInt16 button, const std::string &lang) { // get mouse up to date flushCompressedMouse(); @@ -608,7 +608,7 @@ void ServerProxy::keyRepeat() // parse UInt16 id, mask, count, button; - String lang; + std::string lang; ProtocolUtil::readf(m_stream, kMsgDKeyRepeat + 4, &id, &mask, &count, &button, &lang); LOG( (CLOG_DEBUG1 "recv key repeat id=0x%08x, mask=0x%04x, count=%d, " @@ -836,7 +836,7 @@ void ServerProxy::fileChunkReceived() m_events->addEvent(Event(m_events->forFile().fileRecieveCompleted(), m_client)); } else if (result == kStart) { if (m_client->getDragFileList().size() > 0) { - String filename = m_client->getDragFileList().at(0).getFilename(); + std::string filename = m_client->getDragFileList().at(0).getFilename(); LOG((CLOG_DEBUG "start receiving %s", filename.c_str())); } } @@ -846,7 +846,7 @@ void ServerProxy::dragInfoReceived() { // parse UInt32 fileNum = 0; - String content; + std::string content; ProtocolUtil::readf(m_stream, kMsgDDragInfo + 4, &fileNum, &content); m_client->dragInfoReceived(fileNum, content); @@ -864,13 +864,13 @@ void ServerProxy::fileChunkSending(UInt8 mark, char *data, size_t dataSize) void ServerProxy::sendDragInfo(UInt32 fileCount, const char *info, size_t size) { - String data(info, size); + std::string data(info, size); ProtocolUtil::writef(m_stream, kMsgDDragInfo, fileCount, &data); } void ServerProxy::secureInputNotification() { - String app; + std::string app; ProtocolUtil::readf(m_stream, kMsgDSecureInputNotification + 4, &app); // display this notification on the client @@ -891,12 +891,12 @@ void ServerProxy::secureInputNotification() void ServerProxy::setServerLanguages() { - String serverLanguages; + std::string serverLanguages; ProtocolUtil::readf(m_stream, kMsgDLanguageSynchronisation + 4, &serverLanguages); m_languageManager.setRemoteLanguages(serverLanguages); } -void ServerProxy::setActiveServerLanguage(const String &language) +void ServerProxy::setActiveServerLanguage(const std::string &language) { if (!language.empty() && std::strlen(language.c_str()) > 0) { if (m_serverLanguage != language) { diff --git a/src/lib/client/ServerProxy.h b/src/lib/client/ServerProxy.h index 743c3393f..1275cbb95 100644 --- a/src/lib/client/ServerProxy.h +++ b/src/lib/client/ServerProxy.h @@ -20,7 +20,6 @@ #include "base/Event.h" #include "base/Stopwatch.h" -#include "base/String.h" #include "deskflow/clipboard_types.h" #include "deskflow/key_types.h" #include "deskflow/languages/LanguageManager.h" @@ -108,7 +107,7 @@ private: void leave(); void setClipboard(); void grabClipboard(); - void keyDown(UInt16 id, UInt16 mask, UInt16 button, const String &lang); + void keyDown(UInt16 id, UInt16 mask, UInt16 button, const std::string &lang); void keyRepeat(); void keyUp(); void mouseDown(); @@ -126,7 +125,7 @@ private: void handleClipboardSendingEvent(const Event &, void *); void secureInputNotification(); void setServerLanguages(); - void setActiveServerLanguage(const String &language); + void setActiveServerLanguage(const std::string &language); void checkMissedLanguages() const; private: @@ -151,7 +150,7 @@ private: MessageParser m_parser; IEventQueue *m_events; - String m_serverLanguage = ""; + std::string m_serverLanguage = ""; bool m_isUserNotifiedAboutLanguageSyncError = false; deskflow::languages::LanguageManager m_languageManager; }; diff --git a/src/lib/deskflow/App.cpp b/src/lib/deskflow/App.cpp index eef004368..47622b21c 100644 --- a/src/lib/deskflow/App.cpp +++ b/src/lib/deskflow/App.cpp @@ -319,7 +319,7 @@ void MinimalApp::loadConfig() { } -bool MinimalApp::loadConfig(const String &pathname) +bool MinimalApp::loadConfig(const std::string &pathname) { return false; } diff --git a/src/lib/deskflow/App.h b/src/lib/deskflow/App.h index d58016af4..c77298def 100644 --- a/src/lib/deskflow/App.h +++ b/src/lib/deskflow/App.h @@ -20,7 +20,6 @@ #include "base/EventQueue.h" #include "base/Log.h" -#include "base/String.h" #include "common/common.h" #include "deskflow/IApp.h" #include "ipc/IpcClient.h" @@ -67,7 +66,7 @@ public: virtual void help() = 0; virtual void parseArgs(int argc, const char *const *argv) = 0; virtual void loadConfig() = 0; - virtual bool loadConfig(const String &pathname) = 0; + virtual bool loadConfig(const std::string &pathname) = 0; virtual const char *daemonInfo() const = 0; virtual std::string configSection() const = 0; @@ -165,7 +164,7 @@ public: virtual int foregroundStartup(int argc, char **argv) override; virtual deskflow::Screen *createScreen() override; virtual void loadConfig() override; - virtual bool loadConfig(const String &pathname) override; + virtual bool loadConfig(const std::string &pathname) override; virtual const char *daemonInfo() const override; virtual const char *daemonName() const override; virtual void parseArgs(int argc, const char *const *argv) override; diff --git a/src/lib/deskflow/ArgParser.cpp b/src/lib/deskflow/ArgParser.cpp index 9e677e52c..5f67d9d24 100644 --- a/src/lib/deskflow/ArgParser.cpp +++ b/src/lib/deskflow/ArgParser.cpp @@ -18,7 +18,6 @@ #include "deskflow/ArgParser.h" #include "base/Log.h" -#include "base/String.h" #include "deskflow/App.h" #include "deskflow/ArgsBase.h" #include "deskflow/ClientArgs.h" @@ -284,7 +283,7 @@ bool ArgParser::isArg( return false; } -void ArgParser::splitCommandString(String &command, std::vector &argv) +void ArgParser::splitCommandString(std::string &command, std::vector &argv) { if (command.empty()) { return; @@ -297,7 +296,7 @@ void ArgParser::splitCommandString(String &command, std::vector &argv) size_t startPos = 0; size_t space = command.find(" ", startPos); - while (space != String::npos) { + while (space != std::string::npos) { bool ignoreThisSpace = false; // check if the space is between two double quotes @@ -308,7 +307,7 @@ void ArgParser::splitCommandString(String &command, std::vector &argv) } if (!ignoreThisSpace) { - String subString = command.substr(startPos, space - startPos); + std::string subString = command.substr(startPos, space - startPos); removeDoubleQuotes(subString); argv.push_back(subString); @@ -323,21 +322,21 @@ void ArgParser::splitCommandString(String &command, std::vector &argv) } } - String subString = command.substr(startPos, command.size()); + std::string subString = command.substr(startPos, command.size()); removeDoubleQuotes(subString); argv.push_back(subString); } -bool ArgParser::searchDoubleQuotes(String &command, size_t &left, size_t &right, size_t startPos) +bool ArgParser::searchDoubleQuotes(std::string &command, size_t &left, size_t &right, size_t startPos) { bool result = false; - left = String::npos; - right = String::npos; + left = std::string::npos; + right = std::string::npos; left = command.find("\"", startPos); - if (left != String::npos) { + if (left != std::string::npos) { right = command.find("\"", left + 1); - if (right != String::npos) { + if (right != std::string::npos) { result = true; } } @@ -350,7 +349,7 @@ bool ArgParser::searchDoubleQuotes(String &command, size_t &left, size_t &right, return result; } -void ArgParser::removeDoubleQuotes(String &arg) +void ArgParser::removeDoubleQuotes(std::string &arg) { // if string is surrounded by double quotes, remove them if (arg[0] == '\"' && arg[arg.size() - 1] == '\"') { @@ -358,7 +357,7 @@ void ArgParser::removeDoubleQuotes(String &arg) } } -const char **ArgParser::getArgv(std::vector &argsArray) +const char **ArgParser::getArgv(std::vector &argsArray) { size_t argc = argsArray.size(); @@ -375,18 +374,19 @@ const char **ArgParser::getArgv(std::vector &argsArray) return argv; } -String ArgParser::assembleCommand(std::vector &argsArray, String ignoreArg, int parametersRequired) +std::string +ArgParser::assembleCommand(std::vector &argsArray, std::string ignoreArg, int parametersRequired) { - String result; + std::string result; - for (std::vector::iterator it = argsArray.begin(); it != argsArray.end(); ++it) { + for (std::vector::iterator it = argsArray.begin(); it != argsArray.end(); ++it) { if (it->compare(ignoreArg) == 0) { it = it + parametersRequired; continue; } // if there is a space in this arg, use double quotes surround it - if ((*it).find(" ") != String::npos) { + if ((*it).find(" ") != std::string::npos) { (*it).insert(0, "\""); (*it).push_back('\"'); } diff --git a/src/lib/deskflow/ArgParser.h b/src/lib/deskflow/ArgParser.h index d0c2abd04..607e6454b 100644 --- a/src/lib/deskflow/ArgParser.h +++ b/src/lib/deskflow/ArgParser.h @@ -17,9 +17,10 @@ #pragma once -#include "base/String.h" #include "common/stdvector.h" +#include + namespace deskflow { class ArgsBase; class ServerArgs; @@ -47,11 +48,12 @@ public: static bool isArg( int argi, int argc, const char *const *argv, const char *name1, const char *name2, int minRequiredParameters = 0 ); - static void splitCommandString(String &command, std::vector &argv); - static bool searchDoubleQuotes(String &command, size_t &left, size_t &right, size_t startPos = 0); - static void removeDoubleQuotes(String &arg); - static const char **getArgv(std::vector &argsArray); - static String assembleCommand(std::vector &argsArray, String ignoreArg = "", int parametersRequired = 0); + static void splitCommandString(std::string &command, std::vector &argv); + static bool searchDoubleQuotes(std::string &command, size_t &left, size_t &right, size_t startPos = 0); + static void removeDoubleQuotes(std::string &arg); + static const char **getArgv(std::vector &argsArray); + static std::string + assembleCommand(std::vector &argsArray, std::string ignoreArg = "", int parametersRequired = 0); static deskflow::ArgsBase &argsBase() { diff --git a/src/lib/deskflow/ArgsBase.h b/src/lib/deskflow/ArgsBase.h index 4d2911d8b..868f891d0 100644 --- a/src/lib/deskflow/ArgsBase.h +++ b/src/lib/deskflow/ArgsBase.h @@ -17,7 +17,7 @@ #pragma once -#include "base/String.h" +#include namespace deskflow { @@ -65,7 +65,7 @@ public: const char *m_display = nullptr; /// @brief The name of the current computer - String m_name; + std::string m_name; /// @brief Should the app add a tray icon bool m_disableTray = false; @@ -83,19 +83,19 @@ public: bool m_shouldExitFail = false; /// @brief Bind to this address - String m_deskflowAddress; + std::string m_deskflowAddress; /// @brief Should the connections be TLS encrypted bool m_enableCrypto = false; /// @brief The dir to load settings from - String m_profileDirectory; + std::string m_profileDirectory; /// @brief The dir to load plugins from - String m_pluginDirectory; + std::string m_pluginDirectory; /// @brief Contains the location of the TLS certificate file - String m_tlsCertFile; + std::string m_tlsCertFile; /// @brief Stop this computer from sleeping bool m_preventSleep = false; diff --git a/src/lib/deskflow/ClientApp.cpp b/src/lib/deskflow/ClientApp.cpp index 87f15b9d1..b0d3b202c 100644 --- a/src/lib/deskflow/ClientApp.cpp +++ b/src/lib/deskflow/ClientApp.cpp @@ -23,7 +23,6 @@ #include "base/Event.h" #include "base/IEventQueue.h" #include "base/Log.h" -#include "base/String.h" #include "base/TMethodEventJob.h" #include "client/Client.h" #include "common/constants.h" @@ -229,7 +228,7 @@ void ClientApp::updateStatus() updateStatus(""); } -void ClientApp::updateStatus(const String &msg) +void ClientApp::updateStatus(const std::string &msg) { if (m_taskBarReceiver) { m_taskBarReceiver->updateStatus(m_client, msg); @@ -321,7 +320,7 @@ void ClientApp::handleClientFailed(const Event &e, void *) if ((++m_lastServerAddressIndex) < m_client->getLastResolvedAddressesCount()) { std::unique_ptr info(static_cast(e.getData())); - updateStatus(String("Failed to connect to server: ") + info->m_what + " Trying next address..."); + updateStatus(std::string("Failed to connect to server: ") + info->m_what + " Trying next address..."); LOG((CLOG_NOTE "failed to connect to server=%s, trying next address", info->m_what.c_str())); if (!m_suspended) { scheduleClientRestart(nextRestartTimeout()); @@ -336,7 +335,7 @@ void ClientApp::handleClientRefused(const Event &e, void *) { std::unique_ptr info(static_cast(e.getData())); - updateStatus(String("Failed to connect to server: ") + info->m_what); + updateStatus(std::string("Failed to connect to server: ") + info->m_what); if (!args().m_restartable || !info->m_retry) { LOG((CLOG_ERR "failed to connect to server: %s", info->m_what.c_str())); m_events->addEvent(Event(Event::kQuit)); @@ -359,7 +358,7 @@ void ClientApp::handleClientDisconnected(const Event &, void *) updateStatus(); } -Client *ClientApp::openClient(const String &name, const NetworkAddress &address, deskflow::Screen *screen) +Client *ClientApp::openClient(const std::string &name, const NetworkAddress &address, deskflow::Screen *screen) { Client *client = new Client(m_events, name, address, getSocketFactory(), screen, args()); @@ -432,7 +431,7 @@ bool ClientApp::startClient() } catch (XScreenUnavailable &e) { LOG((CLOG_WARN "secondary screen unavailable: %s", e.what())); closeClientScreen(clientScreen); - updateStatus(String("secondary screen unavailable: ") + e.what()); + updateStatus(std::string("secondary screen unavailable: ") + e.what()); retryTime = e.getRetryTime(); } catch (XScreenOpenFailure &e) { LOG((CLOG_CRIT "failed to start client: %s", e.what())); diff --git a/src/lib/deskflow/ClientApp.h b/src/lib/deskflow/ClientApp.h index 2d9cb0e48..1f5a36a30 100644 --- a/src/lib/deskflow/ClientApp.h +++ b/src/lib/deskflow/ClientApp.h @@ -50,7 +50,7 @@ public: void loadConfig() override { } - bool loadConfig(const String &pathname) override + bool loadConfig(const std::string &pathname) override { return false; } @@ -75,7 +75,7 @@ public: // void updateStatus(); - void updateStatus(const String &msg); + void updateStatus(const std::string &msg); void resetRestartTimeout(); double nextRestartTimeout(); void handleScreenError(const Event &, void *); @@ -87,7 +87,7 @@ public: void handleClientFailed(const Event &e, void *); void handleClientRefused(const Event &e, void *); void handleClientDisconnected(const Event &, void *); - Client *openClient(const String &name, const NetworkAddress &address, deskflow::Screen *screen); + Client *openClient(const std::string &name, const NetworkAddress &address, deskflow::Screen *screen); void closeClient(Client *client); bool startClient(); void stopClient(); diff --git a/src/lib/deskflow/ClientTaskBarReceiver.cpp b/src/lib/deskflow/ClientTaskBarReceiver.cpp index 83a8346be..9ea599821 100644 --- a/src/lib/deskflow/ClientTaskBarReceiver.cpp +++ b/src/lib/deskflow/ClientTaskBarReceiver.cpp @@ -38,7 +38,7 @@ ClientTaskBarReceiver::~ClientTaskBarReceiver() // do nothing } -void ClientTaskBarReceiver::updateStatus(Client *client, const String &errorMsg) +void ClientTaskBarReceiver::updateStatus(Client *client, const std::string &errorMsg) { { // update our status @@ -74,7 +74,7 @@ ClientTaskBarReceiver::EState ClientTaskBarReceiver::getStatus() const return m_state; } -const String &ClientTaskBarReceiver::getErrorMessage() const +const std::string &ClientTaskBarReceiver::getErrorMessage() const { return m_errorMessage; } diff --git a/src/lib/deskflow/ClientTaskBarReceiver.h b/src/lib/deskflow/ClientTaskBarReceiver.h index e09024540..baa84fe7c 100644 --- a/src/lib/deskflow/ClientTaskBarReceiver.h +++ b/src/lib/deskflow/ClientTaskBarReceiver.h @@ -19,7 +19,6 @@ #pragma once #include "arch/IArchTaskBarReceiver.h" -#include "base/String.h" #include "base/log_outputters.h" #include "client/Client.h" @@ -39,9 +38,9 @@ public: /*! Determine the status and query required information from the client. */ - void updateStatus(Client *, const String &errorMsg); + void updateStatus(Client *, const std::string &errorMsg); - void updateStatus(INode *n, const String &errorMsg) + void updateStatus(INode *n, const std::string &errorMsg) { updateStatus((Client *)n, errorMsg); } @@ -75,7 +74,7 @@ protected: EState getStatus() const; //! Get error message - const String &getErrorMessage() const; + const std::string &getErrorMessage() const; //! Quit app /*! @@ -91,8 +90,8 @@ protected: private: EState m_state; - String m_errorMessage; - String m_server; + std::string m_errorMessage; + std::string m_server; IEventQueue *m_events; }; diff --git a/src/lib/deskflow/Clipboard.cpp b/src/lib/deskflow/Clipboard.cpp index 859764997..a3326be89 100644 --- a/src/lib/deskflow/Clipboard.cpp +++ b/src/lib/deskflow/Clipboard.cpp @@ -53,7 +53,7 @@ bool Clipboard::empty() return true; } -void Clipboard::add(EFormat format, const String &data) +void Clipboard::add(EFormat format, const std::string &data) { assert(m_open); assert(m_owner); @@ -90,18 +90,18 @@ bool Clipboard::has(EFormat format) const return m_added[format]; } -String Clipboard::get(EFormat format) const +std::string Clipboard::get(EFormat format) const { assert(m_open); return m_data[format]; } -void Clipboard::unmarshall(const String &data, Time time) +void Clipboard::unmarshall(const std::string &data, Time time) { IClipboard::unmarshall(this, data, time); } -String Clipboard::marshall() const +std::string Clipboard::marshall() const { return IClipboard::marshall(this); } diff --git a/src/lib/deskflow/Clipboard.h b/src/lib/deskflow/Clipboard.h index 8d9436fb2..1a5791a12 100644 --- a/src/lib/deskflow/Clipboard.h +++ b/src/lib/deskflow/Clipboard.h @@ -38,7 +38,7 @@ public: Extract marshalled clipboard data and store it in this clipboard. Sets the clipboard time to \c time. */ - void unmarshall(const String &data, Time time); + void unmarshall(const std::string &data, Time time); //@} //! @name accessors @@ -49,18 +49,18 @@ public: Merge this clipboard's data into a single buffer that can be later unmarshalled to restore the clipboard and return the buffer. */ - String marshall() const; + std::string marshall() const; //@} // IClipboard overrides virtual bool empty(); - virtual void add(EFormat, const String &data); + virtual void add(EFormat, const std::string &data); virtual bool open(Time) const; virtual void close() const; virtual Time getTime() const; virtual bool has(EFormat) const; - virtual String get(EFormat) const; + virtual std::string get(EFormat) const; private: mutable bool m_open; @@ -68,5 +68,5 @@ private: bool m_owner; Time m_timeOwned; bool m_added[kNumFormats]; - String m_data[kNumFormats]; + std::string m_data[kNumFormats]; }; diff --git a/src/lib/deskflow/ClipboardChunk.cpp b/src/lib/deskflow/ClipboardChunk.cpp index b5962638e..b12732ae8 100644 --- a/src/lib/deskflow/ClipboardChunk.cpp +++ b/src/lib/deskflow/ClipboardChunk.cpp @@ -18,6 +18,7 @@ #include "deskflow/ClipboardChunk.h" #include "base/Log.h" +#include "base/String.h" #include "deskflow/ProtocolUtil.h" #include "deskflow/protocol_types.h" #include "io/IStream.h" @@ -30,7 +31,7 @@ ClipboardChunk::ClipboardChunk(size_t size) : Chunk(size) m_dataSize = size - CLIPBOARD_CHUNK_META_SIZE; } -ClipboardChunk *ClipboardChunk::start(ClipboardID id, UInt32 sequence, const String &size) +ClipboardChunk *ClipboardChunk::start(ClipboardID id, UInt32 sequence, const std::string &size) { size_t sizeLength = size.size(); ClipboardChunk *start = new ClipboardChunk(sizeLength + CLIPBOARD_CHUNK_META_SIZE); @@ -45,7 +46,7 @@ ClipboardChunk *ClipboardChunk::start(ClipboardID id, UInt32 sequence, const Str return start; } -ClipboardChunk *ClipboardChunk::data(ClipboardID id, UInt32 sequence, const String &data) +ClipboardChunk *ClipboardChunk::data(ClipboardID id, UInt32 sequence, const std::string &data) { size_t dataSize = data.size(); ClipboardChunk *chunk = new ClipboardChunk(dataSize + CLIPBOARD_CHUNK_META_SIZE); @@ -73,10 +74,10 @@ ClipboardChunk *ClipboardChunk::end(ClipboardID id, UInt32 sequence) return end; } -int ClipboardChunk::assemble(deskflow::IStream *stream, String &dataCached, ClipboardID &id, UInt32 &sequence) +int ClipboardChunk::assemble(deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, UInt32 &sequence) { UInt8 mark; - String data; + std::string data; if (!ProtocolUtil::readf(stream, kMsgDClipboard + 4, &id, &sequence, &mark, &data)) { return kError; @@ -116,7 +117,7 @@ void ClipboardChunk::send(deskflow::IStream *stream, void *data) UInt32 sequence; std::memcpy(&sequence, &chunk[1], 4); UInt8 mark = chunk[5]; - String dataChunk(&chunk[6], clipboardData->m_dataSize); + std::string dataChunk(&chunk[6], clipboardData->m_dataSize); switch (mark) { case kDataStart: diff --git a/src/lib/deskflow/ClipboardChunk.h b/src/lib/deskflow/ClipboardChunk.h index 61594cbef..a55e50f6d 100644 --- a/src/lib/deskflow/ClipboardChunk.h +++ b/src/lib/deskflow/ClipboardChunk.h @@ -17,11 +17,12 @@ #pragma once -#include "base/String.h" #include "common/basic_types.h" #include "deskflow/Chunk.h" #include "deskflow/clipboard_types.h" +#include + #define CLIPBOARD_CHUNK_META_SIZE 7 namespace deskflow { @@ -33,11 +34,11 @@ class ClipboardChunk : public Chunk public: ClipboardChunk(size_t size); - static ClipboardChunk *start(ClipboardID id, UInt32 sequence, const String &size); - static ClipboardChunk *data(ClipboardID id, UInt32 sequence, const String &data); + static ClipboardChunk *start(ClipboardID id, UInt32 sequence, const std::string &size); + static ClipboardChunk *data(ClipboardID id, UInt32 sequence, const std::string &data); static ClipboardChunk *end(ClipboardID id, UInt32 sequence); - static int assemble(deskflow::IStream *stream, String &dataCached, ClipboardID &id, UInt32 &sequence); + static int assemble(deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, UInt32 &sequence); static void send(deskflow::IStream *stream, void *data); diff --git a/src/lib/deskflow/DaemonApp.cpp b/src/lib/deskflow/DaemonApp.cpp index 9444ad993..cf3949f33 100644 --- a/src/lib/deskflow/DaemonApp.cpp +++ b/src/lib/deskflow/DaemonApp.cpp @@ -73,13 +73,13 @@ void updateSetting(const IpcMessage &message) } } -bool isServerCommandLine(const std::vector &cmd) +bool isServerCommandLine(const std::vector &cmd) { auto isServer = false; if (cmd.size() > 1) { - isServer = (cmd[0].find("deskflow-server") != String::npos) || - (cmd[0].find("deskflow-core") != String::npos && cmd[1] == "server"); + isServer = (cmd[0].find("deskflow-server") != std::string::npos) || + (cmd[0].find("deskflow-core") != std::string::npos && cmd[1] == "server"); } return isServer; @@ -188,8 +188,8 @@ int DaemonApp::run(int argc, char **argv) return kExitSuccess; } catch (XArch &e) { - String message = e.what(); - if (uninstall && (message.find("The service has not been started") != String::npos)) { + std::string message = e.what(); + if (uninstall && (message.find("The service has not been started") != std::string::npos)) { // TODO: if we're keeping this use error code instead (what is it?!). // HACK: this message happens intermittently, not sure where from but // it's quite misleading for the user. they thing something has gone @@ -246,7 +246,7 @@ void DaemonApp::mainLoop(bool logToFile, bool foreground) // install the platform event queue to handle service stop events. m_events->adoptBuffer(new MSWindowsEventQueueBuffer(m_events.get())); - String command = ARCH->setting("Command"); + std::string command = ARCH->setting("Command"); bool elevate = ARCH->setting("Elevate") == "1"; if (command != "") { LOG((CLOG_INFO "using last known command: %s", command.c_str())); @@ -301,7 +301,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) switch (m->type()) { case IpcMessageType::Command: { IpcCommandMessage *cm = static_cast(m); - String command = cm->command(); + std::string command = cm->command(); // if empty quotes, clear. if (command == "\"\"") { @@ -312,7 +312,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) LOG((CLOG_DEBUG "daemon got new core command")); LOG((CLOG_DEBUG2 "new command, elevate=%d command=%s", cm->elevate(), command.c_str())); - std::vector argsArray; + std::vector argsArray; ArgParser::splitCommandString(command, argsArray); ArgParser argParser(NULL); const char **argv = argParser.getArgv(argsArray); @@ -327,7 +327,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) } delete[] argv; - String logLevel(ArgParser::argsBase().m_logFilter); + std::string logLevel(ArgParser::argsBase().m_logFilter); if (!logLevel.empty()) { try { // change log level based on that in the command string @@ -348,7 +348,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) ARCH->setting("Command", command); // TODO: it would be nice to store bools/ints... - ARCH->setting("Elevate", String(cm->elevate() ? "1" : "0")); + ARCH->setting("Elevate", std::string(cm->elevate() ? "1" : "0")); } catch (XArch &e) { LOG((CLOG_ERR "failed to save settings, %s", e.what())); } @@ -364,7 +364,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) case IpcMessageType::Hello: { IpcHelloMessage *hm = static_cast(m); - String type; + std::string type; switch (hm->clientType()) { case IpcClientType::GUI: type = "gui"; @@ -387,7 +387,7 @@ void DaemonApp::handleIpcMessage(const Event &e, void *) } #if SYSAPI_WIN32 - String watchdogStatus = m_watchdog->isProcessActive() ? "active" : "idle"; + std::string watchdogStatus = m_watchdog->isProcessActive() ? "active" : "idle"; LOG((CLOG_INFO "service status: %s", watchdogStatus.c_str())); #endif diff --git a/src/lib/deskflow/DragInformation.cpp b/src/lib/deskflow/DragInformation.cpp index 98b169a01..6227d708c 100644 --- a/src/lib/deskflow/DragInformation.cpp +++ b/src/lib/deskflow/DragInformation.cpp @@ -28,14 +28,14 @@ DragInformation::DragInformation() : m_filename(), m_filesize(0) { } -void DragInformation::parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, String data) +void DragInformation::parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, std::string data) { size_t startPos = 0; size_t findResult1 = 0; size_t findResult2 = 0; dragFileList.clear(); - String slash("\\"); - if (data.find("/", startPos) != string::npos) { + std::string slash("\\"); + if (data.find("/", startPos) != std::string::npos) { slash = "/"; } @@ -51,7 +51,7 @@ void DragInformation::parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, // set filename if (findResult1 - findResult2 > 1) { - String filename = data.substr(findResult2 + 1, findResult1 - findResult2 - 1); + std::string filename = data.substr(findResult2 + 1, findResult1 - findResult2 - 1); DragInformation di; di.setFilename(filename); dragFileList.push_back(di); @@ -61,7 +61,7 @@ void DragInformation::parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, // set filesize findResult2 = data.find(',', startPos); if (findResult2 - findResult1 > 1) { - String filesize = data.substr(findResult1 + 1, findResult2 - findResult1 - 1); + std::string filesize = data.substr(findResult1 + 1, findResult2 - findResult1 - 1); size_t size = stringToNum(filesize); dragFileList.at(index).setFilesize(size); } @@ -77,31 +77,31 @@ void DragInformation::parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, } } -String DragInformation::getDragFileExtension(String filename) +std::string DragInformation::getDragFileExtension(std::string filename) { - size_t findResult = string::npos; + size_t findResult = std::string::npos; findResult = filename.find_last_of(".", filename.size()); - if (findResult != string::npos) { + if (findResult != std::string::npos) { return filename.substr(findResult + 1, filename.size() - findResult - 1); } else { return ""; } } -int DragInformation::setupDragInfo(DragFileList &fileList, String &output) +int DragInformation::setupDragInfo(DragFileList &fileList, std::string &output) { int size = static_cast(fileList.size()); for (int i = 0; i < size; ++i) { output.append(fileList.at(i).getFilename()); output.append(","); - String filesize = getFileSize(fileList.at(i).getFilename()); + std::string filesize = getFileSize(fileList.at(i).getFilename()); output.append(filesize); output.append(","); } return size; } -bool DragInformation::isFileValid(String filename) +bool DragInformation::isFileValid(std::string filename) { bool result = false; std::fstream file(filename.c_str(), ios::in | ios::binary); @@ -115,7 +115,7 @@ bool DragInformation::isFileValid(String filename) return result; } -size_t DragInformation::stringToNum(String &str) +size_t DragInformation::stringToNum(std::string &str) { istringstream iss(str.c_str()); size_t size; @@ -123,7 +123,7 @@ size_t DragInformation::stringToNum(String &str) return size; } -String DragInformation::getFileSize(String &filename) +std::string DragInformation::getFileSize(std::string &filename) { std::fstream file(filename.c_str(), ios::in | ios::binary); diff --git a/src/lib/deskflow/DragInformation.h b/src/lib/deskflow/DragInformation.h index 2121990be..da33017d1 100644 --- a/src/lib/deskflow/DragInformation.h +++ b/src/lib/deskflow/DragInformation.h @@ -18,9 +18,10 @@ #pragma once #include "base/EventTypes.h" -#include "base/String.h" #include "common/stdvector.h" +#include + class DragInformation; using DragFileList = std::vector; @@ -32,11 +33,11 @@ public: { } - String &getFilename() + std::string &getFilename() { return m_filename; } - void setFilename(String &name) + void setFilename(std::string &name) { m_filename = name; } @@ -49,20 +50,20 @@ public: m_filesize = size; } - static void parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, String data); - static String getDragFileExtension(String filename); + static void parseDragInfo(DragFileList &dragFileList, UInt32 fileNum, std::string data); + static std::string getDragFileExtension(std::string filename); // helper function to setup drag info // example: filename1,filesize1,filename2,filesize2, // return file count - static int setupDragInfo(DragFileList &fileList, String &output); + static int setupDragInfo(DragFileList &fileList, std::string &output); - static bool isFileValid(String filename); + static bool isFileValid(std::string filename); private: - static size_t stringToNum(String &str); - static String getFileSize(String &filename); + static size_t stringToNum(std::string &str); + static std::string getFileSize(std::string &filename); private: - String m_filename; + std::string m_filename; size_t m_filesize; }; diff --git a/src/lib/deskflow/DropHelper.cpp b/src/lib/deskflow/DropHelper.cpp index ee55ef421..858887bb9 100644 --- a/src/lib/deskflow/DropHelper.cpp +++ b/src/lib/deskflow/DropHelper.cpp @@ -21,13 +21,13 @@ #include -void DropHelper::writeToDir(const String &destination, DragFileList &fileList, String &data) +void DropHelper::writeToDir(const std::string &destination, DragFileList &fileList, std::string &data) { LOG((CLOG_DEBUG "dropping file, files=%i target=%s", fileList.size(), destination.c_str())); if (!destination.empty() && fileList.size() > 0) { std::fstream file; - String dropTarget = destination; + std::string dropTarget = destination; #ifdef SYSAPI_WIN32 dropTarget.append("\\"); #else diff --git a/src/lib/deskflow/DropHelper.h b/src/lib/deskflow/DropHelper.h index d6576036b..1117d29c1 100644 --- a/src/lib/deskflow/DropHelper.h +++ b/src/lib/deskflow/DropHelper.h @@ -17,11 +17,10 @@ #pragma once -#include "base/String.h" #include "deskflow/DragInformation.h" class DropHelper { public: - static void writeToDir(const String &destination, DragFileList &fileList, String &data); + static void writeToDir(const std::string &destination, DragFileList &fileList, std::string &data); }; diff --git a/src/lib/deskflow/FileChunk.cpp b/src/lib/deskflow/FileChunk.cpp index bcc2b2125..df8f11cca 100644 --- a/src/lib/deskflow/FileChunk.cpp +++ b/src/lib/deskflow/FileChunk.cpp @@ -19,6 +19,7 @@ #include "base/Log.h" #include "base/Stopwatch.h" +#include "base/String.h" #include "deskflow/ProtocolUtil.h" #include "deskflow/protocol_types.h" #include "io/IStream.h" @@ -30,7 +31,7 @@ FileChunk::FileChunk(size_t size) : Chunk(size) m_dataSize = size - FILE_CHUNK_META_SIZE; } -FileChunk *FileChunk::start(const String &size) +FileChunk *FileChunk::start(const std::string &size) { size_t sizeLength = size.size(); FileChunk *start = new FileChunk(sizeLength + FILE_CHUNK_META_SIZE); @@ -63,11 +64,11 @@ FileChunk *FileChunk::end() return end; } -int FileChunk::assemble(deskflow::IStream *stream, String &dataReceived, size_t &expectedSize) +int FileChunk::assemble(deskflow::IStream *stream, std::string &dataReceived, size_t &expectedSize) { // parse UInt8 mark = 0; - String content; + std::string content; static size_t receivedDataSize; static double elapsedTime; static Stopwatch stopwatch; @@ -130,7 +131,7 @@ int FileChunk::assemble(deskflow::IStream *stream, String &dataReceived, size_t void FileChunk::send(deskflow::IStream *stream, UInt8 mark, char *data, size_t dataSize) { - String chunk(data, dataSize); + std::string chunk(data, dataSize); switch (mark) { case kDataStart: diff --git a/src/lib/deskflow/FileChunk.h b/src/lib/deskflow/FileChunk.h index 38159445c..e5029d57f 100644 --- a/src/lib/deskflow/FileChunk.h +++ b/src/lib/deskflow/FileChunk.h @@ -17,10 +17,11 @@ #pragma once -#include "base/String.h" #include "common/basic_types.h" #include "deskflow/Chunk.h" +#include + #define FILE_CHUNK_META_SIZE 2 namespace deskflow { @@ -32,9 +33,9 @@ class FileChunk : public Chunk public: FileChunk(size_t size); - static FileChunk *start(const String &size); + static FileChunk *start(const std::string &size); static FileChunk *data(UInt8 *data, size_t dataSize); static FileChunk *end(); - static int assemble(deskflow::IStream *stream, String &dataCached, size_t &expectedSize); + static int assemble(deskflow::IStream *stream, std::string &dataCached, size_t &expectedSize); static void send(deskflow::IStream *stream, UInt8 mark, char *data, size_t dataSize); }; diff --git a/src/lib/deskflow/IAppUtil.h b/src/lib/deskflow/IAppUtil.h index 32236a4e5..ec5110e7c 100644 --- a/src/lib/deskflow/IAppUtil.h +++ b/src/lib/deskflow/IAppUtil.h @@ -18,10 +18,12 @@ #pragma once -#include "base/String.h" #include "common/IInterface.h" #include "deskflow/IApp.h" +#include +#include + class IAppUtil : public IInterface { public: @@ -30,7 +32,7 @@ public: virtual int run(int argc, char **argv) = 0; virtual void beforeAppExit() = 0; virtual void startNode() = 0; - virtual std::vector getKeyboardLayoutList() = 0; - virtual String getCurrentLanguageCode() = 0; - virtual void showNotification(const String &title, const String &text) const = 0; + virtual std::vector getKeyboardLayoutList() = 0; + virtual std::string getCurrentLanguageCode() = 0; + virtual void showNotification(const std::string &title, const std::string &text) const = 0; }; diff --git a/src/lib/deskflow/IClient.h b/src/lib/deskflow/IClient.h index 234507d6f..cba1ecaaf 100644 --- a/src/lib/deskflow/IClient.h +++ b/src/lib/deskflow/IClient.h @@ -18,13 +18,14 @@ #pragma once -#include "base/String.h" #include "deskflow/IScreen.h" #include "deskflow/clipboard_types.h" #include "deskflow/key_types.h" #include "deskflow/mouse_types.h" #include "deskflow/option_types.h" +#include + //! Client interface /*! This interface defines the methods necessary for the server to @@ -86,14 +87,14 @@ public: synthesize an up or repeat for the same client key synthesized by keyDown(). */ - virtual void keyDown(KeyID id, KeyModifierMask, KeyButton, const String &) = 0; + virtual void keyDown(KeyID id, KeyModifierMask, KeyButton, const std::string &) = 0; //! Notify of key repeat /*! Synthesize key events to generate a press and release of key \c id \c count times. If possible match the given modifier mask. */ - virtual void keyRepeat(KeyID id, KeyModifierMask, SInt32 count, KeyButton, const String &lang) = 0; + virtual void keyRepeat(KeyID id, KeyModifierMask, SInt32 count, KeyButton, const std::string &lang) = 0; //! Notify of key release /*! @@ -161,7 +162,7 @@ public: /*! Return the client's name. */ - virtual String getName() const = 0; + virtual std::string getName() const = 0; //@} diff --git a/src/lib/deskflow/IClipboard.cpp b/src/lib/deskflow/IClipboard.cpp index 02a044d5b..e3d443588 100644 --- a/src/lib/deskflow/IClipboard.cpp +++ b/src/lib/deskflow/IClipboard.cpp @@ -23,7 +23,7 @@ // IClipboard // -void IClipboard::unmarshall(IClipboard *clipboard, const String &data, Time time) +void IClipboard::unmarshall(IClipboard *clipboard, const std::string &data, Time time) { assert(clipboard != NULL); @@ -51,7 +51,7 @@ void IClipboard::unmarshall(IClipboard *clipboard, const String &data, Time time // or server supports more clipboard formats than the other // then one of them will get a format >= kNumFormats here. if (format < IClipboard::kNumFormats) { - clipboard->add(format, String(index, size)); + clipboard->add(format, std::string(index, size)); } index += size; } @@ -61,7 +61,7 @@ void IClipboard::unmarshall(IClipboard *clipboard, const String &data, Time time } } -String IClipboard::marshall(const IClipboard *clipboard) +std::string IClipboard::marshall(const IClipboard *clipboard) { // return data format: // 4 bytes => number of formats included @@ -72,9 +72,9 @@ String IClipboard::marshall(const IClipboard *clipboard) assert(clipboard != NULL); - String data; + std::string data; - std::vector formatData; + std::vector formatData; formatData.resize(IClipboard::kNumFormats); // FIXME -- use current time if (clipboard->open(0)) { @@ -148,7 +148,7 @@ UInt32 IClipboard::readUInt32(const char *buf) (static_cast(ubuf[2]) << 8) | static_cast(ubuf[3]); } -void IClipboard::writeUInt32(String *buf, UInt32 v) +void IClipboard::writeUInt32(std::string *buf, UInt32 v) { *buf += static_cast((v >> 24) & 0xff); *buf += static_cast((v >> 16) & 0xff); diff --git a/src/lib/deskflow/IClipboard.h b/src/lib/deskflow/IClipboard.h index 212125fa6..cc526c716 100644 --- a/src/lib/deskflow/IClipboard.h +++ b/src/lib/deskflow/IClipboard.h @@ -19,9 +19,10 @@ #pragma once #include "base/EventTypes.h" -#include "base/String.h" #include "common/IInterface.h" +#include + //! Clipboard interface /*! This interface defines the methods common to all clipboards. @@ -81,7 +82,7 @@ public: Add data in the given format to the clipboard. May only be called after a successful empty(). */ - virtual void add(EFormat, const String &data) = 0; + virtual void add(EFormat, const std::string &data) = 0; //@} //! @name accessors @@ -127,21 +128,21 @@ public: if there is no data in that format. Must be called between a successful open() and close(). */ - virtual String get(EFormat) const = 0; + virtual std::string get(EFormat) const = 0; //! Marshall clipboard data /*! Merge \p clipboard's data into a single buffer that can be later unmarshalled to restore the clipboard and return the buffer. */ - static String marshall(const IClipboard *clipboard); + static std::string marshall(const IClipboard *clipboard); //! Unmarshall clipboard data /*! Extract marshalled clipboard data and store it in \p clipboard. Sets the clipboard time to \c time. */ - static void unmarshall(IClipboard *clipboard, const String &data, Time time); + static void unmarshall(IClipboard *clipboard, const std::string &data, Time time); //! Copy clipboard /*! @@ -166,5 +167,5 @@ public: private: static UInt32 readUInt32(const char *); - static void writeUInt32(String *, UInt32); + static void writeUInt32(std::string *, UInt32); }; diff --git a/src/lib/deskflow/IKeyState.cpp b/src/lib/deskflow/IKeyState.cpp index 01976f97a..d52522f89 100644 --- a/src/lib/deskflow/IKeyState.cpp +++ b/src/lib/deskflow/IKeyState.cpp @@ -47,10 +47,10 @@ IKeyState::KeyInfo *IKeyState::KeyInfo::alloc(KeyID id, KeyModifierMask mask, Ke } IKeyState::KeyInfo *IKeyState::KeyInfo::alloc( - KeyID id, KeyModifierMask mask, KeyButton button, SInt32 count, const std::set &destinations + KeyID id, KeyModifierMask mask, KeyButton button, SInt32 count, const std::set &destinations ) { - String screens = join(destinations); + std::string screens = join(destinations); const char *buffer = screens.c_str(); // build structure @@ -82,7 +82,7 @@ bool IKeyState::KeyInfo::isDefault(const char *screens) return (screens == NULL || screens[0] == '\0'); } -bool IKeyState::KeyInfo::contains(const char *screens, const String &name) +bool IKeyState::KeyInfo::contains(const char *screens, const std::string &name) { // special cases if (isDefault(screens)) { @@ -93,7 +93,7 @@ bool IKeyState::KeyInfo::contains(const char *screens, const String &name) } // search - String match; + std::string match; match.reserve(name.size() + 2); match += ":"; match += name; @@ -109,12 +109,12 @@ bool IKeyState::KeyInfo::equal(const KeyInfo *a, const KeyInfo *b) ); } -String IKeyState::KeyInfo::join(const std::set &destinations) +std::string IKeyState::KeyInfo::join(const std::set &destinations) { // collect destinations into a string. names are surrounded by ':' // which makes searching easy. the string is empty if there are no // destinations and "*" means all destinations. - String screens; + std::string screens; for (auto i = destinations.begin(); i != destinations.end(); ++i) { if (*i == "*") { screens = "*"; @@ -130,7 +130,7 @@ String IKeyState::KeyInfo::join(const std::set &destinations) return screens; } -void IKeyState::KeyInfo::split(const char *screens, std::set &dst) +void IKeyState::KeyInfo::split(const char *screens, std::set &dst) { dst.clear(); if (isDefault(screens)) { @@ -144,7 +144,7 @@ void IKeyState::KeyInfo::split(const char *screens, std::set &dst) const char *i = screens + 1; while (*i != '\0') { const char *j = strchr(i, ':'); - dst.insert(String(i, j - i)); + dst.insert(std::string(i, j - i)); i = j + 1; } } diff --git a/src/lib/deskflow/IKeyState.h b/src/lib/deskflow/IKeyState.h index 0de9b265b..287cc03aa 100644 --- a/src/lib/deskflow/IKeyState.h +++ b/src/lib/deskflow/IKeyState.h @@ -21,7 +21,6 @@ #include "base/Event.h" #include "base/EventTypes.h" #include "base/IEventQueue.h" -#include "base/String.h" #include "common/IInterface.h" #include "common/stdset.h" #include "deskflow/key_types.h" @@ -46,14 +45,14 @@ public: { public: static KeyInfo *alloc(KeyID, KeyModifierMask, KeyButton, SInt32 count); - static KeyInfo *alloc(KeyID, KeyModifierMask, KeyButton, SInt32 count, const std::set &destinations); + static KeyInfo *alloc(KeyID, KeyModifierMask, KeyButton, SInt32 count, const std::set &destinations); static KeyInfo *alloc(const KeyInfo &); static bool isDefault(const char *screens); - static bool contains(const char *screens, const String &name); + static bool contains(const char *screens, const std::string &name); static bool equal(const KeyInfo *, const KeyInfo *); - static String join(const std::set &destinations); - static void split(const char *screens, std::set &); + static std::string join(const std::set &destinations); + static void split(const char *screens, std::set &); public: KeyID m_key; @@ -95,13 +94,14 @@ public: /*! Synthesizes a key press event and updates the key state. */ - virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) = 0; + virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) = 0; //! Fake a key repeat /*! Synthesizes a key repeat event and updates the key state. */ - virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) = 0; + virtual bool + fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) = 0; //! Fake a key release /*! diff --git a/src/lib/deskflow/IPlatformScreen.h b/src/lib/deskflow/IPlatformScreen.h index 4c66bbba0..46502ba09 100644 --- a/src/lib/deskflow/IPlatformScreen.h +++ b/src/lib/deskflow/IPlatformScreen.h @@ -146,7 +146,7 @@ public: On MacOS check which app causes a secure input state to be enabled. No alternative on other platforms */ - virtual String getSecureInputApp() const = 0; + virtual std::string getSecureInputApp() const = 0; //@} //! @name accessors @@ -187,8 +187,9 @@ public: virtual void updateKeyMap() = 0; virtual void updateKeyState() = 0; virtual void setHalfDuplexMask(KeyModifierMask) = 0; - virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) = 0; - virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) = 0; + virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) = 0; + virtual bool + fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) = 0; virtual bool fakeKeyUp(KeyButton button) = 0; virtual void fakeAllKeysUp() = 0; virtual bool fakeCtrlAltDel() = 0; @@ -199,13 +200,13 @@ public: virtual SInt32 pollActiveGroup() const = 0; virtual void pollPressedKeys(KeyButtonSet &pressedKeys) const = 0; - virtual String &getDraggingFilename() = 0; + virtual std::string &getDraggingFilename() = 0; virtual void clearDraggingFilename() = 0; virtual bool isDraggingStarted() = 0; virtual bool isFakeDraggingStarted() = 0; virtual void fakeDraggingFiles(DragFileList fileList) = 0; - virtual const String &getDropTarget() const = 0; + virtual const std::string &getDropTarget() const = 0; protected: //! Handle system event diff --git a/src/lib/deskflow/KeyMap.cpp b/src/lib/deskflow/KeyMap.cpp index d80d84934..92009101a 100644 --- a/src/lib/deskflow/KeyMap.cpp +++ b/src/lib/deskflow/KeyMap.cpp @@ -243,7 +243,7 @@ void KeyMap::foreachKey(ForeachKeyCallback cb, void *userData) const KeyMap::KeyItem *KeyMap::mapKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const { LOG( @@ -310,12 +310,12 @@ const KeyMap::KeyItem *KeyMap::mapKey( return item; } -void KeyMap::setLanguageData(std::vector layouts) +void KeyMap::setLanguageData(std::vector layouts) { m_keyboardLayouts = std::move(layouts); } -SInt32 KeyMap::getLanguageGroupID(SInt32 group, const String &lang) const +SInt32 KeyMap::getLanguageGroupID(SInt32 group, const std::string &lang) const { SInt32 id = group; @@ -488,7 +488,7 @@ void KeyMap::setModifierKeys() const KeyMap::KeyItem *KeyMap::mapCommandKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const { static const KeyModifierMask s_overrideModifiers = 0xffffu; @@ -591,7 +591,7 @@ KeyMap::getKeyItemList(const KeyMap::KeyGroupTable &keyGroupTable, SInt32 group, const KeyMap::KeyItem *KeyMap::mapCharacterKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const { // find KeySym in table @@ -641,7 +641,7 @@ const KeyMap::KeyItem *KeyMap::mapCharacterKey( return &keyItem; } -void KeyMap::addGroupToKeystroke(Keystrokes &keys, SInt32 &group, const String &lang) const +void KeyMap::addGroupToKeystroke(Keystrokes &keys, SInt32 &group, const std::string &lang) const { group = getLanguageGroupID(group, lang); keys.push_back(Keystroke(group, true, false)); @@ -649,7 +649,7 @@ void KeyMap::addGroupToKeystroke(Keystrokes &keys, SInt32 &group, const String & const KeyMap::KeyItem *KeyMap::mapModifierKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const { return mapCharacterKey(keys, id, group, activeModifiers, currentState, desiredMask, isAutoRepeat, lang); @@ -708,7 +708,7 @@ const KeyMap::KeyItem *KeyMap::keyForModifier(KeyButton button, SInt32 group, SI bool KeyMap::keysForKeyItem( const KeyItem &keyItem, SInt32 &group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, KeyModifierMask desiredState, KeyModifierMask overrideModifiers, bool isAutoRepeat, Keystrokes &keystrokes, - const String &lang + const std::string &lang ) const { static const KeyModifierMask s_notRequiredMask = KeyModifierAltGr | KeyModifierNumLock | KeyModifierScrollLock; @@ -1090,12 +1090,12 @@ KeyID KeyMap::getDeadKey(KeyID key) } } -String KeyMap::formatKey(KeyID key, KeyModifierMask mask) +std::string KeyMap::formatKey(KeyID key, KeyModifierMask mask) { // initialize tables initKeyNameMaps(); - String x; + std::string x; for (SInt32 i = 0; i < kKeyModifierNumBits; ++i) { KeyModifierMask mod = (1u << i); if ((mask & mod) != 0 && s_modifierToNameMap->count(mod) > 0) { @@ -1120,7 +1120,7 @@ String KeyMap::formatKey(KeyID key, KeyModifierMask mask) return x; } -bool KeyMap::parseKey(const String &x, KeyID &key) +bool KeyMap::parseKey(const std::string &x, KeyID &key) { // initialize tables initKeyNameMaps(); @@ -1152,20 +1152,20 @@ bool KeyMap::parseKey(const String &x, KeyID &key) return true; } -bool KeyMap::parseModifiers(String &x, KeyModifierMask &mask) +bool KeyMap::parseModifiers(std::string &x, KeyModifierMask &mask) { // initialize tables initKeyNameMaps(); mask = 0; - String::size_type tb = x.find_first_not_of(" \t", 0); - while (tb != String::npos) { + std::string::size_type tb = x.find_first_not_of(" \t", 0); + while (tb != std::string::npos) { // get next component - String::size_type te = x.find_first_of(" \t+)", tb); - if (te == String::npos) { + std::string::size_type te = x.find_first_of(" \t+)", tb); + if (te == std::string::npos) { te = x.size(); } - String c = x.substr(tb, te - tb); + std::string c = x.substr(tb, te - tb); if (c.empty()) { // missing component return false; @@ -1181,9 +1181,9 @@ bool KeyMap::parseModifiers(String &x, KeyModifierMask &mask) } else { // unknown string x.erase(0, tb); - String::size_type tb = x.find_first_not_of(" \t"); - String::size_type te = x.find_last_not_of(" \t"); - if (tb == String::npos) { + std::string::size_type tb = x.find_first_not_of(" \t"); + std::string::size_type te = x.find_last_not_of(" \t"); + if (tb == std::string::npos) { x = ""; } else { x = x.substr(tb, te - tb + 1); @@ -1193,7 +1193,7 @@ bool KeyMap::parseModifiers(String &x, KeyModifierMask &mask) // check for '+' or end of string tb = x.find_first_not_of(" \t", te); - if (tb != String::npos) { + if (tb != std::string::npos) { if (x[tb] != '+') { // expected '+' return false; diff --git a/src/lib/deskflow/KeyMap.h b/src/lib/deskflow/KeyMap.h index 0cc49a3a1..ca935c7cb 100644 --- a/src/lib/deskflow/KeyMap.h +++ b/src/lib/deskflow/KeyMap.h @@ -225,10 +225,10 @@ public: */ virtual const KeyItem *mapKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const; - void setLanguageData(std::vector layouts); + void setLanguageData(std::vector layouts); //! Get number of groups /*! @@ -310,14 +310,14 @@ public: Converts a key and modifier mask into a string representing the combination. */ - static String formatKey(KeyID key, KeyModifierMask); + static std::string formatKey(KeyID key, KeyModifierMask); //! Parse a string into a key /*! Converts a string into a key. Returns \c true on success and \c false if the string cannot be parsed. */ - static bool parseKey(const String &, KeyID &); + static bool parseKey(const std::string &, KeyID &); //! Parse a string into a modifier mask /*! @@ -326,7 +326,7 @@ public: remaining leading and trailing whitespace is stripped from the input string. */ - static bool parseModifiers(String &, KeyModifierMask &); + static bool parseModifiers(std::string &, KeyModifierMask &); //@} @@ -369,7 +369,7 @@ private: // entries since they don't make sense as hotkeys. const KeyItem *mapCommandKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const; // maps a character key. a character key is trying to synthesize a @@ -377,13 +377,13 @@ private: // used to do it. const KeyItem *mapCharacterKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const; // maps a modifier key const KeyItem *mapModifierKey( Keystrokes &keys, KeyID id, SInt32 group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, - KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ) const; // returns the index into \p entryList of the KeyItemList requiring @@ -403,7 +403,7 @@ private: bool keysForKeyItem( const KeyItem &keyItem, SInt32 &group, ModifierToKeys &activeModifiers, KeyModifierMask ¤tState, KeyModifierMask desiredState, KeyModifierMask overrideModifiers, bool isAutoRepeat, Keystrokes &keystrokes, - const String &lang + const std::string &lang ) const; // fills \p keystrokes with the keys to synthesize the modifiers @@ -442,9 +442,9 @@ private: // Ways to synthesize a KeyID over multiple keyboard groups using KeyGroupTable = std::vector; - void addGroupToKeystroke(Keystrokes &keys, SInt32 &group, const String &lang) const; + void addGroupToKeystroke(Keystrokes &keys, SInt32 &group, const std::string &lang) const; - SInt32 getLanguageGroupID(SInt32 group, const String &lang) const; + SInt32 getLanguageGroupID(SInt32 group, const std::string &lang) const; const KeyItemList * getKeyItemList(const KeyGroupTable &keyGroupTable, SInt32 group, KeyModifierMask desiredMask) const; @@ -469,10 +469,10 @@ private: using KeyButtonSet = std::set; // Key maps for parsing/formatting - using NameToKeyMap = std::map; - using NameToModifierMap = std::map; - using KeyToNameMap = std::map; - using ModifierToNameMap = std::map; + using NameToKeyMap = std::map; + using NameToModifierMap = std::map; + using KeyToNameMap = std::map; + using ModifierToNameMap = std::map; // KeyID info KeyIDMap m_keyIDMap; @@ -490,7 +490,7 @@ private: KeyItem m_modifierKeyItem; // Language sync data - std::vector m_keyboardLayouts; + std::vector m_keyboardLayouts; // parsing/formatting tables static NameToKeyMap *s_nameToKeyMap; diff --git a/src/lib/deskflow/KeyState.cpp b/src/lib/deskflow/KeyState.cpp index b3dc5d914..c31c7da39 100644 --- a/src/lib/deskflow/KeyState.cpp +++ b/src/lib/deskflow/KeyState.cpp @@ -653,7 +653,7 @@ static const KeyID s_numpadTable[] = { // KeyState // -KeyState::KeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled) +KeyState::KeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled) : IKeyState(events), m_keyMapPtr(new deskflow::KeyMap()), m_keyMap(*m_keyMapPtr), @@ -665,7 +665,9 @@ KeyState::KeyState(IEventQueue *events, std::vector layouts, bool isLang init(); } -KeyState::KeyState(IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled) +KeyState::KeyState( + IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled +) : IKeyState(events), m_keyMapPtr(0), m_keyMap(keyMap), @@ -801,7 +803,7 @@ void KeyState::setHalfDuplexMask(KeyModifierMask mask) } } -void KeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton serverID, const String &lang) +void KeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton serverID, const std::string &lang) { // if this server key is already down then this is probably a // mis-reported autorepeat. @@ -848,7 +850,7 @@ void KeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton serverID, c fakeKeys(keys, 1); } -bool KeyState::fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton serverID, const String &lang) +bool KeyState::fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton serverID, const std::string &lang) { LOG((CLOG_DEBUG2 "fakeKeyRepeat")); serverID &= kButtonMask; diff --git a/src/lib/deskflow/KeyState.h b/src/lib/deskflow/KeyState.h index 71bafa1dd..f2376edae 100644 --- a/src/lib/deskflow/KeyState.h +++ b/src/lib/deskflow/KeyState.h @@ -29,8 +29,8 @@ platform specific methods. class KeyState : public IKeyState { public: - KeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled); - KeyState(IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled); + KeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled); + KeyState(IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled); virtual ~KeyState(); //! @name manipulators @@ -69,8 +69,8 @@ public: } void updateKeyState() override; void setHalfDuplexMask(KeyModifierMask) override; - void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) override; - bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) override; + void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) override; + bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) override; bool fakeKeyUp(KeyButton button) override; void fakeAllKeysUp() override; bool fakeMediaKey(KeyID id) override; diff --git a/src/lib/deskflow/PlatformScreen.cpp b/src/lib/deskflow/PlatformScreen.cpp index 7046ce300..9d2c288b3 100644 --- a/src/lib/deskflow/PlatformScreen.cpp +++ b/src/lib/deskflow/PlatformScreen.cpp @@ -49,12 +49,14 @@ void PlatformScreen::setHalfDuplexMask(KeyModifierMask mask) getKeyState()->setHalfDuplexMask(mask); } -void PlatformScreen::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) +void PlatformScreen::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) { getKeyState()->fakeKeyDown(id, mask, button, lang); } -bool PlatformScreen::fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +bool PlatformScreen::fakeKeyRepeat( + KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang +) { return getKeyState()->fakeKeyRepeat(id, mask, count, button, lang); } diff --git a/src/lib/deskflow/PlatformScreen.h b/src/lib/deskflow/PlatformScreen.h index 69e65ffeb..da9e00ef2 100644 --- a/src/lib/deskflow/PlatformScreen.h +++ b/src/lib/deskflow/PlatformScreen.h @@ -64,8 +64,8 @@ public: virtual void updateKeyMap(); virtual void updateKeyState(); virtual void setHalfDuplexMask(KeyModifierMask); - virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &); - virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang); + virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &); + virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang); virtual bool fakeKeyUp(KeyButton button); virtual void fakeAllKeysUp(); virtual bool fakeCtrlAltDel(); @@ -84,7 +84,7 @@ public: { return m_fakeDraggingStarted; } - virtual String &getDraggingFilename() + virtual std::string &getDraggingFilename() { return m_draggingFilename; } @@ -112,7 +112,7 @@ public: { throw std::runtime_error("fakeDraggingFiles not implemented"); } - virtual const String &getDropTarget() const + virtual const std::string &getDropTarget() const { throw std::runtime_error("getDropTarget not implemented"); } @@ -143,7 +143,7 @@ protected: virtual SInt32 mapClientScrollDirection(SInt32) const; protected: - String m_draggingFilename; + std::string m_draggingFilename; bool m_draggingStarted; bool m_fakeDraggingStarted; diff --git a/src/lib/deskflow/ProtocolUtil.cpp b/src/lib/deskflow/ProtocolUtil.cpp index 5fbb9c729..6996c003a 100644 --- a/src/lib/deskflow/ProtocolUtil.cpp +++ b/src/lib/deskflow/ProtocolUtil.cpp @@ -67,7 +67,7 @@ template void writeVectorInt(const std::vector *VectorData, std: } } -void writeString(const String *StringData, std::vector &Buffer) +void writeString(const std::string *StringData, std::vector &Buffer) { const UInt32 len = (StringData != NULL) ? (UInt32)StringData->size() : 0; writeInt(len, sizeof(len), Buffer); @@ -200,7 +200,7 @@ void ProtocolUtil::vreadf(deskflow::IStream *stream, const char *fmt, va_list ar } case 's': { - String *destination = va_arg(args, String *); + std::string *destination = va_arg(args, std::string *); if (len > PROTOCOL_MAX_STRING_LENGTH) { LOG((CLOG_ERR "read: string length exceeds maximum allowed size: %u", len)); @@ -271,7 +271,7 @@ UInt32 ProtocolUtil::getLength(const char *fmt, va_list args) case 's': assert(len == 0); - len = (UInt32)(va_arg(args, String *))->size() + 4; + len = (UInt32)(va_arg(args, std::string *))->size() + 4; break; case 'S': @@ -346,7 +346,7 @@ void ProtocolUtil::writef(std::vector &buffer, const char *fmt, va_list a case 's': { assert(len == 0); - const String *src = va_arg(args, String *); + const std::string *src = va_arg(args, std::string *); writeString(src, buffer); break; } @@ -520,7 +520,7 @@ UInt32 ProtocolUtil::readVectorSize(deskflow::IStream *stream) return size; } -void ProtocolUtil::readBytes(deskflow::IStream *stream, UInt32 len, String *destination) +void ProtocolUtil::readBytes(deskflow::IStream *stream, UInt32 len, std::string *destination) { // read the string length UInt8 buffer[128]; @@ -575,7 +575,7 @@ void ProtocolUtil::readBytes(deskflow::IStream *stream, UInt32 len, String *dest // XIOReadMismatch // -String XIOReadMismatch::getWhat() const throw() +std::string XIOReadMismatch::getWhat() const throw() { return format("XIOReadMismatch", "ProtocolUtil::readf() mismatch"); } diff --git a/src/lib/deskflow/ProtocolUtil.h b/src/lib/deskflow/ProtocolUtil.h index 60b436d99..4ad75a578 100644 --- a/src/lib/deskflow/ProtocolUtil.h +++ b/src/lib/deskflow/ProtocolUtil.h @@ -22,6 +22,7 @@ #include "io/XIO.h" #include +#include namespace deskflow { class IStream; @@ -50,7 +51,7 @@ public: - \%1I -- converts std::vector* to 1 byte integers - \%2I -- converts std::vector* to 2 byte integers in NBO - \%4I -- converts std::vector* to 4 byte integers in NBO - - \%s -- converts String* to stream of bytes + - \%s -- converts std::string* to stream of bytes - \%S -- converts integer N and const UInt8* to stream of N bytes */ static void writef(deskflow::IStream *, const char *fmt, ...); @@ -69,7 +70,7 @@ public: - \%1I -- reads 1 byte integers; arg is std::vector* - \%2I -- reads NBO 2 byte integers; arg is std::vector* - \%4I -- reads NBO 4 byte integers; arg is std::vector* - - \%s -- reads bytes; argument must be a String*, \b not a char* + - \%s -- reads bytes; argument must be a std::string*, \b not a char* */ static bool readf(deskflow::IStream *, const char *fmt, ...); @@ -100,7 +101,7 @@ private: /** * @brief Handles an array of bytes */ - static void readBytes(deskflow::IStream *, UInt32, String *); + static void readBytes(deskflow::IStream *, UInt32, std::string *); }; //! Mismatched read exception @@ -112,5 +113,5 @@ class XIOReadMismatch : public XIO { public: // XBase overrides - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); }; diff --git a/src/lib/deskflow/Screen.cpp b/src/lib/deskflow/Screen.cpp index f3581201c..3b4523b9f 100644 --- a/src/lib/deskflow/Screen.cpp +++ b/src/lib/deskflow/Screen.cpp @@ -198,7 +198,7 @@ void Screen::screensaver(bool) const // do nothing } -void Screen::keyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) +void Screen::keyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) { // check for ctrl+alt+del emulation if (id == kKeyDelete && (mask & (KeyModifierControl | KeyModifierAlt)) == (KeyModifierControl | KeyModifierAlt)) { @@ -210,7 +210,7 @@ void Screen::keyDown(KeyID id, KeyModifierMask mask, KeyButton button, const Str m_screen->fakeKeyDown(id, mask, button, lang); } -void Screen::keyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +void Screen::keyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) { assert(!m_isPrimary); m_screen->fakeKeyRepeat(id, mask, count, button, lang); @@ -400,7 +400,7 @@ void Screen::setEnableDragDrop(bool enabled) m_enableDragDrop = enabled; } -String &Screen::getDraggingFilename() const +std::string &Screen::getDraggingFilename() const { return m_screen->getDraggingFilename(); } @@ -410,7 +410,7 @@ void Screen::clearDraggingFilename() m_screen->clearDraggingFilename(); } -const String &Screen::getDropTarget() const +const std::string &Screen::getDropTarget() const { return m_screen->getDropTarget(); } @@ -488,7 +488,7 @@ void Screen::leaveSecondary() m_screen->fakeAllKeysUp(); } -String Screen::getSecureInputApp() const +std::string Screen::getSecureInputApp() const { return m_screen->getSecureInputApp(); } diff --git a/src/lib/deskflow/Screen.h b/src/lib/deskflow/Screen.h index 9e4c3ef63..21dec5e82 100644 --- a/src/lib/deskflow/Screen.h +++ b/src/lib/deskflow/Screen.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "deskflow/DragInformation.h" #include "deskflow/IScreen.h" #include "deskflow/clipboard_types.h" @@ -130,14 +129,14 @@ public: synthesize an up or repeat for the same client key synthesized by keyDown(). */ - void keyDown(KeyID id, KeyModifierMask, KeyButton, const String &); + void keyDown(KeyID id, KeyModifierMask, KeyButton, const std::string &); //! Notify of key repeat /*! Synthesize key events to generate a press and release of key \c id \c count times. If possible match the given modifier mask. */ - void keyRepeat(KeyID id, KeyModifierMask, SInt32 count, KeyButton, const String &lang); + void keyRepeat(KeyID id, KeyModifierMask, SInt32 count, KeyButton, const std::string &lang); //! Notify of key release /*! @@ -241,7 +240,7 @@ public: On MacOS check which app causes a secure input state to be enabled. No alternative on other platforms */ - String getSecureInputApp() const; + std::string getSecureInputApp() const; //@} //! @name accessors @@ -298,13 +297,13 @@ public: bool isFakeDraggingStarted() const; //! Get the filename of the file being dragged - String &getDraggingFilename() const; + std::string &getDraggingFilename() const; //! Clear the filename of the file that was dragged void clearDraggingFilename(); //! Get the drop target directory - const String &getDropTarget() const; + const std::string &getDropTarget() const; //@} diff --git a/src/lib/deskflow/ServerApp.cpp b/src/lib/deskflow/ServerApp.cpp index fef215393..73b764fd1 100644 --- a/src/lib/deskflow/ServerApp.cpp +++ b/src/lib/deskflow/ServerApp.cpp @@ -236,7 +236,7 @@ void ServerApp::loadConfig() } } -bool ServerApp::loadConfig(const String &pathname) +bool ServerApp::loadConfig(const std::string &pathname) { try { // load configuration @@ -325,7 +325,7 @@ void ServerApp::updateStatus() updateStatus(""); } -void ServerApp::updateStatus(const String &msg) +void ServerApp::updateStatus(const std::string &msg) { if (m_taskBarReceiver) { m_taskBarReceiver->updateStatus(m_server, msg); @@ -445,7 +445,7 @@ bool ServerApp::initServer() deskflow::Screen *serverScreen = NULL; PrimaryClient *primaryClient = NULL; try { - String name = args().m_config->getCanonicalName(args().m_name); + std::string name = args().m_config->getCanonicalName(args().m_name); serverScreen = openServerScreen(); primaryClient = openPrimaryClient(name, serverScreen); m_serverScreen = serverScreen; @@ -457,7 +457,7 @@ bool ServerApp::initServer() LOG((CLOG_WARN "primary screen unavailable: %s", e.what())); closePrimaryClient(primaryClient); closeServerScreen(serverScreen); - updateStatus(String("primary screen unavailable: ") + e.what()); + updateStatus(std::string("primary screen unavailable: ") + e.what()); retryTime = e.getRetryTime(); } catch (XScreenOpenFailure &e) { LOG((CLOG_CRIT "failed to start server: %s", e.what())); @@ -543,7 +543,7 @@ bool ServerApp::startServer() LOG((CLOG_CRIT "cannot listen for clients: %s", e.what())); } closeClientListener(listener); - updateStatus(String("cannot listen for clients: ") + e.what()); + updateStatus(std::string("cannot listen for clients: ") + e.what()); } catch (XBase &e) { LOG((CLOG_CRIT "failed to start server: %s", e.what())); closeClientListener(listener); @@ -594,7 +594,7 @@ deskflow::Screen *ServerApp::createScreen() #endif } -PrimaryClient *ServerApp::openPrimaryClient(const String &name, deskflow::Screen *screen) +PrimaryClient *ServerApp::openPrimaryClient(const std::string &name, deskflow::Screen *screen) { LOG((CLOG_DEBUG1 "creating primary screen")); return new PrimaryClient(name, screen); @@ -714,7 +714,7 @@ int ServerApp::mainLoop() } // canonicalize the primary screen name - String primaryName = args().m_config->getCanonicalName(args().m_name); + std::string primaryName = args().m_config->getCanonicalName(args().m_name); if (primaryName.empty()) { LOG((CLOG_CRIT "unknown screen name `%s'", args().m_name.c_str())); return kExitFailed; diff --git a/src/lib/deskflow/ServerApp.h b/src/lib/deskflow/ServerApp.h index 728b73220..a7b58ec54 100644 --- a/src/lib/deskflow/ServerApp.h +++ b/src/lib/deskflow/ServerApp.h @@ -68,7 +68,7 @@ public: const char *daemonName() const override; const char *daemonInfo() const override; void loadConfig() override; - bool loadConfig(const String &pathname) override; + bool loadConfig(const std::string &pathname) override; deskflow::Screen *createScreen() override; int mainLoop() override; int runInner(int argc, char **argv, ILogOutputter *outputter, StartupFunc startup) override; @@ -97,7 +97,7 @@ public: void closeServer(Server *server); void stopRetryTimer(); void updateStatus(); - void updateStatus(const String &msg); + void updateStatus(const std::string &msg); void closeClientListener(ClientListener *listen); void stopServer(); void closePrimaryClient(PrimaryClient *primaryClient); @@ -106,7 +106,7 @@ public: bool initServer(); void retryHandler(const Event &, void *); deskflow::Screen *openServerScreen(); - PrimaryClient *openPrimaryClient(const String &name, deskflow::Screen *screen); + PrimaryClient *openPrimaryClient(const std::string &name, deskflow::Screen *screen); void handleScreenError(const Event &, void *); void handleSuspend(const Event &, void *); void handleResume(const Event &, void *); diff --git a/src/lib/deskflow/ServerArgs.h b/src/lib/deskflow/ServerArgs.h index f01c2377b..54d5e2b04 100644 --- a/src/lib/deskflow/ServerArgs.h +++ b/src/lib/deskflow/ServerArgs.h @@ -38,7 +38,7 @@ public: ServerArgs &operator=(ServerArgs &&) = default; public: - String m_configFile = ""; + std::string m_configFile = ""; std::shared_ptr m_config; }; diff --git a/src/lib/deskflow/ServerTaskBarReceiver.cpp b/src/lib/deskflow/ServerTaskBarReceiver.cpp index 3fdfd4aee..08c5908b7 100644 --- a/src/lib/deskflow/ServerTaskBarReceiver.cpp +++ b/src/lib/deskflow/ServerTaskBarReceiver.cpp @@ -38,7 +38,7 @@ ServerTaskBarReceiver::~ServerTaskBarReceiver() // do nothing } -void ServerTaskBarReceiver::updateStatus(Server *server, const String &errorMsg) +void ServerTaskBarReceiver::updateStatus(Server *server, const std::string &errorMsg) { { // update our status @@ -72,7 +72,7 @@ ServerTaskBarReceiver::EState ServerTaskBarReceiver::getStatus() const return m_state; } -const String &ServerTaskBarReceiver::getErrorMessage() const +const std::string &ServerTaskBarReceiver::getErrorMessage() const { return m_errorMessage; } diff --git a/src/lib/deskflow/ServerTaskBarReceiver.h b/src/lib/deskflow/ServerTaskBarReceiver.h index 5ae86dab6..c83b58d5b 100644 --- a/src/lib/deskflow/ServerTaskBarReceiver.h +++ b/src/lib/deskflow/ServerTaskBarReceiver.h @@ -21,7 +21,6 @@ #include "arch/IArchTaskBarReceiver.h" #include "base/Event.h" #include "base/EventTypes.h" -#include "base/String.h" #include "common/stdvector.h" #include "deskflow/ServerApp.h" #include "server/Server.h" @@ -42,9 +41,9 @@ public: /*! Determine the status and query required information from the server. */ - void updateStatus(Server *, const String &errorMsg); + void updateStatus(Server *, const std::string &errorMsg); - void updateStatus(INode *n, const String &errorMsg) + void updateStatus(INode *n, const std::string &errorMsg) { updateStatus((Server *)n, errorMsg); } @@ -61,7 +60,7 @@ public: virtual std::string getToolTip() const; protected: - using Clients = std::vector; + using Clients = std::vector; enum EState { kNotRunning, @@ -75,7 +74,7 @@ protected: EState getStatus() const; //! Get error message - const String &getErrorMessage() const; + const std::string &getErrorMessage() const; //! Get connected clients const Clients &getClients() const; @@ -95,7 +94,7 @@ protected: private: EState m_state; - String m_errorMessage; + std::string m_errorMessage; Clients m_clients; IEventQueue *m_events; }; diff --git a/src/lib/deskflow/StreamChunker.cpp b/src/lib/deskflow/StreamChunker.cpp index f4e0980ec..4c5491428 100644 --- a/src/lib/deskflow/StreamChunker.cpp +++ b/src/lib/deskflow/StreamChunker.cpp @@ -55,7 +55,7 @@ void StreamChunker::sendFile(char *filename, IEventQueue *events, void *eventTar size_t size = (size_t)file.tellg(); // send first message (file size) - String fileSize = deskflow::string::sizeTypeToString(size); + std::string fileSize = deskflow::string::sizeTypeToString(size); FileChunk *sizeMessage = FileChunk::start(fileSize); events->addEvent(Event(events->forFile().fileChunkSending(), eventTarget, sizeMessage)); @@ -106,11 +106,11 @@ void StreamChunker::sendFile(char *filename, IEventQueue *events, void *eventTar } void StreamChunker::sendClipboard( - String &data, size_t size, ClipboardID id, UInt32 sequence, IEventQueue *events, void *eventTarget + std::string &data, size_t size, ClipboardID id, UInt32 sequence, IEventQueue *events, void *eventTarget ) { // send first message (data size) - String dataSize = deskflow::string::sizeTypeToString(size); + std::string dataSize = deskflow::string::sizeTypeToString(size); ClipboardChunk *sizeMessage = ClipboardChunk::start(id, sequence, dataSize); events->addEvent(Event(events->forClipboard().clipboardSending(), eventTarget, sizeMessage)); @@ -127,7 +127,7 @@ void StreamChunker::sendClipboard( chunkSize = size - sentLength; } - String chunk(data.substr(sentLength, chunkSize).c_str(), chunkSize); + std::string chunk(data.substr(sentLength, chunkSize).c_str(), chunkSize); ClipboardChunk *dataChunk = ClipboardChunk::data(id, sequence, chunk); events->addEvent(Event(events->forClipboard().clipboardSending(), eventTarget, dataChunk)); diff --git a/src/lib/deskflow/StreamChunker.h b/src/lib/deskflow/StreamChunker.h index 9b12f21c7..07980279a 100644 --- a/src/lib/deskflow/StreamChunker.h +++ b/src/lib/deskflow/StreamChunker.h @@ -17,9 +17,10 @@ #pragma once -#include "base/String.h" #include "deskflow/clipboard_types.h" +#include + class IEventQueue; class Mutex; @@ -27,8 +28,9 @@ class StreamChunker { public: static void sendFile(char *filename, IEventQueue *events, void *eventTarget); - static void - sendClipboard(String &data, size_t size, ClipboardID id, UInt32 sequence, IEventQueue *events, void *eventTarget); + static void sendClipboard( + std::string &data, size_t size, ClipboardID id, UInt32 sequence, IEventQueue *events, void *eventTarget + ); static void interruptFile(); private: diff --git a/src/lib/deskflow/XDeskflow.cpp b/src/lib/deskflow/XDeskflow.cpp index f8aa52ba5..ca4afc92f 100644 --- a/src/lib/deskflow/XDeskflow.cpp +++ b/src/lib/deskflow/XDeskflow.cpp @@ -23,7 +23,7 @@ // XBadClient // -String XBadClient::getWhat() const throw() +std::string XBadClient::getWhat() const throw() { return "XBadClient"; } @@ -32,7 +32,7 @@ String XBadClient::getWhat() const throw() // XInvalidProtocol // -String XInvalidProtocol::getWhat() const throw() +std::string XInvalidProtocol::getWhat() const throw() { return "XInvalidProtocol"; } @@ -56,7 +56,7 @@ int XIncompatibleClient::getMinor() const throw() return m_minor; } -String XIncompatibleClient::getWhat() const throw() +std::string XIncompatibleClient::getWhat() const throw() { return format( "XIncompatibleClient", "incompatible client %{1}.%{2}", deskflow::string::sprintf("%d", m_major).c_str(), @@ -68,17 +68,17 @@ String XIncompatibleClient::getWhat() const throw() // XDuplicateClient // -XDuplicateClient::XDuplicateClient(const String &name) : m_name(name) +XDuplicateClient::XDuplicateClient(const std::string &name) : m_name(name) { // do nothing } -const String &XDuplicateClient::getName() const throw() +const std::string &XDuplicateClient::getName() const throw() { return m_name; } -String XDuplicateClient::getWhat() const throw() +std::string XDuplicateClient::getWhat() const throw() { return format("XDuplicateClient", "duplicate client %{1}", m_name.c_str()); } @@ -87,17 +87,17 @@ String XDuplicateClient::getWhat() const throw() // XUnknownClient // -XUnknownClient::XUnknownClient(const String &name) : m_name(name) +XUnknownClient::XUnknownClient(const std::string &name) : m_name(name) { // do nothing } -const String &XUnknownClient::getName() const throw() +const std::string &XUnknownClient::getName() const throw() { return m_name; } -String XUnknownClient::getWhat() const throw() +std::string XUnknownClient::getWhat() const throw() { return format("XUnknownClient", "unknown client %{1}", m_name.c_str()); } @@ -116,7 +116,7 @@ int XExitApp::getCode() const throw() return m_code; } -String XExitApp::getWhat() const throw() +std::string XExitApp::getWhat() const throw() { return format("XExitApp", "exiting with code %{1}", deskflow::string::sprintf("%d", m_code).c_str()); } diff --git a/src/lib/deskflow/XDeskflow.h b/src/lib/deskflow/XDeskflow.h index 1b899da92..ae4263eb3 100644 --- a/src/lib/deskflow/XDeskflow.h +++ b/src/lib/deskflow/XDeskflow.h @@ -61,7 +61,7 @@ public: //@} protected: - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: int m_major; @@ -76,7 +76,7 @@ a client that is already connected. class XDuplicateClient : public XDeskflow { public: - XDuplicateClient(const String &name); + XDuplicateClient(const std::string &name); virtual ~XDuplicateClient() _NOEXCEPT { } @@ -85,15 +85,15 @@ public: //@{ //! Get client's name - virtual const String &getName() const throw(); + virtual const std::string &getName() const throw(); //@} protected: - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: - String m_name; + std::string m_name; }; //! Client not in map exception @@ -104,7 +104,7 @@ unknown to the server. class XUnknownClient : public XDeskflow { public: - XUnknownClient(const String &name); + XUnknownClient(const std::string &name); virtual ~XUnknownClient() _NOEXCEPT { } @@ -113,15 +113,15 @@ public: //@{ //! Get the client's name - virtual const String &getName() const throw(); + virtual const std::string &getName() const throw(); //@} protected: - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: - String m_name; + std::string m_name; }; //! Generic exit eception @@ -142,7 +142,7 @@ public: int getCode() const throw(); protected: - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: int m_code; diff --git a/src/lib/deskflow/XScreen.cpp b/src/lib/deskflow/XScreen.cpp index c7dc1899d..183c56ac7 100644 --- a/src/lib/deskflow/XScreen.cpp +++ b/src/lib/deskflow/XScreen.cpp @@ -22,7 +22,7 @@ // XScreenOpenFailure // -String XScreenOpenFailure::getWhat() const throw() +std::string XScreenOpenFailure::getWhat() const throw() { return format("XScreenOpenFailure", "unable to open screen"); } @@ -31,7 +31,7 @@ String XScreenOpenFailure::getWhat() const throw() // XScreenXInputFailure // -String XScreenXInputFailure::getWhat() const throw() +std::string XScreenXInputFailure::getWhat() const throw() { return ""; } @@ -55,7 +55,7 @@ double XScreenUnavailable::getRetryTime() const return m_timeUntilRetry; } -String XScreenUnavailable::getWhat() const throw() +std::string XScreenUnavailable::getWhat() const throw() { return format("XScreenUnavailable", "unable to open screen"); } diff --git a/src/lib/deskflow/XScreen.h b/src/lib/deskflow/XScreen.h index e36507546..6c694390e 100644 --- a/src/lib/deskflow/XScreen.h +++ b/src/lib/deskflow/XScreen.h @@ -62,7 +62,7 @@ public: //@} protected: - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: double m_timeUntilRetry; diff --git a/src/lib/deskflow/languages/LanguageManager.cpp b/src/lib/deskflow/languages/LanguageManager.cpp index 50b4b3fb6..a2ec45512 100644 --- a/src/lib/deskflow/languages/LanguageManager.cpp +++ b/src/lib/deskflow/languages/LanguageManager.cpp @@ -21,9 +21,9 @@ namespace { -String vectorToString(const std::vector &vector, const String &delimiter = "") +std::string vectorToString(const std::vector &vector, const std::string &delimiter = "") { - String string; + std::string string; for (const auto &item : vector) { if (&item != &vector[0]) { string += delimiter; @@ -39,12 +39,12 @@ namespace deskflow { namespace languages { -LanguageManager::LanguageManager(const std::vector &localLanguages) : m_localLanguages(localLanguages) +LanguageManager::LanguageManager(const std::vector &localLanguages) : m_localLanguages(localLanguages) { LOG((CLOG_INFO "local languages: %s", vectorToString(m_localLanguages, ", ").c_str())); } -void LanguageManager::setRemoteLanguages(const String &remoteLanguages) +void LanguageManager::setRemoteLanguages(const std::string &remoteLanguages) { m_remoteLanguages.clear(); if (!remoteLanguages.empty()) { @@ -55,19 +55,19 @@ void LanguageManager::setRemoteLanguages(const String &remoteLanguages) LOG((CLOG_INFO "remote languages: %s", vectorToString(m_remoteLanguages, ", ").c_str())); } -const std::vector &LanguageManager::getRemoteLanguages() const +const std::vector &LanguageManager::getRemoteLanguages() const { return m_remoteLanguages; } -const std::vector &LanguageManager::getLocalLanguages() const +const std::vector &LanguageManager::getLocalLanguages() const { return m_localLanguages; } -String LanguageManager::getMissedLanguages() const +std::string LanguageManager::getMissedLanguages() const { - String missedLanguages; + std::string missedLanguages; for (const auto &language : m_remoteLanguages) { if (!isLanguageInstalled(language)) { @@ -81,12 +81,12 @@ String LanguageManager::getMissedLanguages() const return missedLanguages; } -String LanguageManager::getSerializedLocalLanguages() const +std::string LanguageManager::getSerializedLocalLanguages() const { return vectorToString(m_localLanguages); } -bool LanguageManager::isLanguageInstalled(const String &language) const +bool LanguageManager::isLanguageInstalled(const std::string &language) const { bool isInstalled = true; diff --git a/src/lib/deskflow/languages/LanguageManager.h b/src/lib/deskflow/languages/LanguageManager.h index 832a41659..fa6348a58 100644 --- a/src/lib/deskflow/languages/LanguageManager.h +++ b/src/lib/deskflow/languages/LanguageManager.h @@ -16,7 +16,6 @@ */ #pragma once -#include "base/String.h" #include "deskflow/AppUtil.h" #include @@ -26,49 +25,51 @@ namespace languages { class LanguageManager { - std::vector m_remoteLanguages; - std::vector m_localLanguages; + std::vector m_remoteLanguages; + std::vector m_localLanguages; public: - explicit LanguageManager(const std::vector &localLanguages = AppUtil::instance().getKeyboardLayoutList()); + explicit LanguageManager( + const std::vector &localLanguages = AppUtil::instance().getKeyboardLayoutList() + ); /** * @brief setRemoteLanguages sets remote languages * @param remoteLanguages is a string with sericalized languages */ - void setRemoteLanguages(const String &remoteLanguages); + void setRemoteLanguages(const std::string &remoteLanguages); /** * @brief getRemoteLanguages getter for remote languages * @return vector of remote languages */ - const std::vector &getRemoteLanguages() const; + const std::vector &getRemoteLanguages() const; /** * @brief getLocalLanguages getter for local languages * @return vector of local languages */ - const std::vector &getLocalLanguages() const; + const std::vector &getLocalLanguages() const; /** * @brief getMissedLanguages getter for missed languages on local machine * @return difference between remote and local languages as a coma separated * string */ - String getMissedLanguages() const; + std::string getMissedLanguages() const; /** * @brief getSerializedLocalLanguages getter for local serialized languages * @return serialized local languages as a string */ - String getSerializedLocalLanguages() const; + std::string getSerializedLocalLanguages() const; /** * @brief isLanguageInstalled checks if language is installed * @param language which should be checked * @return true if the specified language is installed */ - bool isLanguageInstalled(const String &language) const; + bool isLanguageInstalled(const std::string &language) const; }; } // namespace languages diff --git a/src/lib/deskflow/unix/AppUtilUnix.cpp b/src/lib/deskflow/unix/AppUtilUnix.cpp index fac1b6ea8..87836cbe0 100644 --- a/src/lib/deskflow/unix/AppUtilUnix.cpp +++ b/src/lib/deskflow/unix/AppUtilUnix.cpp @@ -60,9 +60,9 @@ void AppUtilUnix::startNode() app().startNode(); } -std::vector AppUtilUnix::getKeyboardLayoutList() +std::vector AppUtilUnix::getKeyboardLayoutList() { - std::vector layoutLangCodes; + std::vector layoutLangCodes; #if WINAPI_XWINDOWS layoutLangCodes = X11LayoutsParser::getX11LanguageList("/usr/share/X11/xkb/rules/evdev.xml"); @@ -97,9 +97,9 @@ std::vector AppUtilUnix::getKeyboardLayoutList() return layoutLangCodes; } -String AppUtilUnix::getCurrentLanguageCode() +std::string AppUtilUnix::getCurrentLanguageCode() { - String result = ""; + std::string result = ""; #if WINAPI_XWINDOWS auto display = XOpenDisplay(nullptr); @@ -165,7 +165,7 @@ String AppUtilUnix::getCurrentLanguageCode() return result; } -void AppUtilUnix::showNotification(const String &title, const String &text) const +void AppUtilUnix::showNotification(const std::string &title, const std::string &text) const { #if HAVE_LIBNOTIFY LOG((CLOG_INFO "showing notification, title=\"%s\", text=\"%s\"", title.c_str(), text.c_str())); diff --git a/src/lib/deskflow/unix/AppUtilUnix.h b/src/lib/deskflow/unix/AppUtilUnix.h index 07a32ad84..3e6204a71 100644 --- a/src/lib/deskflow/unix/AppUtilUnix.h +++ b/src/lib/deskflow/unix/AppUtilUnix.h @@ -32,7 +32,7 @@ public: int run(int argc, char **argv) override; void startNode() override; - std::vector getKeyboardLayoutList() override; - String getCurrentLanguageCode() override; - void showNotification(const String &title, const String &text) const override; + std::vector getKeyboardLayoutList() override; + std::string getCurrentLanguageCode() override; + void showNotification(const std::string &title, const std::string &text) const override; }; diff --git a/src/lib/deskflow/unix/ISO639Table.h b/src/lib/deskflow/unix/ISO639Table.h index 34868c714..94736fc96 100644 --- a/src/lib/deskflow/unix/ISO639Table.h +++ b/src/lib/deskflow/unix/ISO639Table.h @@ -18,13 +18,13 @@ #pragma once -#include "base/String.h" - +#include +#include // copy from // https://www.loc.gov/standards/iso639-2/php/code_list.php // 10.06.2021 // first param - ISO 639-2, second param - 639-1 -const std::vector> ISO_Table = { +const std::vector> ISO_Table = { std::make_pair("aar", "aa"), std::make_pair("abk", "ab"), std::make_pair("afr", "af"), std::make_pair("aka", "ak"), std::make_pair("sqi", "sq"), std::make_pair("amh", "am"), std::make_pair("ara", "ar"), std::make_pair("arg", "an"), std::make_pair("hye", "hy"), std::make_pair("asm", "as"), std::make_pair("ava", "av"), std::make_pair("ave", "ae"), diff --git a/src/lib/deskflow/unix/X11LayoutsParser.cpp b/src/lib/deskflow/unix/X11LayoutsParser.cpp index dd2f49add..105aeeaac 100644 --- a/src/lib/deskflow/unix/X11LayoutsParser.cpp +++ b/src/lib/deskflow/unix/X11LayoutsParser.cpp @@ -28,11 +28,11 @@ namespace { -void splitLine(std::vector &parts, const String &line, char delimiter) +void splitLine(std::vector &parts, const std::string &line, char delimiter) { std::stringstream stream(line); while (stream.good()) { - String part; + std::string part; getline(stream, part, delimiter); parts.push_back(part); } @@ -64,7 +64,7 @@ bool X11LayoutsParser::readXMLConfigItemElem(const pugi::xml_node *root, std::ve return true; } -std::vector X11LayoutsParser::getAllLanguageData(const String &pathToEvdevFile) +std::vector X11LayoutsParser::getAllLanguageData(const std::string &pathToEvdevFile) { std::vector allCodes; pugi::xml_document doc; @@ -101,18 +101,18 @@ std::vector X11LayoutsParser::getAllLanguageData(const S return allCodes; } -void X11LayoutsParser::appendVectorUniq(const std::vector &source, std::vector &dst) +void X11LayoutsParser::appendVectorUniq(const std::vector &source, std::vector &dst) { for (const auto &elem : source) { - if (std::find_if(dst.begin(), dst.end(), [elem](const String &s) { return s == elem; }) == dst.end()) { + if (std::find_if(dst.begin(), dst.end(), [elem](const std::string &s) { return s == elem; }) == dst.end()) { dst.push_back(elem); } } }; void X11LayoutsParser::convertLayoutToISO639_2( - const String &pathToEvdevFile, bool needToReloadEvdev, const std::vector &layoutNames, - const std::vector &layoutVariantNames, std::vector &iso639_2Codes + const std::string &pathToEvdevFile, bool needToReloadEvdev, const std::vector &layoutNames, + const std::vector &layoutVariantNames, std::vector &iso639_2Codes ) { if (layoutNames.size() != layoutVariantNames.size()) { @@ -133,7 +133,7 @@ void X11LayoutsParser::convertLayoutToISO639_2( continue; } - const std::vector *toCopy = nullptr; + const std::vector *toCopy = nullptr; if (layoutVariantNames[i].empty()) { toCopy = &langIter->layoutBaseISO639_2; } else { @@ -163,25 +163,26 @@ void X11LayoutsParser::convertLayoutToISO639_2( } } -std::vector X11LayoutsParser::getX11LanguageList(const String &pathToEvdevFile) +std::vector X11LayoutsParser::getX11LanguageList(const std::string &pathToEvdevFile) { - std::vector layoutNames; - std::vector layoutVariantNames; + std::vector layoutNames; + std::vector layoutVariantNames; deskflow::linux::DeskflowXkbKeyboard keyboard; splitLine(layoutNames, keyboard.getLayout(), ','); splitLine(layoutVariantNames, keyboard.getVariant(), ','); - std::vector iso639_2Codes; + std::vector iso639_2Codes; iso639_2Codes.reserve(layoutNames.size()); convertLayoutToISO639_2(pathToEvdevFile, true, layoutNames, layoutVariantNames, iso639_2Codes); return convertISO639_2ToISO639_1(iso639_2Codes); } -String -X11LayoutsParser::convertLayotToISO(const String &pathToEvdevFile, const String &layoutLangCode, bool needToReloadFiles) +std::string X11LayoutsParser::convertLayotToISO( + const std::string &pathToEvdevFile, const std::string &layoutLangCode, bool needToReloadFiles +) { - std::vector iso639_2Codes; + std::vector iso639_2Codes; convertLayoutToISO639_2(pathToEvdevFile, needToReloadFiles, {layoutLangCode}, {""}, iso639_2Codes); if (iso639_2Codes.empty()) { LOG((CLOG_WARN "failed to convert layout lang code: \"%s\"", layoutLangCode.c_str())); @@ -197,12 +198,12 @@ X11LayoutsParser::convertLayotToISO(const String &pathToEvdevFile, const String return *iso639_1Codes.begin(); } -std::vector X11LayoutsParser::convertISO639_2ToISO639_1(const std::vector &iso639_2Codes) +std::vector X11LayoutsParser::convertISO639_2ToISO639_1(const std::vector &iso639_2Codes) { - std::vector result; + std::vector result; for (const auto &isoCode : iso639_2Codes) { const auto &tableIter = - std::find_if(ISO_Table.begin(), ISO_Table.end(), [&isoCode](const std::pair &c) { + std::find_if(ISO_Table.begin(), ISO_Table.end(), [&isoCode](const std::pair &c) { return c.first == isoCode; }); if (tableIter == ISO_Table.end()) { diff --git a/src/lib/deskflow/unix/X11LayoutsParser.h b/src/lib/deskflow/unix/X11LayoutsParser.h index 01947c25a..41daf56cf 100644 --- a/src/lib/deskflow/unix/X11LayoutsParser.h +++ b/src/lib/deskflow/unix/X11LayoutsParser.h @@ -18,7 +18,9 @@ #if WINAPI_XWINDOWS #pragma once -#include "base/String.h" + +#include +#include namespace pugi { class xml_node; @@ -27,30 +29,31 @@ class xml_node; class X11LayoutsParser { public: - static std::vector getX11LanguageList(const String &pathToEvdevFile); - static String - convertLayotToISO(const String &pathToEvdevFile, const String &layoutLangCode, bool needToReloadFiles = false); + static std::vector getX11LanguageList(const std::string &pathToEvdevFile); + static std::string convertLayotToISO( + const std::string &pathToEvdevFile, const std::string &layoutLangCode, bool needToReloadFiles = false + ); private: struct Lang { - String name = ""; - std::vector layoutBaseISO639_2; + std::string name = ""; + std::vector layoutBaseISO639_2; std::vector variants; }; static bool readXMLConfigItemElem(const pugi::xml_node *root, std::vector &langList); - static std::vector getAllLanguageData(const String &pathToEvdevFile); + static std::vector getAllLanguageData(const std::string &pathToEvdevFile); - static void appendVectorUniq(const std::vector &source, std::vector &dst); + static void appendVectorUniq(const std::vector &source, std::vector &dst); static void convertLayoutToISO639_2( - const String &pathToEvdevFile, bool needToReloadEvdev, const std::vector &layoutNames, - const std::vector &layoutVariantNames, std::vector &iso639_2Codes + const std::string &pathToEvdevFile, bool needToReloadEvdev, const std::vector &layoutNames, + const std::vector &layoutVariantNames, std::vector &iso639_2Codes ); - static std::vector convertISO639_2ToISO639_1(const std::vector &iso639_2Codes); + static std::vector convertISO639_2ToISO639_1(const std::vector &iso639_2Codes); }; #endif // WINAPI_XWINDOWS diff --git a/src/lib/deskflow/win32/AppUtilWindows.cpp b/src/lib/deskflow/win32/AppUtilWindows.cpp index 92c43760c..161fa70ed 100644 --- a/src/lib/deskflow/win32/AppUtilWindows.cpp +++ b/src/lib/deskflow/win32/AppUtilWindows.cpp @@ -169,16 +169,16 @@ void AppUtilWindows::startNode() app().startNode(); } -std::vector AppUtilWindows::getKeyboardLayoutList() +std::vector AppUtilWindows::getKeyboardLayoutList() { - std::vector layoutLangCodes; + std::vector layoutLangCodes; { auto uLayouts = GetKeyboardLayoutList(0, NULL); auto lpList = (HKL *)LocalAlloc(LPTR, (uLayouts * sizeof(HKL))); uLayouts = GetKeyboardLayoutList(uLayouts, lpList); for (int i = 0; i < uLayouts; ++i) { - String code("", 2); + std::string code("", 2); GetLocaleInfoA( MAKELCID(((ULONG_PTR)lpList[i] & 0xffffffff), SORT_DEFAULT), LOCALE_SISO639LANGNAME, &code[0], static_cast(code.size()) @@ -193,9 +193,9 @@ std::vector AppUtilWindows::getKeyboardLayoutList() return layoutLangCodes; } -String AppUtilWindows::getCurrentLanguageCode() +std::string AppUtilWindows::getCurrentLanguageCode() { - String code("", 2); + std::string code("", 2); auto hklLayout = getCurrentKeyboardLayout(); if (hklLayout) { @@ -243,7 +243,7 @@ public: }; #endif -void AppUtilWindows::showNotification(const String &title, const String &text) const +void AppUtilWindows::showNotification(const std::string &title, const std::string &text) const { #if HAVE_WINTOAST LOG((CLOG_INFO "showing notification, title=\"%s\", text=\"%s\"", title.c_str(), text.c_str())); diff --git a/src/lib/deskflow/win32/AppUtilWindows.h b/src/lib/deskflow/win32/AppUtilWindows.h index 46230beca..662d33cb3 100644 --- a/src/lib/deskflow/win32/AppUtilWindows.h +++ b/src/lib/deskflow/win32/AppUtilWindows.h @@ -48,10 +48,10 @@ public: void exitApp(int code) override; void beforeAppExit() override; void startNode() override; - std::vector getKeyboardLayoutList() override; - String getCurrentLanguageCode() override; + std::vector getKeyboardLayoutList() override; + std::string getCurrentLanguageCode() override; HKL getCurrentKeyboardLayout() const; - void showNotification(const String &title, const String &text) const override; + void showNotification(const std::string &title, const std::string &text) const override; private: AppExitMode m_exitMode; diff --git a/src/lib/io/XIO.cpp b/src/lib/io/XIO.cpp index f09541435..0eb563aa3 100644 --- a/src/lib/io/XIO.cpp +++ b/src/lib/io/XIO.cpp @@ -22,7 +22,7 @@ // XIOClosed // -String XIOClosed::getWhat() const throw() +std::string XIOClosed::getWhat() const throw() { return format("XIOClosed", "already closed"); } @@ -31,7 +31,7 @@ String XIOClosed::getWhat() const throw() // XIOEndOfStream // -String XIOEndOfStream::getWhat() const throw() +std::string XIOEndOfStream::getWhat() const throw() { return format("XIOEndOfStream", "reached end of stream"); } @@ -40,7 +40,7 @@ String XIOEndOfStream::getWhat() const throw() // XIOWouldBlock // -String XIOWouldBlock::getWhat() const throw() +std::string XIOWouldBlock::getWhat() const throw() { return format("XIOWouldBlock", "stream operation would block"); } diff --git a/src/lib/ipc/IpcClientProxy.cpp b/src/lib/ipc/IpcClientProxy.cpp index 8f27ccbdd..7060f097e 100644 --- a/src/lib/ipc/IpcClientProxy.cpp +++ b/src/lib/ipc/IpcClientProxy.cpp @@ -130,7 +130,7 @@ void IpcClientProxy::send(const IpcMessage &message) switch (message.type()) { case IpcMessageType::LogLine: { const IpcLogLineMessage &llm = static_cast(message); - const String logLine = llm.logLine(); + const std::string logLine = llm.logLine(); ProtocolUtil::writef(&m_stream, kIpcMsgLogLine, &logLine); break; } @@ -162,7 +162,7 @@ IpcHelloMessage *IpcClientProxy::parseHello() IpcCommandMessage *IpcClientProxy::parseCommand() { - String command; + std::string command; UInt8 elevate; ProtocolUtil::readf(&m_stream, kIpcMsgCommand + 4, &command, &elevate); @@ -172,8 +172,8 @@ IpcCommandMessage *IpcClientProxy::parseCommand() IpcSettingMessage *IpcClientProxy::parseSetting() const { - String name; - String value; + std::string name; + std::string value; ProtocolUtil::readf(&m_stream, kIpcMsgSetting + 4, &name, &value); diff --git a/src/lib/ipc/IpcLogOutputter.cpp b/src/lib/ipc/IpcLogOutputter.cpp index 401fa3aa5..30be28327 100644 --- a/src/lib/ipc/IpcLogOutputter.cpp +++ b/src/lib/ipc/IpcLogOutputter.cpp @@ -108,7 +108,7 @@ bool IpcLogOutputter::write(ELevel, const char *text) return true; } -void IpcLogOutputter::appendBuffer(const String &text) +void IpcLogOutputter::appendBuffer(const std::string &text) { ArchMutexLock lock(m_bufferMutex); @@ -166,7 +166,7 @@ void IpcLogOutputter::notifyBuffer() ARCH->broadcastCondVar(m_notifyCond); } -String IpcLogOutputter::getChunk(size_t count) +std::string IpcLogOutputter::getChunk(size_t count) { ArchMutexLock lock(m_bufferMutex); @@ -174,7 +174,7 @@ String IpcLogOutputter::getChunk(size_t count) count = m_buffer.size(); } - String chunk; + std::string chunk; for (size_t i = 0; i < count; i++) { chunk.append(m_buffer.front()); chunk.append("\n"); diff --git a/src/lib/ipc/IpcLogOutputter.h b/src/lib/ipc/IpcLogOutputter.h index 8879cb182..fac8db285 100644 --- a/src/lib/ipc/IpcLogOutputter.h +++ b/src/lib/ipc/IpcLogOutputter.h @@ -93,12 +93,12 @@ public: private: void init(); void bufferThread(void *); - String getChunk(size_t count); - void appendBuffer(const String &text); + std::string getChunk(size_t count); + void appendBuffer(const std::string &text); bool isRunning(); private: - using Buffer = std::deque; + using Buffer = std::deque; IpcServer &m_ipcServer; Buffer m_buffer; diff --git a/src/lib/ipc/IpcMessage.cpp b/src/lib/ipc/IpcMessage.cpp index 474af9532..6949e6f02 100644 --- a/src/lib/ipc/IpcMessage.cpp +++ b/src/lib/ipc/IpcMessage.cpp @@ -35,11 +35,13 @@ IpcShutdownMessage::IpcShutdownMessage() : IpcMessage(IpcMessageType::Shutdown) { } -IpcLogLineMessage::IpcLogLineMessage(const String &logLine) : IpcMessage(IpcMessageType::LogLine), m_logLine(logLine) +IpcLogLineMessage::IpcLogLineMessage(const std::string &logLine) + : IpcMessage(IpcMessageType::LogLine), + m_logLine(logLine) { } -IpcCommandMessage::IpcCommandMessage(const String &command, bool elevate) +IpcCommandMessage::IpcCommandMessage(const std::string &command, bool elevate) : IpcMessage(IpcMessageType::Command), m_command(command), m_elevate(elevate) diff --git a/src/lib/ipc/IpcMessage.h b/src/lib/ipc/IpcMessage.h index 5d043ef49..74be7422e 100644 --- a/src/lib/ipc/IpcMessage.h +++ b/src/lib/ipc/IpcMessage.h @@ -18,9 +18,10 @@ #pragma once #include "base/Event.h" -#include "base/String.h" #include "common/ipc.h" +#include + class IpcMessage : public EventData { public: @@ -72,27 +73,27 @@ public: class IpcLogLineMessage : public IpcMessage { public: - explicit IpcLogLineMessage(const String &logLine); + explicit IpcLogLineMessage(const std::string &logLine); ~IpcLogLineMessage() override = default; //! Gets the log line. - String logLine() const + std::string logLine() const { return m_logLine; } private: - String m_logLine; + std::string m_logLine; }; class IpcCommandMessage : public IpcMessage { public: - explicit IpcCommandMessage(const String &command, bool elevate); + explicit IpcCommandMessage(const std::string &command, bool elevate); ~IpcCommandMessage() override = default; //! Gets the command. - String command() const + std::string command() const { return m_command; } @@ -104,6 +105,6 @@ public: } private: - String m_command; + std::string m_command; bool m_elevate; }; diff --git a/src/lib/ipc/IpcServerProxy.cpp b/src/lib/ipc/IpcServerProxy.cpp index ab27814f1..eaa8edf77 100644 --- a/src/lib/ipc/IpcServerProxy.cpp +++ b/src/lib/ipc/IpcServerProxy.cpp @@ -86,7 +86,7 @@ void IpcServerProxy::send(const IpcMessage &message) case IpcMessageType::Command: { const IpcCommandMessage &cm = static_cast(message); - const String command = cm.command(); + const std::string command = cm.command(); ProtocolUtil::writef(&m_stream, kIpcMsgCommand, &command); break; } @@ -99,7 +99,7 @@ void IpcServerProxy::send(const IpcMessage &message) IpcLogLineMessage *IpcServerProxy::parseLogLine() { - String logLine; + std::string logLine; ProtocolUtil::readf(&m_stream, kIpcMsgLogLine + 4, &logLine); // must be deleted by event handler. diff --git a/src/lib/mt/XMT.cpp b/src/lib/mt/XMT.cpp index 876031ba2..e6c7b44ac 100644 --- a/src/lib/mt/XMT.cpp +++ b/src/lib/mt/XMT.cpp @@ -22,7 +22,7 @@ // XMTThreadUnavailable // -String XMTThreadUnavailable::getWhat() const throw() +std::string XMTThreadUnavailable::getWhat() const throw() { return format("XMTThreadUnavailable", "cannot create thread"); } diff --git a/src/lib/net/IDataSocket.h b/src/lib/net/IDataSocket.h index 5c7b79df3..ce8ded330 100644 --- a/src/lib/net/IDataSocket.h +++ b/src/lib/net/IDataSocket.h @@ -19,7 +19,6 @@ #pragma once #include "base/EventTypes.h" -#include "base/String.h" #include "io/IStream.h" #include "net/ISocket.h" @@ -37,7 +36,7 @@ public: ConnectionFailedInfo(const char *what) : m_what(what) { } - String m_what; + std::string m_what; }; IDataSocket(IEventQueue *events) diff --git a/src/lib/net/InverseSockets/SecureServerSocket.cpp b/src/lib/net/InverseSockets/SecureServerSocket.cpp index 6f1c6682f..89bce0110 100644 --- a/src/lib/net/InverseSockets/SecureServerSocket.cpp +++ b/src/lib/net/InverseSockets/SecureServerSocket.cpp @@ -18,6 +18,7 @@ #include "SecureServerSocket.h" #include +#include #include #include #include diff --git a/src/lib/net/InverseSockets/SslApi.cpp b/src/lib/net/InverseSockets/SslApi.cpp index 3a8d51dc5..2512c924c 100644 --- a/src/lib/net/InverseSockets/SslApi.cpp +++ b/src/lib/net/InverseSockets/SslApi.cpp @@ -6,6 +6,7 @@ #include #include +#include #include namespace deskflow { diff --git a/src/lib/net/NetworkAddress.cpp b/src/lib/net/NetworkAddress.cpp index e747d72d0..98fa2f8d2 100644 --- a/src/lib/net/NetworkAddress.cpp +++ b/src/lib/net/NetworkAddress.cpp @@ -43,7 +43,7 @@ NetworkAddress::NetworkAddress(const NetworkAddress &addr) : m_hostname(addr.m_h *this = addr; } -NetworkAddress::NetworkAddress(const String &hostname, int port) : m_hostname(hostname), m_port(port) +NetworkAddress::NetworkAddress(const std::string &hostname, int port) : m_hostname(hostname), m_port(port) { // detect internet protocol version with colom count auto isColomPredicate = [](char c) { return c == ':'; }; @@ -64,11 +64,11 @@ NetworkAddress::NetworkAddress(const String &hostname, int port) : m_hostname(ho // ipv6 part if (m_hostname[0] == '[') { // ipv6 with port part - String portDelimeter = "]:"; + std::string portDelimeter = "]:"; auto hostIt = m_hostname.find(portDelimeter); // bad syntax of ipv6 with port - if (hostIt == String::npos) { + if (hostIt == std::string::npos) { throw XSocketAddress(XSocketAddress::kUnknown, m_hostname, m_port); } @@ -89,7 +89,7 @@ NetworkAddress::NetworkAddress(const String &hostname, int port) : m_hostname(ho } // ensure that ipv6 link-local adress ended with scope id - if (m_hostname.rfind("fe80:", 0) == 0 && m_hostname.find('%') == String::npos) { + if (m_hostname.rfind("fe80:", 0) == 0 && m_hostname.find('%') == std::string::npos) { throw XSocketAddress(XSocketAddress::kUnknown, m_hostname, m_port); } } @@ -208,7 +208,7 @@ int NetworkAddress::getPort() const return m_port; } -String NetworkAddress::getHostname() const +std::string NetworkAddress::getHostname() const { return m_hostname; } diff --git a/src/lib/net/NetworkAddress.h b/src/lib/net/NetworkAddress.h index 3cd7b6dc5..bc72edb1e 100644 --- a/src/lib/net/NetworkAddress.h +++ b/src/lib/net/NetworkAddress.h @@ -20,7 +20,6 @@ #include "arch/IArchNetwork.h" #include "base/EventTypes.h" -#include "base/String.h" //! Network address type /*! @@ -50,7 +49,7 @@ public: is thrown with an error of \c XSocketAddress::kBadPort. The hostname is not resolved by the c'tor; use \c resolve to do that. */ - NetworkAddress(const String &hostname, int port = 0); + NetworkAddress(const std::string &hostname, int port = 0); NetworkAddress(const NetworkAddress &); @@ -112,7 +111,7 @@ public: /*! Returns the hostname passed to the c'tor sans any port suffix. */ - String getHostname() const; + std::string getHostname() const; //@} @@ -121,6 +120,6 @@ private: private: ArchNetAddress m_address = nullptr; - String m_hostname; + std::string m_hostname; int m_port = 0; }; diff --git a/src/lib/net/SecureListenSocket.cpp b/src/lib/net/SecureListenSocket.cpp index ca3733cab..32d471b42 100644 --- a/src/lib/net/SecureListenSocket.cpp +++ b/src/lib/net/SecureListenSocket.cpp @@ -19,6 +19,7 @@ #include "SecureSocket.h" #include "arch/XArch.h" +#include "base/String.h" #include "common/constants.h" #include "deskflow/ArgParser.h" #include "deskflow/ArgsBase.h" @@ -53,7 +54,7 @@ IDataSocket *SecureListenSocket::accept() } // default location of the TLS cert file in users dir - String certificateFilename = deskflow::string::sprintf( + std::string certificateFilename = deskflow::string::sprintf( "%s/%s/%s.%s", ARCH->getProfileDirectory().c_str(), s_certificateDir, kAppId, s_certificateFileExt ); diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index dc97bed37..44cb14776 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -20,6 +20,7 @@ #include "arch/XArch.h" #include "base/Log.h" #include "base/Path.h" +#include "base/String.h" #include "base/TMethodEventJob.h" #include "mt/Lock.h" #include "net/TCPSocket.h" @@ -303,7 +304,7 @@ void SecureSocket::initSsl(bool server) initContext(server); } -bool SecureSocket::loadCertificates(String &filename) +bool SecureSocket::loadCertificates(std::string &filename) { std::lock_guard ssl_lock{ssl_mutex_}; @@ -316,7 +317,7 @@ bool SecureSocket::loadCertificates(String &filename) file.close(); if (!exist) { - String errorMsg("tls certificate doesn't exist: "); + std::string errorMsg("tls certificate doesn't exist: "); errorMsg.append(filename); SslLogger::logError(errorMsg.c_str()); return false; @@ -620,7 +621,7 @@ void SecureSocket::disconnect() sendEvent(getEvents()->forIStream().inputShutdown()); } -void SecureSocket::formatFingerprint(String &fingerprint, bool hex, bool separator) +void SecureSocket::formatFingerprint(std::string &fingerprint, bool hex, bool separator) { if (hex) { // to hexidecimal @@ -655,17 +656,17 @@ bool SecureSocket::verifyCertFingerprint() } // format fingerprint into hexdecimal format with colon separator - String fingerprint(static_cast(static_cast(tempFingerprint)), tempFingerprintLen); + std::string fingerprint(static_cast(static_cast(tempFingerprint)), tempFingerprintLen); formatFingerprint(fingerprint); LOG((CLOG_NOTE "server fingerprint: %s", fingerprint.c_str())); - String trustedServersFilename; + std::string trustedServersFilename; trustedServersFilename = deskflow::string::sprintf( "%s/%s/%s", ARCH->getProfileDirectory().c_str(), kFingerprintDirName, kFingerprintTrustedServersFilename ); // check if this fingerprint exist - String fileLine; + std::string fileLine; std::ifstream file; file.open(deskflow::filesystem::path(trustedServersFilename)); diff --git a/src/lib/net/SecureSocket.h b/src/lib/net/SecureSocket.h index bc3c00065..305d3b40f 100644 --- a/src/lib/net/SecureSocket.h +++ b/src/lib/net/SecureSocket.h @@ -66,7 +66,7 @@ public: EJobResult doRead() override; EJobResult doWrite() override; void initSsl(bool server); - bool loadCertificates(String &CertFile); + bool loadCertificates(std::string &CertFile); private: // SSL @@ -78,7 +78,7 @@ private: bool showCertificate() const; void checkResult(int n, int &retry); void disconnect(); - void formatFingerprint(String &fingerprint, bool hex = true, bool separator = true); + void formatFingerprint(std::string &fingerprint, bool hex = true, bool separator = true); bool verifyCertFingerprint(); ISocketMultiplexerJob *serviceConnect(ISocketMultiplexerJob *, bool, bool, bool); diff --git a/src/lib/net/XSocket.cpp b/src/lib/net/XSocket.cpp index 61039810b..f60792827 100644 --- a/src/lib/net/XSocket.cpp +++ b/src/lib/net/XSocket.cpp @@ -23,9 +23,9 @@ // XSocketAddress // -XSocketAddress::XSocketAddress(EError error, const String &hostname, int port) _NOEXCEPT : m_error(error), - m_hostname(hostname), - m_port(port) +XSocketAddress::XSocketAddress(EError error, const std::string &hostname, int port) _NOEXCEPT : m_error(error), + m_hostname(hostname), + m_port(port) { // do nothing } @@ -35,7 +35,7 @@ XSocketAddress::EError XSocketAddress::getError() const throw() return m_error; } -String XSocketAddress::getHostname() const throw() +std::string XSocketAddress::getHostname() const throw() { return m_hostname; } @@ -45,7 +45,7 @@ int XSocketAddress::getPort() const throw() return m_port; } -String XSocketAddress::getWhat() const throw() +std::string XSocketAddress::getWhat() const throw() { static const char *s_errorID[] = { "XSocketAddressUnknown", "XSocketAddressNotFound", "XSocketAddressNoAddress", "XSocketAddressUnsupported", @@ -65,7 +65,7 @@ String XSocketAddress::getWhat() const throw() // XSocketIOClose // -String XSocketIOClose::getWhat() const throw() +std::string XSocketIOClose::getWhat() const throw() { return format("XSocketIOClose", "close: %{1}", what()); } @@ -74,7 +74,7 @@ String XSocketIOClose::getWhat() const throw() // XSocketBind // -String XSocketBind::getWhat() const throw() +std::string XSocketBind::getWhat() const throw() { return format("XSocketBind", "cannot bind address: %{1}", what()); } @@ -83,7 +83,7 @@ String XSocketBind::getWhat() const throw() // XSocketConnect // -String XSocketConnect::getWhat() const throw() +std::string XSocketConnect::getWhat() const throw() { return format("XSocketConnect", "cannot connect socket: %{1}", what()); } @@ -92,7 +92,7 @@ String XSocketConnect::getWhat() const throw() // XSocketCreate // -String XSocketCreate::getWhat() const throw() +std::string XSocketCreate::getWhat() const throw() { return format("XSocketCreate", "cannot create socket: %{1}", what()); } diff --git a/src/lib/net/XSocket.h b/src/lib/net/XSocket.h index f678de6e8..820fcb3bb 100644 --- a/src/lib/net/XSocket.h +++ b/src/lib/net/XSocket.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "base/XBase.h" #include "common/basic_types.h" #include "io/XIO.h" @@ -43,7 +42,7 @@ public: kBadPort //!< The port is invalid }; - XSocketAddress(EError, const String &hostname, int port) _NOEXCEPT; + XSocketAddress(EError, const std::string &hostname, int port) _NOEXCEPT; virtual ~XSocketAddress() _NOEXCEPT { } @@ -54,7 +53,7 @@ public: //! Get the error code EError getError() const throw(); //! Get the hostname - String getHostname() const throw(); + std::string getHostname() const throw(); //! Get the port int getPort() const throw(); @@ -62,11 +61,11 @@ public: protected: // XBase overrides - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: EError m_error; - String m_hostname; + std::string m_hostname; int m_port; }; diff --git a/src/lib/platform/EiScreen.cpp b/src/lib/platform/EiScreen.cpp index 841f69bab..4de10376e 100644 --- a/src/lib/platform/EiScreen.cpp +++ b/src/lib/platform/EiScreen.cpp @@ -846,7 +846,7 @@ IKeyState *EiScreen::getKeyState() const return key_state_; } -String EiScreen::getSecureInputApp() const +std::string EiScreen::getSecureInputApp() const { throw std::runtime_error("get security input app not implemented"); } diff --git a/src/lib/platform/EiScreen.h b/src/lib/platform/EiScreen.h index 9edec8d80..9637f7246 100644 --- a/src/lib/platform/EiScreen.h +++ b/src/lib/platform/EiScreen.h @@ -90,7 +90,7 @@ protected: void handleSystemEvent(const Event &event, void *) override; void updateButtons() override; IKeyState *getKeyState() const override; - String getSecureInputApp() const override; + std::string getSecureInputApp() const override; void update_shape(); void add_device(ei_device *device); diff --git a/src/lib/platform/MSWindowsClipboard.cpp b/src/lib/platform/MSWindowsClipboard.cpp index 4efe71a88..26ca0a7e7 100644 --- a/src/lib/platform/MSWindowsClipboard.cpp +++ b/src/lib/platform/MSWindowsClipboard.cpp @@ -94,7 +94,7 @@ bool MSWindowsClipboard::empty() return true; } -void MSWindowsClipboard::add(EFormat format, const String &data) +void MSWindowsClipboard::add(EFormat format, const std::string &data) { // exit early if there is no data to prevent spurious "failed to convert clipboard data" errors if (data.empty()) { @@ -163,7 +163,7 @@ bool MSWindowsClipboard::has(EFormat format) const return false; } -String MSWindowsClipboard::get(EFormat format) const +std::string MSWindowsClipboard::get(EFormat format) const { // find the converter for the first clipboard format we can handle IMSWindowsClipboardConverter *converter = NULL; @@ -179,7 +179,7 @@ String MSWindowsClipboard::get(EFormat format) const // if no converter then we don't recognize any formats if (converter == NULL) { LOG((CLOG_WARN "no converter for format %d", format)); - return String(); + return std::string(); } // get a handle to the clipboard data @@ -188,7 +188,7 @@ String MSWindowsClipboard::get(EFormat format) const // nb: can't cause this using integ tests; this is only caused when // the selected converter returns an invalid format -- which you // cannot cause using public functions. - return String(); + return std::string(); } // convert diff --git a/src/lib/platform/MSWindowsClipboard.h b/src/lib/platform/MSWindowsClipboard.h index 66f51eb0f..db080a5b0 100644 --- a/src/lib/platform/MSWindowsClipboard.h +++ b/src/lib/platform/MSWindowsClipboard.h @@ -56,12 +56,12 @@ public: // IClipboard overrides virtual bool empty(); - virtual void add(EFormat, const String &data); + virtual void add(EFormat, const std::string &data); virtual bool open(Time) const; virtual void close() const; virtual Time getTime() const; virtual bool has(EFormat) const; - virtual String get(EFormat) const; + virtual std::string get(EFormat) const; void setFacade(IMSWindowsClipboardFacade &facade); @@ -69,8 +69,8 @@ private: void clearConverters(); UINT convertFormatToWin32(EFormat) const; - HANDLE convertTextToWin32(const String &data) const; - String convertTextFromWin32(HANDLE) const; + HANDLE convertTextToWin32(const std::string &data) const; + std::string convertTextFromWin32(HANDLE) const; static UINT getOwnershipFormat(); @@ -106,9 +106,9 @@ public: // the input data must be in the IClipboard format returned by // getFormat(). the return data will be in the win32 clipboard // format returned by getWin32Format(), allocated by GlobalAlloc(). - virtual HANDLE fromIClipboard(const String &) const = 0; + virtual HANDLE fromIClipboard(const std::string &) const = 0; // convert from the win32 clipboard format to the IClipboard format // (i.e., the reverse of fromIClipboard()). - virtual String toIClipboard(HANDLE data) const = 0; + virtual std::string toIClipboard(HANDLE data) const = 0; }; diff --git a/src/lib/platform/MSWindowsClipboardAnyTextConverter.cpp b/src/lib/platform/MSWindowsClipboardAnyTextConverter.cpp index 56c80d3f7..cf300b441 100644 --- a/src/lib/platform/MSWindowsClipboardAnyTextConverter.cpp +++ b/src/lib/platform/MSWindowsClipboardAnyTextConverter.cpp @@ -38,10 +38,10 @@ IClipboard::EFormat MSWindowsClipboardAnyTextConverter::getFormat() const } HANDLE -MSWindowsClipboardAnyTextConverter::fromIClipboard(const String &data) const +MSWindowsClipboardAnyTextConverter::fromIClipboard(const std::string &data) const { // convert linefeeds and then convert to desired encoding - String text = doFromIClipboard(convertLinefeedToWin32(data)); + std::string text = doFromIClipboard(convertLinefeedToWin32(data)); UInt32 size = (UInt32)text.size(); // copy to memory handle @@ -61,17 +61,17 @@ MSWindowsClipboardAnyTextConverter::fromIClipboard(const String &data) const return gData; } -String MSWindowsClipboardAnyTextConverter::toIClipboard(HANDLE data) const +std::string MSWindowsClipboardAnyTextConverter::toIClipboard(HANDLE data) const { // get datator const char *src = (const char *)GlobalLock(data); UInt32 srcSize = (UInt32)GlobalSize(data); if (src == NULL || srcSize <= 1) { - return String(); + return std::string(); } // convert text - String text = doToIClipboard(String(src, srcSize)); + std::string text = doToIClipboard(std::string(src, srcSize)); // release handle GlobalUnlock(data); @@ -80,7 +80,7 @@ String MSWindowsClipboardAnyTextConverter::toIClipboard(HANDLE data) const return convertLinefeedToUnix(text); } -String MSWindowsClipboardAnyTextConverter::convertLinefeedToWin32(const String &src) const +std::string MSWindowsClipboardAnyTextConverter::convertLinefeedToWin32(const std::string &src) const { // note -- we assume src is a valid UTF-8 string @@ -97,7 +97,7 @@ String MSWindowsClipboardAnyTextConverter::convertLinefeedToWin32(const String & } // allocate new string - String dst; + std::string dst; dst.reserve(src.size() + numNewlines); // copy string, converting newlines @@ -112,7 +112,7 @@ String MSWindowsClipboardAnyTextConverter::convertLinefeedToWin32(const String & return dst; } -String MSWindowsClipboardAnyTextConverter::convertLinefeedToUnix(const String &src) const +std::string MSWindowsClipboardAnyTextConverter::convertLinefeedToUnix(const std::string &src) const { // count newlines in string UInt32 numNewlines = 0; @@ -127,7 +127,7 @@ String MSWindowsClipboardAnyTextConverter::convertLinefeedToUnix(const String &s } // allocate new string - String dst; + std::string dst; dst.reserve(src.size()); // copy string, converting newlines diff --git a/src/lib/platform/MSWindowsClipboardAnyTextConverter.h b/src/lib/platform/MSWindowsClipboardAnyTextConverter.h index 383a134e7..8a9cd8f97 100644 --- a/src/lib/platform/MSWindowsClipboardAnyTextConverter.h +++ b/src/lib/platform/MSWindowsClipboardAnyTextConverter.h @@ -30,8 +30,8 @@ public: // IMSWindowsClipboardConverter overrides virtual IClipboard::EFormat getFormat() const; virtual UINT getWin32Format() const = 0; - virtual HANDLE fromIClipboard(const String &) const; - virtual String toIClipboard(HANDLE) const; + virtual HANDLE fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(HANDLE) const; protected: //! Convert from IClipboard format @@ -39,18 +39,18 @@ protected: Do UTF-8 conversion only. Memory handle allocation and linefeed conversion is done by this class. doFromIClipboard() must include the nul terminator in the returned string (not - including the String's nul terminator). + including the std::string's nul terminator). */ - virtual String doFromIClipboard(const String &) const = 0; + virtual std::string doFromIClipboard(const std::string &) const = 0; //! Convert to IClipboard format /*! Do UTF-8 conversion only. Memory handle allocation and linefeed conversion is done by this class. */ - virtual String doToIClipboard(const String &) const = 0; + virtual std::string doToIClipboard(const std::string &) const = 0; private: - String convertLinefeedToWin32(const String &) const; - String convertLinefeedToUnix(const String &) const; + std::string convertLinefeedToWin32(const std::string &) const; + std::string convertLinefeedToUnix(const std::string &) const; }; diff --git a/src/lib/platform/MSWindowsClipboardBitmapConverter.cpp b/src/lib/platform/MSWindowsClipboardBitmapConverter.cpp index c6477b211..331517472 100644 --- a/src/lib/platform/MSWindowsClipboardBitmapConverter.cpp +++ b/src/lib/platform/MSWindowsClipboardBitmapConverter.cpp @@ -45,7 +45,7 @@ UINT MSWindowsClipboardBitmapConverter::getWin32Format() const } HANDLE -MSWindowsClipboardBitmapConverter::fromIClipboard(const String &data) const +MSWindowsClipboardBitmapConverter::fromIClipboard(const std::string &data) const { // copy to memory handle HGLOBAL gData = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, data.size()); @@ -64,12 +64,12 @@ MSWindowsClipboardBitmapConverter::fromIClipboard(const String &data) const return gData; } -String MSWindowsClipboardBitmapConverter::toIClipboard(HANDLE data) const +std::string MSWindowsClipboardBitmapConverter::toIClipboard(HANDLE data) const { // get datator LPVOID src = GlobalLock(data); if (src == NULL) { - return String(); + return std::string(); } UInt32 srcSize = (UInt32)GlobalSize(data); @@ -82,7 +82,7 @@ String MSWindowsClipboardBitmapConverter::toIClipboard(HANDLE data) const if (bitmap->bmiHeader.biPlanes == 1 && (bitmap->bmiHeader.biBitCount == 24 || bitmap->bmiHeader.biBitCount == 32) && bitmap->bmiHeader.biCompression == BI_RGB) { // already in canonical form - String image(static_cast(src), srcSize); + std::string image(static_cast(src), srcSize); GlobalUnlock(data); return image; } @@ -131,7 +131,7 @@ String MSWindowsClipboardBitmapConverter::toIClipboard(HANDLE data) const GdiFlush(); // extract data - String image((const char *)&info, info.biSize); + std::string image((const char *)&info, info.biSize); image.append((const char *)raw, 4 * w * h); // clean up GDI diff --git a/src/lib/platform/MSWindowsClipboardBitmapConverter.h b/src/lib/platform/MSWindowsClipboardBitmapConverter.h index 3ef05cc28..feea47088 100644 --- a/src/lib/platform/MSWindowsClipboardBitmapConverter.h +++ b/src/lib/platform/MSWindowsClipboardBitmapConverter.h @@ -30,6 +30,6 @@ public: // IMSWindowsClipboardConverter overrides virtual IClipboard::EFormat getFormat() const; virtual UINT getWin32Format() const; - virtual HANDLE fromIClipboard(const String &) const; - virtual String toIClipboard(HANDLE) const; + virtual HANDLE fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(HANDLE) const; }; diff --git a/src/lib/platform/MSWindowsClipboardHTMLConverter.cpp b/src/lib/platform/MSWindowsClipboardHTMLConverter.cpp index 060e2f9aa..9040e88ed 100644 --- a/src/lib/platform/MSWindowsClipboardHTMLConverter.cpp +++ b/src/lib/platform/MSWindowsClipboardHTMLConverter.cpp @@ -18,7 +18,7 @@ #include "platform/MSWindowsClipboardHTMLConverter.h" -#include "base/String.h" +#include // // MSWindowsClipboardHTMLConverter @@ -44,14 +44,14 @@ UINT MSWindowsClipboardHTMLConverter::getWin32Format() const return m_format; } -String MSWindowsClipboardHTMLConverter::doFromIClipboard(const String &data) const +std::string MSWindowsClipboardHTMLConverter::doFromIClipboard(const std::string &data) const { // prepare to CF_HTML format prefix and suffix - String prefix("Version:0.9\r\nStartHTML:0000000105\r\n" - "EndHTML:ZZZZZZZZZZ\r\n" - "StartFragment:XXXXXXXXXX\r\nEndFragment:YYYYYYYYYY\r\n" - ""); - String suffix("\r\n"); + std::string prefix("Version:0.9\r\nStartHTML:0000000105\r\n" + "EndHTML:ZZZZZZZZZZ\r\n" + "StartFragment:XXXXXXXXXX\r\nEndFragment:YYYYYYYYYY\r\n" + ""); + std::string suffix("\r\n"); // Get byte offsets for header UInt32 StartFragment = (UInt32)prefix.size(); @@ -69,42 +69,44 @@ String MSWindowsClipboardHTMLConverter::doFromIClipboard(const String &data) con return prefix; } -String MSWindowsClipboardHTMLConverter::doToIClipboard(const String &data) const +std::string MSWindowsClipboardHTMLConverter::doToIClipboard(const std::string &data) const { // get fragment start/end args - String startArg = findArg(data, "StartFragment"); - String endArg = findArg(data, "EndFragment"); + std::string startArg = findArg(data, "StartFragment"); + std::string endArg = findArg(data, "EndFragment"); if (startArg.empty() || endArg.empty()) { - return String(); + return std::string(); } // convert args to integers SInt32 start = (SInt32)atoi(startArg.c_str()); SInt32 end = (SInt32)atoi(endArg.c_str()); if (start <= 0 || end <= 0 || start >= end) { - return String(); + return std::string(); } // extract the fragment return data.substr(start, end - start); } -String MSWindowsClipboardHTMLConverter::findArg(const String &data, const String &name) const +std::string MSWindowsClipboardHTMLConverter::findArg(const std::string &data, const std::string &name) const { - String::size_type i = data.find(name); - if (i == String::npos) { - return String(); + std::string::size_type i = data.find(name); + if (i == std::string::npos) { + return std::string(); } + i = data.find_first_of(":\r\n", i); - if (i == String::npos || data[i] != ':') { - return String(); + if (i == std::string::npos || data[i] != ':') { + return std::string(); } i = data.find_first_of("0123456789\r\n", i + 1); - if (i == String::npos || data[i] == '\r' || data[i] == '\n') { - return String(); + if (i == std::string::npos || data[i] == '\r' || data[i] == '\n') { + return std::string(); } - String::size_type j = data.find_first_not_of("0123456789", i); - if (j == String::npos) { + + std::string::size_type j = data.find_first_not_of("0123456789", i); + if (j == std::string::npos) { j = data.size(); } return data.substr(i, j - i); diff --git a/src/lib/platform/MSWindowsClipboardHTMLConverter.h b/src/lib/platform/MSWindowsClipboardHTMLConverter.h index e978e4760..045798e73 100644 --- a/src/lib/platform/MSWindowsClipboardHTMLConverter.h +++ b/src/lib/platform/MSWindowsClipboardHTMLConverter.h @@ -33,11 +33,11 @@ public: protected: // MSWindowsClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; private: - String findArg(const String &data, const String &name) const; + std::string findArg(const std::string &data, const std::string &name) const; private: UINT m_format; diff --git a/src/lib/platform/MSWindowsClipboardTextConverter.cpp b/src/lib/platform/MSWindowsClipboardTextConverter.cpp index a678d00f8..9f541916a 100644 --- a/src/lib/platform/MSWindowsClipboardTextConverter.cpp +++ b/src/lib/platform/MSWindowsClipboardTextConverter.cpp @@ -39,18 +39,18 @@ UINT MSWindowsClipboardTextConverter::getWin32Format() const return CF_TEXT; } -String MSWindowsClipboardTextConverter::doFromIClipboard(const String &data) const +std::string MSWindowsClipboardTextConverter::doFromIClipboard(const std::string &data) const { // convert and add nul terminator return Unicode::UTF8ToText(data) += '\0'; } -String MSWindowsClipboardTextConverter::doToIClipboard(const String &data) const +std::string MSWindowsClipboardTextConverter::doToIClipboard(const std::string &data) const { // convert and truncate at first nul terminator - String dst = Unicode::textToUTF8(data); - String::size_type n = dst.find('\0'); - if (n != String::npos) { + std::string dst = Unicode::textToUTF8(data); + std::string::size_type n = dst.find('\0'); + if (n != std::string::npos) { dst.erase(n); } return dst; diff --git a/src/lib/platform/MSWindowsClipboardTextConverter.h b/src/lib/platform/MSWindowsClipboardTextConverter.h index 5e42b3e5d..90b4fd2fa 100644 --- a/src/lib/platform/MSWindowsClipboardTextConverter.h +++ b/src/lib/platform/MSWindowsClipboardTextConverter.h @@ -32,6 +32,6 @@ public: protected: // MSWindowsClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; }; diff --git a/src/lib/platform/MSWindowsClipboardUTF16Converter.cpp b/src/lib/platform/MSWindowsClipboardUTF16Converter.cpp index f521d84a0..e1284e126 100644 --- a/src/lib/platform/MSWindowsClipboardUTF16Converter.cpp +++ b/src/lib/platform/MSWindowsClipboardUTF16Converter.cpp @@ -39,18 +39,18 @@ UINT MSWindowsClipboardUTF16Converter::getWin32Format() const return CF_UNICODETEXT; } -String MSWindowsClipboardUTF16Converter::doFromIClipboard(const String &data) const +std::string MSWindowsClipboardUTF16Converter::doFromIClipboard(const std::string &data) const { // convert and add nul terminator return Unicode::UTF8ToUTF16(data).append(sizeof(wchar_t), 0); } -String MSWindowsClipboardUTF16Converter::doToIClipboard(const String &data) const +std::string MSWindowsClipboardUTF16Converter::doToIClipboard(const std::string &data) const { // convert and strip nul terminator - String dst = Unicode::UTF16ToUTF8(data); - String::size_type n = dst.find('\0'); - if (n != String::npos) { + std::string dst = Unicode::UTF16ToUTF8(data); + std::string::size_type n = dst.find('\0'); + if (n != std::string::npos) { dst.erase(n); } return dst; diff --git a/src/lib/platform/MSWindowsClipboardUTF16Converter.h b/src/lib/platform/MSWindowsClipboardUTF16Converter.h index 6eae650f9..6774dad99 100644 --- a/src/lib/platform/MSWindowsClipboardUTF16Converter.h +++ b/src/lib/platform/MSWindowsClipboardUTF16Converter.h @@ -32,6 +32,6 @@ public: protected: // MSWindowsClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; }; diff --git a/src/lib/platform/MSWindowsDesks.cpp b/src/lib/platform/MSWindowsDesks.cpp index 08e4bd4c6..ea356dd49 100644 --- a/src/lib/platform/MSWindowsDesks.cpp +++ b/src/lib/platform/MSWindowsDesks.cpp @@ -726,7 +726,7 @@ void MSWindowsDesks::deskThread(void *vdesk) } } -MSWindowsDesks::Desk *MSWindowsDesks::addDesk(const String &name, HDESK hdesk) +MSWindowsDesks::Desk *MSWindowsDesks::addDesk(const std::string &name, HDESK hdesk) { Desk *desk = new Desk; desk->m_name = name; @@ -757,7 +757,7 @@ void MSWindowsDesks::checkDesk() // get current desktop. if we already know about it then return. Desk *desk; HDESK hdesk = openInputDesktop(); - String name = getDesktopName(hdesk); + std::string name = getDesktopName(hdesk); Desks::const_iterator index = m_desks.find(name); if (index == m_desks.end()) { desk = addDesk(name, hdesk); @@ -866,16 +866,16 @@ void MSWindowsDesks::closeDesktop(HDESK desk) } } -String MSWindowsDesks::getDesktopName(HDESK desk) +std::string MSWindowsDesks::getDesktopName(HDESK desk) { if (desk == NULL) { - return String(); + return std::string(); } else { DWORD size; GetUserObjectInformation(desk, UOI_NAME, NULL, 0, &size); TCHAR *name = (TCHAR *)alloca(size + sizeof(TCHAR)); GetUserObjectInformation(desk, UOI_NAME, name, size, &size); - String result(name); + std::string result(name); return result; } } diff --git a/src/lib/platform/MSWindowsDesks.h b/src/lib/platform/MSWindowsDesks.h index 05efee5ba..ea706a579 100644 --- a/src/lib/platform/MSWindowsDesks.h +++ b/src/lib/platform/MSWindowsDesks.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "common/stdmap.h" #include "deskflow/key_types.h" #include "deskflow/mouse_types.h" @@ -27,6 +26,8 @@ #include "mt/Mutex.h" #include "platform/dfwhook.h" +#include + #define WIN32_LEAN_AND_MEAN #include @@ -193,7 +194,7 @@ private: class Desk { public: - String m_name; + std::string m_name; Thread *m_thread; DWORD m_threadID; DWORD m_targetID; @@ -202,7 +203,7 @@ private: HWND m_foregroundWindow; bool m_lowLevel; }; - using Desks = std::map; + using Desks = std::map; // initialization and shutdown operations HCURSOR createBlankCursor() const; @@ -220,7 +221,7 @@ private: void deskThread(void *vdesk); // desk switch checking and handling - Desk *addDesk(const String &name, HDESK hdesk); + Desk *addDesk(const std::string &name, HDESK hdesk); void removeDesks(); void checkDesk(); bool isDeskAccessible(const Desk *desk) const; @@ -236,7 +237,7 @@ private: // desk API wrappers HDESK openInputDesktop(); void closeDesktop(HDESK); - String getDesktopName(HDESK); + std::string getDesktopName(HDESK); // our desk window procs static LRESULT CALLBACK primaryDeskProc(HWND, UINT, WPARAM, LPARAM); @@ -274,7 +275,7 @@ private: // the current desk and it's name Desk *m_activeDesk; - String m_activeDeskName; + std::string m_activeDeskName; // one desk per desktop and a cond var to communicate with it Mutex m_mutex; diff --git a/src/lib/platform/MSWindowsKeyState.cpp b/src/lib/platform/MSWindowsKeyState.cpp index 917767dab..31dfe0c34 100644 --- a/src/lib/platform/MSWindowsKeyState.cpp +++ b/src/lib/platform/MSWindowsKeyState.cpp @@ -22,7 +22,6 @@ #include "base/FunctionJob.h" #include "base/IEventQueue.h" #include "base/Log.h" -#include "base/String.h" #include "base/TMethodEventJob.h" #include "mt/Thread.h" #include "platform/MSWindowsDesks.h" @@ -569,7 +568,8 @@ static const Win32Modifiers s_modifiers[] = {{VK_SHIFT, KeyModifierShift}, {VK_RWIN, KeyModifierSuper}}; MSWindowsKeyState::MSWindowsKeyState( - MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, std::vector layouts, bool isLangSyncEnabled + MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, std::vector layouts, + bool isLangSyncEnabled ) : KeyState(events, std::move(layouts), isLangSyncEnabled), m_eventTarget(eventTarget), @@ -587,7 +587,7 @@ MSWindowsKeyState::MSWindowsKeyState( MSWindowsKeyState::MSWindowsKeyState( MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, deskflow::KeyMap &keyMap, - std::vector layouts, bool isLangSyncEnabled + std::vector layouts, bool isLangSyncEnabled ) : KeyState(events, keyMap, std::move(layouts), isLangSyncEnabled), m_eventTarget(eventTarget), @@ -749,13 +749,13 @@ void MSWindowsKeyState::sendKeyEvent( } } -void MSWindowsKeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) +void MSWindowsKeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) { KeyState::fakeKeyDown(id, mask, button, lang); } bool MSWindowsKeyState::fakeKeyRepeat( - KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang + KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang ) { return KeyState::fakeKeyRepeat(id, mask, count, button, lang); diff --git a/src/lib/platform/MSWindowsKeyState.h b/src/lib/platform/MSWindowsKeyState.h index 098e1c876..e1811abc7 100644 --- a/src/lib/platform/MSWindowsKeyState.h +++ b/src/lib/platform/MSWindowsKeyState.h @@ -18,10 +18,11 @@ #pragma once -#include "base/String.h" #include "common/stdvector.h" #include "deskflow/KeyState.h" +#include + #define WIN32_LEAN_AND_MEAN #include @@ -38,11 +39,12 @@ class MSWindowsKeyState : public KeyState { public: MSWindowsKeyState( - MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, std::vector layouts, bool isLangSyncEnabled + MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, std::vector layouts, + bool isLangSyncEnabled ); MSWindowsKeyState( MSWindowsDesks *desks, void *eventTarget, IEventQueue *events, deskflow::KeyMap &keyMap, - std::vector layouts, bool isLangSyncEnabled + std::vector layouts, bool isLangSyncEnabled ); virtual ~MSWindowsKeyState(); @@ -140,8 +142,8 @@ public: //@} // IKeyState overrides - virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang); - virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang); + virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang); + virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang); virtual bool fakeCtrlAltDel(); virtual KeyModifierMask pollActiveModifiers() const; virtual SInt32 pollActiveGroup() const; diff --git a/src/lib/platform/MSWindowsScreen.cpp b/src/lib/platform/MSWindowsScreen.cpp index f94c93c5f..fa8564249 100644 --- a/src/lib/platform/MSWindowsScreen.cpp +++ b/src/lib/platform/MSWindowsScreen.cpp @@ -22,7 +22,6 @@ #include "arch/win32/ArchMiscWindows.h" #include "base/IEventQueue.h" #include "base/Log.h" -#include "base/String.h" #include "base/TMethodEventJob.h" #include "base/TMethodJob.h" #include "client/Client.h" @@ -157,7 +156,7 @@ MSWindowsScreen::MSWindowsScreen( // SHGetFolderPath is deprecated in vista, but use it for xp support. char desktopPath[MAX_PATH]; if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_DESKTOP, NULL, 0, desktopPath))) { - m_desktopPath = String(desktopPath); + m_desktopPath = std::string(desktopPath); LOG((CLOG_DEBUG "using desktop for file drag-drop target: %s", m_desktopPath.c_str())); } else { LOG((CLOG_DEBUG "unable to use desktop as file drag-drop target, code=%d", GetLastError())); @@ -379,7 +378,7 @@ void MSWindowsScreen::leave() void MSWindowsScreen::sendDragThread(void *) { - String &draggingFilename = getDraggingFilename(); + std::string &draggingFilename = getDraggingFilename(); size_t size = draggingFilename.size(); if (draggingFilename.empty() == false) { @@ -791,13 +790,15 @@ void MSWindowsScreen::updateKeys() m_desks->updateKeys(); } -void MSWindowsScreen::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang) +void MSWindowsScreen::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang) { PlatformScreen::fakeKeyDown(id, mask, button, lang); updateForceShowCursor(); } -bool MSWindowsScreen::fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +bool MSWindowsScreen::fakeKeyRepeat( + KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang +) { bool result = PlatformScreen::fakeKeyRepeat(id, mask, count, button, lang); updateForceShowCursor(); @@ -1777,7 +1778,7 @@ void MSWindowsScreen::fakeDraggingFiles(DragFileList fileList) // exception from being thrown. } -String &MSWindowsScreen::getDraggingFilename() +std::string &MSWindowsScreen::getDraggingFilename() { if (m_draggingStarted) { m_dropTarget->clearDraggingFilename(); @@ -1796,7 +1797,7 @@ String &MSWindowsScreen::getDraggingFilename() fakeKeyUp(1); fakeMouseButton(kButtonLeft, false); - String filename; + std::string filename; DOUBLE timeout = ARCH->time() + .5f; while (ARCH->time() < timeout) { ARCH->sleep(.05f); @@ -1820,16 +1821,15 @@ String &MSWindowsScreen::getDraggingFilename() LOG((CLOG_DEBUG "failed to get drag file name from OLE")); } } - return m_draggingFilename; } -const String &MSWindowsScreen::getDropTarget() const +const std::string &MSWindowsScreen::getDropTarget() const { return m_desktopPath; } -String MSWindowsScreen::getSecureInputApp() const +std::string MSWindowsScreen::getSecureInputApp() const { // ignore on Windows return ""; diff --git a/src/lib/platform/MSWindowsScreen.h b/src/lib/platform/MSWindowsScreen.h index 6b0381352..b915b1623 100644 --- a/src/lib/platform/MSWindowsScreen.h +++ b/src/lib/platform/MSWindowsScreen.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "deskflow/ClientArgs.h" #include "deskflow/DragInformation.h" #include "deskflow/PlatformScreen.h" @@ -28,6 +27,8 @@ #include "platform/MSWindowsPowerManager.h" #include "platform/dfwhook.h" +#include + #define WIN32_LEAN_AND_MEAN #include @@ -115,8 +116,8 @@ public: // IKeyState overrides virtual void updateKeys(); - virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang); - virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang); + virtual void fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang); + virtual bool fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang); virtual bool fakeKeyUp(KeyButton button); virtual void fakeAllKeysUp(); @@ -136,9 +137,9 @@ public: virtual void setSequenceNumber(UInt32); virtual bool isPrimary() const; virtual void fakeDraggingFiles(DragFileList fileList); - virtual String &getDraggingFilename(); - virtual const String &getDropTarget() const; - String getSecureInputApp() const override; + virtual std::string &getDraggingFilename(); + virtual const std::string &getDropTarget() const; + std::string getSecureInputApp() const override; protected: // IPlatformScreen overrides @@ -354,7 +355,7 @@ private: IEventQueue *m_events; - String m_desktopPath; + std::string m_desktopPath; MSWindowsDropTarget *m_dropTarget; HWND m_dropWindow; diff --git a/src/lib/platform/MSWindowsScreenSaver.h b/src/lib/platform/MSWindowsScreenSaver.h index 9303c7a27..eac1d2af3 100644 --- a/src/lib/platform/MSWindowsScreenSaver.h +++ b/src/lib/platform/MSWindowsScreenSaver.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "deskflow/IScreenSaver.h" #define WIN32_LEAN_AND_MEAN diff --git a/src/lib/platform/MSWindowsSession.cpp b/src/lib/platform/MSWindowsSession.cpp index 4419cf442..14fdfa516 100644 --- a/src/lib/platform/MSWindowsSession.cpp +++ b/src/lib/platform/MSWindowsSession.cpp @@ -170,9 +170,9 @@ BOOL MSWindowsSession::nextProcessEntry(HANDLE snapshot, LPPROCESSENTRY32 entry) return gotEntry; } -String MSWindowsSession::getActiveDesktopName() +std::string MSWindowsSession::getActiveDesktopName() { - String result; + std::string result; try { HDESK hd = OpenInputDesktop(0, TRUE, GENERIC_READ); if (hd != NULL) { diff --git a/src/lib/platform/MSWindowsSession.h b/src/lib/platform/MSWindowsSession.h index 3cf450ad9..3563892df 100644 --- a/src/lib/platform/MSWindowsSession.h +++ b/src/lib/platform/MSWindowsSession.h @@ -17,7 +17,7 @@ #pragma once -#include "base/String.h" +#include #define WIN32_LEAN_AND_MEAN #include @@ -48,7 +48,7 @@ public: void updateActiveSession(); - String getActiveDesktopName(); + std::string getActiveDesktopName(); private: BOOL nextProcessEntry(HANDLE snapshot, LPPROCESSENTRY32 entry); diff --git a/src/lib/platform/MSWindowsUtil.cpp b/src/lib/platform/MSWindowsUtil.cpp index dd6adecf7..b1cefa362 100644 --- a/src/lib/platform/MSWindowsUtil.cpp +++ b/src/lib/platform/MSWindowsUtil.cpp @@ -26,29 +26,29 @@ // MSWindowsUtil // -String MSWindowsUtil::getString(HINSTANCE instance, DWORD id) +std::string MSWindowsUtil::getString(HINSTANCE instance, DWORD id) { char *msg = NULL; int n = LoadString(instance, id, reinterpret_cast(&msg), 0); if (n <= 0) { - return String(); + return std::string(); } - return String(msg, n); + return std::string(msg, n); } -String MSWindowsUtil::getErrorString(HINSTANCE hinstance, DWORD error, DWORD id) +std::string MSWindowsUtil::getErrorString(HINSTANCE hinstance, DWORD error, DWORD id) { char *buffer; if (FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, 0, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&buffer, 0, NULL ) == 0) { - String errorString = deskflow::string::sprintf("%d", error); + std::string errorString = deskflow::string::sprintf("%d", error); return deskflow::string::format(getString(hinstance, id).c_str(), errorString.c_str()); } else { - String result(buffer); + std::string result(buffer); LocalFree(buffer); return result; } diff --git a/src/lib/platform/MSWindowsUtil.h b/src/lib/platform/MSWindowsUtil.h index bb0fadad5..5dc43a163 100644 --- a/src/lib/platform/MSWindowsUtil.h +++ b/src/lib/platform/MSWindowsUtil.h @@ -18,7 +18,7 @@ #pragma once -#include "base/String.h" +#include #define WINDOWS_LEAN_AND_MEAN #include @@ -30,12 +30,12 @@ public: /*! Gets a string for \p id from the string table of \p instance. */ - static String getString(HINSTANCE instance, DWORD id); + static std::string getString(HINSTANCE instance, DWORD id); //! Get error string /*! Gets a system error message for \p error. If the error cannot be found return the string for \p id, replacing ${1} with \p error. */ - static String getErrorString(HINSTANCE, DWORD error, DWORD id); + static std::string getErrorString(HINSTANCE, DWORD error, DWORD id); }; diff --git a/src/lib/platform/MSWindowsWatchdog.cpp b/src/lib/platform/MSWindowsWatchdog.cpp index a565e4427..4b2e00ff7 100644 --- a/src/lib/platform/MSWindowsWatchdog.cpp +++ b/src/lib/platform/MSWindowsWatchdog.cpp @@ -21,6 +21,7 @@ #include "arch/Arch.h" #include "arch/win32/XArchWindows.h" #include "base/Log.h" +#include "base/String.h" #include "base/TMethodJob.h" #include "base/log_outputters.h" #include "common/ipc.h" @@ -380,7 +381,7 @@ void MSWindowsWatchdog::setStartupInfo(STARTUPINFO &si) si.dwFlags |= STARTF_USESTDHANDLES; } -BOOL MSWindowsWatchdog::startProcessInForeground(String &command) +BOOL MSWindowsWatchdog::startProcessInForeground(std::string &command) { // clear, as we're reusing process info struct ZeroMemory(&m_processInfo, sizeof(PROCESS_INFORMATION)); @@ -400,7 +401,7 @@ BOOL MSWindowsWatchdog::startProcessInForeground(String &command) return result; } -BOOL MSWindowsWatchdog::startProcessAsUser(String &command, HANDLE userToken, LPSECURITY_ATTRIBUTES sa) +BOOL MSWindowsWatchdog::startProcessAsUser(std::string &command, HANDLE userToken, LPSECURITY_ATTRIBUTES sa) { // clear, as we're reusing process info struct ZeroMemory(&m_processInfo, sizeof(PROCESS_INFORMATION)); @@ -601,24 +602,24 @@ void MSWindowsWatchdog::shutdownExistingProcesses() void MSWindowsWatchdog::getActiveDesktop(LPSECURITY_ATTRIBUTES security) { - String installedDir = ARCH->getInstalledDirectory(); + std::string installedDir = ARCH->getInstalledDirectory(); if (!installedDir.empty()) { MSWindowsSession session; - String name = session.getActiveDesktopName(); + std::string name = session.getActiveDesktopName(); if (name.empty()) { LOG((CLOG_CRIT "failed to get active desktop name")); } else { - String output = deskflow::string::sprintf("activeDesktop:%s", name.c_str()); + std::string output = deskflow::string::sprintf("activeDesktop:%s", name.c_str()); LOG((CLOG_INFO "%s", output.c_str())); } } } -void MSWindowsWatchdog::testOutput(String buffer) +void MSWindowsWatchdog::testOutput(std::string buffer) { // HACK: check standard output seems hacky. size_t i = buffer.find(g_activeDesktop); - if (i != String::npos) { + if (i != std::string::npos) { size_t s = sizeof(g_activeDesktop); std::string defaultScreen = "Default"; m_activeDesktop = trimDesktopName(buffer.substr(i + s - 1)); diff --git a/src/lib/platform/MSWindowsWatchdog.h b/src/lib/platform/MSWindowsWatchdog.h index be94c0f25..eec3cba70 100644 --- a/src/lib/platform/MSWindowsWatchdog.h +++ b/src/lib/platform/MSWindowsWatchdog.h @@ -54,11 +54,11 @@ private: HANDLE duplicateProcessToken(HANDLE process, LPSECURITY_ATTRIBUTES security); HANDLE getUserToken(LPSECURITY_ATTRIBUTES security); void startProcess(); - BOOL startProcessAsUser(String &command, HANDLE userToken, LPSECURITY_ATTRIBUTES sa); - BOOL startProcessInForeground(String &command); + BOOL startProcessAsUser(std::string &command, HANDLE userToken, LPSECURITY_ATTRIBUTES sa); + BOOL startProcessInForeground(std::string &command); void sendSas(); void getActiveDesktop(LPSECURITY_ATTRIBUTES security); - void testOutput(String buffer); + void testOutput(std::string buffer); void setStartupInfo(STARTUPINFO &si); void checkChildren(); /** @@ -111,12 +111,12 @@ An error occured in the process watchdog. class XMSWindowsWatchdogError : public XDeskflow { public: - XMSWindowsWatchdogError(const String &msg) : XDeskflow(msg) + XMSWindowsWatchdogError(const std::string &msg) : XDeskflow(msg) { } // XBase overrides - virtual String getWhat() const throw() + virtual std::string getWhat() const throw() { return what(); } diff --git a/src/lib/platform/OSXClipboard.cpp b/src/lib/platform/OSXClipboard.cpp index b31f71b0e..d6b7fc3ae 100644 --- a/src/lib/platform/OSXClipboard.cpp +++ b/src/lib/platform/OSXClipboard.cpp @@ -87,7 +87,7 @@ bool OSXClipboard::synchronize() return false; } -void OSXClipboard::add(EFormat format, const String &data) +void OSXClipboard::add(EFormat format, const std::string &data) { if (m_pboard == NULL) return; @@ -107,7 +107,7 @@ void OSXClipboard::add(EFormat format, const String &data) // skip converters for other formats if (converter->getFormat() == format) { - String osXData = converter->fromIClipboard(data); + std::string osXData = converter->fromIClipboard(data); CFStringRef flavorType = converter->getOSXFormat(); CFDataRef dataRef = CFDataCreate(kCFAllocatorDefault, (UInt8 *)osXData.data(), osXData.size()); PasteboardItemID itemID = 0; @@ -168,11 +168,11 @@ bool OSXClipboard::has(EFormat format) const return false; } -String OSXClipboard::get(EFormat format) const +std::string OSXClipboard::get(EFormat format) const { CFStringRef type; PasteboardItemID item; - String result; + std::string result; if (m_pboard == NULL) return result; @@ -208,7 +208,7 @@ String OSXClipboard::get(EFormat format) const throw err; } - result = String((char *)CFDataGetBytePtr(buffer), CFDataGetLength(buffer)); + result = std::string((char *)CFDataGetBytePtr(buffer), CFDataGetLength(buffer)); } catch (OSStatus err) { LOG((CLOG_DEBUG "exception thrown in OSXClipboard::get MacError (%d)", err)); } catch (...) { diff --git a/src/lib/platform/OSXClipboard.h b/src/lib/platform/OSXClipboard.h index 447f1a417..f58c3ffbc 100644 --- a/src/lib/platform/OSXClipboard.h +++ b/src/lib/platform/OSXClipboard.h @@ -37,12 +37,12 @@ public: // IClipboard overrides virtual bool empty(); - virtual void add(EFormat, const String &data); + virtual void add(EFormat, const std::string &data); virtual bool open(Time) const; virtual void close() const; virtual Time getTime() const; virtual bool has(EFormat) const; - virtual String get(EFormat) const; + virtual std::string get(EFormat) const; bool synchronize(); @@ -83,14 +83,14 @@ public: getFormat(). The return data will be in the scrap format returned by getOSXFormat(). */ - virtual String fromIClipboard(const String &) const = 0; + virtual std::string fromIClipboard(const std::string &) const = 0; //! Convert to IClipboard format /*! Convert from the carbon scrap format to the IClipboard format (i.e., the reverse of fromIClipboard()). */ - virtual String toIClipboard(const String &) const = 0; + virtual std::string toIClipboard(const std::string &) const = 0; //@} }; diff --git a/src/lib/platform/OSXClipboardAnyBitmapConverter.cpp b/src/lib/platform/OSXClipboardAnyBitmapConverter.cpp index 400b09716..3269b8422 100644 --- a/src/lib/platform/OSXClipboardAnyBitmapConverter.cpp +++ b/src/lib/platform/OSXClipboardAnyBitmapConverter.cpp @@ -34,12 +34,12 @@ IClipboard::EFormat OSXClipboardAnyBitmapConverter::getFormat() const return IClipboard::kBitmap; } -String OSXClipboardAnyBitmapConverter::fromIClipboard(const String &data) const +std::string OSXClipboardAnyBitmapConverter::fromIClipboard(const std::string &data) const { return doFromIClipboard(data); } -String OSXClipboardAnyBitmapConverter::toIClipboard(const String &data) const +std::string OSXClipboardAnyBitmapConverter::toIClipboard(const std::string &data) const { return doToIClipboard(data); } diff --git a/src/lib/platform/OSXClipboardAnyBitmapConverter.h b/src/lib/platform/OSXClipboardAnyBitmapConverter.h index f5e5b0898..0e347e75a 100644 --- a/src/lib/platform/OSXClipboardAnyBitmapConverter.h +++ b/src/lib/platform/OSXClipboardAnyBitmapConverter.h @@ -30,19 +30,19 @@ public: // IOSXClipboardConverter overrides virtual IClipboard::EFormat getFormat() const; virtual CFStringRef getOSXFormat() const = 0; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; protected: //! Convert from IClipboard format /*! Do UTF-8 conversion and linefeed conversion. */ - virtual String doFromIClipboard(const String &) const = 0; + virtual std::string doFromIClipboard(const std::string &) const = 0; //! Convert to IClipboard format /*! Do UTF-8 conversion and Linefeed conversion. */ - virtual String doToIClipboard(const String &) const = 0; + virtual std::string doToIClipboard(const std::string &) const = 0; }; diff --git a/src/lib/platform/OSXClipboardAnyTextConverter.cpp b/src/lib/platform/OSXClipboardAnyTextConverter.cpp index 3c8721dd4..3dee0c22e 100644 --- a/src/lib/platform/OSXClipboardAnyTextConverter.cpp +++ b/src/lib/platform/OSXClipboardAnyTextConverter.cpp @@ -39,13 +39,13 @@ IClipboard::EFormat OSXClipboardAnyTextConverter::getFormat() const return IClipboard::kText; } -String OSXClipboardAnyTextConverter::fromIClipboard(const String &data) const +std::string OSXClipboardAnyTextConverter::fromIClipboard(const std::string &data) const { // convert linefeeds and then convert to desired encoding return doFromIClipboard(convertLinefeedToMacOS(data)); } -String OSXClipboardAnyTextConverter::toIClipboard(const String &data) const +std::string OSXClipboardAnyTextConverter::toIClipboard(const std::string &data) const { // convert text then newlines return convertLinefeedToUnix(doToIClipboard(data)); @@ -61,19 +61,19 @@ static bool isCR(char ch) return (ch == '\r'); } -String OSXClipboardAnyTextConverter::convertLinefeedToMacOS(const String &src) +std::string OSXClipboardAnyTextConverter::convertLinefeedToMacOS(const std::string &src) { // note -- we assume src is a valid UTF-8 string - String copy = src; + std::string copy = src; std::replace_if(copy.begin(), copy.end(), isLF, '\r'); return copy; } -String OSXClipboardAnyTextConverter::convertLinefeedToUnix(const String &src) +std::string OSXClipboardAnyTextConverter::convertLinefeedToUnix(const std::string &src) { - String copy = src; + std::string copy = src; std::replace_if(copy.begin(), copy.end(), isCR, '\n'); diff --git a/src/lib/platform/OSXClipboardAnyTextConverter.h b/src/lib/platform/OSXClipboardAnyTextConverter.h index 9d7a18da3..10eb630e5 100644 --- a/src/lib/platform/OSXClipboardAnyTextConverter.h +++ b/src/lib/platform/OSXClipboardAnyTextConverter.h @@ -30,23 +30,23 @@ public: // IOSXClipboardConverter overrides virtual IClipboard::EFormat getFormat() const; virtual CFStringRef getOSXFormat() const = 0; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; protected: //! Convert from IClipboard format /*! Do UTF-8 conversion and linefeed conversion. */ - virtual String doFromIClipboard(const String &) const = 0; + virtual std::string doFromIClipboard(const std::string &) const = 0; //! Convert to IClipboard format /*! Do UTF-8 conversion and Linefeed conversion. */ - virtual String doToIClipboard(const String &) const = 0; + virtual std::string doToIClipboard(const std::string &) const = 0; private: - static String convertLinefeedToMacOS(const String &); - static String convertLinefeedToUnix(const String &); + static std::string convertLinefeedToMacOS(const std::string &); + static std::string convertLinefeedToUnix(const std::string &); }; diff --git a/src/lib/platform/OSXClipboardBMPConverter.cpp b/src/lib/platform/OSXClipboardBMPConverter.cpp index 076bdabe4..b2088f797 100644 --- a/src/lib/platform/OSXClipboardBMPConverter.cpp +++ b/src/lib/platform/OSXClipboardBMPConverter.cpp @@ -80,7 +80,7 @@ CFStringRef OSXClipboardBMPConverter::getOSXFormat() const return CFSTR("com.microsoft.bmp"); } -String OSXClipboardBMPConverter::fromIClipboard(const String &bmp) const +std::string OSXClipboardBMPConverter::fromIClipboard(const std::string &bmp) const { LOG((CLOG_DEBUG1 "getting data from clipboard")); // create BMP image @@ -92,20 +92,20 @@ String OSXClipboardBMPConverter::fromIClipboard(const String &bmp) const toLE(dst, static_cast(0)); toLE(dst, static_cast(0)); toLE(dst, static_cast(14 + 40)); - return String(reinterpret_cast(header), 14) + bmp; + return std::string(reinterpret_cast(header), 14) + bmp; } -String OSXClipboardBMPConverter::toIClipboard(const String &bmp) const +std::string OSXClipboardBMPConverter::toIClipboard(const std::string &bmp) const { // make sure data is big enough for a BMP file if (bmp.size() <= 14 + 40) { - return String(); + return std::string(); } // check BMP file header const UInt8 *rawBMPHeader = reinterpret_cast(bmp.data()); if (rawBMPHeader[0] != 'B' || rawBMPHeader[1] != 'M') { - return String(); + return std::string(); } // get offset to image data diff --git a/src/lib/platform/OSXClipboardBMPConverter.h b/src/lib/platform/OSXClipboardBMPConverter.h index 21ff5656d..dc73ec8c4 100644 --- a/src/lib/platform/OSXClipboardBMPConverter.h +++ b/src/lib/platform/OSXClipboardBMPConverter.h @@ -33,9 +33,9 @@ public: virtual CFStringRef getOSXFormat() const; // OSXClipboardAnyBMPConverter overrides - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; // generic encoding converter - static String convertString(const String &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); + static std::string convertString(const std::string &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); }; diff --git a/src/lib/platform/OSXClipboardHTMLConverter.cpp b/src/lib/platform/OSXClipboardHTMLConverter.cpp index 5a4685dc5..d7052658a 100644 --- a/src/lib/platform/OSXClipboardHTMLConverter.cpp +++ b/src/lib/platform/OSXClipboardHTMLConverter.cpp @@ -40,13 +40,14 @@ CFStringRef OSXClipboardHTMLConverter::getOSXFormat() const return CFSTR("public.html"); } -String -OSXClipboardHTMLConverter::convertString(const String &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding) +std::string OSXClipboardHTMLConverter::convertString( + const std::string &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding +) { CFStringRef stringRef = CFStringCreateWithCString(kCFAllocatorDefault, data.c_str(), fromEncoding); if (stringRef == NULL) { - return String(); + return std::string(); } CFIndex buffSize; @@ -58,12 +59,12 @@ OSXClipboardHTMLConverter::convertString(const String &data, CFStringEncoding fr if (buffer == NULL) { CFRelease(stringRef); - return String(); + return std::string(); } CFStringGetBytes(stringRef, entireString, toEncoding, 0, false, (UInt8 *)buffer, buffSize, NULL); - String result(buffer, buffSize); + std::string result(buffer, buffSize); delete[] buffer; CFRelease(stringRef); @@ -71,12 +72,12 @@ OSXClipboardHTMLConverter::convertString(const String &data, CFStringEncoding fr return result; } -String OSXClipboardHTMLConverter::doFromIClipboard(const String &data) const +std::string OSXClipboardHTMLConverter::doFromIClipboard(const std::string &data) const { return data; } -String OSXClipboardHTMLConverter::doToIClipboard(const String &data) const +std::string OSXClipboardHTMLConverter::doToIClipboard(const std::string &data) const { if (Unicode::isUTF8(data)) { return data; diff --git a/src/lib/platform/OSXClipboardHTMLConverter.h b/src/lib/platform/OSXClipboardHTMLConverter.h index e3a687a6a..4c8b01cb9 100644 --- a/src/lib/platform/OSXClipboardHTMLConverter.h +++ b/src/lib/platform/OSXClipboardHTMLConverter.h @@ -34,9 +34,9 @@ public: protected: // OSXClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; // generic encoding converter - static String convertString(const String &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); + static std::string convertString(const std::string &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); }; diff --git a/src/lib/platform/OSXClipboardTextConverter.cpp b/src/lib/platform/OSXClipboardTextConverter.cpp index 5d5e1acc0..9dcfc0480 100644 --- a/src/lib/platform/OSXClipboardTextConverter.cpp +++ b/src/lib/platform/OSXClipboardTextConverter.cpp @@ -39,13 +39,14 @@ CFStringRef OSXClipboardTextConverter::getOSXFormat() const return CFSTR("public.plain-text"); } -String -OSXClipboardTextConverter::convertString(const String &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding) +std::string OSXClipboardTextConverter::convertString( + const std::string &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding +) { CFStringRef stringRef = CFStringCreateWithCString(kCFAllocatorDefault, data.c_str(), fromEncoding); if (stringRef == NULL) { - return String(); + return std::string(); } CFIndex buffSize; @@ -57,12 +58,12 @@ OSXClipboardTextConverter::convertString(const String &data, CFStringEncoding fr if (buffer == NULL) { CFRelease(stringRef); - return String(); + return std::string(); } CFStringGetBytes(stringRef, entireString, toEncoding, 0, false, (UInt8 *)buffer, buffSize, NULL); - String result(buffer, buffSize); + std::string result(buffer, buffSize); delete[] buffer; CFRelease(stringRef); @@ -70,12 +71,12 @@ OSXClipboardTextConverter::convertString(const String &data, CFStringEncoding fr return result; } -String OSXClipboardTextConverter::doFromIClipboard(const String &data) const +std::string OSXClipboardTextConverter::doFromIClipboard(const std::string &data) const { return convertString(data, kCFStringEncodingUTF8, CFStringGetSystemEncoding()); } -String OSXClipboardTextConverter::doToIClipboard(const String &data) const +std::string OSXClipboardTextConverter::doToIClipboard(const std::string &data) const { return convertString(data, CFStringGetSystemEncoding(), kCFStringEncodingUTF8); } diff --git a/src/lib/platform/OSXClipboardTextConverter.h b/src/lib/platform/OSXClipboardTextConverter.h index ff048f3fe..dc1cf6ab3 100644 --- a/src/lib/platform/OSXClipboardTextConverter.h +++ b/src/lib/platform/OSXClipboardTextConverter.h @@ -32,9 +32,9 @@ public: protected: // OSXClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; // generic encoding converter - static String convertString(const String &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); + static std::string convertString(const std::string &data, CFStringEncoding fromEncoding, CFStringEncoding toEncoding); }; diff --git a/src/lib/platform/OSXClipboardUTF16Converter.cpp b/src/lib/platform/OSXClipboardUTF16Converter.cpp index f9c707091..bb2d2dea2 100644 --- a/src/lib/platform/OSXClipboardUTF16Converter.cpp +++ b/src/lib/platform/OSXClipboardUTF16Converter.cpp @@ -39,13 +39,13 @@ CFStringRef OSXClipboardUTF16Converter::getOSXFormat() const return CFSTR("public.utf16-plain-text"); } -String OSXClipboardUTF16Converter::doFromIClipboard(const String &data) const +std::string OSXClipboardUTF16Converter::doFromIClipboard(const std::string &data) const { // convert and add nul terminator return Unicode::UTF8ToUTF16(data); } -String OSXClipboardUTF16Converter::doToIClipboard(const String &data) const +std::string OSXClipboardUTF16Converter::doToIClipboard(const std::string &data) const { // convert and strip nul terminator return Unicode::UTF16ToUTF8(data); diff --git a/src/lib/platform/OSXClipboardUTF16Converter.h b/src/lib/platform/OSXClipboardUTF16Converter.h index 052837000..035191f3d 100644 --- a/src/lib/platform/OSXClipboardUTF16Converter.h +++ b/src/lib/platform/OSXClipboardUTF16Converter.h @@ -32,6 +32,6 @@ public: protected: // OSXClipboardAnyTextConverter overrides - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; }; diff --git a/src/lib/platform/OSXClipboardUTF8Converter.cpp b/src/lib/platform/OSXClipboardUTF8Converter.cpp index 0aeb97432..1f6f6bbd8 100644 --- a/src/lib/platform/OSXClipboardUTF8Converter.cpp +++ b/src/lib/platform/OSXClipboardUTF8Converter.cpp @@ -5,12 +5,12 @@ CFStringRef OSXClipboardUTF8Converter::getOSXFormat() const return CFSTR("public.utf8-plain-text"); } -String OSXClipboardUTF8Converter::doFromIClipboard(const String &data) const +std::string OSXClipboardUTF8Converter::doFromIClipboard(const std::string &data) const { return data; } -String OSXClipboardUTF8Converter::doToIClipboard(const String &data) const +std::string OSXClipboardUTF8Converter::doToIClipboard(const std::string &data) const { return data; } diff --git a/src/lib/platform/OSXClipboardUTF8Converter.h b/src/lib/platform/OSXClipboardUTF8Converter.h index fb97ff72a..70993fc10 100644 --- a/src/lib/platform/OSXClipboardUTF8Converter.h +++ b/src/lib/platform/OSXClipboardUTF8Converter.h @@ -25,6 +25,6 @@ public: virtual CFStringRef getOSXFormat() const; private: - virtual String doFromIClipboard(const String &) const; - virtual String doToIClipboard(const String &) const; + virtual std::string doFromIClipboard(const std::string &) const; + virtual std::string doToIClipboard(const std::string &) const; }; diff --git a/src/lib/platform/OSXKeyState.cpp b/src/lib/platform/OSXKeyState.cpp index 0852c6d22..8e50492ef 100644 --- a/src/lib/platform/OSXKeyState.cpp +++ b/src/lib/platform/OSXKeyState.cpp @@ -190,14 +190,14 @@ bool isModifier(UInt8 virtualKey) // OSXKeyState // -OSXKeyState::OSXKeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled) +OSXKeyState::OSXKeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled) : KeyState(events, std::move(layouts), isLangSyncEnabled) { init(); } OSXKeyState::OSXKeyState( - IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled + IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled ) : KeyState(events, keyMap, std::move(layouts), isLangSyncEnabled) { diff --git a/src/lib/platform/OSXKeyState.h b/src/lib/platform/OSXKeyState.h index 226ca15ff..bd79042a6 100644 --- a/src/lib/platform/OSXKeyState.h +++ b/src/lib/platform/OSXKeyState.h @@ -37,8 +37,8 @@ class OSXKeyState : public KeyState public: using KeyIDs = std::vector; - OSXKeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled); - OSXKeyState(IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled); + OSXKeyState(IEventQueue *events, std::vector layouts, bool isLangSyncEnabled); + OSXKeyState(IEventQueue *events, deskflow::KeyMap &keyMap, std::vector layouts, bool isLangSyncEnabled); virtual ~OSXKeyState(); //! @name modifiers diff --git a/src/lib/platform/OSXScreen.h b/src/lib/platform/OSXScreen.h index 38d2eed80..1a28dd967 100644 --- a/src/lib/platform/OSXScreen.h +++ b/src/lib/platform/OSXScreen.h @@ -105,10 +105,10 @@ public: void setSequenceNumber(UInt32) override; bool isPrimary() const override; void fakeDraggingFiles(DragFileList fileList) override; - String &getDraggingFilename() override; - String getSecureInputApp() const override; + std::string &getDraggingFilename() override; + std::string getSecureInputApp() const override; - const String &getDropTarget() const override + const std::string &getDropTarget() const override { return m_dropTarget; } @@ -337,7 +337,7 @@ private: IEventQueue *m_events; std::unique_ptr m_getDropTargetThread; - String m_dropTarget; + std::string m_dropTarget; #if defined(MAC_OS_X_VERSION_10_7) Mutex *m_carbonLoopMutex; diff --git a/src/lib/platform/OSXScreen.mm b/src/lib/platform/OSXScreen.mm index a2bf45842..1c2846582 100644 --- a/src/lib/platform/OSXScreen.mm +++ b/src/lib/platform/OSXScreen.mm @@ -72,7 +72,7 @@ enum }; int getSecureInputEventPID(); -String getProcessName(int pid); +std::string getProcessName(int pid); // TODO: upgrade deprecated function usage in these functions. void setZeroSuppressionInterval(); @@ -837,7 +837,7 @@ void OSXScreen::leave() hideCursor(); if (isDraggingStarted()) { - String &fileList = getDraggingFilename(); + std::string &fileList = getDraggingFilename(); if (!m_isPrimary) { if (fileList.empty() == false) { @@ -848,7 +848,7 @@ void OSXScreen::leave() di.setFilename(fileList); DragFileList dragFileList; dragFileList.push_back(di); - String info; + std::string info; UInt32 fileCount = DragInformation::setupDragInfo(dragFileList, info); client->sendDragInfo(fileCount, info, info.size()); LOG((CLOG_DEBUG "send dragging file to server")); @@ -1918,7 +1918,7 @@ char *OSXScreen::CFStringRefToUTF8String(CFStringRef aString) void OSXScreen::fakeDraggingFiles(DragFileList fileList) { m_fakeDraggingStarted = true; - String fileExt; + std::string fileExt; if (fileList.size() == 1) { fileExt = DragInformation::getDragFileExtension(fileList.at(0).getFilename()); } @@ -1930,7 +1930,7 @@ void OSXScreen::fakeDraggingFiles(DragFileList fileList) #endif } -String &OSXScreen::getDraggingFilename() +std::string &OSXScreen::getDraggingFilename() { if (m_draggingStarted) { m_draggingFilename.clear(); @@ -1977,7 +1977,7 @@ void OSXScreen::waitForCarbonLoop() const #endif } -String OSXScreen::getSecureInputApp() const +std::string OSXScreen::getSecureInputApp() const { if (IsSecureEventInputEnabled()) { int secureInputProcessPID = getSecureInputEventPID(); @@ -2044,7 +2044,7 @@ int getSecureInputEventPID() return pid; } -String getProcessName(int pid) +std::string getProcessName(int pid) { if (!pid) return ""; diff --git a/src/lib/platform/XWindowsClipboard.cpp b/src/lib/platform/XWindowsClipboard.cpp index 57035af1c..e352b42cc 100644 --- a/src/lib/platform/XWindowsClipboard.cpp +++ b/src/lib/platform/XWindowsClipboard.cpp @@ -153,7 +153,7 @@ bool XWindowsClipboard::addSimpleRequest(Window requestor, Atom target, ::Time t } // handle targets - String data; + std::string data; Atom type = None; int format = 0; if (target == m_atomTargets) { @@ -278,7 +278,7 @@ bool XWindowsClipboard::empty() return true; } -void XWindowsClipboard::add(EFormat format, const String &data) +void XWindowsClipboard::add(EFormat format, const std::string &data) { assert(m_open); assert(m_owner); @@ -357,7 +357,7 @@ bool XWindowsClipboard::has(EFormat format) const return m_added[format]; } -String XWindowsClipboard::get(EFormat format) const +std::string XWindowsClipboard::get(EFormat format) const { assert(m_open); @@ -468,7 +468,7 @@ void XWindowsClipboard::icccmFillCache() // instead of the correct type ATOM; allow either. const Atom atomTargets = m_atomTargets; Atom target; - String data; + std::string data; if (!icccmGetSelection(atomTargets, &target, &data) || (target != m_atomAtom && target != m_atomTargets)) { LOG((CLOG_DEBUG1 "selection doesn't support TARGETS")); data = ""; @@ -510,7 +510,7 @@ void XWindowsClipboard::icccmFillCache() // get the data Atom actualTarget; - String targetData; + std::string targetData; if (!icccmGetSelection(target, &actualTarget, &targetData)) { LOG((CLOG_DEBUG1 " no data for target %s", XWindowsUtil::atomToString(m_display, target).c_str())); continue; @@ -528,7 +528,7 @@ void XWindowsClipboard::icccmFillCache() } } -bool XWindowsClipboard::icccmGetSelection(Atom target, Atom *actualTarget, String *data) const +bool XWindowsClipboard::icccmGetSelection(Atom target, Atom *actualTarget, std::string *data) const { assert(actualTarget != nullptr); assert(data != nullptr); @@ -550,7 +550,7 @@ bool XWindowsClipboard::icccmGetSelection(Atom target, Atom *actualTarget, Strin IClipboard::Time XWindowsClipboard::icccmGetTime() const { Atom actualTarget; - String data; + std::string data; if (icccmGetSelection(m_atomTimestamp, &actualTarget, &data) && actualTarget == m_atomInteger) { Time time = *static_cast(static_cast(data.data())); LOG((CLOG_DEBUG1 "got ICCCM time %d", time)); @@ -616,7 +616,7 @@ bool XWindowsClipboard::motifOwnsClipboard() const // get the Motif clipboard header property from the root window Atom target; SInt32 format; - String data; + std::string data; Window root = RootWindow(m_display, DefaultScreen(m_display)); if (!XWindowsUtil::getWindowProperty(m_display, root, m_atomMotifClipHeader, &data, &target, &format, False)) { return false; @@ -641,7 +641,7 @@ void XWindowsClipboard::motifFillCache() // get the Motif clipboard header property from the root window Atom target; SInt32 format; - String data; + std::string data; Window root = RootWindow(m_display, DefaultScreen(m_display)); if (!XWindowsUtil::getWindowProperty(m_display, root, m_atomMotifClipHeader, &data, &target, &format, False)) { return; @@ -680,13 +680,13 @@ void XWindowsClipboard::motifFillCache() auto formats = static_cast(static_cast(item.m_size + data.data())); // get the available formats - using MotifFormatMap = std::map; + using MotifFormatMap = std::map; MotifFormatMap motifFormats; for (SInt32 i = 0; i < numFormats; ++i) { // get Motif format property from the root window snprintf(name, buffer_size, "_MOTIF_CLIP_ITEM_%d", formats[i]); Atom atomFormat = XInternAtom(m_display, name, False); - String data; + std::string data; if (!XWindowsUtil::getWindowProperty(m_display, root, atomFormat, &data, &target, &format, False)) { continue; } @@ -730,7 +730,7 @@ void XWindowsClipboard::motifFillCache() // get the data (finally) Atom actualTarget; - String targetData; + std::string targetData; if (!motifGetSelection(&motifFormat, &actualTarget, &targetData)) { LOG((CLOG_DEBUG1 " no data for target %s", XWindowsUtil::atomToString(m_display, target).c_str())); continue; @@ -744,7 +744,7 @@ void XWindowsClipboard::motifFillCache() } } -bool XWindowsClipboard::motifGetSelection(const MotifClipFormat *format, Atom *actualTarget, String *data) const +bool XWindowsClipboard::motifGetSelection(const MotifClipFormat *format, Atom *actualTarget, std::string *data) const { // if the current clipboard owner and the owner indicated by the // motif clip header are the same then transfer via a property on @@ -776,7 +776,7 @@ bool XWindowsClipboard::insertMultipleReply(Window requestor, ::Time time, Atom // get the requested targets Atom target; SInt32 format; - String data; + std::string data; if (!XWindowsUtil::getWindowProperty(m_display, requestor, property, &data, &target, &format, False)) { // can't get the requested targets return false; @@ -810,7 +810,7 @@ bool XWindowsClipboard::insertMultipleReply(Window requestor, ::Time time, Atom } // add reply for MULTIPLE request - insertReply(new Reply(requestor, m_atomMultiple, time, property, String(), None, 32)); + insertReply(new Reply(requestor, m_atomMultiple, time, property, std::string(), None, 32)); return true; } @@ -1027,7 +1027,7 @@ bool XWindowsClipboard::sendReply(Reply *reply) LOG((CLOG_DEBUG2 "properties of 0x%08x:", reply->m_requestor)); for (int i = 0; i < n; ++i) { Atom target; - String data; + std::string data; char *name = XGetAtomName(m_display, props[i]); if (!XWindowsUtil::getWindowProperty(m_display, reply->m_requestor, props[i], &data, &target, nullptr, False)) { LOG((CLOG_DEBUG2 " %s: ", name)); @@ -1035,8 +1035,8 @@ bool XWindowsClipboard::sendReply(Reply *reply) // convert to hex if contains non ascii symbols if (std::find_if(data.begin(), data.end(), [](const unsigned char &c) { return c < 32 || c > 126; }) != data.end()) { - const String hex_digits = "0123456789abcdef"; - String tmp; + const std::string hex_digits = "0123456789abcdef"; + std::string tmp; tmp.reserve(data.length() * 3); std::for_each(data.begin(), data.end(), [hex_digits, &tmp](const unsigned char &c) { tmp += hex_digits[c >> 16]; @@ -1127,7 +1127,7 @@ bool XWindowsClipboard::wasOwnedAtTime(::Time time) const return (/*when >= 0 &&*/ when <= duration); } -Atom XWindowsClipboard::getTargetsData(String &data, int *format) const +Atom XWindowsClipboard::getTargetsData(std::string &data, int *format) const { assert(format != nullptr); @@ -1150,7 +1150,7 @@ Atom XWindowsClipboard::getTargetsData(String &data, int *format) const return m_atomAtom; } -Atom XWindowsClipboard::getTimestampData(String &data, int *format) const +Atom XWindowsClipboard::getTimestampData(std::string &data, int *format) const { assert(format != nullptr); @@ -1172,7 +1172,7 @@ XWindowsClipboard::CICCCMGetClipboard::CICCCMGetClipboard(Window requestor, Time } bool XWindowsClipboard::CICCCMGetClipboard::readClipboard( - Display *display, Atom selection, Atom target, Atom *actualTarget, String *data + Display *display, Atom selection, Atom target, Atom *actualTarget, std::string *data ) { assert(actualTarget != nullptr); @@ -1319,7 +1319,7 @@ bool XWindowsClipboard::CICCCMGetClipboard::processEvent(Display *display, XEven // get the data from the property Atom target; - const String::size_type oldSize = m_data->size(); + const std::string::size_type oldSize = m_data->size(); if (!XWindowsUtil::getWindowProperty(display, m_requestor, m_property, m_data, &target, nullptr, True)) { // unable to read property m_failed = true; @@ -1397,7 +1397,7 @@ XWindowsClipboard::Reply::Reply(Window requestor, Atom target, ::Time time) } XWindowsClipboard::Reply::Reply( - Window requestor, Atom target, ::Time time, Atom property, const String &data, Atom type, int format + Window requestor, Atom target, ::Time time, Atom property, const std::string &data, Atom type, int format ) : m_requestor(requestor), m_target(target), diff --git a/src/lib/platform/XWindowsClipboard.h b/src/lib/platform/XWindowsClipboard.h index 7dbb4b337..39a481f06 100644 --- a/src/lib/platform/XWindowsClipboard.h +++ b/src/lib/platform/XWindowsClipboard.h @@ -91,12 +91,12 @@ public: // IClipboard overrides virtual bool empty(); - virtual void add(EFormat, const String &data); + virtual void add(EFormat, const std::string &data); virtual bool open(Time) const; virtual void close() const; virtual Time getTime() const; virtual bool has(EFormat) const; - virtual String get(EFormat) const; + virtual std::string get(EFormat) const; private: // remove all converters from our list @@ -145,7 +145,7 @@ protected: // convert the given selection to the given type. returns // true iff the conversion was successful or the conversion // cannot be performed (in which case *actualTarget == None). - bool readClipboard(Display *display, Atom selection, Atom target, Atom *actualTarget, String *data); + bool readClipboard(Display *display, Atom selection, Atom target, Atom *actualTarget, std::string *data); private: bool processEvent(Display *display, XEvent *event); @@ -166,7 +166,7 @@ protected: bool m_reading = false; // the converted selection data - String *m_data = nullptr; + std::string *m_data = nullptr; // the actual type of the data. if this is None then the // selection owner cannot convert to the requested type. @@ -235,7 +235,7 @@ protected: { public: Reply(Window, Atom target, ::Time); - Reply(Window, Atom target, ::Time, Atom property, const String &data, Atom type, int format); + Reply(Window, Atom target, ::Time, Atom property, const std::string &data, Atom type, int format); public: // information about the request @@ -251,7 +251,7 @@ protected: bool m_done; // the data to send and its type and format - String m_data; + std::string m_data; Atom m_type; int m_format; @@ -264,7 +264,7 @@ protected: // ICCCM interoperability methods void icccmFillCache(); - bool icccmGetSelection(Atom target, Atom *actualTarget, String *data) const; + bool icccmGetSelection(Atom target, Atom *actualTarget, std::string *data) const; Time icccmGetTime() const; // motif interoperability methods @@ -272,7 +272,7 @@ protected: void motifUnlockClipboard() const; bool motifOwnsClipboard() const; void motifFillCache(); - bool motifGetSelection(const MotifClipFormat *, Atom *actualTarget, String *data) const; + bool motifGetSelection(const MotifClipFormat *, Atom *actualTarget, std::string *data) const; Time motifGetTime() const; // reply methods @@ -287,8 +287,8 @@ protected: bool wasOwnedAtTime(::Time) const; // data conversion methods - Atom getTargetsData(String &, int *format) const; - Atom getTimestampData(String &, int *format) const; + Atom getTargetsData(std::string &, int *format) const; + Atom getTimestampData(std::string &, int *format) const; private: using ConverterList = std::vector; @@ -311,7 +311,7 @@ private: bool m_cached; Time m_cacheTime; bool m_added[kNumFormats]; - String m_data[kNumFormats]; + std::string m_data[kNumFormats]; // conversion request replies ReplyMap m_replies; @@ -373,14 +373,14 @@ public: getFormat(). The return data will be in the X selection format returned by getAtom(). */ - virtual String fromIClipboard(const String &) const = 0; + virtual std::string fromIClipboard(const std::string &) const = 0; //! Convert to IClipboard format /*! Convert from the X selection format to the IClipboard format (i.e., the reverse of fromIClipboard()). */ - virtual String toIClipboard(const String &) const = 0; + virtual std::string toIClipboard(const std::string &) const = 0; //@} }; diff --git a/src/lib/platform/XWindowsClipboardAnyBitmapConverter.cpp b/src/lib/platform/XWindowsClipboardAnyBitmapConverter.cpp index 0f527d612..f5a7506ab 100644 --- a/src/lib/platform/XWindowsClipboardAnyBitmapConverter.cpp +++ b/src/lib/platform/XWindowsClipboardAnyBitmapConverter.cpp @@ -105,7 +105,7 @@ int XWindowsClipboardAnyBitmapConverter::getDataSize() const return 8; } -String XWindowsClipboardAnyBitmapConverter::fromIClipboard(const String &bmp) const +std::string XWindowsClipboardAnyBitmapConverter::fromIClipboard(const std::string &bmp) const { // fill BMP info header with native-endian data CBMPInfoHeader infoHeader; @@ -125,7 +125,7 @@ String XWindowsClipboardAnyBitmapConverter::fromIClipboard(const String &bmp) co // check that format is acceptable if (infoHeader.biSize != 40 || infoHeader.biWidth == 0 || infoHeader.biHeight == 0 || infoHeader.biPlanes != 0 || infoHeader.biCompression != 0 || (infoHeader.biBitCount != 24 && infoHeader.biBitCount != 32)) { - return String(); + return std::string(); } // convert to image format @@ -137,13 +137,13 @@ String XWindowsClipboardAnyBitmapConverter::fromIClipboard(const String &bmp) co } } -String XWindowsClipboardAnyBitmapConverter::toIClipboard(const String &image) const +std::string XWindowsClipboardAnyBitmapConverter::toIClipboard(const std::string &image) const { // convert to raw BMP data UInt32 w, h, depth; - String rawBMP = doToIClipboard(image, w, h, depth); + std::string rawBMP = doToIClipboard(image, w, h, depth); if (rawBMP.empty() || w == 0 || h == 0 || (depth != 24 && depth != 32)) { - return String(); + return std::string(); } // fill BMP info header with little-endian data @@ -162,5 +162,5 @@ String XWindowsClipboardAnyBitmapConverter::toIClipboard(const String &image) co toLE(dst, static_cast(0)); // construct image - return String(reinterpret_cast(infoHeader), sizeof(infoHeader)) + rawBMP; + return std::string(reinterpret_cast(infoHeader), sizeof(infoHeader)) + rawBMP; } diff --git a/src/lib/platform/XWindowsClipboardAnyBitmapConverter.h b/src/lib/platform/XWindowsClipboardAnyBitmapConverter.h index 0216ff2a1..d912254d2 100644 --- a/src/lib/platform/XWindowsClipboardAnyBitmapConverter.h +++ b/src/lib/platform/XWindowsClipboardAnyBitmapConverter.h @@ -31,26 +31,26 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const = 0; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; protected: //! Convert from IClipboard format /*! Convert raw BGR pixel data to another image format. */ - virtual String doBGRFromIClipboard(const UInt8 *bgrData, UInt32 w, UInt32 h) const = 0; + virtual std::string doBGRFromIClipboard(const UInt8 *bgrData, UInt32 w, UInt32 h) const = 0; //! Convert from IClipboard format /*! Convert raw BGRA pixel data to another image format. */ - virtual String doBGRAFromIClipboard(const UInt8 *bgrData, UInt32 w, UInt32 h) const = 0; + virtual std::string doBGRAFromIClipboard(const UInt8 *bgrData, UInt32 w, UInt32 h) const = 0; //! Convert to IClipboard format /*! Convert an image into raw BGR or BGRA image data and store the width, height, and image depth (24 or 32). */ - virtual String doToIClipboard(const String &, UInt32 &w, UInt32 &h, UInt32 &depth) const = 0; + virtual std::string doToIClipboard(const std::string &, UInt32 &w, UInt32 &h, UInt32 &depth) const = 0; }; diff --git a/src/lib/platform/XWindowsClipboardBMPConverter.cpp b/src/lib/platform/XWindowsClipboardBMPConverter.cpp index a8886752e..4abc4673b 100644 --- a/src/lib/platform/XWindowsClipboardBMPConverter.cpp +++ b/src/lib/platform/XWindowsClipboardBMPConverter.cpp @@ -88,7 +88,7 @@ int XWindowsClipboardBMPConverter::getDataSize() const return 8; } -String XWindowsClipboardBMPConverter::fromIClipboard(const String &bmp) const +std::string XWindowsClipboardBMPConverter::fromIClipboard(const std::string &bmp) const { // create BMP image UInt8 header[14]; @@ -99,20 +99,20 @@ String XWindowsClipboardBMPConverter::fromIClipboard(const String &bmp) const toLE(dst, static_cast(0)); toLE(dst, static_cast(0)); toLE(dst, static_cast(14 + 40)); - return String(reinterpret_cast(header), 14) + bmp; + return std::string(reinterpret_cast(header), 14) + bmp; } -String XWindowsClipboardBMPConverter::toIClipboard(const String &bmp) const +std::string XWindowsClipboardBMPConverter::toIClipboard(const std::string &bmp) const { // make sure data is big enough for a BMP file if (bmp.size() <= 14 + 40) { - return String(); + return std::string(); } // check BMP file header const UInt8 *rawBMPHeader = reinterpret_cast(bmp.data()); if (rawBMPHeader[0] != 'B' || rawBMPHeader[1] != 'M') { - return String(); + return std::string(); } // get offset to image data diff --git a/src/lib/platform/XWindowsClipboardBMPConverter.h b/src/lib/platform/XWindowsClipboardBMPConverter.h index ba7d913b8..69eab3f88 100644 --- a/src/lib/platform/XWindowsClipboardBMPConverter.h +++ b/src/lib/platform/XWindowsClipboardBMPConverter.h @@ -31,8 +31,8 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; private: Atom m_atom; diff --git a/src/lib/platform/XWindowsClipboardHTMLConverter.cpp b/src/lib/platform/XWindowsClipboardHTMLConverter.cpp index 2a7b6e3e8..3d84da384 100644 --- a/src/lib/platform/XWindowsClipboardHTMLConverter.cpp +++ b/src/lib/platform/XWindowsClipboardHTMLConverter.cpp @@ -50,12 +50,12 @@ int XWindowsClipboardHTMLConverter::getDataSize() const return 8; } -String XWindowsClipboardHTMLConverter::fromIClipboard(const String &data) const +std::string XWindowsClipboardHTMLConverter::fromIClipboard(const std::string &data) const { return data; } -String XWindowsClipboardHTMLConverter::toIClipboard(const String &data) const +std::string XWindowsClipboardHTMLConverter::toIClipboard(const std::string &data) const { if (Unicode::isUTF8(data)) { return data; diff --git a/src/lib/platform/XWindowsClipboardHTMLConverter.h b/src/lib/platform/XWindowsClipboardHTMLConverter.h index add6ec7ea..779af4784 100644 --- a/src/lib/platform/XWindowsClipboardHTMLConverter.h +++ b/src/lib/platform/XWindowsClipboardHTMLConverter.h @@ -34,8 +34,8 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; private: Atom m_atom; diff --git a/src/lib/platform/XWindowsClipboardTextConverter.cpp b/src/lib/platform/XWindowsClipboardTextConverter.cpp index 066becf34..a0d9d522c 100644 --- a/src/lib/platform/XWindowsClipboardTextConverter.cpp +++ b/src/lib/platform/XWindowsClipboardTextConverter.cpp @@ -50,16 +50,16 @@ int XWindowsClipboardTextConverter::getDataSize() const return 8; } -String XWindowsClipboardTextConverter::fromIClipboard(const String &data) const +std::string XWindowsClipboardTextConverter::fromIClipboard(const std::string &data) const { return Unicode::UTF8ToText(data); } -String XWindowsClipboardTextConverter::toIClipboard(const String &data) const +std::string XWindowsClipboardTextConverter::toIClipboard(const std::string &data) const { // convert to UTF-8 bool errors; - String utf8 = Unicode::textToUTF8(data, &errors); + std::string utf8 = Unicode::textToUTF8(data, &errors); // if there were decoding errors then, to support old applications // that don't understand UTF-8 but can report the exact binary diff --git a/src/lib/platform/XWindowsClipboardTextConverter.h b/src/lib/platform/XWindowsClipboardTextConverter.h index ad7097838..2030384bb 100644 --- a/src/lib/platform/XWindowsClipboardTextConverter.h +++ b/src/lib/platform/XWindowsClipboardTextConverter.h @@ -34,8 +34,8 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; private: Atom m_atom; diff --git a/src/lib/platform/XWindowsClipboardUCS2Converter.cpp b/src/lib/platform/XWindowsClipboardUCS2Converter.cpp index 3c2317ba4..a6037c74b 100644 --- a/src/lib/platform/XWindowsClipboardUCS2Converter.cpp +++ b/src/lib/platform/XWindowsClipboardUCS2Converter.cpp @@ -50,12 +50,12 @@ int XWindowsClipboardUCS2Converter::getDataSize() const return 16; } -String XWindowsClipboardUCS2Converter::fromIClipboard(const String &data) const +std::string XWindowsClipboardUCS2Converter::fromIClipboard(const std::string &data) const { return Unicode::UTF8ToUCS2(data); } -String XWindowsClipboardUCS2Converter::toIClipboard(const String &data) const +std::string XWindowsClipboardUCS2Converter::toIClipboard(const std::string &data) const { return Unicode::UCS2ToUTF8(data); } diff --git a/src/lib/platform/XWindowsClipboardUCS2Converter.h b/src/lib/platform/XWindowsClipboardUCS2Converter.h index 7115d48e8..46146174f 100644 --- a/src/lib/platform/XWindowsClipboardUCS2Converter.h +++ b/src/lib/platform/XWindowsClipboardUCS2Converter.h @@ -34,8 +34,8 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; private: Atom m_atom; diff --git a/src/lib/platform/XWindowsClipboardUTF8Converter.cpp b/src/lib/platform/XWindowsClipboardUTF8Converter.cpp index fcf7287b8..4b9094b62 100644 --- a/src/lib/platform/XWindowsClipboardUTF8Converter.cpp +++ b/src/lib/platform/XWindowsClipboardUTF8Converter.cpp @@ -56,12 +56,12 @@ static bool isCR(char ch) return (ch == '\r'); } -String XWindowsClipboardUTF8Converter::fromIClipboard(const String &data) const +std::string XWindowsClipboardUTF8Converter::fromIClipboard(const std::string &data) const { return data; } -String XWindowsClipboardUTF8Converter::toIClipboard(const String &data) const +std::string XWindowsClipboardUTF8Converter::toIClipboard(const std::string &data) const { // https://bugzilla.mozilla.org/show_bug.cgi?id=1547595 // GTK normalizes the clipboard's line endings to CRLF (\r\n) internally. @@ -74,7 +74,7 @@ String XWindowsClipboardUTF8Converter::toIClipboard(const String &data) const // When normalize clipboard is set, any \r present in the string is removed if (m_normalize) { - String copy = data; + std::string copy = data; copy.erase(std::remove_if(copy.begin(), copy.end(), isCR), copy.end()); return copy; diff --git a/src/lib/platform/XWindowsClipboardUTF8Converter.h b/src/lib/platform/XWindowsClipboardUTF8Converter.h index af7dc9509..c4d7ecb6b 100644 --- a/src/lib/platform/XWindowsClipboardUTF8Converter.h +++ b/src/lib/platform/XWindowsClipboardUTF8Converter.h @@ -34,8 +34,8 @@ public: virtual IClipboard::EFormat getFormat() const; virtual Atom getAtom() const; virtual int getDataSize() const; - virtual String fromIClipboard(const String &) const; - virtual String toIClipboard(const String &) const; + virtual std::string fromIClipboard(const std::string &) const; + virtual std::string toIClipboard(const std::string &) const; private: Atom m_atom; diff --git a/src/lib/platform/XWindowsKeyState.cpp b/src/lib/platform/XWindowsKeyState.cpp index a8da7e428..bc336e646 100644 --- a/src/lib/platform/XWindowsKeyState.cpp +++ b/src/lib/platform/XWindowsKeyState.cpp @@ -26,7 +26,6 @@ #include "platform/XWindowsKeyState.h" #include "base/Log.h" -#include "base/String.h" #include "common/stdmap.h" #include "deskflow/AppUtil.h" #include "deskflow/ClientApp.h" diff --git a/src/lib/platform/XWindowsScreen.cpp b/src/lib/platform/XWindowsScreen.cpp index c41105f1b..11f35130f 100644 --- a/src/lib/platform/XWindowsScreen.cpp +++ b/src/lib/platform/XWindowsScreen.cpp @@ -23,7 +23,6 @@ #include "base/IEventQueue.h" #include "base/Log.h" #include "base/Stopwatch.h" -#include "base/String.h" #include "base/TMethodEventJob.h" #include "deskflow/App.h" #include "deskflow/ArgsBase.h" @@ -472,7 +471,7 @@ bool XWindowsScreen::isPrimary() const return m_isPrimary; } -String XWindowsScreen::getSecureInputApp() const +std::string XWindowsScreen::getSecureInputApp() const { // ignore on Linux return ""; diff --git a/src/lib/platform/XWindowsScreen.h b/src/lib/platform/XWindowsScreen.h index a7f2c5348..8a4ca245c 100644 --- a/src/lib/platform/XWindowsScreen.h +++ b/src/lib/platform/XWindowsScreen.h @@ -89,7 +89,7 @@ public: void setOptions(const OptionsList &options) override; void setSequenceNumber(UInt32) override; bool isPrimary() const override; - String getSecureInputApp() const override; + std::string getSecureInputApp() const override; protected: // IPlatformScreen overrides diff --git a/src/lib/platform/XWindowsUtil.cpp b/src/lib/platform/XWindowsUtil.cpp index f5226c702..1093544aa 100644 --- a/src/lib/platform/XWindowsUtil.cpp +++ b/src/lib/platform/XWindowsUtil.cpp @@ -1515,7 +1515,7 @@ static const KeySym s_map1008FF[] = { XWindowsUtil::KeySymMap XWindowsUtil::s_keySymToUCS4; bool XWindowsUtil::getWindowProperty( - Display *display, Window window, Atom property, String *data, Atom *type, SInt32 *format, bool deleteProperty + Display *display, Window window, Atom property, std::string *data, Atom *type, SInt32 *format, bool deleteProperty ) { assert(display != NULL); @@ -1816,7 +1816,7 @@ UInt32 XWindowsUtil::getModifierBitForKeySym(KeySym keysym) } } -String XWindowsUtil::atomToString(Display *display, Atom atom) +std::string XWindowsUtil::atomToString(Display *display, Atom atom) { if (atom == 0) { return "None"; @@ -1828,19 +1828,19 @@ String XWindowsUtil::atomToString(Display *display, Atom atom) if (error) { return deskflow::string::sprintf(" (%d)", (int)atom); } else { - String msg = deskflow::string::sprintf("%s (%d)", name, (int)atom); + std::string msg = deskflow::string::sprintf("%s (%d)", name, (int)atom); XFree(name); return msg; } } -String XWindowsUtil::atomsToString(Display *display, const Atom *atom, UInt32 num) +std::string XWindowsUtil::atomsToString(Display *display, const Atom *atom, UInt32 num) { char **names = new char *[num]; bool error = false; XWindowsUtil::ErrorLock lock(display, &error); XGetAtomNames(display, const_cast(atom), (int)num, names); - String msg; + std::string msg; if (error) { for (UInt32 i = 0; i < num; ++i) { msg += deskflow::string::sprintf(" (%d), ", (int)atom[i]); @@ -1858,7 +1858,7 @@ String XWindowsUtil::atomsToString(Display *display, const Atom *atom, UInt32 nu return msg; } -void XWindowsUtil::convertAtomProperty(String &data) +void XWindowsUtil::convertAtomProperty(std::string &data) { // as best i can tell, 64-bit systems don't pack Atoms into properties // as 32-bit numbers but rather as the 64-bit numbers they are. that @@ -1872,17 +1872,17 @@ void XWindowsUtil::convertAtomProperty(String &data) } } -void XWindowsUtil::appendAtomData(String &data, Atom atom) +void XWindowsUtil::appendAtomData(std::string &data, Atom atom) { data.append(reinterpret_cast(&atom), sizeof(Atom)); } -void XWindowsUtil::replaceAtomData(String &data, UInt32 index, Atom atom) +void XWindowsUtil::replaceAtomData(std::string &data, UInt32 index, Atom atom) { data.replace(index * sizeof(Atom), sizeof(Atom), reinterpret_cast(&atom), sizeof(Atom)); } -void XWindowsUtil::appendTimeData(String &data, Time time) +void XWindowsUtil::appendTimeData(std::string &data, Time time) { data.append(reinterpret_cast(&time), sizeof(Time)); } diff --git a/src/lib/platform/XWindowsUtil.h b/src/lib/platform/XWindowsUtil.h index 0631041b0..a809ce1f8 100644 --- a/src/lib/platform/XWindowsUtil.h +++ b/src/lib/platform/XWindowsUtil.h @@ -19,10 +19,11 @@ #pragma once #include "base/EventTypes.h" -#include "base/String.h" #include "common/stdmap.h" #include "common/stdvector.h" +#include + #if X_DISPLAY_MISSING #error X11 is required to build deskflow #else @@ -44,7 +45,7 @@ public: property is deleted after being read. */ static bool getWindowProperty( - Display *, Window window, Atom property, String *data, Atom *type, SInt32 *format, bool deleteProperty + Display *, Window window, Atom property, std::string *data, Atom *type, SInt32 *format, bool deleteProperty ); //! Set property @@ -79,42 +80,42 @@ public: /*! Converts \p atom to its string representation. */ - static String atomToString(Display *, Atom atom); + static std::string atomToString(Display *, Atom atom); //! Convert several Atoms to a string /*! Converts each atom in \p atoms to its string representation and concatenates the results. */ - static String atomsToString(Display *display, const Atom *atom, UInt32 num); + static std::string atomsToString(Display *display, const Atom *atom, UInt32 num); //! Prepare a property of atoms for use /*! 64-bit systems may need to modify a property's data if it's a list of Atoms before using it. */ - static void convertAtomProperty(String &data); + static void convertAtomProperty(std::string &data); //! Append an Atom to property data /*! Converts \p atom to a 32-bit on-the-wire format and appends it to \p data. */ - static void appendAtomData(String &data, Atom atom); + static void appendAtomData(std::string &data, Atom atom); //! Replace an Atom in property data /*! Converts \p atom to a 32-bit on-the-wire format and replaces the atom at index \p index in \p data. */ - static void replaceAtomData(String &data, UInt32 index, Atom atom); + static void replaceAtomData(std::string &data, UInt32 index, Atom atom); //! Append an Time to property data /*! Converts \p time to a 32-bit on-the-wire format and appends it to \p data. */ - static void appendTimeData(String &data, Time time); + static void appendTimeData(std::string &data, Time time); //! X11 error handler /*! diff --git a/src/lib/server/BaseClientProxy.cpp b/src/lib/server/BaseClientProxy.cpp index 434403574..1e15081c4 100644 --- a/src/lib/server/BaseClientProxy.cpp +++ b/src/lib/server/BaseClientProxy.cpp @@ -22,7 +22,7 @@ // BaseClientProxy // -BaseClientProxy::BaseClientProxy(const String &name) : m_name(name), m_x(0), m_y(0) +BaseClientProxy::BaseClientProxy(const std::string &name) : m_name(name), m_x(0), m_y(0) { // do nothing } @@ -44,7 +44,7 @@ void BaseClientProxy::getJumpCursorPos(SInt32 &x, SInt32 &y) const y = m_y; } -String BaseClientProxy::getName() const +std::string BaseClientProxy::getName() const { return m_name; } diff --git a/src/lib/server/BaseClientProxy.h b/src/lib/server/BaseClientProxy.h index fbbfe75bc..173ac09fa 100644 --- a/src/lib/server/BaseClientProxy.h +++ b/src/lib/server/BaseClientProxy.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "deskflow/IClient.h" namespace deskflow { @@ -32,7 +31,7 @@ public: /*! \c name is the name of the client. */ - BaseClientProxy(const String &name); + BaseClientProxy(const std::string &name); ~BaseClientProxy(); //! @name manipulators @@ -77,8 +76,8 @@ public: virtual void setClipboard(ClipboardID, const IClipboard *) = 0; virtual void grabClipboard(ClipboardID) = 0; virtual void setClipboardDirty(ClipboardID, bool) = 0; - virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const String &) = 0; - virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &lang) = 0; + virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &) = 0; + virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &lang) = 0; virtual void keyUp(KeyID, KeyModifierMask, KeyButton) = 0; virtual void mouseDown(ButtonID) = 0; virtual void mouseUp(ButtonID) = 0; @@ -90,12 +89,12 @@ public: virtual void setOptions(const OptionsList &options) = 0; virtual void sendDragInfo(UInt32 fileCount, const char *info, size_t size) = 0; virtual void fileChunkSending(UInt8 mark, char *data, size_t dataSize) = 0; - virtual String getSecureInputApp() const = 0; - virtual void secureInputNotification(const String &app) const = 0; - virtual String getName() const; + virtual std::string getSecureInputApp() const = 0; + virtual void secureInputNotification(const std::string &app) const = 0; + virtual std::string getName() const; virtual deskflow::IStream *getStream() const = 0; private: - String m_name; + std::string m_name; SInt32 m_x, m_y; }; diff --git a/src/lib/server/ClientProxy.cpp b/src/lib/server/ClientProxy.cpp index 6848ee185..eabf6659e 100644 --- a/src/lib/server/ClientProxy.cpp +++ b/src/lib/server/ClientProxy.cpp @@ -27,7 +27,7 @@ // ClientProxy // -ClientProxy::ClientProxy(const String &name, deskflow::IStream *stream) : BaseClientProxy(name), m_stream(stream) +ClientProxy::ClientProxy(const std::string &name, deskflow::IStream *stream) : BaseClientProxy(name), m_stream(stream) { } diff --git a/src/lib/server/ClientProxy.h b/src/lib/server/ClientProxy.h index fca45008d..bcc8706e2 100644 --- a/src/lib/server/ClientProxy.h +++ b/src/lib/server/ClientProxy.h @@ -20,7 +20,6 @@ #include "base/Event.h" #include "base/EventTypes.h" -#include "base/String.h" #include "server/BaseClientProxy.h" namespace deskflow { @@ -34,7 +33,7 @@ public: /*! \c name is the name of the client. */ - ClientProxy(const String &name, deskflow::IStream *adoptedStream); + ClientProxy(const std::string &name, deskflow::IStream *adoptedStream); ClientProxy(ClientProxy const &) = delete; ClientProxy(ClientProxy &&) = delete; ~ClientProxy(); @@ -75,8 +74,8 @@ public: void setClipboard(ClipboardID, const IClipboard *) override = 0; void grabClipboard(ClipboardID) override = 0; void setClipboardDirty(ClipboardID, bool) override = 0; - void keyDown(KeyID, KeyModifierMask, KeyButton, const String &) override = 0; - void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &lang) override = 0; + void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &) override = 0; + void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &lang) override = 0; void keyUp(KeyID, KeyModifierMask, KeyButton) override = 0; void mouseDown(ButtonID) override = 0; void mouseUp(ButtonID) override = 0; @@ -88,7 +87,7 @@ public: void setOptions(const OptionsList &options) override = 0; void sendDragInfo(UInt32 fileCount, const char *info, size_t size) override = 0; void fileChunkSending(UInt8 mark, char *data, size_t dataSize) override = 0; - void secureInputNotification(const String &app) const override = 0; + void secureInputNotification(const std::string &app) const override = 0; private: deskflow::IStream *m_stream; diff --git a/src/lib/server/ClientProxy1_0.cpp b/src/lib/server/ClientProxy1_0.cpp index 02f0e98b4..dc7dc8408 100644 --- a/src/lib/server/ClientProxy1_0.cpp +++ b/src/lib/server/ClientProxy1_0.cpp @@ -31,7 +31,7 @@ // ClientProxy1_0 // -ClientProxy1_0::ClientProxy1_0(const String &name, deskflow::IStream *stream, IEventQueue *events) +ClientProxy1_0::ClientProxy1_0(const std::string &name, deskflow::IStream *stream, IEventQueue *events) : ClientProxy(name, stream), m_heartbeatTimer(NULL), m_parser(&ClientProxy1_0::parseHandshakeMessage), @@ -278,13 +278,13 @@ void ClientProxy1_0::setClipboardDirty(ClipboardID id, bool dirty) m_clipboard[id].m_dirty = dirty; } -void ClientProxy1_0::keyDown(KeyID key, KeyModifierMask mask, KeyButton, const String &) +void ClientProxy1_0::keyDown(KeyID key, KeyModifierMask mask, KeyButton, const std::string &) { LOG((CLOG_DEBUG1 "send key down to \"%s\" id=%d, mask=0x%04x", getName().c_str(), key, mask)); ProtocolUtil::writef(getStream(), kMsgDKeyDown1_0, key, mask); } -void ClientProxy1_0::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton, const String &) +void ClientProxy1_0::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton, const std::string &) { LOG((CLOG_DEBUG1 "send key repeat to \"%s\" id=%d, mask=0x%04x, count=%d", getName().c_str(), key, mask, count)); ProtocolUtil::writef(getStream(), kMsgDKeyRepeat1_0, key, mask, count); @@ -338,14 +338,14 @@ void ClientProxy1_0::fileChunkSending(UInt8 mark, char *data, size_t dataSize) LOG((CLOG_DEBUG "fileChunkSending not supported")); } -String ClientProxy1_0::getSecureInputApp() const +std::string ClientProxy1_0::getSecureInputApp() const { // ignore -- not supported on clients LOG((CLOG_DEBUG "getSecureInputApp not supported")); return ""; } -void ClientProxy1_0::secureInputNotification(const String &app) const +void ClientProxy1_0::secureInputNotification(const std::string &app) const { // ignore -- not supported in protocol 1.0 LOG((CLOG_DEBUG "secureInputNotification not supported")); diff --git a/src/lib/server/ClientProxy1_0.h b/src/lib/server/ClientProxy1_0.h index 0339b44e6..f86e11837 100644 --- a/src/lib/server/ClientProxy1_0.h +++ b/src/lib/server/ClientProxy1_0.h @@ -30,7 +30,7 @@ class IEventQueue; class ClientProxy1_0 : public ClientProxy { public: - ClientProxy1_0(const String &name, deskflow::IStream *adoptedStream, IEventQueue *events); + ClientProxy1_0(const std::string &name, deskflow::IStream *adoptedStream, IEventQueue *events); ClientProxy1_0(ClientProxy1_0 const &) = delete; ClientProxy1_0(ClientProxy1_0 &&) = delete; ~ClientProxy1_0(); @@ -49,8 +49,8 @@ public: void setClipboard(ClipboardID, const IClipboard *) override; void grabClipboard(ClipboardID) override; void setClipboardDirty(ClipboardID, bool) override; - void keyDown(KeyID, KeyModifierMask, KeyButton, const String &) override; - void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &) override; + void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &) override; + void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &) override; void keyUp(KeyID, KeyModifierMask, KeyButton) override; void mouseDown(ButtonID) override; void mouseUp(ButtonID) override; @@ -62,8 +62,8 @@ public: void setOptions(const OptionsList &options) override; void sendDragInfo(UInt32 fileCount, const char *info, size_t size) override; void fileChunkSending(UInt8 mark, char *data, size_t dataSize) override; - String getSecureInputApp() const override; - void secureInputNotification(const String &app) const override; + std::string getSecureInputApp() const override; + void secureInputNotification(const std::string &app) const override; protected: virtual bool parseHandshakeMessage(const UInt8 *code); diff --git a/src/lib/server/ClientProxy1_1.cpp b/src/lib/server/ClientProxy1_1.cpp index 16c71ec02..5ee633340 100644 --- a/src/lib/server/ClientProxy1_1.cpp +++ b/src/lib/server/ClientProxy1_1.cpp @@ -28,7 +28,7 @@ // ClientProxy1_1 // -ClientProxy1_1::ClientProxy1_1(const String &name, deskflow::IStream *stream, IEventQueue *events) +ClientProxy1_1::ClientProxy1_1(const std::string &name, deskflow::IStream *stream, IEventQueue *events) : ClientProxy1_0(name, stream, events) { // do nothing @@ -39,13 +39,13 @@ ClientProxy1_1::~ClientProxy1_1() // do nothing } -void ClientProxy1_1::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const String &) +void ClientProxy1_1::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const std::string &) { LOG((CLOG_DEBUG1 "send key down to \"%s\" id=%d, mask=0x%04x, button=0x%04x", getName().c_str(), key, mask, button)); ProtocolUtil::writef(getStream(), kMsgDKeyDown, key, mask, button); } -void ClientProxy1_1::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +void ClientProxy1_1::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) { LOG( (CLOG_DEBUG1 "send key repeat to \"%s\" id=%d, mask=0x%04x, count=%d, " diff --git a/src/lib/server/ClientProxy1_1.h b/src/lib/server/ClientProxy1_1.h index 0f22bb3c0..88133e216 100644 --- a/src/lib/server/ClientProxy1_1.h +++ b/src/lib/server/ClientProxy1_1.h @@ -24,11 +24,11 @@ class ClientProxy1_1 : public ClientProxy1_0 { public: - ClientProxy1_1(const String &name, deskflow::IStream *adoptedStream, IEventQueue *events); + ClientProxy1_1(const std::string &name, deskflow::IStream *adoptedStream, IEventQueue *events); ~ClientProxy1_1(); // IClient overrides - virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const String &); - virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &); + virtual void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &); + virtual void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &); virtual void keyUp(KeyID, KeyModifierMask, KeyButton); }; diff --git a/src/lib/server/ClientProxy1_2.cpp b/src/lib/server/ClientProxy1_2.cpp index 7d65d9ed6..7c6e8565f 100644 --- a/src/lib/server/ClientProxy1_2.cpp +++ b/src/lib/server/ClientProxy1_2.cpp @@ -25,7 +25,7 @@ // ClientProxy1_1 // -ClientProxy1_2::ClientProxy1_2(const String &name, deskflow::IStream *stream, IEventQueue *events) +ClientProxy1_2::ClientProxy1_2(const std::string &name, deskflow::IStream *stream, IEventQueue *events) : ClientProxy1_1(name, stream, events) { // do nothing diff --git a/src/lib/server/ClientProxy1_2.h b/src/lib/server/ClientProxy1_2.h index 5ebd73a3a..db75515a0 100644 --- a/src/lib/server/ClientProxy1_2.h +++ b/src/lib/server/ClientProxy1_2.h @@ -26,7 +26,7 @@ class IEventQueue; class ClientProxy1_2 : public ClientProxy1_1 { public: - ClientProxy1_2(const String &name, deskflow::IStream *adoptedStream, IEventQueue *events); + ClientProxy1_2(const std::string &name, deskflow::IStream *adoptedStream, IEventQueue *events); ~ClientProxy1_2(); // IClient overrides diff --git a/src/lib/server/ClientProxy1_3.cpp b/src/lib/server/ClientProxy1_3.cpp index e52ab6d81..e8da23bcb 100644 --- a/src/lib/server/ClientProxy1_3.cpp +++ b/src/lib/server/ClientProxy1_3.cpp @@ -30,7 +30,7 @@ // ClientProxy1_3 // -ClientProxy1_3::ClientProxy1_3(const String &name, deskflow::IStream *stream, IEventQueue *events) +ClientProxy1_3::ClientProxy1_3(const std::string &name, deskflow::IStream *stream, IEventQueue *events) : ClientProxy1_2(name, stream, events), m_keepAliveRate(kKeepAliveRate), m_keepAliveTimer(NULL), diff --git a/src/lib/server/ClientProxy1_3.h b/src/lib/server/ClientProxy1_3.h index 118d06d4c..cefb1e461 100644 --- a/src/lib/server/ClientProxy1_3.h +++ b/src/lib/server/ClientProxy1_3.h @@ -24,7 +24,7 @@ class ClientProxy1_3 : public ClientProxy1_2 { public: - ClientProxy1_3(const String &name, deskflow::IStream *adoptedStream, IEventQueue *events); + ClientProxy1_3(const std::string &name, deskflow::IStream *adoptedStream, IEventQueue *events); ClientProxy1_3(ClientProxy1_3 const &) = delete; ClientProxy1_3(ClientProxy1_3 &&) = delete; ~ClientProxy1_3(); diff --git a/src/lib/server/ClientProxy1_4.cpp b/src/lib/server/ClientProxy1_4.cpp index e6fefef1f..d7bc17264 100644 --- a/src/lib/server/ClientProxy1_4.cpp +++ b/src/lib/server/ClientProxy1_4.cpp @@ -31,7 +31,7 @@ // ClientProxy1_4 // -ClientProxy1_4::ClientProxy1_4(const String &name, deskflow::IStream *stream, Server *server, IEventQueue *events) +ClientProxy1_4::ClientProxy1_4(const std::string &name, deskflow::IStream *stream, Server *server, IEventQueue *events) : ClientProxy1_3(name, stream, events), m_server(server) { @@ -42,12 +42,12 @@ ClientProxy1_4::~ClientProxy1_4() { } -void ClientProxy1_4::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const String &lang) +void ClientProxy1_4::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const std::string &lang) { ClientProxy1_3::keyDown(key, mask, button, lang); } -void ClientProxy1_4::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +void ClientProxy1_4::keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) { ClientProxy1_3::keyRepeat(key, mask, count, button, lang); } diff --git a/src/lib/server/ClientProxy1_4.h b/src/lib/server/ClientProxy1_4.h index 21e9ced4a..25944717d 100644 --- a/src/lib/server/ClientProxy1_4.h +++ b/src/lib/server/ClientProxy1_4.h @@ -26,7 +26,7 @@ class Server; class ClientProxy1_4 : public ClientProxy1_3 { public: - ClientProxy1_4(const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); + ClientProxy1_4(const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); ~ClientProxy1_4(); //! @name accessors @@ -41,8 +41,8 @@ public: //@} // IClient overrides - virtual void keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const String &); - virtual void keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang); + virtual void keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const std::string &); + virtual void keyRepeat(KeyID key, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang); virtual void keyUp(KeyID key, KeyModifierMask mask, KeyButton button); virtual void keepAlive(); diff --git a/src/lib/server/ClientProxy1_5.cpp b/src/lib/server/ClientProxy1_5.cpp index ab470a3d5..9bf067982 100644 --- a/src/lib/server/ClientProxy1_5.cpp +++ b/src/lib/server/ClientProxy1_5.cpp @@ -31,7 +31,7 @@ // ClientProxy1_5 // -ClientProxy1_5::ClientProxy1_5(const String &name, deskflow::IStream *stream, Server *server, IEventQueue *events) +ClientProxy1_5::ClientProxy1_5(const std::string &name, deskflow::IStream *stream, Server *server, IEventQueue *events) : ClientProxy1_4(name, stream, server, events), m_events(events) { @@ -49,7 +49,7 @@ ClientProxy1_5::~ClientProxy1_5() void ClientProxy1_5::sendDragInfo(UInt32 fileCount, const char *info, size_t size) { - String data(info, size); + std::string data(info, size); ProtocolUtil::writef(getStream(), kMsgDDragInfo, fileCount, &data); } @@ -81,7 +81,7 @@ void ClientProxy1_5::fileChunkReceived() m_events->addEvent(Event(m_events->forFile().fileRecieveCompleted(), server)); } else if (result == kStart) { if (server->getFakeDragFileList().size() > 0) { - String filename = server->getFakeDragFileList().at(0).getFilename(); + std::string filename = server->getFakeDragFileList().at(0).getFilename(); LOG((CLOG_DEBUG "start receiving %s", filename.c_str())); } } @@ -91,7 +91,7 @@ void ClientProxy1_5::dragInfoReceived() { // parse UInt32 fileNum = 0; - String content; + std::string content; ProtocolUtil::readf(getStream(), kMsgDDragInfo + 4, &fileNum, &content); m_server->dragInfoReceived(fileNum, content); diff --git a/src/lib/server/ClientProxy1_5.h b/src/lib/server/ClientProxy1_5.h index 74d07dce5..d7bfd19ff 100644 --- a/src/lib/server/ClientProxy1_5.h +++ b/src/lib/server/ClientProxy1_5.h @@ -28,7 +28,7 @@ class IEventQueue; class ClientProxy1_5 : public ClientProxy1_4 { public: - ClientProxy1_5(const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); + ClientProxy1_5(const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); ClientProxy1_5(ClientProxy1_5 const &) = delete; ClientProxy1_5(ClientProxy1_5 &&) = delete; ~ClientProxy1_5(); diff --git a/src/lib/server/ClientProxy1_6.cpp b/src/lib/server/ClientProxy1_6.cpp index 289757657..3031b613e 100644 --- a/src/lib/server/ClientProxy1_6.cpp +++ b/src/lib/server/ClientProxy1_6.cpp @@ -29,7 +29,7 @@ // ClientProxy1_6 // -ClientProxy1_6::ClientProxy1_6(const String &name, deskflow::IStream *stream, Server *server, IEventQueue *events) +ClientProxy1_6::ClientProxy1_6(const std::string &name, deskflow::IStream *stream, Server *server, IEventQueue *events) : ClientProxy1_5(name, stream, server, events), m_events(events) { @@ -51,7 +51,7 @@ void ClientProxy1_6::setClipboard(ClipboardID id, const IClipboard *clipboard) m_clipboard[id].m_dirty = false; Clipboard::copy(&m_clipboard[id].m_clipboard, clipboard); - String data = m_clipboard[id].m_clipboard.marshall(); + std::string data = m_clipboard[id].m_clipboard.marshall(); size_t size = data.size(); LOG((CLOG_DEBUG "sending clipboard %d to \"%s\"", id, getName().c_str())); @@ -68,7 +68,7 @@ void ClientProxy1_6::handleClipboardSendingEvent(const Event &event, void *) bool ClientProxy1_6::recvClipboard() { // parse message - static String dataCached; + static std::string dataCached; ClipboardID id; UInt32 seq; diff --git a/src/lib/server/ClientProxy1_6.h b/src/lib/server/ClientProxy1_6.h index b619ffacf..2096cc399 100644 --- a/src/lib/server/ClientProxy1_6.h +++ b/src/lib/server/ClientProxy1_6.h @@ -26,7 +26,7 @@ class IEventQueue; class ClientProxy1_6 : public ClientProxy1_5 { public: - ClientProxy1_6(const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); + ClientProxy1_6(const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); ~ClientProxy1_6(); virtual void setClipboard(ClipboardID id, const IClipboard *clipboard); diff --git a/src/lib/server/ClientProxy1_7.cpp b/src/lib/server/ClientProxy1_7.cpp index 5f0f10b6c..62a187309 100644 --- a/src/lib/server/ClientProxy1_7.cpp +++ b/src/lib/server/ClientProxy1_7.cpp @@ -26,13 +26,13 @@ // ClientProxy1_7 // -ClientProxy1_7::ClientProxy1_7(const String &name, deskflow::IStream *stream, Server *server, IEventQueue *events) +ClientProxy1_7::ClientProxy1_7(const std::string &name, deskflow::IStream *stream, Server *server, IEventQueue *events) : ClientProxy1_6(name, stream, server, events), m_events(events) { } -void ClientProxy1_7::secureInputNotification(const String &app) const +void ClientProxy1_7::secureInputNotification(const std::string &app) const { LOG((CLOG_DEBUG2 "send secure input notification to \"%s\" %s", getName().c_str(), app.c_str())); ProtocolUtil::writef(getStream(), kMsgDSecureInputNotification, &app); diff --git a/src/lib/server/ClientProxy1_7.h b/src/lib/server/ClientProxy1_7.h index a0a5ea6b8..36858ebf2 100644 --- a/src/lib/server/ClientProxy1_7.h +++ b/src/lib/server/ClientProxy1_7.h @@ -23,10 +23,10 @@ class ClientProxy1_7 : public ClientProxy1_6 { public: - ClientProxy1_7(const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); + ClientProxy1_7(const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); ~ClientProxy1_7() override = default; - void secureInputNotification(const String &app) const override; + void secureInputNotification(const std::string &app) const override; private: IEventQueue *m_events; diff --git a/src/lib/server/ClientProxy1_8.cpp b/src/lib/server/ClientProxy1_8.cpp index 8a563a89e..5433c02a3 100644 --- a/src/lib/server/ClientProxy1_8.cpp +++ b/src/lib/server/ClientProxy1_8.cpp @@ -21,7 +21,7 @@ #include "ClientProxy1_8.h" ClientProxy1_8::ClientProxy1_8( - const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events + const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events ) : ClientProxy1_7(name, adoptedStream, server, events) { @@ -40,7 +40,7 @@ void ClientProxy1_8::synchronizeLanguages() const } } -void ClientProxy1_8::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const String &language) +void ClientProxy1_8::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const std::string &language) { LOG( (CLOG_DEBUG1 "send key down to \"%s\" id=%d, mask=0x%04x, button=0x%04x, language=%s", getName().c_str(), key, diff --git a/src/lib/server/ClientProxy1_8.h b/src/lib/server/ClientProxy1_8.h index 6d0807dd2..343ac8009 100644 --- a/src/lib/server/ClientProxy1_8.h +++ b/src/lib/server/ClientProxy1_8.h @@ -21,10 +21,10 @@ class ClientProxy1_8 : public ClientProxy1_7 { public: - ClientProxy1_8(const String &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); + ClientProxy1_8(const std::string &name, deskflow::IStream *adoptedStream, Server *server, IEventQueue *events); ~ClientProxy1_8() override = default; - void keyDown(KeyID, KeyModifierMask, KeyButton, const String &) override; + void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &) override; private: void synchronizeLanguages() const; diff --git a/src/lib/server/ClientProxyUnknown.cpp b/src/lib/server/ClientProxyUnknown.cpp index de202660c..f4dc3f1b5 100644 --- a/src/lib/server/ClientProxyUnknown.cpp +++ b/src/lib/server/ClientProxyUnknown.cpp @@ -168,7 +168,7 @@ void ClientProxyUnknown::removeTimer() } } -void ClientProxyUnknown::initProxy(const String &name, int major, int minor) +void ClientProxyUnknown::initProxy(const std::string &name, int major, int minor) { if (major == 1) { switch (minor) { @@ -220,7 +220,7 @@ void ClientProxyUnknown::handleData(const Event &, void *) { LOG((CLOG_DEBUG1 "parsing hello reply")); - String name(""); + std::string name(""); try { // limit the maximum length of the hello diff --git a/src/lib/server/ClientProxyUnknown.h b/src/lib/server/ClientProxyUnknown.h index d53c84246..f3e9bdc3b 100644 --- a/src/lib/server/ClientProxyUnknown.h +++ b/src/lib/server/ClientProxyUnknown.h @@ -20,9 +20,10 @@ #include "base/Event.h" #include "base/EventTypes.h" -#include "base/String.h" #include "deskflow/option_types.h" +#include + class ClientProxy; class EventQueueTimer; namespace deskflow { @@ -67,7 +68,7 @@ private: void addStreamHandlers(); void addProxyHandlers(); void removeHandlers(); - void initProxy(const String &name, int major, int minor); + void initProxy(const std::string &name, int major, int minor); void removeTimer(); void handleData(const Event &, void *); void handleWriteError(const Event &, void *); diff --git a/src/lib/server/Config.cpp b/src/lib/server/Config.cpp index 078e12180..53fccbd11 100644 --- a/src/lib/server/Config.cpp +++ b/src/lib/server/Config.cpp @@ -51,7 +51,7 @@ Config::~Config() // do nothing } -bool Config::addScreen(const String &name) +bool Config::addScreen(const std::string &name) { // alias name must not exist if (m_nameToCanonicalName.find(name) != m_nameToCanonicalName.end()) { @@ -67,10 +67,10 @@ bool Config::addScreen(const String &name) return true; } -bool Config::renameScreen(const String &oldName, const String &newName) +bool Config::renameScreen(const std::string &oldName, const std::string &newName) { // get canonical name and find cell - String oldCanonical = getCanonicalName(oldName); + std::string oldCanonical = getCanonicalName(oldName); CellMap::iterator index = m_map.find(oldCanonical); if (index == m_map.end()) { return false; @@ -109,10 +109,10 @@ bool Config::renameScreen(const String &oldName, const String &newName) return true; } -void Config::removeScreen(const String &name) +void Config::removeScreen(const std::string &name) { // get canonical name and find cell - String canonical = getCanonicalName(name); + std::string canonical = getCanonicalName(name); CellMap::iterator index = m_map.find(canonical); if (index == m_map.end()) { return; @@ -143,7 +143,7 @@ void Config::removeAllScreens() m_nameToCanonicalName.clear(); } -bool Config::addAlias(const String &canonical, const String &alias) +bool Config::addAlias(const std::string &canonical, const std::string &alias) { // alias name must not exist if (m_nameToCanonicalName.find(alias) != m_nameToCanonicalName.end()) { @@ -161,7 +161,7 @@ bool Config::addAlias(const String &canonical, const String &alias) return true; } -bool Config::removeAlias(const String &alias) +bool Config::removeAlias(const std::string &alias) { // must not be a canonical name if (m_map.find(alias) != m_map.end()) { @@ -180,7 +180,7 @@ bool Config::removeAlias(const String &alias) return true; } -bool Config::removeAliases(const String &canonical) +bool Config::removeAliases(const std::string &canonical) { // must be a canonical name if (m_map.find(canonical) == m_map.end()) { @@ -211,8 +211,8 @@ void Config::removeAllAliases() } bool Config::connect( - const String &srcName, EDirection srcSide, float srcStart, float srcEnd, const String &dstName, float dstStart, - float dstEnd + const std::string &srcName, EDirection srcSide, float srcStart, float srcEnd, const std::string &dstName, + float dstStart, float dstEnd ) { assert(srcSide >= kFirstDirection && srcSide <= kLastDirection); @@ -229,7 +229,7 @@ bool Config::connect( return index->second.add(srcEdge, dstEdge); } -bool Config::disconnect(const String &srcName, EDirection srcSide) +bool Config::disconnect(const std::string &srcName, EDirection srcSide) { assert(srcSide >= kFirstDirection && srcSide <= kLastDirection); @@ -245,7 +245,7 @@ bool Config::disconnect(const String &srcName, EDirection srcSide) return true; } -bool Config::disconnect(const String &srcName, EDirection srcSide, float position) +bool Config::disconnect(const std::string &srcName, EDirection srcSide, float position) { assert(srcSide >= kFirstDirection && srcSide <= kLastDirection); @@ -266,7 +266,7 @@ void Config::setDeskflowAddress(const NetworkAddress &addr) m_deskflowAddress = addr; } -bool Config::addOption(const String &name, OptionID option, OptionValue value) +bool Config::addOption(const std::string &name, OptionID option, OptionValue value) { // find options ScreenOptions *options = NULL; @@ -287,7 +287,7 @@ bool Config::addOption(const String &name, OptionID option, OptionValue value) return true; } -bool Config::removeOption(const String &name, OptionID option) +bool Config::removeOption(const std::string &name, OptionID option) { // find options ScreenOptions *options = NULL; @@ -308,7 +308,7 @@ bool Config::removeOption(const String &name, OptionID option) return true; } -bool Config::removeOptions(const String &name) +bool Config::removeOptions(const std::string &name) { // find options ScreenOptions *options = NULL; @@ -329,7 +329,7 @@ bool Config::removeOptions(const String &name) return true; } -bool Config::isValidScreenName(const String &name) const +bool Config::isValidScreenName(const std::string &name) const { // name is valid if matches validname // name ::= [_A-Za-z0-9] | [_A-Za-z0-9][-_A-Za-z0-9]*[_A-Za-z0-9] @@ -344,7 +344,7 @@ bool Config::isValidScreenName(const String &name) const } // check each dot separated part - String::size_type b = 0; + std::string::size_type b = 0; for (;;) { // accept trailing . if (b == name.size()) { @@ -352,8 +352,8 @@ bool Config::isValidScreenName(const String &name) const } // find end of part - String::size_type e = name.find('.', b); - if (e == String::npos) { + std::string::size_type e = name.find('.', b); + if (e == std::string::npos) { e = name.size(); } @@ -368,7 +368,7 @@ bool Config::isValidScreenName(const String &name) const } // check interior characters - for (String::size_type i = b; i < e; ++i) { + for (std::string::size_type i = b; i < e; ++i) { if (!isalnum(name[i]) && name[i] != '_' && name[i] != '-') { return false; } @@ -405,34 +405,35 @@ Config::all_const_iterator Config::endAll() const return m_nameToCanonicalName.end(); } -bool Config::isScreen(const String &name) const +bool Config::isScreen(const std::string &name) const { return (m_nameToCanonicalName.count(name) > 0); } -bool Config::isCanonicalName(const String &name) const +bool Config::isCanonicalName(const std::string &name) const { return (!name.empty() && CaselessCmp::equal(getCanonicalName(name), name)); } -String Config::getCanonicalName(const String &name) const +std::string Config::getCanonicalName(const std::string &name) const { NameMap::const_iterator index = m_nameToCanonicalName.find(name); if (index == m_nameToCanonicalName.end()) { - return String(); + return std::string(); } else { return index->second; } } -String Config::getNeighbor(const String &srcName, EDirection srcSide, float position, float *positionOut) const +std::string +Config::getNeighbor(const std::string &srcName, EDirection srcSide, float position, float *positionOut) const { assert(srcSide >= kFirstDirection && srcSide <= kLastDirection); // find source cell CellMap::const_iterator index = m_map.find(getCanonicalName(srcName)); if (index == m_map.end()) { - return String(); + return std::string(); } // find edge @@ -451,12 +452,12 @@ String Config::getNeighbor(const String &srcName, EDirection srcSide, float posi } } -bool Config::hasNeighbor(const String &srcName, EDirection srcSide) const +bool Config::hasNeighbor(const std::string &srcName, EDirection srcSide) const { return hasNeighbor(srcName, srcSide, 0.0f, 1.0f); } -bool Config::hasNeighbor(const String &srcName, EDirection srcSide, float start, float end) const +bool Config::hasNeighbor(const std::string &srcName, EDirection srcSide, float start, float end) const { assert(srcSide >= kFirstDirection && srcSide <= kLastDirection); @@ -469,14 +470,14 @@ bool Config::hasNeighbor(const String &srcName, EDirection srcSide, float start, return index->second.overlaps(CellEdge(srcSide, Interval(start, end))); } -Config::link_const_iterator Config::beginNeighbor(const String &srcName) const +Config::link_const_iterator Config::beginNeighbor(const std::string &srcName) const { CellMap::const_iterator index = m_map.find(getCanonicalName(srcName)); assert(index != m_map.end()); return index->second.begin(); } -Config::link_const_iterator Config::endNeighbor(const String &srcName) const +Config::link_const_iterator Config::endNeighbor(const std::string &srcName) const { CellMap::const_iterator index = m_map.find(getCanonicalName(srcName)); assert(index != m_map.end()); @@ -488,7 +489,7 @@ const NetworkAddress &Config::getDeskflowAddress() const return m_deskflowAddress; } -const Config::ScreenOptions *Config::getOptions(const String &name) const +const Config::ScreenOptions *Config::getOptions(const std::string &name) const { // find options const ScreenOptions *options = NULL; @@ -588,7 +589,7 @@ InputFilter *Config::getInputFilter() return &m_inputFilter; } -String Config::formatInterval(const Interval &x) +std::string Config::formatInterval(const Interval &x) { if (x.first == 0.0f && x.second == 1.0f) { return ""; @@ -596,7 +597,7 @@ String Config::formatInterval(const Interval &x) return deskflow::string::sprintf("(%d,%d)", (int)(x.first * 100.0f + 0.5f), (int)(x.second * 100.0f + 0.5f)); } -String Config::getClientAddress() const +std::string Config::getClientAddress() const { return m_ClientAddress; } @@ -614,7 +615,7 @@ void Config::readSection(ConfigReadContext &s) static const char s_links[] = "links"; static const char s_aliases[] = "aliases"; - String line; + std::string line; if (!s.readLine(line)) { // no more sections return; @@ -626,13 +627,13 @@ void Config::readSection(ConfigReadContext &s) } // get section name - String::size_type i = line.find_first_not_of(" \t", sizeof(s_section) - 1); - if (i == String::npos) { + std::string::size_type i = line.find_first_not_of(" \t", sizeof(s_section) - 1); + if (i == std::string::npos) { throw XConfigRead(s, "section name is missing"); } - String name = line.substr(i); + std::string name = line.substr(i); i = name.find_first_of(" \t"); - if (i != String::npos) { + if (i != std::string::npos) { throw XConfigRead(s, "unexpected data after section name"); } @@ -652,7 +653,7 @@ void Config::readSection(ConfigReadContext &s) void Config::readSectionOptions(ConfigReadContext &s) { - String line; + std::string line; while (s.readLine(line)) { // check for end of section if (line == "end") { @@ -663,8 +664,8 @@ void Config::readSectionOptions(ConfigReadContext &s) // nameAndArgs := [(arg[,...])] // values := valueAndArgs[,valueAndArgs]... // valueAndArgs := [(arg[,...])] - String::size_type i = 0; - String name, value; + std::string::size_type i = 0; + std::string name, value; ConfigReadContext::ArgList nameArgs, valueArgs; s.parseNameWithArgs("name", line, "=", i, name, nameArgs); ++i; @@ -676,7 +677,7 @@ void Config::readSectionOptions(ConfigReadContext &s) m_deskflowAddress = NetworkAddress(value, kDefaultPort); m_deskflowAddress.resolve(); } catch (XSocketAddress &e) { - throw XConfigRead(s, String("invalid address argument ") + e.what()); + throw XConfigRead(s, std::string("invalid address argument ") + e.what()); } } else if (name == "heartbeat") { addOption("", kOptionHeartbeat, s.parseInt(value)); @@ -737,7 +738,7 @@ void Config::readSectionOptions(ConfigReadContext &s) if (i < line.length() && line[i] == ';') { // allow trailing ';' i = line.find_first_not_of(" \t", i + 1); - if (i == String::npos) { + if (i == std::string::npos) { i = line.length(); } else { --i; @@ -760,8 +761,8 @@ void Config::readSectionOptions(ConfigReadContext &s) void Config::readSectionScreens(ConfigReadContext &s) { - String line; - String screen; + std::string line; + std::string screen; while (s.readLine(line)) { // check for end of section if (line == "end") { @@ -786,21 +787,21 @@ void Config::readSectionScreens(ConfigReadContext &s) throw XConfigRead(s, "argument before first screen"); } else { // parse argument: `=' - String::size_type i = line.find_first_of(" \t="); + std::string::size_type i = line.find_first_of(" \t="); if (i == 0) { throw XConfigRead(s, "missing argument name"); } - if (i == String::npos) { + if (i == std::string::npos) { throw XConfigRead(s, "missing ="); } - String name = line.substr(0, i); + std::string name = line.substr(0, i); i = line.find_first_not_of(" \t", i); - if (i == String::npos || line[i] != '=') { + if (i == std::string::npos || line[i] != '=') { throw XConfigRead(s, "missing ="); } i = line.find_first_not_of(" \t", i + 1); - String value; - if (i != String::npos) { + std::string value; + if (i != std::string::npos) { value = line.substr(i); } @@ -842,8 +843,8 @@ void Config::readSectionScreens(ConfigReadContext &s) void Config::readSectionLinks(ConfigReadContext &s) { - String line; - String screen; + std::string line; + std::string screen; while (s.readLine(line)) { // check for end of section if (line == "end") { @@ -869,8 +870,8 @@ void Config::readSectionLinks(ConfigReadContext &s) // the stuff in brackets is optional. interval values must be // in the range [0,100] and start < end. if not given the // interval is taken to be (0,100). - String::size_type i = 0; - String side, dstScreen, srcArgString, dstArgString; + std::string::size_type i = 0; + std::string side, dstScreen, srcArgString, dstArgString; ConfigReadContext::ArgList srcArgs, dstArgs; s.parseNameWithArgs("link", line, "=", i, side, srcArgs); ++i; @@ -907,8 +908,8 @@ void Config::readSectionLinks(ConfigReadContext &s) void Config::readSectionAliases(ConfigReadContext &s) { - String line; - String screen; + std::string line; + std::string screen; while (s.readLine(line)) { // check for end of section if (line == "end") { @@ -945,7 +946,7 @@ void Config::readSectionAliases(ConfigReadContext &s) } InputFilter::Condition * -Config::parseCondition(ConfigReadContext &s, const String &name, const std::vector &args) +Config::parseCondition(ConfigReadContext &s, const std::string &name, const std::vector &args) { if (name == "keystroke") { if (args.size() != 1) { @@ -972,7 +973,7 @@ Config::parseCondition(ConfigReadContext &s, const String &name, const std::vect throw XConfigRead(s, "syntax for condition: connect([screen])"); } - String screen = args[0]; + std::string screen = args[0]; if (isScreen(screen)) { screen = getCanonicalName(screen); } else if (!screen.empty()) { @@ -986,7 +987,8 @@ Config::parseCondition(ConfigReadContext &s, const String &name, const std::vect } void Config::parseAction( - ConfigReadContext &s, const String &name, const std::vector &args, InputFilter::Rule &rule, bool activate + ConfigReadContext &s, const std::string &name, const std::vector &args, InputFilter::Rule &rule, + bool activate ) { InputFilter::Action *action; @@ -1000,7 +1002,7 @@ void Config::parseAction( if (args.size() == 1) { keyInfo = s.parseKeystroke(args[0]); } else { - std::set screens; + std::set screens; parseScreens(s, args[1], screens); keyInfo = s.parseKeystroke(args[0], screens); } @@ -1056,7 +1058,7 @@ void Config::parseAction( throw XConfigRead(s, "syntax for action: switchToScreen(name)"); } - String screen = args[0]; + std::string screen = args[0]; if (isScreen(screen)) { screen = getCanonicalName(screen); } else if (!screen.empty()) { @@ -1151,7 +1153,7 @@ void Config::parseAction( } } - std::set screens; + std::set screens; if (args.size() >= 2) { parseScreens(s, args[1], screens); } @@ -1166,20 +1168,20 @@ void Config::parseAction( rule.adoptAction(action, activate); } -void Config::parseScreens(ConfigReadContext &c, const String &s, std::set &screens) const +void Config::parseScreens(ConfigReadContext &c, const std::string &s, std::set &screens) const { screens.clear(); - String::size_type i = 0; + std::string::size_type i = 0; while (i < s.size()) { // find end of next screen name - String::size_type j = s.find(':', i); - if (j == String::npos) { + std::string::size_type j = s.find(':', i); + if (j == std::string::npos) { j = s.size(); } // extract name - String rawName; + std::string rawName; i = s.find_first_not_of(" \t", i); if (i < j) { rawName = s.substr(i, s.find_last_not_of(" \t", j - 1) - i + 1); @@ -1189,7 +1191,7 @@ void Config::parseScreens(ConfigReadContext &c, const String &s, std::setgetCanonicalName(name)) +Config::Name::Name(Config *config, const std::string &name) : m_config(config), m_name(config->getCanonicalName(name)) { // do nothing } -bool Config::Name::operator==(const String &name) const +bool Config::Name::operator==(const std::string &name) const { - String canonical = m_config->getCanonicalName(name); + std::string canonical = m_config->getCanonicalName(name); return CaselessCmp::equal(canonical, m_name); } @@ -1380,7 +1382,7 @@ Config::CellEdge::CellEdge(EDirection side, const Interval &interval) init("", side, interval); } -Config::CellEdge::CellEdge(const String &name, EDirection side, const Interval &interval) +Config::CellEdge::CellEdge(const std::string &name, EDirection side, const Interval &interval) { assert(interval.first >= 0.0f); assert(interval.second <= 1.0f); @@ -1394,7 +1396,7 @@ Config::CellEdge::~CellEdge() // do nothing } -void Config::CellEdge::init(const String &name, EDirection side, const Interval &interval) +void Config::CellEdge::init(const std::string &name, EDirection side, const Interval &interval) { assert(side != kNoDirection); @@ -1408,12 +1410,12 @@ Config::Interval Config::CellEdge::getInterval() const return m_interval; } -void Config::CellEdge::setName(const String &newName) +void Config::CellEdge::setName(const std::string &newName) { m_name = newName; } -String Config::CellEdge::getName() const +std::string Config::CellEdge::getName() const { return m_name; } @@ -1518,7 +1520,7 @@ void Config::Cell::remove(const Name &name) } } -void Config::Cell::rename(const Name &oldName, const String &newName) +void Config::Cell::rename(const Name &oldName, const std::string &newName) { for (EdgeLinks::iterator j = m_neighbors.begin(); j != m_neighbors.end(); ++j) { if (oldName == j->second.getName()) { @@ -1629,7 +1631,7 @@ std::ostream &operator<<(std::ostream &s, const Config &config) if (options != NULL && options->size() > 0) { for (Config::ScreenOptions::const_iterator option = options->begin(); option != options->end(); ++option) { const char *name = Config::getOptionName(option->first); - String value = Config::getOptionValue(option->first, option->second); + std::string value = Config::getOptionValue(option->first, option->second); if (name != NULL && !value.empty()) { s << "\t\t" << name << " = " << value << std::endl; } @@ -1639,7 +1641,7 @@ std::ostream &operator<<(std::ostream &s, const Config &config) s << "end" << std::endl; // links section - String neighbor; + std::string neighbor; s << "section: links" << std::endl; for (Config::const_iterator screen = config.begin(); screen != config.end(); ++screen) { s << "\t" << screen->c_str() << ":" << std::endl; @@ -1655,7 +1657,7 @@ std::ostream &operator<<(std::ostream &s, const Config &config) // aliases section (if there are any) if (config.m_map.size() != config.m_nameToCanonicalName.size()) { // map canonical to alias - using CMNameMap = std::multimap; + using CMNameMap = std::multimap; CMNameMap aliases; for (Config::NameMap::const_iterator index = config.m_nameToCanonicalName.begin(); index != config.m_nameToCanonicalName.end(); ++index) { @@ -1665,7 +1667,7 @@ std::ostream &operator<<(std::ostream &s, const Config &config) } // dump it - String screen; + std::string screen; s << "section: aliases" << std::endl; for (CMNameMap::const_iterator index = aliases.begin(); index != aliases.end(); ++index) { if (index->first != screen) { @@ -1683,7 +1685,7 @@ std::ostream &operator<<(std::ostream &s, const Config &config) if (options != NULL && options->size() > 0) { for (Config::ScreenOptions::const_iterator option = options->begin(); option != options->end(); ++option) { const char *name = Config::getOptionName(option->first); - String value = Config::getOptionValue(option->first, option->second); + std::string value = Config::getOptionValue(option->first, option->second); if (name != NULL && !value.empty()) { s << "\t" << name << " = " << value << std::endl; } @@ -1712,23 +1714,23 @@ ConfigReadContext::~ConfigReadContext() // do nothing } -bool ConfigReadContext::readLine(String &line) +bool ConfigReadContext::readLine(std::string &line) { ++m_line; while (std::getline(m_stream, line)) { // strip leading whitespace - String::size_type i = line.find_first_not_of(" \t"); - if (i != String::npos) { + std::string::size_type i = line.find_first_not_of(" \t"); + if (i != std::string::npos) { line.erase(0, i); } // strip comments and then trailing whitespace i = line.find('#'); - if (i != String::npos) { + if (i != std::string::npos) { line.erase(i); } i = line.find_last_not_of(" \r\t"); - if (i != String::npos) { + if (i != std::string::npos) { line.erase(i + 1); } @@ -1760,7 +1762,7 @@ bool ConfigReadContext::operator!() const return !m_stream; } -OptionValue ConfigReadContext::parseBoolean(const String &arg) const +OptionValue ConfigReadContext::parseBoolean(const std::string &arg) const { if (CaselessCmp::equal(arg, "true")) { return static_cast(true); @@ -1771,7 +1773,7 @@ OptionValue ConfigReadContext::parseBoolean(const String &arg) const throw XConfigRead(*this, "invalid boolean argument \"%{1}\"", arg); } -OptionValue ConfigReadContext::parseInt(const String &arg) const +OptionValue ConfigReadContext::parseInt(const std::string &arg) const { const char *s = arg.c_str(); char *end; @@ -1788,7 +1790,7 @@ OptionValue ConfigReadContext::parseInt(const String &arg) const return value; } -OptionValue ConfigReadContext::parseModifierKey(const String &arg) const +OptionValue ConfigReadContext::parseModifierKey(const std::string &arg) const { if (CaselessCmp::equal(arg, "shift")) { return static_cast(kKeyModifierIDShift); @@ -1814,7 +1816,7 @@ OptionValue ConfigReadContext::parseModifierKey(const String &arg) const throw XConfigRead(*this, "invalid argument \"%{1}\"", arg); } -OptionValue ConfigReadContext::parseCorner(const String &arg) const +OptionValue ConfigReadContext::parseCorner(const std::string &arg) const { if (CaselessCmp::equal(arg, "left")) { return kTopLeftMask | kBottomLeftMask; @@ -1840,7 +1842,7 @@ OptionValue ConfigReadContext::parseCorner(const String &arg) const throw XConfigRead(*this, "invalid argument \"%{1}\"", arg); } -OptionValue ConfigReadContext::parseProtocol(const String &args) const +OptionValue ConfigReadContext::parseProtocol(const std::string &args) const { if (CaselessCmp::equal(args, kSynergyProtocolOption)) { return static_cast(ENetworkProtocol::kSynergy); @@ -1850,21 +1852,21 @@ OptionValue ConfigReadContext::parseProtocol(const String &args) const throw XConfigRead(*this, "invalid protocol argument \"%{1}\"", args); } -OptionValue ConfigReadContext::parseCorners(const String &args) const +OptionValue ConfigReadContext::parseCorners(const std::string &args) const { // find first token - String::size_type i = args.find_first_not_of(" \t", 0); - if (i == String::npos) { + std::string::size_type i = args.find_first_not_of(" \t", 0); + if (i == std::string::npos) { throw XConfigRead(*this, "missing corner argument"); } - String::size_type j = args.find_first_of(" \t", i); + std::string::size_type j = args.find_first_of(" \t", i); // parse first corner token OptionValue corners = parseCorner(args.substr(i, j - i)); // get +/- i = args.find_first_not_of(" \t", j); - while (i != String::npos) { + while (i != std::string::npos) { // parse +/- bool add; if (args[i] == '-') { @@ -1872,13 +1874,13 @@ OptionValue ConfigReadContext::parseCorners(const String &args) const } else if (args[i] == '+') { add = true; } else { - throw XConfigRead(*this, "invalid corner operator \"%{1}\"", String(args.c_str() + i, 1)); + throw XConfigRead(*this, "invalid corner operator \"%{1}\"", std::string(args.c_str() + i, 1)); } // get next corner token i = args.find_first_not_of(" \t", i + 1); j = args.find_first_of(" \t", i); - if (i == String::npos) { + if (i == std::string::npos) { throw XConfigRead(*this, "missing corner argument"); } @@ -1923,18 +1925,19 @@ Config::Interval ConfigReadContext::parseInterval(const ArgList &args) const } void ConfigReadContext::parseNameWithArgs( - const String &type, const String &line, const String &delim, String::size_type &index, String &name, ArgList &args + const std::string &type, const std::string &line, const std::string &delim, std::string::size_type &index, + std::string &name, ArgList &args ) const { // skip leading whitespace - String::size_type i = line.find_first_not_of(" \t", index); - if (i == String::npos) { - throw XConfigRead(*this, String("missing ") + type); + std::string::size_type i = line.find_first_not_of(" \t", index); + if (i == std::string::npos) { + throw XConfigRead(*this, std::string("missing ") + type); } // find end of name - String::size_type j = line.find_first_of(" \t(" + delim, i); - if (j == String::npos) { + std::string::size_type j = line.find_first_of(" \t(" + delim, i); + if (j == std::string::npos) { j = line.length(); } @@ -1943,15 +1946,15 @@ void ConfigReadContext::parseNameWithArgs( args.clear(); // is it okay to not find a delimiter? - bool needDelim = (!delim.empty() && delim.find('\n') == String::npos); + bool needDelim = (!delim.empty() && delim.find('\n') == std::string::npos); // skip whitespace i = line.find_first_not_of(" \t", j); - if (i == String::npos && needDelim) { + if (i == std::string::npos && needDelim) { // expected delimiter but didn't find it - throw XConfigRead(*this, String("missing ") + delim[0]); + throw XConfigRead(*this, std::string("missing ") + delim[0]); } - if (i == String::npos) { + if (i == std::string::npos) { // no arguments index = line.length(); return; @@ -1967,18 +1970,18 @@ void ConfigReadContext::parseNameWithArgs( // parse arguments j = line.find_first_of(",)", i); - while (j != String::npos) { + while (j != std::string::npos) { // extract arg - String arg(line.substr(i, j - i)); + std::string arg(line.substr(i, j - i)); i = j; // trim whitespace j = arg.find_first_not_of(" \t"); - if (j != String::npos) { + if (j != std::string::npos) { arg.erase(0, j); } j = arg.find_last_not_of(" \t"); - if (j != String::npos) { + if (j != std::string::npos) { arg.erase(j + 1); } @@ -1998,7 +2001,7 @@ void ConfigReadContext::parseNameWithArgs( } // verify ')' - if (j == String::npos) { + if (j == std::string::npos) { // expected ) throw XConfigRead(*this, "missing )"); } @@ -2008,17 +2011,17 @@ void ConfigReadContext::parseNameWithArgs( // skip whitespace j = line.find_first_not_of(" \t", i); - if (j == String::npos && needDelim) { + if (j == std::string::npos && needDelim) { // expected delimiter but didn't find it - throw XConfigRead(*this, String("missing ") + delim[0]); + throw XConfigRead(*this, std::string("missing ") + delim[0]); } // verify delimiter - if (needDelim && delim.find(line[j]) == String::npos) { - throw XConfigRead(*this, String("expected ") + delim[0]); + if (needDelim && delim.find(line[j]) == std::string::npos) { + throw XConfigRead(*this, std::string("expected ") + delim[0]); } - if (j == String::npos) { + if (j == std::string::npos) { j = line.length(); } @@ -2026,15 +2029,15 @@ void ConfigReadContext::parseNameWithArgs( return; } -IPlatformScreen::KeyInfo *ConfigReadContext::parseKeystroke(const String &keystroke) const +IPlatformScreen::KeyInfo *ConfigReadContext::parseKeystroke(const std::string &keystroke) const { - return parseKeystroke(keystroke, std::set()); + return parseKeystroke(keystroke, std::set()); } IPlatformScreen::KeyInfo * -ConfigReadContext::parseKeystroke(const String &keystroke, const std::set &screens) const +ConfigReadContext::parseKeystroke(const std::string &keystroke, const std::set &screens) const { - String s = keystroke; + std::string s = keystroke; KeyModifierMask mask; if (!deskflow::KeyMap::parseModifiers(s, mask)) { @@ -2053,9 +2056,9 @@ ConfigReadContext::parseKeystroke(const String &keystroke, const std::set struct iterator_traits { - using value_type = String; + using value_type = std::string; using difference_type = ptrdiff_t; using iterator_category = bidirectional_iterator_tag; - using pointer = String *; - using reference = String &; + using pointer = std::string *; + using reference = std::string &; }; }; // namespace std @@ -71,12 +71,12 @@ public: public: CellEdge(EDirection side, float position); CellEdge(EDirection side, const Interval &); - CellEdge(const String &name, EDirection side, const Interval &); + CellEdge(const std::string &name, EDirection side, const Interval &); ~CellEdge(); Interval getInterval() const; - void setName(const String &newName); - String getName() const; + void setName(const std::string &newName); + std::string getName() const; EDirection getSide() const; bool overlaps(const CellEdge &) const; bool isInside(float x) const; @@ -95,10 +95,10 @@ public: bool operator!=(const CellEdge &) const; private: - void init(const String &name, EDirection side, const Interval &); + void init(const std::string &name, EDirection side, const Interval &); private: - String m_name; + std::string m_name; EDirection m_side; Interval m_interval; }; @@ -107,13 +107,13 @@ private: class Name { public: - Name(Config *, const String &name); + Name(Config *, const std::string &name); - bool operator==(const String &name) const; + bool operator==(const std::string &name) const; private: Config *m_config; - String m_name; + std::string m_name; }; class Cell @@ -128,7 +128,7 @@ private: void remove(EDirection side); void remove(EDirection side, float position); void remove(const Name &destinationName); - void rename(const Name &oldName, const String &newName); + void rename(const Name &oldName, const std::string &newName); bool hasEdge(const CellEdge &) const; bool overlaps(const CellEdge &) const; @@ -147,8 +147,8 @@ private: public: ScreenOptions m_options; }; - using CellMap = std::map; - using NameMap = std::map; + using CellMap = std::map; + using NameMap = std::map; public: using link_const_iterator = Cell::const_iterator; @@ -171,11 +171,11 @@ public: m_i = i.m_i; return *this; } - String operator*() + std::string operator*() { return m_i->first; } - const String *operator->() + const std::string *operator->() { return &(m_i->first); } @@ -227,14 +227,14 @@ public: Adds a screen, returning true iff successful. If a screen or alias with the given name exists then it fails. */ - bool addScreen(const String &name); + bool addScreen(const std::string &name); //! Rename screen /*! Renames a screen. All references to the name are updated. Returns true iff successful. */ - bool renameScreen(const String &oldName, const String &newName); + bool renameScreen(const std::string &oldName, const std::string &newName); //! Remove screen /*! @@ -242,7 +242,7 @@ public: disconnects any connections to the screen. \c name may be an alias. */ - void removeScreen(const String &name); + void removeScreen(const std::string &name); //! Remove all screens /*! @@ -257,21 +257,21 @@ public: Returns false if the alias name already exists or the canonical name is unknown, otherwise returns true. */ - bool addAlias(const String &canonical, const String &alias); + bool addAlias(const std::string &canonical, const std::string &alias); //! Remove alias /*! Removes an alias for a screen name. It returns false if the alias is unknown or a canonical name, otherwise returns true. */ - bool removeAlias(const String &alias); + bool removeAlias(const std::string &alias); //! Remove aliases /*! Removes all aliases for a canonical screen name. It returns false if the canonical name is unknown, otherwise returns true. */ - bool removeAliases(const String &canonical); + bool removeAliases(const std::string &canonical); //! Remove all aliases /*! @@ -296,8 +296,8 @@ public: be inside the range [0,1]. */ bool connect( - const String &srcName, EDirection srcSide, float srcStart, float srcEnd, const String &dstName, float dstStart, - float dstEnd + const std::string &srcName, EDirection srcSide, float srcStart, float srcEnd, const std::string &dstName, + float dstStart, float dstEnd ); //! Disconnect screens @@ -305,7 +305,7 @@ public: Removes all connections created by connect() on side \c srcSide. Returns false if \c srcName is unknown. */ - bool disconnect(const String &srcName, EDirection srcSide); + bool disconnect(const std::string &srcName, EDirection srcSide); //! Disconnect screens /*! @@ -313,7 +313,7 @@ public: covering position \c position. Returns false if \c srcName is unknown. */ - bool disconnect(const String &srcName, EDirection srcSide, float position); + bool disconnect(const std::string &srcName, EDirection srcSide, float position); //! Set server address /*! @@ -328,7 +328,7 @@ public: existing option's value if there is one. Returns true iff \c name is a known screen. */ - bool addOption(const String &name, OptionID option, OptionValue value); + bool addOption(const std::string &name, OptionID option, OptionValue value); //! Remove a screen option /*! @@ -336,14 +336,14 @@ public: nothing if the option doesn't exist on the screen. Returns true iff \c name is a known screen. */ - bool removeOption(const String &name, OptionID option); + bool removeOption(const std::string &name, OptionID option); //! Remove a screen options /*! Removes all options and values from the named screen. Returns true iff \c name is a known screen. */ - bool removeOptions(const String &name); + bool removeOptions(const std::string &name); //! Get the hot key input filter /*! @@ -360,7 +360,7 @@ public: /*! Returns true iff \c name is a valid screen name. */ - bool isValidScreenName(const String &name) const; + bool isValidScreenName(const std::string &name) const; //! Get beginning (canonical) screen name iterator const_iterator begin() const; @@ -376,20 +376,20 @@ public: /*! Returns true iff \c name names a screen. */ - virtual bool isScreen(const String &name) const; + virtual bool isScreen(const std::string &name) const; //! Test for canonical screen name /*! Returns true iff \c name is the canonical name of a screen. */ - bool isCanonicalName(const String &name) const; + bool isCanonicalName(const std::string &name) const; //! Get canonical name /*! Returns the canonical name of a screen or the empty string if the name is unknown. Returns the canonical name if one is given. */ - String getCanonicalName(const String &name) const; + std::string getCanonicalName(const std::string &name) const; //! Get neighbor /*! @@ -399,26 +399,26 @@ public: saves the position on the neighbor in \c positionOut if it's not \c NULL. */ - String getNeighbor(const String &, EDirection, float position, float *positionOut) const; + std::string getNeighbor(const std::string &, EDirection, float position, float *positionOut) const; //! Check for neighbor /*! Returns \c true if the screen has a neighbor anywhere along the edge given by the direction. */ - bool hasNeighbor(const String &, EDirection) const; + bool hasNeighbor(const std::string &, EDirection) const; //! Check for neighbor /*! Returns \c true if the screen has a neighbor in the given range along the edge given by the direction. */ - bool hasNeighbor(const String &, EDirection, float start, float end) const; + bool hasNeighbor(const std::string &, EDirection, float start, float end) const; //! Get beginning neighbor iterator - link_const_iterator beginNeighbor(const String &) const; + link_const_iterator beginNeighbor(const std::string &) const; //! Get ending neighbor iterator - link_const_iterator endNeighbor(const String &) const; + link_const_iterator endNeighbor(const std::string &) const; //! Get the server address const NetworkAddress &getDeskflowAddress() const; @@ -429,7 +429,7 @@ public: if the screen is unknown and an empty collection if there are no options. */ - const ScreenOptions *getOptions(const String &name) const; + const ScreenOptions *getOptions(const std::string &name) const; //! Check for lock to screen action /*! @@ -472,13 +472,13 @@ public: /*! Returns an interval as a parseable string. */ - static String formatInterval(const Interval &); + static std::string formatInterval(const Interval &); //! Get client address as a string /*! * Return client address a string. */ - String getClientAddress() const; + std::string getClientAddress() const; //! Return true if server started in client mode /*! @@ -495,14 +495,16 @@ private: void readSectionLinks(ConfigReadContext &); void readSectionAliases(ConfigReadContext &); - InputFilter::Condition *parseCondition(ConfigReadContext &, const String &condition, const std::vector &args); + InputFilter::Condition * + parseCondition(ConfigReadContext &, const std::string &condition, const std::vector &args); void parseAction( - ConfigReadContext &, const String &action, const std::vector &args, InputFilter::Rule &, bool activate + ConfigReadContext &, const std::string &action, const std::vector &args, InputFilter::Rule &, + bool activate ); - void parseScreens(ConfigReadContext &, const String &, std::set &screens) const; + void parseScreens(ConfigReadContext &, const std::string &, std::set &screens) const; static const char *getOptionName(OptionID); - static String getOptionValue(OptionID, OptionValue); + static std::string getOptionValue(OptionID, OptionValue); private: CellMap m_map; @@ -512,7 +514,7 @@ private: InputFilter m_inputFilter; bool m_hasLockToScreenAction; IEventQueue *m_events; - String m_ClientAddress; + std::string m_ClientAddress; }; //! Configuration read context @@ -522,30 +524,31 @@ Maintains a context when reading a configuration from a stream. class ConfigReadContext { public: - using ArgList = std::vector; + using ArgList = std::vector; ConfigReadContext(std::istream &, SInt32 firstLine = 1); ~ConfigReadContext(); - bool readLine(String &); + bool readLine(std::string &); UInt32 getLineNumber() const; bool operator!() const; - OptionValue parseBoolean(const String &) const; - OptionValue parseInt(const String &) const; - OptionValue parseModifierKey(const String &) const; - OptionValue parseCorner(const String &) const; - OptionValue parseCorners(const String &) const; - OptionValue parseProtocol(const String &) const; + OptionValue parseBoolean(const std::string &) const; + OptionValue parseInt(const std::string &) const; + OptionValue parseModifierKey(const std::string &) const; + OptionValue parseCorner(const std::string &) const; + OptionValue parseCorners(const std::string &) const; + OptionValue parseProtocol(const std::string &) const; Config::Interval parseInterval(const ArgList &args) const; void parseNameWithArgs( - const String &type, const String &line, const String &delim, String::size_type &index, String &name, ArgList &args + const std::string &type, const std::string &line, const std::string &delim, std::string::size_type &index, + std::string &name, ArgList &args ) const; - IPlatformScreen::KeyInfo *parseKeystroke(const String &keystroke) const; - IPlatformScreen::KeyInfo *parseKeystroke(const String &keystroke, const std::set &screens) const; - IPlatformScreen::ButtonInfo *parseMouse(const String &mouse) const; - KeyModifierMask parseModifier(const String &modifiers) const; + IPlatformScreen::KeyInfo *parseKeystroke(const std::string &keystroke) const; + IPlatformScreen::KeyInfo *parseKeystroke(const std::string &keystroke, const std::set &screens) const; + IPlatformScreen::ButtonInfo *parseMouse(const std::string &mouse) const; + KeyModifierMask parseModifier(const std::string &modifiers) const; std::istream &getStream() const { return m_stream; @@ -555,7 +558,7 @@ private: // not implemented ConfigReadContext &operator=(const ConfigReadContext &); - static String concatArgs(const ArgList &args); + static std::string concatArgs(const ArgList &args); private: std::istream &m_stream; @@ -569,16 +572,16 @@ Thrown when a configuration stream cannot be parsed. class XConfigRead : public XBase { public: - XConfigRead(const ConfigReadContext &context, const String &); - XConfigRead(const ConfigReadContext &context, const char *errorFmt, const String &arg); + XConfigRead(const ConfigReadContext &context, const std::string &); + XConfigRead(const ConfigReadContext &context, const char *errorFmt, const std::string &arg); virtual ~XConfigRead() _NOEXCEPT; protected: // XBase overrides - virtual String getWhat() const throw(); + virtual std::string getWhat() const throw(); private: - String m_error; + std::string m_error; }; } // namespace deskflow::server diff --git a/src/lib/server/InputFilter.cpp b/src/lib/server/InputFilter.cpp index 0c94b9086..56ad542a8 100644 --- a/src/lib/server/InputFilter.cpp +++ b/src/lib/server/InputFilter.cpp @@ -88,7 +88,7 @@ InputFilter::Condition *InputFilter::KeystrokeCondition::clone() const return new KeystrokeCondition(m_events, m_key, m_mask); } -String InputFilter::KeystrokeCondition::format() const +std::string InputFilter::KeystrokeCondition::format() const { return deskflow::string::sprintf("keystroke(%s)", deskflow::KeyMap::formatKey(m_key, m_mask).c_str()); } @@ -163,9 +163,9 @@ InputFilter::Condition *InputFilter::MouseButtonCondition::clone() const return new MouseButtonCondition(m_events, m_button, m_mask); } -String InputFilter::MouseButtonCondition::format() const +std::string InputFilter::MouseButtonCondition::format() const { - String key = deskflow::KeyMap::formatKey(kKeyNone, m_mask); + std::string key = deskflow::KeyMap::formatKey(kKeyNone, m_mask); if (!key.empty()) { key += "+"; } @@ -199,7 +199,7 @@ InputFilter::EFilterStatus InputFilter::MouseButtonCondition::match(const Event return status; } -InputFilter::ScreenConnectedCondition::ScreenConnectedCondition(IEventQueue *events, const String &screen) +InputFilter::ScreenConnectedCondition::ScreenConnectedCondition(IEventQueue *events, const std::string &screen) : m_screen(screen), m_events(events) { @@ -216,7 +216,7 @@ InputFilter::Condition *InputFilter::ScreenConnectedCondition::clone() const return new ScreenConnectedCondition(m_events, m_screen); } -String InputFilter::ScreenConnectedCondition::format() const +std::string InputFilter::ScreenConnectedCondition::format() const { return deskflow::string::sprintf("connect(%s)", m_screen.c_str()); } @@ -263,7 +263,7 @@ InputFilter::Action *InputFilter::LockCursorToScreenAction::clone() const return new LockCursorToScreenAction(*this); } -String InputFilter::LockCursorToScreenAction::format() const +std::string InputFilter::LockCursorToScreenAction::format() const { static const char *s_mode[] = {"off", "on", "toggle"}; @@ -298,7 +298,7 @@ InputFilter::Action *InputFilter::RestartServer::clone() const return new RestartServer(*this); } -String InputFilter::RestartServer::format() const +std::string InputFilter::RestartServer::format() const { static const char *s_mode[] = {"restart"}; @@ -311,14 +311,14 @@ void InputFilter::RestartServer::perform(const Event &event) exit(0); } -InputFilter::SwitchToScreenAction::SwitchToScreenAction(IEventQueue *events, const String &screen) +InputFilter::SwitchToScreenAction::SwitchToScreenAction(IEventQueue *events, const std::string &screen) : m_screen(screen), m_events(events) { // do nothing } -String InputFilter::SwitchToScreenAction::getScreen() const +std::string InputFilter::SwitchToScreenAction::getScreen() const { return m_screen; } @@ -328,7 +328,7 @@ InputFilter::Action *InputFilter::SwitchToScreenAction::clone() const return new SwitchToScreenAction(*this); } -String InputFilter::SwitchToScreenAction::format() const +std::string InputFilter::SwitchToScreenAction::format() const { return deskflow::string::sprintf("switchToScreen(%s)", m_screen.c_str()); } @@ -337,7 +337,7 @@ void InputFilter::SwitchToScreenAction::perform(const Event &event) { // pick screen name. if m_screen is empty then use the screen from // event if it has one. - String screen = m_screen; + std::string screen = m_screen; if (screen.empty() && event.getType() == m_events->forServer().connected()) { Server::ScreenConnectedInfo *info = static_cast(event.getData()); screen = info->m_screen; @@ -366,7 +366,7 @@ InputFilter::Action *InputFilter::SwitchInDirectionAction::clone() const return new SwitchInDirectionAction(*this); } -String InputFilter::SwitchInDirectionAction::format() const +std::string InputFilter::SwitchInDirectionAction::format() const { static const char *s_names[] = {"", "left", "right", "up", "down"}; @@ -389,7 +389,7 @@ InputFilter::KeyboardBroadcastAction::KeyboardBroadcastAction(IEventQueue *event } InputFilter::KeyboardBroadcastAction::KeyboardBroadcastAction( - IEventQueue *events, Mode mode, const std::set &screens + IEventQueue *events, Mode mode, const std::set &screens ) : m_mode(mode), m_screens(IKeyState::KeyInfo::join(screens)), @@ -403,9 +403,9 @@ InputFilter::KeyboardBroadcastAction::Mode InputFilter::KeyboardBroadcastAction: return m_mode; } -std::set InputFilter::KeyboardBroadcastAction::getScreens() const +std::set InputFilter::KeyboardBroadcastAction::getScreens() const { - std::set screens; + std::set screens; IKeyState::KeyInfo::split(m_screens.c_str(), screens); return screens; } @@ -415,7 +415,7 @@ InputFilter::Action *InputFilter::KeyboardBroadcastAction::clone() const return new KeyboardBroadcastAction(*this); } -String InputFilter::KeyboardBroadcastAction::format() const +std::string InputFilter::KeyboardBroadcastAction::format() const { static const char *s_mode[] = {"off", "on", "toggle"}; static const char *s_name = "keyboardBroadcast"; @@ -478,7 +478,7 @@ InputFilter::Action *InputFilter::KeystrokeAction::clone() const return new KeystrokeAction(m_events, info, m_press); } -String InputFilter::KeystrokeAction::format() const +std::string InputFilter::KeystrokeAction::format() const { const char *type = formatName(); @@ -545,11 +545,11 @@ InputFilter::Action *InputFilter::MouseButtonAction::clone() const return new MouseButtonAction(m_events, info, m_press); } -String InputFilter::MouseButtonAction::format() const +std::string InputFilter::MouseButtonAction::format() const { const char *type = formatName(); - String key = deskflow::KeyMap::formatKey(kKeyNone, m_buttonInfo->m_mask); + std::string key = deskflow::KeyMap::formatKey(kKeyNone, m_buttonInfo->m_mask); return deskflow::string::sprintf("%s(%s%s%d)", type, key.c_str(), key.empty() ? "" : "+", m_buttonInfo->m_button); } @@ -726,9 +726,9 @@ bool InputFilter::Rule::handleEvent(const Event &event) return true; } -String InputFilter::Rule::format() const +std::string InputFilter::Rule::format() const { - String s; + std::string s; if (m_condition != NULL) { // condition s += m_condition->format(); @@ -898,9 +898,9 @@ void InputFilter::setPrimaryClient(PrimaryClient *client) } } -String InputFilter::format(const String &linePrefix) const +std::string InputFilter::format(const std::string &linePrefix) const { - String s; + std::string s; for (RuleList::const_iterator i = m_ruleList.begin(); i != m_ruleList.end(); ++i) { s += linePrefix; s += i->format(); @@ -923,7 +923,7 @@ bool InputFilter::operator==(const InputFilter &x) const // compare rule lists. the easiest way to do that is to format each // rule into a string, sort the strings, then compare the results. - std::vector aList, bList; + std::vector aList, bList; for (RuleList::const_iterator i = m_ruleList.begin(); i != m_ruleList.end(); ++i) { aList.push_back(i->format()); } diff --git a/src/lib/server/InputFilter.h b/src/lib/server/InputFilter.h index 770a5565a..513896298 100644 --- a/src/lib/server/InputFilter.h +++ b/src/lib/server/InputFilter.h @@ -18,7 +18,6 @@ #pragma once -#include "base/String.h" #include "common/stdmap.h" #include "common/stdset.h" #include "deskflow/IPlatformScreen.h" @@ -50,7 +49,7 @@ public: virtual ~Condition(); virtual Condition *clone() const = 0; - virtual String format() const = 0; + virtual std::string format() const = 0; virtual EFilterStatus match(const Event &) = 0; @@ -71,7 +70,7 @@ public: // Condition overrides virtual Condition *clone() const; - virtual String format() const; + virtual std::string format() const; virtual EFilterStatus match(const Event &); virtual void enablePrimary(PrimaryClient *); virtual void disablePrimary(PrimaryClient *); @@ -96,7 +95,7 @@ public: // Condition overrides virtual Condition *clone() const; - virtual String format() const; + virtual std::string format() const; virtual EFilterStatus match(const Event &); private: @@ -109,16 +108,16 @@ public: class ScreenConnectedCondition : public Condition { public: - ScreenConnectedCondition(IEventQueue *events, const String &screen); + ScreenConnectedCondition(IEventQueue *events, const std::string &screen); virtual ~ScreenConnectedCondition(); // Condition overrides virtual Condition *clone() const; - virtual String format() const; + virtual std::string format() const; virtual EFilterStatus match(const Event &); private: - String m_screen; + std::string m_screen; IEventQueue *m_events; }; @@ -133,7 +132,7 @@ public: virtual ~Action(); virtual Action *clone() const = 0; - virtual String format() const = 0; + virtual std::string format() const = 0; virtual void perform(const Event &) = 0; }; @@ -155,7 +154,7 @@ public: // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); private: @@ -177,7 +176,7 @@ public: // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); private: @@ -189,17 +188,17 @@ public: class SwitchToScreenAction : public Action { public: - SwitchToScreenAction(IEventQueue *events, const String &screen); + SwitchToScreenAction(IEventQueue *events, const std::string &screen); - String getScreen() const; + std::string getScreen() const; // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); private: - String m_screen; + std::string m_screen; IEventQueue *m_events; }; @@ -213,7 +212,7 @@ public: // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); private: @@ -233,19 +232,19 @@ public: }; KeyboardBroadcastAction(IEventQueue *events, Mode = kToggle); - KeyboardBroadcastAction(IEventQueue *events, Mode, const std::set &screens); + KeyboardBroadcastAction(IEventQueue *events, Mode, const std::set &screens); Mode getMode() const; - std::set getScreens() const; + std::set getScreens() const; // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); private: Mode m_mode; - String m_screens; + std::string m_screens; IEventQueue *m_events; }; @@ -267,7 +266,7 @@ public: // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); protected: @@ -296,7 +295,7 @@ public: // Action overrides virtual Action *clone() const; - virtual String format() const; + virtual std::string format() const; virtual void perform(const Event &); protected: @@ -338,7 +337,7 @@ public: bool handleEvent(const Event &); // convert rule to a string - String format() const; + std::string format() const; // get the rule's condition const Condition *getCondition() const; @@ -392,7 +391,7 @@ public: virtual void setPrimaryClient(PrimaryClient *client); // convert rules to a string - String format(const String &linePrefix) const; + std::string format(const std::string &linePrefix) const; // get number of rules UInt32 getNumRules() const; diff --git a/src/lib/server/PrimaryClient.cpp b/src/lib/server/PrimaryClient.cpp index a7024daec..4e3727329 100644 --- a/src/lib/server/PrimaryClient.cpp +++ b/src/lib/server/PrimaryClient.cpp @@ -26,7 +26,7 @@ // PrimaryClient // -PrimaryClient::PrimaryClient(const String &name, deskflow::Screen *screen) +PrimaryClient::PrimaryClient(const std::string &name, deskflow::Screen *screen) : BaseClientProxy(name), m_screen(screen), m_fakeInputCount(0) @@ -161,7 +161,7 @@ void PrimaryClient::setClipboardDirty(ClipboardID id, bool dirty) m_clipboardDirty[id] = dirty; } -void PrimaryClient::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const String &) +void PrimaryClient::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, const std::string &) { if (m_fakeInputCount > 0) { // XXX -- don't forward keystrokes to primary screen for now @@ -172,7 +172,7 @@ void PrimaryClient::keyDown(KeyID key, KeyModifierMask mask, KeyButton button, c } } -void PrimaryClient::keyRepeat(KeyID, KeyModifierMask, SInt32, KeyButton, const String &) +void PrimaryClient::keyRepeat(KeyID, KeyModifierMask, SInt32, KeyButton, const std::string &) { // ignore } @@ -228,12 +228,12 @@ void PrimaryClient::fileChunkSending(UInt8 mark, char *data, size_t dataSize) // ignore } -String PrimaryClient::getSecureInputApp() const +std::string PrimaryClient::getSecureInputApp() const { return m_screen->getSecureInputApp(); } -void PrimaryClient::secureInputNotification(const String &app) const +void PrimaryClient::secureInputNotification(const std::string &app) const { if (app != "unknown") { AppUtil::instance().showNotification( diff --git a/src/lib/server/PrimaryClient.h b/src/lib/server/PrimaryClient.h index dfab74c7f..10b2406ea 100644 --- a/src/lib/server/PrimaryClient.h +++ b/src/lib/server/PrimaryClient.h @@ -37,7 +37,7 @@ public: /*! \c name is the name of the server and \p screen is primary screen. */ - PrimaryClient(const String &name, deskflow::Screen *screen); + PrimaryClient(const std::string &name, deskflow::Screen *screen); ~PrimaryClient(); #ifdef TEST_ENV @@ -132,8 +132,8 @@ public: void setClipboard(ClipboardID, const IClipboard *) override; void grabClipboard(ClipboardID) override; void setClipboardDirty(ClipboardID, bool) override; - void keyDown(KeyID, KeyModifierMask, KeyButton, const String &) override; - void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const String &) override; + void keyDown(KeyID, KeyModifierMask, KeyButton, const std::string &) override; + void keyRepeat(KeyID, KeyModifierMask, SInt32 count, KeyButton, const std::string &) override; void keyUp(KeyID, KeyModifierMask, KeyButton) override; void mouseDown(ButtonID) override; void mouseUp(ButtonID) override; @@ -145,8 +145,8 @@ public: void setOptions(const OptionsList &options) override; void sendDragInfo(UInt32 fileCount, const char *info, size_t size) override; void fileChunkSending(UInt8 mark, char *data, size_t dataSize) override; - String getSecureInputApp() const override; - void secureInputNotification(const String &app) const override; + std::string getSecureInputApp() const override; + void secureInputNotification(const std::string &app) const override; deskflow::IStream *getStream() const override { diff --git a/src/lib/server/Server.cpp b/src/lib/server/Server.cpp index 7d4c27583..6431a7931 100644 --- a/src/lib/server/Server.cpp +++ b/src/lib/server/Server.cpp @@ -99,7 +99,7 @@ Server::Server( assert(config.isScreen(primaryClient->getName())); assert(m_screen != NULL); - String primaryName = getName(primaryClient); + std::string primaryName = getName(primaryClient); // clear clipboards for (ClipboardID id = 0; id < kClipboardEnd; ++id) { @@ -358,7 +358,7 @@ UInt32 Server::getNumClients() const return (SInt32)m_clients.size(); } -void Server::getClients(std::vector &list) const +void Server::getClients(std::vector &list) const { list.clear(); for (ClientList::const_iterator index = m_clients.begin(); index != m_clients.end(); ++index) { @@ -366,9 +366,9 @@ void Server::getClients(std::vector &list) const } } -String Server::getName(const BaseClientProxy *client) const +std::string Server::getName(const BaseClientProxy *client) const { - String name = m_config->getCanonicalName(client->getName()); + std::string name = m_config->getCanonicalName(client->getName()); if (name.empty()) { name = client->getName(); } @@ -506,7 +506,7 @@ void Server::switchScreen(BaseClientProxy *dst, SInt32 x, SInt32 y, bool forScre #if defined(__APPLE__) if (dst != m_primaryClient) { - String secureInputApplication = m_primaryClient->getSecureInputApp(); + std::string secureInputApplication = m_primaryClient->getSecureInputApp(); if (secureInputApplication != "") { // display notification on the server m_primaryClient->secureInputNotification(secureInputApplication); @@ -612,7 +612,7 @@ BaseClientProxy *Server::getNeighbor(BaseClientProxy *src, EDirection dir, SInt3 assert(src != NULL); // get source screen name - String srcName = getName(src); + std::string srcName = getName(src); assert(!srcName.empty()); LOG((CLOG_DEBUG2 "find neighbor on %s of \"%s\"", Config::dirName(dir), srcName.c_str())); @@ -622,7 +622,7 @@ BaseClientProxy *Server::getNeighbor(BaseClientProxy *src, EDirection dir, SInt3 // search for the closest neighbor that exists in direction dir float tTmp; for (;;) { - String dstName(m_config->getNeighbor(srcName, dir, t, &tTmp)); + std::string dstName(m_config->getNeighbor(srcName, dir, t, &tTmp)); // if nothing in that direction then return NULL. if the // destination is the source then we can make no more @@ -763,7 +763,7 @@ void Server::avoidJumpZone(BaseClientProxy *dst, EDirection dir, SInt32 &x, SInt return; } - const String dstName(getName(dst)); + const std::string dstName(getName(dst)); SInt32 dx, dy, dw, dh; dst->getShape(dx, dy, dw, dh); float t = mapToFraction(dst, dir, x, y); @@ -1485,7 +1485,7 @@ void Server::onClipboardChanged(BaseClientProxy *sender, ClipboardID id, UInt32 // get data sender->getClipboard(id, &clipboard.m_clipboard); - String data = clipboard.m_clipboard.marshall(); + std::string data = clipboard.m_clipboard.marshall(); if (data.size() > m_maximumClipboardSize * 1024) { LOG( (CLOG_NOTE "not updating clipboard because it's over the size limit " @@ -1566,7 +1566,7 @@ void Server::onScreensaver(bool activated) } } -void Server::onKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const String &lang, const char *screens) +void Server::onKeyDown(KeyID id, KeyModifierMask mask, KeyButton button, const std::string &lang, const char *screens) { LOG((CLOG_DEBUG1 "onKeyDown id=%d mask=0x%04x button=0x%04x lang=%s", id, mask, button, lang.c_str())); assert(m_active != NULL); @@ -1612,7 +1612,7 @@ void Server::onKeyUp(KeyID id, KeyModifierMask mask, KeyButton button, const cha } } -void Server::onKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const String &lang) +void Server::onKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button, const std::string &lang) { LOG( (CLOG_DEBUG1 "onKeyRepeat id=%d mask=0x%04x count=%d button=0x%04x lang=\"%s\"", id, mask, count, button, @@ -1651,7 +1651,7 @@ void Server::onMouseUp(ButtonID id) if (m_args.m_enableDragDrop) { if (!m_screen->isOnScreen()) { - String &file = m_screen->getDraggingFilename(); + std::string &file = m_screen->getDraggingFilename(); if (!file.empty()) { sendFileToClient(file.c_str()); } @@ -1765,7 +1765,7 @@ void Server::sendDragInfoThread(void *arg) BaseClientProxy *newScreen = static_cast(arg); m_dragFileList.clear(); - String &dragFileList = m_screen->getDraggingFilename(); + std::string &dragFileList = m_screen->getDraggingFilename(); if (!dragFileList.empty()) { DragInformation di; di.setFilename(dragFileList); @@ -1791,7 +1791,7 @@ void Server::sendDragInfoThread(void *arg) void Server::sendDragInfo(BaseClientProxy *newScreen) { - String infoString; + std::string infoString; UInt32 fileCount = DragInformation::setupDragInfo(m_dragFileList, infoString); if (fileCount > 0) { @@ -2018,7 +2018,7 @@ void Server::writeToDropDirThread(void *) bool Server::addClient(BaseClientProxy *client) { - String name = getName(client); + std::string name = getName(client); if (m_clients.count(name) != 0) { return false; } @@ -2219,7 +2219,7 @@ Server::LockCursorToScreenInfo *Server::LockCursorToScreenInfo::alloc(State stat // Server::SwitchToScreenInfo // -Server::SwitchToScreenInfo *Server::SwitchToScreenInfo::alloc(const String &screen) +Server::SwitchToScreenInfo *Server::SwitchToScreenInfo::alloc(const std::string &screen) { SwitchToScreenInfo *info = (SwitchToScreenInfo *)malloc(sizeof(SwitchToScreenInfo) + screen.size()); std::copy(screen.c_str(), screen.c_str() + screen.size() + 1, info->m_screen); @@ -2249,7 +2249,7 @@ Server::KeyboardBroadcastInfo *Server::KeyboardBroadcastInfo::alloc(State state) return info; } -Server::KeyboardBroadcastInfo *Server::KeyboardBroadcastInfo::alloc(State state, const String &screens) +Server::KeyboardBroadcastInfo *Server::KeyboardBroadcastInfo::alloc(State state, const std::string &screens) { KeyboardBroadcastInfo *info = (KeyboardBroadcastInfo *)malloc(sizeof(KeyboardBroadcastInfo) + screens.size()); info->m_state = state; @@ -2291,7 +2291,7 @@ void Server::sendFileThread(void *data) m_sendFileThread.reset(nullptr); } -void Server::dragInfoReceived(UInt32 fileNum, String content) +void Server::dragInfoReceived(UInt32 fileNum, std::string content) { if (!m_args.m_enableDragDrop) { LOG((CLOG_DEBUG "drag drop not enabled, ignoring drag info.")); diff --git a/src/lib/server/Server.h b/src/lib/server/Server.h index 9a7445420..363b91a17 100644 --- a/src/lib/server/Server.h +++ b/src/lib/server/Server.h @@ -76,7 +76,7 @@ public: class SwitchToScreenInfo { public: - static SwitchToScreenInfo *alloc(const String &screen); + static SwitchToScreenInfo *alloc(const std::string &screen); public: // this is a C-string; this type is a variable size structure @@ -97,12 +97,12 @@ public: class ScreenConnectedInfo { public: - ScreenConnectedInfo(String screen) : m_screen(screen) + ScreenConnectedInfo(std::string screen) : m_screen(screen) { } public: - String m_screen; // was char[1] + std::string m_screen; // was char[1] }; //! Keyboard broadcast data @@ -117,7 +117,7 @@ public: }; static KeyboardBroadcastInfo *alloc(State state = kToggle); - static KeyboardBroadcastInfo *alloc(State state, const String &screens); + static KeyboardBroadcastInfo *alloc(State state, const std::string &screens); public: State m_state; @@ -181,7 +181,7 @@ public: void sendFileToClient(const char *filename); //! Received dragging information from client - void dragInfoReceived(UInt32 fileNum, String content); + void dragInfoReceived(UInt32 fileNum, std::string content); //! Store ClientListener pointer void setListener(ClientListener *p) @@ -209,7 +209,7 @@ public: /*! Set the \c list to the names of the currently connected clients. */ - void getClients(std::vector &list) const; + void getClients(std::vector &list) const; //! Return true if recieved file size is valid bool isReceivedFileSizeValid(); @@ -221,7 +221,7 @@ public: } //! Return received file data - String &getReceivedFileData() + std::string &getReceivedFileData() { return m_receivedFileData; } @@ -239,7 +239,7 @@ public: private: // get canonical name of client - String getName(const BaseClientProxy *) const; + std::string getName(const BaseClientProxy *) const; // get the sides of the primary screen that have neighbors UInt32 getActivePrimarySides() const; @@ -367,9 +367,9 @@ private: // event processing void onClipboardChanged(BaseClientProxy *sender, ClipboardID id, UInt32 seqNum); void onScreensaver(bool activated); - void onKeyDown(KeyID, KeyModifierMask, KeyButton, const String &, const char *screens); + void onKeyDown(KeyID, KeyModifierMask, KeyButton, const std::string &, const char *screens); void onKeyUp(KeyID, KeyModifierMask, KeyButton, const char *screens); - void onKeyRepeat(KeyID, KeyModifierMask, SInt32, KeyButton, const String &); + void onKeyRepeat(KeyID, KeyModifierMask, SInt32, KeyButton, const std::string &); void onMouseDown(ButtonID); void onMouseUp(ButtonID); bool onMouseMovePrimary(SInt32 x, SInt32 y); @@ -424,8 +424,8 @@ private: public: Clipboard m_clipboard; - String m_clipboardData; - String m_clipboardOwner; + std::string m_clipboardData; + std::string m_clipboardOwner; UInt32 m_clipboardSeqNum; }; @@ -436,7 +436,7 @@ private: PrimaryClient *m_primaryClient; // all clients (including the primary client) indexed by name - using ClientList = std::map; + using ClientList = std::map; using ClientSet = std::set; ClientList m_clients; ClientSet m_clientSet; @@ -503,7 +503,7 @@ private: // flag whether or not we have broadcasting enabled and the screens to // which we should send broadcasted keys. bool m_keyboardBroadcasting; - String m_keyboardBroadcastingScreens; + std::string m_keyboardBroadcastingScreens; // screen locking (former scroll lock) bool m_lockedToScreen; @@ -516,12 +516,12 @@ private: // file transfer using AutoThread = std::unique_ptr; size_t m_expectedFileSize; - String m_receivedFileData; + std::string m_receivedFileData; DragFileList m_dragFileList; DragFileList m_fakeDragFileList; AutoThread m_sendFileThread; AutoThread m_writeToDropDirThread; - String m_dragFileExt; + std::string m_dragFileExt; bool m_ignoreFileTransfer; bool m_disableLockToScreen; bool m_enableClipboard; diff --git a/src/test/integtests/ipc/IpcTests.cpp b/src/test/integtests/ipc/IpcTests.cpp index a29152e37..e695bf517 100644 --- a/src/test/integtests/ipc/IpcTests.cpp +++ b/src/test/integtests/ipc/IpcTests.cpp @@ -24,7 +24,6 @@ #include "arch/Arch.h" #include "base/EventQueue.h" #include "base/Log.h" -#include "base/String.h" #include "base/TMethodEventJob.h" #include "base/TMethodJob.h" #include "common/ipc.h" @@ -57,8 +56,8 @@ public: bool m_connectToServer_helloMessageReceived; bool m_connectToServer_hasClientNode; IpcServer *m_connectToServer_server; - String m_sendMessageToServer_receivedString; - String m_sendMessageToClient_receivedString; + std::string m_sendMessageToServer_receivedString; + std::string m_sendMessageToClient_receivedString; IpcClient *m_sendMessageToServer_client; IpcServer *m_sendMessageToClient_server; TestEventQueue m_events; diff --git a/src/test/integtests/net/NetworkTests.cpp b/src/test/integtests/net/NetworkTests.cpp index 748933d8b..a53444ca2 100644 --- a/src/test/integtests/net/NetworkTests.cpp +++ b/src/test/integtests/net/NetworkTests.cpp @@ -437,7 +437,7 @@ void NetworkTests::sendToServer_mockFile_fileRecieveCompleted( void NetworkTests::sendMockData(void *eventTarget) { // send first message (file size) - String size = deskflow::string::sizeTypeToString(kMockDataSize); + std::string size = deskflow::string::sizeTypeToString(kMockDataSize); FileChunk *sizeMessage = FileChunk::start(size); m_events.addEvent( diff --git a/src/test/integtests/platform/MSWindowsClipboardTests.cpp b/src/test/integtests/platform/MSWindowsClipboardTests.cpp index 1af57a53c..7130534d4 100644 --- a/src/test/integtests/platform/MSWindowsClipboardTests.cpp +++ b/src/test/integtests/platform/MSWindowsClipboardTests.cpp @@ -89,7 +89,7 @@ TEST_F(MSWindowsClipboardTests, add_newValue_valueWasStored) clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } @@ -113,7 +113,7 @@ TEST_F(MSWindowsClipboardTests, add_replaceValue_valueWasReplaced) clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.add(IClipboard::kText, "maxivista sucks"); // haha, just kidding. - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("maxivista sucks", actual); } @@ -200,7 +200,7 @@ TEST_F(MSWindowsClipboardTests, get_withNoFormats_returnsEmpty) clipboard.open(0); clipboard.empty(); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("", actual); } @@ -212,7 +212,7 @@ TEST_F(MSWindowsClipboardTests, get_withFormatAdded_returnsExpected) clipboard.empty(); clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } diff --git a/src/test/integtests/platform/OSXClipboardTests.cpp b/src/test/integtests/platform/OSXClipboardTests.cpp index 60f96413b..34f82953e 100644 --- a/src/test/integtests/platform/OSXClipboardTests.cpp +++ b/src/test/integtests/platform/OSXClipboardTests.cpp @@ -49,7 +49,7 @@ TEST(OSXClipboardTests, add_newValue_valueWasStored) { clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } @@ -60,7 +60,7 @@ TEST(OSXClipboardTests, add_replaceValue_valueWasReplaced) { clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.add(IClipboard::kText, "maxivista sucks"); // haha, just kidding. - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("maxivista sucks", actual); } @@ -136,7 +136,7 @@ TEST(OSXClipboardTests, get_withNoFormats_returnsEmpty) { clipboard.open(0); clipboard.empty(); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("", actual); } @@ -147,9 +147,9 @@ TEST(OSXClipboardTests, get_withFormatAdded_returnsExpected) { clipboard.empty(); clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } -#endif \ No newline at end of file +#endif diff --git a/src/test/integtests/platform/XWindowsClipboardTests.cpp b/src/test/integtests/platform/XWindowsClipboardTests.cpp index d79509536..b3a424ca4 100644 --- a/src/test/integtests/platform/XWindowsClipboardTests.cpp +++ b/src/test/integtests/platform/XWindowsClipboardTests.cpp @@ -82,7 +82,7 @@ TEST_F(XWindowsClipboardTests, add_newValue_valueWasStored) { clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } @@ -92,7 +92,7 @@ TEST_F(XWindowsClipboardTests, add_replaceValue_valueWasReplaced) { clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.add(IClipboard::kText, "maxivista sucks"); // haha, just kidding. - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("maxivista sucks", actual); } @@ -125,7 +125,7 @@ TEST_F(XWindowsClipboardTests, has_withNoFormats_returnsFalse) { TEST_F(XWindowsClipboardTests, get_withNoFormats_returnsEmpty) { XWindowsClipboard &clipboard = getClipboard(); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("", actual); } @@ -134,7 +134,7 @@ TEST_F(XWindowsClipboardTests, get_withFormatAdded_returnsExpected) { XWindowsClipboard &clipboard = getClipboard(); clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } diff --git a/src/test/mock/deskflow/MockApp.h b/src/test/mock/deskflow/MockApp.h index 49ae7ba96..6d5b9530f 100644 --- a/src/test/mock/deskflow/MockApp.h +++ b/src/test/mock/deskflow/MockApp.h @@ -32,7 +32,7 @@ public: MOCK_METHOD(void, help, (), (override)); MOCK_METHOD(void, loadConfig, (), (override)); - MOCK_METHOD(bool, loadConfig, (const String &), (override)); + MOCK_METHOD(bool, loadConfig, (const std::string &), (override)); MOCK_METHOD(const char *, daemonInfo, (), (const, override)); MOCK_METHOD(const char *, daemonName, (), (const, override)); MOCK_METHOD(void, parseArgs, (int, const char *const *), (override)); diff --git a/src/test/mock/deskflow/MockEventQueue.h b/src/test/mock/deskflow/MockEventQueue.h index e3094bd27..9f47148fe 100644 --- a/src/test/mock/deskflow/MockEventQueue.h +++ b/src/test/mock/deskflow/MockEventQueue.h @@ -41,7 +41,7 @@ public: MOCK_METHOD(bool, dispatchEvent, (const Event &), (override)); MOCK_METHOD(IEventJob *, getHandler, (Event::Type, void *), (const, override)); MOCK_METHOD(void, deleteTimer, (EventQueueTimer *), (override)); - MOCK_METHOD(Event::Type, getRegisteredType, (const String &), (const, override)); + MOCK_METHOD(Event::Type, getRegisteredType, (const std::string &), (const, override)); MOCK_METHOD(void *, getSystemTarget, (), (override)); MOCK_METHOD(ClientEvents &, forClient, (), (override)); MOCK_METHOD(IStreamEvents &, forIStream, (), (override)); diff --git a/src/test/mock/deskflow/MockKeyMap.h b/src/test/mock/deskflow/MockKeyMap.h index 195e7366e..c22b89c4d 100644 --- a/src/test/mock/deskflow/MockKeyMap.h +++ b/src/test/mock/deskflow/MockKeyMap.h @@ -17,7 +17,6 @@ */ #pragma once -#include "base/String.h" #include "deskflow/KeyMap.h" #include @@ -32,7 +31,7 @@ public: MOCK_METHOD(bool, isHalfDuplex, (KeyID, KeyButton), (const, override)); MOCK_METHOD( const KeyMap::KeyItem *, mapKey, - (Keystrokes &, KeyID, SInt32, ModifierToKeys &, KeyModifierMask &, KeyModifierMask, bool, const String &), + (Keystrokes &, KeyID, SInt32, ModifierToKeys &, KeyModifierMask &, KeyModifierMask, bool, const std::string &), (const, override) ); }; diff --git a/src/test/mock/server/MockConfig.h b/src/test/mock/server/MockConfig.h index 95288bf95..5ed95e63a 100644 --- a/src/test/mock/server/MockConfig.h +++ b/src/test/mock/server/MockConfig.h @@ -30,5 +30,5 @@ public: { } MOCK_METHOD(InputFilter *, getInputFilter, (), (override)); - MOCK_METHOD(bool, isScreen, (const String &), (const, override)); + MOCK_METHOD(bool, isScreen, (const std::string &), (const, override)); }; diff --git a/src/test/mock/server/MockPrimaryClient.h b/src/test/mock/server/MockPrimaryClient.h index 67033471a..1297f6dde 100644 --- a/src/test/mock/server/MockPrimaryClient.h +++ b/src/test/mock/server/MockPrimaryClient.h @@ -19,7 +19,6 @@ #define TEST_ENV -#include "base/String.h" #include "server/PrimaryClient.h" #include diff --git a/src/test/unittests/base/StringTests.cpp b/src/test/unittests/base/StringTests.cpp index b029fbf2d..14947cb8f 100644 --- a/src/test/unittests/base/StringTests.cpp +++ b/src/test/unittests/base/StringTests.cpp @@ -27,16 +27,16 @@ TEST(StringTests, format_formatWithArguments_formatedString) const char *arg1 = "answer"; const char *arg2 = "42"; - String result = string::format(format, arg1, arg2); + std::string result = string::format(format, arg1, arg2); EXPECT_EQ("%answer=42", result); } TEST(StringTests, findReplaceAll_inputString_replacedString) { - String subject = "foobar"; - String find = "bar"; - String replace = "baz"; + std::string subject = "foobar"; + std::string find = "bar"; + std::string replace = "baz"; string::findReplaceAll(subject, find, replace); @@ -49,14 +49,14 @@ TEST(StringTests, sprintf_formatWithArgument_formatedString) const char *arg1 = "answer"; int arg2 = 42; - String result = string::sprintf(format, arg1, arg2); + std::string result = string::sprintf(format, arg1, arg2); EXPECT_EQ("answer=42", result); } TEST(StringTests, toHex_plaintext_hexString) { - String subject = "foobar"; + std::string subject = "foobar"; int width = 2; string::toHex(subject, width); @@ -66,7 +66,7 @@ TEST(StringTests, toHex_plaintext_hexString) TEST(StringTests, uppercase_lowercaseInput_uppercaseOutput) { - String subject = "12foo3BaR"; + std::string subject = "12foo3BaR"; string::uppercase(subject); @@ -75,7 +75,7 @@ TEST(StringTests, uppercase_lowercaseInput_uppercaseOutput) TEST(StringTests, removeChar_inputString_removeAllSpecifiedCharactors) { - String subject = "foobar"; + std::string subject = "foobar"; const char c = 'o'; string::removeChar(subject, c); @@ -87,14 +87,14 @@ TEST(StringTests, intToString_inputInt_outputString) { size_t value = 123; - String number = string::sizeTypeToString(value); + std::string number = string::sizeTypeToString(value); EXPECT_EQ("123", number); } TEST(StringTests, stringToUint_inputString_outputInt) { - String number = "123"; + std::string number = "123"; size_t value = string::stringToSizeType(number); @@ -103,9 +103,9 @@ TEST(StringTests, stringToUint_inputString_outputInt) TEST(StringTests, splitString_twoSeparator_returnThreeParts) { - String string = "stub1:stub2:stub3"; + std::string string = "stub1:stub2:stub3"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(3, results.size()); EXPECT_EQ("stub1", results[0]); @@ -115,9 +115,9 @@ TEST(StringTests, splitString_twoSeparator_returnThreeParts) TEST(StringTests, splitString_oneSeparator_returnTwoParts) { - String string = "stub1:stub2"; + std::string string = "stub1:stub2"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(2, results.size()); EXPECT_EQ("stub1", results[0]); @@ -126,9 +126,9 @@ TEST(StringTests, splitString_oneSeparator_returnTwoParts) TEST(StringTests, splitString_noSeparator_returnOriginalString) { - String string = "stub1"; + std::string string = "stub1"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(1, results.size()); EXPECT_EQ("stub1", results[0]); @@ -136,18 +136,18 @@ TEST(StringTests, splitString_noSeparator_returnOriginalString) TEST(StringTests, splitString_emptyString_returnEmptyVector) { - String string; + std::string string; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(0, results.size()); } TEST(StringTests, splitString_tailSeparator_returnTwoParts) { - String string = "stub1:stub2:"; + std::string string = "stub1:stub2:"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(2, results.size()); EXPECT_EQ("stub1", results[0]); @@ -156,9 +156,9 @@ TEST(StringTests, splitString_tailSeparator_returnTwoParts) TEST(StringTests, splitString_headSeparator_returnTwoParts) { - String string = ":stub1:stub2"; + std::string string = ":stub1:stub2"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(2, results.size()); EXPECT_EQ("stub1", results[0]); @@ -167,9 +167,9 @@ TEST(StringTests, splitString_headSeparator_returnTwoParts) TEST(StringTests, splitString_headAndTailSeparators_returnTwoParts) { - String string = ":stub1:stub2:"; + std::string string = ":stub1:stub2:"; - std::vector results = string::splitString(string, ':'); + std::vector results = string::splitString(string, ':'); EXPECT_EQ(2, results.size()); EXPECT_EQ("stub1", results[0]); diff --git a/src/test/unittests/base/UnicodeTests.cpp b/src/test/unittests/base/UnicodeTests.cpp index 2154a070c..2ff3948d8 100644 --- a/src/test/unittests/base/UnicodeTests.cpp +++ b/src/test/unittests/base/UnicodeTests.cpp @@ -23,7 +23,7 @@ TEST(UnicodeTests, doUTF32ToUTF8_will_convert_simple_string) { bool errors; - auto result = Unicode::UTF32ToUTF8(String("h\0\0\0e\0\0\0l\0\0\0l\0\0\0o\0\0\0", 20), &errors); + auto result = Unicode::UTF32ToUTF8(std::string("h\0\0\0e\0\0\0l\0\0\0l\0\0\0o\0\0\0", 20), &errors); EXPECT_FALSE(errors); EXPECT_STREQ(result.c_str(), "hello"); } @@ -31,7 +31,7 @@ TEST(UnicodeTests, doUTF32ToUTF8_will_convert_simple_string) TEST(UnicodeTests, doUTF16ToUTF8_will_convert_simple_string) { bool errors; - auto result = Unicode::UTF16ToUTF8(String("h\0e\0l\0l\0o\0", 10), &errors); + auto result = Unicode::UTF16ToUTF8(std::string("h\0e\0l\0l\0o\0", 10), &errors); EXPECT_FALSE(errors); EXPECT_STREQ(result.c_str(), "hello"); } @@ -42,9 +42,9 @@ TEST(UnicodeTests, doUCS2ToUTF8_will_convert_simple_string_kUCS2) auto result = Unicode::textToUTF8("hello", &errors, IArchString::kUCS2); EXPECT_FALSE(errors); #ifdef _WIN32 - EXPECT_EQ(result, String("hello", 5)); // mixed-platform expected result + EXPECT_EQ(result, std::string("hello", 5)); // mixed-platform expected result #else - EXPECT_EQ(result, String("h\0e\0l", 5)); // mixed-platform expected result + EXPECT_EQ(result, std::string("h\0e\0l", 5)); // mixed-platform expected result #endif // _WIN32 } @@ -53,5 +53,5 @@ TEST(UnicodeTests, doUCS2ToUTF8_will_convert_simple_string_any_platform) bool errors; auto result = Unicode::textToUTF8("hello", &errors); EXPECT_FALSE(errors); - EXPECT_EQ(result, String("hello", 5)); // mixed-platform expected result + EXPECT_EQ(result, std::string("hello", 5)); // mixed-platform expected result } diff --git a/src/test/unittests/deskflow/ArgParserTests.cpp b/src/test/unittests/deskflow/ArgParserTests.cpp index 243785f89..4cac71aed 100644 --- a/src/test/unittests/deskflow/ArgParserTests.cpp +++ b/src/test/unittests/deskflow/ArgParserTests.cpp @@ -63,7 +63,7 @@ TEST(ArgParserTests, isArg_missingArgs_returnFalse) TEST(ArgParserTests, searchDoubleQuotes_doubleQuotedArg_returnTrue) { - String command("\"stub\""); + std::string command("\"stub\""); size_t left = 0; size_t right = 0; @@ -76,7 +76,7 @@ TEST(ArgParserTests, searchDoubleQuotes_doubleQuotedArg_returnTrue) TEST(ArgParserTests, searchDoubleQuotes_noDoubleQuotedArg_returnfalse) { - String command("stub"); + std::string command("stub"); size_t left = 0; size_t right = 0; @@ -89,7 +89,7 @@ TEST(ArgParserTests, searchDoubleQuotes_noDoubleQuotedArg_returnfalse) TEST(ArgParserTests, searchDoubleQuotes_oneDoubleQuoteArg_returnfalse) { - String command("\"stub"); + std::string command("\"stub"); size_t left = 0; size_t right = 0; @@ -102,8 +102,8 @@ TEST(ArgParserTests, searchDoubleQuotes_oneDoubleQuoteArg_returnfalse) TEST(ArgParserTests, splitCommandString_oneArg_returnArgv) { - String command("stub"); - std::vector argv; + std::string command("stub"); + std::vector argv; ArgParser::splitCommandString(command, argv); @@ -113,8 +113,8 @@ TEST(ArgParserTests, splitCommandString_oneArg_returnArgv) TEST(ArgParserTests, splitCommandString_twoArgs_returnArgv) { - String command("stub1 stub2"); - std::vector argv; + std::string command("stub1 stub2"); + std::vector argv; ArgParser::splitCommandString(command, argv); @@ -125,8 +125,8 @@ TEST(ArgParserTests, splitCommandString_twoArgs_returnArgv) TEST(ArgParserTests, splitCommandString_doubleQuotedArgs_returnArgv) { - String command("\"stub1\" stub2 \"stub3\""); - std::vector argv; + std::string command("\"stub1\" stub2 \"stub3\""); + std::vector argv; ArgParser::splitCommandString(command, argv); @@ -138,8 +138,8 @@ TEST(ArgParserTests, splitCommandString_doubleQuotedArgs_returnArgv) TEST(ArgParserTests, splitCommandString_spaceDoubleQuotedArgs_returnArgv) { - String command("\"stub1\" stub2 \"stub3 space\""); - std::vector argv; + std::string command("\"stub1\" stub2 \"stub3 space\""); + std::vector argv; ArgParser::splitCommandString(command, argv); @@ -151,15 +151,15 @@ TEST(ArgParserTests, splitCommandString_spaceDoubleQuotedArgs_returnArgv) TEST(ArgParserTests, getArgv_stringArray_return2DArray) { - std::vector argArray; + std::vector argArray; argArray.push_back("stub1"); argArray.push_back("stub2"); argArray.push_back("stub3 space"); const char **argv = ArgParser::getArgv(argArray); - String row1(argv[0]); - String row2(argv[1]); - String row3(argv[2]); + std::string row1(argv[0]); + std::string row2(argv[1]); + std::string row3(argv[2]); EXPECT_EQ("stub1", row1); EXPECT_EQ("stub2", row2); @@ -170,43 +170,43 @@ TEST(ArgParserTests, getArgv_stringArray_return2DArray) TEST(ArgParserTests, assembleCommand_stringArray_returnCommand) { - std::vector argArray; + std::vector argArray; argArray.push_back("stub1"); argArray.push_back("stub2"); - String command = ArgParser::assembleCommand(argArray); + std::string command = ArgParser::assembleCommand(argArray); EXPECT_EQ("stub1 stub2", command); } TEST(ArgParserTests, assembleCommand_ignoreSecondArg_returnCommand) { - std::vector argArray; + std::vector argArray; argArray.push_back("stub1"); argArray.push_back("stub2"); - String command = ArgParser::assembleCommand(argArray, "stub2"); + std::string command = ArgParser::assembleCommand(argArray, "stub2"); EXPECT_EQ("stub1", command); } TEST(ArgParserTests, assembleCommand_ignoreSecondArgWithOneParameter_returnCommand) { - std::vector argArray; + std::vector argArray; argArray.push_back("stub1"); argArray.push_back("stub2"); argArray.push_back("stub3"); argArray.push_back("stub4"); - String command = ArgParser::assembleCommand(argArray, "stub2", 1); + std::string command = ArgParser::assembleCommand(argArray, "stub2", 1); EXPECT_EQ("stub1 stub4", command); } TEST(ArgParserTests, assembleCommand_stringArrayWithSpace_returnCommand) { - std::vector argArray; + std::vector argArray; argArray.push_back("stub1 space"); argArray.push_back("stub2"); argArray.push_back("stub3 space"); - String command = ArgParser::assembleCommand(argArray); + std::string command = ArgParser::assembleCommand(argArray); EXPECT_EQ("\"stub1 space\" stub2 \"stub3 space\"", command); } diff --git a/src/test/unittests/deskflow/ClipboardChunkTests.cpp b/src/test/unittests/deskflow/ClipboardChunkTests.cpp index 08eb204a5..f83617dfe 100644 --- a/src/test/unittests/deskflow/ClipboardChunkTests.cpp +++ b/src/test/unittests/deskflow/ClipboardChunkTests.cpp @@ -24,7 +24,7 @@ TEST(ClipboardChunkTests, start_formatStartChunk) { ClipboardID id = 0; UInt32 sequence = 0; - String mockDataSize("10"); + std::string mockDataSize("10"); ClipboardChunk *chunk = ClipboardChunk::start(id, sequence, mockDataSize); UInt32 temp_m_chunk; memcpy(&temp_m_chunk, &(chunk->m_chunk[1]), 4); @@ -43,7 +43,7 @@ TEST(ClipboardChunkTests, data_formatDataChunk) { ClipboardID id = 0; UInt32 sequence = 1; - String mockData("mock data"); + std::string mockData("mock data"); ClipboardChunk *chunk = ClipboardChunk::data(id, sequence, mockData); EXPECT_EQ(id, chunk->m_chunk[0]); diff --git a/src/test/unittests/deskflow/ClipboardTests.cpp b/src/test/unittests/deskflow/ClipboardTests.cpp index 15230f2ff..02037f0d2 100644 --- a/src/test/unittests/deskflow/ClipboardTests.cpp +++ b/src/test/unittests/deskflow/ClipboardTests.cpp @@ -49,7 +49,7 @@ TEST(ClipboardTests, add_newValue_valueWasStored) clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } @@ -61,7 +61,7 @@ TEST(ClipboardTests, add_replaceValue_valueWasReplaced) clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.add(IClipboard::kText, "maxivista sucks"); // haha, just kidding. - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("maxivista sucks", actual); } @@ -140,7 +140,7 @@ TEST(ClipboardTests, get_withNoFormats_returnsEmpty) Clipboard clipboard; clipboard.open(0); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("", actual); } @@ -151,7 +151,7 @@ TEST(ClipboardTests, get_withFormatAdded_returnsExpected) clipboard.open(0); clipboard.add(IClipboard::kText, "synergy rocks!"); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } @@ -160,7 +160,7 @@ TEST(ClipboardTests, marshall_addNotCalled_firstCharIsZero) { Clipboard clipboard; - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // seems to return "\0\0\0\0" but EXPECT_EQ can't assert this, // so instead, just assert that first char is '\0'. @@ -174,7 +174,7 @@ TEST(ClipboardTests, marshall_withTextAdded_typeCharIsText) clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // string contains other data, but 8th char should be kText. EXPECT_EQ(IClipboard::kText, (int)actual[7]); @@ -187,7 +187,7 @@ TEST(ClipboardTests, marshall_withTextAdded_lastSizeCharIs14) clipboard.add(IClipboard::kText, "synergy rocks!"); // 14 chars clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); EXPECT_EQ(14, (int)actual[11]); } @@ -198,7 +198,7 @@ TEST(ClipboardTests, marshall_withTextAdded_lastSizeCharIs14) TEST(ClipboardTests, marshall_withTextSize285_sizeCharsValid) { // 285 chars - String data; + std::string data; data.append("Synergy is Free and Open Source Software that lets you "); data.append("easily share your mouse and keyboard between multiple "); data.append("computers, where each computer has it's own display. No "); @@ -210,7 +210,7 @@ TEST(ClipboardTests, marshall_withTextSize285_sizeCharsValid) clipboard.add(IClipboard::kText, data); clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // 4 asserts here, but that's ok because we're really just asserting 1 // thing. the 32-bit size value is split into 4 chars. if the size is 285 @@ -232,7 +232,7 @@ TEST(ClipboardTests, marshall_withHtmlAdded_typeCharIsHtml) clipboard.add(IClipboard::kHTML, "html sucks"); clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // string contains other data, but 8th char should be kHTML. EXPECT_EQ(IClipboard::kHTML, (int)actual[7]); @@ -246,7 +246,7 @@ TEST(ClipboardTests, marshall_withHtmlAndText_has2Formats) clipboard.add(IClipboard::kHTML, "html sucks"); clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // the number of formats is stored inside the first 4 chars. // the writeUInt32 function right-aligns numbers in 4 chars, @@ -263,7 +263,7 @@ TEST(ClipboardTests, marshall_withTextAdded_endsWithAdded) clipboard.add(IClipboard::kText, "synergy rocks!"); clipboard.close(); - String actual = clipboard.marshall(); + std::string actual = clipboard.marshall(); // string contains other data, but should end in the string we added. EXPECT_EQ("synergy rocks!", actual.substr(12)); @@ -273,7 +273,7 @@ TEST(ClipboardTests, unmarshall_emptyData_hasTextIsFalse) { Clipboard clipboard; - String data; + std::string data; data += (char)0; data += (char)0; data += (char)0; @@ -291,14 +291,14 @@ TEST(ClipboardTests, unmarshall_withTextSize285_getTextIsValid) Clipboard clipboard; // 285 chars - String text; + std::string text; text.append("Synergy is Free and Open Source Software that lets you "); text.append("easily share your mouse and keyboard between multiple "); text.append("computers, where each computer has it's own display. No "); text.append("special hardware is required, all you need is a local area "); text.append("network. Synergy is supported on Windows, Mac OS X and Linux."); - String data; + std::string data; data += (char)0; data += (char)0; data += (char)0; @@ -316,14 +316,14 @@ TEST(ClipboardTests, unmarshall_withTextSize285_getTextIsValid) clipboard.unmarshall(data, 0); clipboard.open(0); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ(text, actual); } TEST(ClipboardTests, unmarshall_withTextAndHtml_getTextIsValid) { Clipboard clipboard; - String data; + std::string data; data += (char)0; data += (char)0; data += (char)0; @@ -350,14 +350,14 @@ TEST(ClipboardTests, unmarshall_withTextAndHtml_getTextIsValid) clipboard.unmarshall(data, 0); clipboard.open(0); - String actual = clipboard.get(IClipboard::kText); + std::string actual = clipboard.get(IClipboard::kText); EXPECT_EQ("synergy rocks!", actual); } TEST(ClipboardTests, unmarshall_withTextAndHtml_getHtmlIsValid) { Clipboard clipboard; - String data; + std::string data; data += (char)0; data += (char)0; data += (char)0; @@ -384,7 +384,7 @@ TEST(ClipboardTests, unmarshall_withTextAndHtml_getHtmlIsValid) clipboard.unmarshall(data, 0); clipboard.open(0); - String actual = clipboard.get(IClipboard::kHTML); + std::string actual = clipboard.get(IClipboard::kHTML); EXPECT_EQ("html sucks", actual); } @@ -399,6 +399,6 @@ TEST(ClipboardTests, copy_withSingleText_clipboardsAreEqual) Clipboard::copy(&clipboard2, &clipboard1); clipboard2.open(0); - String actual = clipboard2.get(Clipboard::kText); + std::string actual = clipboard2.get(Clipboard::kText); EXPECT_EQ("synergy rocks!", actual); } diff --git a/src/test/unittests/deskflow/GenericArgsParsingTests.cpp b/src/test/unittests/deskflow/GenericArgsParsingTests.cpp index 8eb3e38b0..648d20fdc 100644 --- a/src/test/unittests/deskflow/GenericArgsParsingTests.cpp +++ b/src/test/unittests/deskflow/GenericArgsParsingTests.cpp @@ -66,7 +66,7 @@ TEST_F(GenericArgsParsingTests, parseGenericArgs_logLevelCmd_setLogLevel) const char *kLogLevelCmd[argc] = {"stub", "--debug", "DEBUG"}; m_argParser->parseGenericArgs(argc, kLogLevelCmd, i); - String logFilter(argsBase.m_logFilter); + std::string logFilter(argsBase.m_logFilter); EXPECT_EQ("DEBUG", logFilter); EXPECT_EQ(2, i); @@ -79,7 +79,7 @@ TEST_F(GenericArgsParsingTests, parseGenericArgs_logFileCmd_saveLogFilename) const char *kLogFileCmd[argc] = {"stub", "--log", "mock_filename"}; m_argParser->parseGenericArgs(argc, kLogFileCmd, i); - String logFile(argsBase.m_logFile); + std::string logFile(argsBase.m_logFile); EXPECT_EQ("mock_filename", logFile); EXPECT_EQ(2, i); @@ -92,7 +92,7 @@ TEST_F(GenericArgsParsingTests, parseGenericArgs_logFileCmdWithSpace_saveLogFile const char *kLogFileCmdWithSpace[argc] = {"stub", "--log", "mo ck_filename"}; m_argParser->parseGenericArgs(argc, kLogFileCmdWithSpace, i); - String logFile(argsBase.m_logFile); + std::string logFile(argsBase.m_logFile); EXPECT_EQ("mo ck_filename", logFile); EXPECT_EQ(2, i); diff --git a/src/test/unittests/deskflow/KeyStateTests.cpp b/src/test/unittests/deskflow/KeyStateTests.cpp index 122a6af7f..602fd6534 100644 --- a/src/test/unittests/deskflow/KeyStateTests.cpp +++ b/src/test/unittests/deskflow/KeyStateTests.cpp @@ -36,7 +36,7 @@ void assertMaskIsOne(ForeachKeyCallback cb, void *userData); const deskflow::KeyMap::KeyItem *stubMapKey( deskflow::KeyMap::Keystrokes &keys, KeyID id, SInt32 group, deskflow::KeyMap::ModifierToKeys &activeModifiers, - KeyModifierMask ¤tState, KeyModifierMask desiredMask, bool isAutoRepeat, const String &lang + KeyModifierMask ¤tState, KeyModifierMask desiredMask, bool isAutoRepeat, const std::string &lang ); deskflow::KeyMap::Keystroke s_stubKeystroke(1, false, false); @@ -484,7 +484,7 @@ void assertMaskIsOne(ForeachKeyCallback cb, void *userData) } const deskflow::KeyMap::KeyItem * -stubMapKey(deskflow::KeyMap::Keystrokes &keys, KeyID, SInt32, deskflow::KeyMap::ModifierToKeys &, KeyModifierMask &, KeyModifierMask, bool, const String &) +stubMapKey(deskflow::KeyMap::Keystrokes &keys, KeyID, SInt32, deskflow::KeyMap::ModifierToKeys &, KeyModifierMask &, KeyModifierMask, bool, const std::string &) { keys.push_back(s_stubKeystroke); return &s_stubKeyItem; diff --git a/src/test/unittests/deskflow/ProtocolUtilTests.cpp b/src/test/unittests/deskflow/ProtocolUtilTests.cpp index 415956065..21ead8bac 100644 --- a/src/test/unittests/deskflow/ProtocolUtilTests.cpp +++ b/src/test/unittests/deskflow/ProtocolUtilTests.cpp @@ -506,7 +506,7 @@ INSTANTIATE_TEST_SUITE_P(WriteIntVectorTest, WriteIntVectorTest, std::make_tuple("%4I", 4))); TEST_F(ProtocolUtilTests, write_string_test) { - const String Expected = "Expected"; + const std::string Expected = "Expected"; const std::vector ExpectedVector = {'E', 'x', 'p', 'e', 'c', 't', 'e', 'd'}; EXPECT_CALL(stream, write(EqVoidVectorInt1byte(ExpectedVector), diff --git a/src/test/unittests/deskflow/X11LayoutParserTests.cpp b/src/test/unittests/deskflow/X11LayoutParserTests.cpp index 6b58f242f..427328f46 100644 --- a/src/test/unittests/deskflow/X11LayoutParserTests.cpp +++ b/src/test/unittests/deskflow/X11LayoutParserTests.cpp @@ -127,7 +127,7 @@ void createTestFiles() TEST(X11LayoutsParsingTests, xmlCorrectParsingTest) { createTestFiles(); - std::vector expectedResult = {"en", "ru"}; + std::vector expectedResult = {"en", "ru"}; auto parsedResult = X11LayoutsParser::getX11LanguageList(testDir + "/correctEvdev.xml"); EXPECT_EQ(parsedResult, parsedResult); @@ -141,7 +141,7 @@ TEST(X11LayoutsParsingTests, xmlParsingMissedEvdevFileTest) TEST(X11LayoutsParsingTests, xmlParsingIncorrectEvdevFileTest) { - std::vector parsedResult; + std::vector parsedResult; parsedResult = X11LayoutsParser::getX11LanguageList(testDir + "/incorrectEvdev1.xml"); EXPECT_TRUE(parsedResult.empty()); parsedResult = X11LayoutsParser::getX11LanguageList(testDir + "/incorrectEvdev2.xml"); diff --git a/src/test/unittests/deskflow/languages/LanguageManagerTests.cpp b/src/test/unittests/deskflow/languages/LanguageManagerTests.cpp index b7448cb26..0196caa38 100644 --- a/src/test/unittests/deskflow/languages/LanguageManagerTests.cpp +++ b/src/test/unittests/deskflow/languages/LanguageManagerTests.cpp @@ -27,13 +27,13 @@ TEST(LanguageManager, RemoteLanguagesTest) manager.setRemoteLanguages(remoteLanguages); EXPECT_EQ((std::vector{"ru", "en", "uk"}), manager.getRemoteLanguages()); - manager.setRemoteLanguages(String()); + manager.setRemoteLanguages(std::string()); EXPECT_TRUE(manager.getRemoteLanguages().empty()); } TEST(LanguageManager, LocalLanguagesTest) { - std::vector localLanguages = {"ru", "en", "uk"}; + std::vector localLanguages = {"ru", "en", "uk"}; deskflow::languages::LanguageManager manager(localLanguages); EXPECT_EQ((std::vector{"ru", "en", "uk"}), manager.getLocalLanguages()); @@ -41,8 +41,8 @@ TEST(LanguageManager, LocalLanguagesTest) TEST(LanguageManager, MissedLanguagesTest) { - String remoteLanguages = "ruenuk"; - std::vector localLanguages = {"en"}; + std::string remoteLanguages = "ruenuk"; + std::vector localLanguages = {"en"}; deskflow::languages::LanguageManager manager(localLanguages); manager.setRemoteLanguages(remoteLanguages); @@ -51,7 +51,7 @@ TEST(LanguageManager, MissedLanguagesTest) TEST(LanguageManager, SerializeLocalLanguagesTest) { - std::vector localLanguages = {"ru", "en", "uk"}; + std::vector localLanguages = {"ru", "en", "uk"}; deskflow::languages::LanguageManager manager(localLanguages); EXPECT_EQ("ruenuk", manager.getSerializedLocalLanguages()); @@ -59,7 +59,7 @@ TEST(LanguageManager, SerializeLocalLanguagesTest) TEST(LanguageManager, LanguageInstalledTest) { - std::vector localLanguages = {"ru", "en", "uk"}; + std::vector localLanguages = {"ru", "en", "uk"}; deskflow::languages::LanguageManager manager(localLanguages); EXPECT_FALSE(manager.isLanguageInstalled("us")); diff --git a/src/test/unittests/ipc/IpcLogOutputterTests.cpp b/src/test/unittests/ipc/IpcLogOutputterTests.cpp index 0bcbd7c2f..e35bab660 100644 --- a/src/test/unittests/ipc/IpcLogOutputterTests.cpp +++ b/src/test/unittests/ipc/IpcLogOutputterTests.cpp @@ -43,7 +43,7 @@ using namespace deskflow; // TODO Fix the IPC Tests for windows, see #6709 // Tests disabled due to gtest/gmock update causing build problems // Decision to disable tests and create issue instead due to time constraints -// inline const Matcher IpcLogLineMessageEq(const String& s) +// inline const Matcher IpcLogLineMessageEq(const std::string& s) // { // const Matcher m( // Property(&IpcLogLineMessage::logLine, StrEq(s))); diff --git a/src/test/unittests/server/ConfigTests.cpp b/src/test/unittests/server/ConfigTests.cpp index 3d461b477..e791c09c4 100644 --- a/src/test/unittests/server/ConfigTests.cpp +++ b/src/test/unittests/server/ConfigTests.cpp @@ -26,7 +26,7 @@ class OnlySystemFilter : public InputFilter::Condition { public: Condition *clone() const override { return new OnlySystemFilter(); } - String format() const override { return ""; } + std::string format() const override { return ""; } InputFilter::EFilterStatus match(const Event &ev) override { return ev.getType() == Event::kSystem ? InputFilter::kActivate @@ -92,25 +92,25 @@ TEST(ServerConfigTests, TEST(NetworkAddress, hostname_valid_parsing) { const int validPort = 24900; - const String portStr = std::to_string(validPort); + const std::string portStr = std::to_string(validPort); // list of test cases. 1 param - hostname for parsing, 2 param - port, 3 param // - expected hostname - const std::initializer_list> validTestCases = { - std::make_tuple(String("127.0.0.1"), validPort, "127.0.0.1"), - std::make_tuple(String("127.0.0.1:") + portStr, 0, "127.0.0.1"), - std::make_tuple(String("localhost"), validPort, "localhost"), - std::make_tuple(String("localhost:") + portStr, 0, "localhost"), - std::make_tuple(String(""), validPort, ""), - std::make_tuple(String(":") + portStr, 0, ""), + const std::initializer_list> validTestCases = { + std::make_tuple(std::string("127.0.0.1"), validPort, "127.0.0.1"), + std::make_tuple(std::string("127.0.0.1:") + portStr, 0, "127.0.0.1"), + std::make_tuple(std::string("localhost"), validPort, "localhost"), + std::make_tuple(std::string("localhost:") + portStr, 0, "localhost"), + std::make_tuple(std::string(""), validPort, ""), + std::make_tuple(std::string(":") + portStr, 0, ""), // Temporary disabled tests for ipv6 - // std::make_tuple(String("[::1]:") + portStr, 0, "::1"), - // std::make_tuple(String("[fe80::a156:9f36:793:7bfb%14]:") + portStr, + // std::make_tuple(std::string("[::1]:") + portStr, 0, "::1"), + // std::make_tuple(std::string("[fe80::a156:9f36:793:7bfb%14]:") + portStr, // 0, "fe80::a156:9f36:793:7bfb%14"), - // std::make_tuple(String("::1"), validPort, "::1"), - // std::make_tuple(String("fe80::a156:9f36:793:7bfb%14"), validPort, + // std::make_tuple(std::string("::1"), validPort, "::1"), + // std::make_tuple(std::string("fe80::a156:9f36:793:7bfb%14"), validPort, // "fe80::a156:9f36:793:7bfb%14"), - // std::make_tuple(String("fe80:0000:0000:0000:a156:9f36:793:7bfb%14"), + // std::make_tuple(std::string("fe80:0000:0000:0000:a156:9f36:793:7bfb%14"), // validPort, "fe80:0000:0000:0000:a156:9f36:793:7bfb%14"), }; @@ -124,7 +124,7 @@ TEST(NetworkAddress, hostname_valid_parsing) { } // list of non valid hostnames - const std::initializer_list nonValidTestCases = { + const std::initializer_list nonValidTestCases = { ":nonValidPort", ":", // Temporary disabled tests for ipv6 //"[::1]:",