summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am7
-rw-r--r--android/lib/src/main/cpp/CMakeLists.txt.in1
-rw-r--r--common/Message.hpp8
-rw-r--r--common/MessageQueue.cpp14
-rw-r--r--common/Protocol.cpp8
-rw-r--r--common/Protocol.hpp14
-rw-r--r--common/Seccomp.cpp2
-rw-r--r--common/Seccomp.hpp5
-rw-r--r--common/Session.cpp2
-rw-r--r--common/Session.hpp2
-rw-r--r--common/StringVector.cpp45
-rw-r--r--common/StringVector.hpp51
-rw-r--r--common/Util.cpp2
-rw-r--r--common/Util.hpp4
-rw-r--r--kit/ChildSession.cpp80
-rw-r--r--kit/ChildSession.hpp72
-rw-r--r--kit/ForKit.cpp6
-rw-r--r--kit/Kit.cpp14
-rw-r--r--test/Makefile.am1
-rw-r--r--test/TileCacheTests.cpp8
-rw-r--r--test/UnitAdmin.cpp16
-rw-r--r--test/UnitBadDocLoad.cpp2
-rw-r--r--test/UnitClose.cpp2
-rw-r--r--test/UnitCursor.cpp2
-rw-r--r--test/UnitInsertDelete.cpp6
-rw-r--r--test/UnitLoad.cpp2
-rw-r--r--test/UnitPasswordProtected.cpp4
-rw-r--r--test/UnitRenderingOptions.cpp2
-rw-r--r--test/UnitSession.cpp2
-rw-r--r--test/UnitWOPIWatermark.cpp2
-rw-r--r--test/WhiteBoxTests.cpp4
-rw-r--r--test/helpers.hpp4
-rw-r--r--tools/Connect.cpp2
-rw-r--r--tools/KitClient.cpp2
-rw-r--r--tools/WebSocketDump.cpp2
-rw-r--r--wsd/Admin.cpp6
-rw-r--r--wsd/Auth.cpp2
-rw-r--r--wsd/ClientSession.cpp18
-rw-r--r--wsd/ClientSession.hpp10
-rw-r--r--wsd/DocumentBroker.cpp4
-rw-r--r--wsd/FileServer.cpp2
-rw-r--r--wsd/LOOLWSD.cpp4
-rw-r--r--wsd/Storage.cpp6
-rw-r--r--wsd/TileCache.cpp2
-rw-r--r--wsd/TileDesc.hpp16
-rw-r--r--wsd/TraceFile.hpp2
46 files changed, 289 insertions, 183 deletions
diff --git a/Makefile.am b/Makefile.am
index 1ee125b1fd..bf5725b92c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -92,6 +92,7 @@ shared_sources = common/FileUtil.cpp \
common/IoUtil.cpp \
common/Log.cpp \
common/Protocol.cpp \
+ common/StringVector.cpp \
common/Session.cpp \
common/Seccomp.cpp \
common/MessageQueue.cpp \
@@ -138,12 +139,14 @@ endif
connect_SOURCES = tools/Connect.cpp \
common/Log.cpp \
common/Protocol.cpp \
+ common/StringVector.cpp \
common/Util.cpp
lokitclient_SOURCES = common/IoUtil.cpp \
common/Log.cpp \
tools/KitClient.cpp \
common/Protocol.cpp \
+ common/StringVector.cpp \
common/Util.cpp
loolforkit_sources = kit/ChildSession.cpp \
@@ -170,6 +173,7 @@ clientsession_fuzzer_LDFLAGS = -fsanitize=fuzzer $(AM_LDFLAGS)
clientnb_SOURCES = net/clientnb.cpp \
common/Log.cpp \
+ common/StringVector.cpp \
common/Util.cpp
loolmount_SOURCES = tools/mount.cpp
@@ -181,12 +185,14 @@ loolconvert_SOURCES = tools/Tool.cpp
loolstress_CPPFLAGS = -DTDOC=\"$(abs_top_srcdir)/test/data\" ${include_paths}
loolstress_SOURCES = tools/Stress.cpp \
common/Protocol.cpp \
+ common/StringVector.cpp \
common/Log.cpp \
common/Util.cpp
loolconfig_SOURCES = tools/Config.cpp \
common/Crypto.cpp \
common/Log.cpp \
+ common/StringVector.cpp \
common/Util.cpp
loolsocketdump_SOURCES = tools/WebSocketDump.cpp \
@@ -218,6 +224,7 @@ shared_headers = common/Common.hpp \
common/Log.hpp \
common/LOOLWebSocket.hpp \
common/Protocol.hpp \
+ common/StringVector.hpp \
common/Seccomp.hpp \
common/Session.hpp \
common/Unit.hpp \
diff --git a/android/lib/src/main/cpp/CMakeLists.txt.in b/android/lib/src/main/cpp/CMakeLists.txt.in
index 29abef9052..7b5b5323f3 100644
--- a/android/lib/src/main/cpp/CMakeLists.txt.in
+++ b/android/lib/src/main/cpp/CMakeLists.txt.in
@@ -6,6 +6,7 @@ add_library(androidapp SHARED
../../../../../common/Log.cpp
../../../../../common/MessageQueue.cpp
../../../../../common/Protocol.cpp
+ ../../../../../common/StringVector.cpp
../../../../../common/Session.cpp
../../../../../common/SigUtil.cpp
../../../../../common/SpookyV2.cpp
diff --git a/common/Message.hpp b/common/Message.hpp
index 3fdbc5d363..9320037c7b 100644
--- a/common/Message.hpp
+++ b/common/Message.hpp
@@ -80,11 +80,11 @@ public:
size_t size() const { return _data.size(); }
const std::vector<char>& data() const { return _data; }
- const std::vector<std::string>& tokens() const { return _tokens; }
+ const StringVector& tokens() const { return _tokens; }
const std::string& forwardToken() const { return _forwardToken; }
- const std::string& firstToken() const { return _tokens[0]; }
+ std::string firstToken() const { return _tokens[0]; }
const std::string& firstLine() const { return _firstLine; }
- const std::string& operator[](size_t index) const { return _tokens[index]; }
+ std::string operator[](size_t index) const { return _tokens[index]; }
bool getTokenInteger(const std::string& name, int& value)
{
@@ -177,7 +177,7 @@ private:
private:
const std::string _forwardToken;
std::vector<char> _data;
- const std::vector<std::string> _tokens;
+ const StringVector _tokens;
const std::string _id;
const std::string _firstLine;
const std::string _abbr;
diff --git a/common/MessageQueue.cpp b/common/MessageQueue.cpp
index dd8ea33b35..84987b278a 100644
--- a/common/MessageQueue.cpp
+++ b/common/MessageQueue.cpp
@@ -30,7 +30,7 @@ void TileQueue::put_impl(const Payload& value)
{
LOG_TRC("Processing [" << LOOLProtocol::getAbbreviatedMessage(msg) << "]. Before canceltiles have " << getQueue().size() << " in queue.");
const std::string seqs = msg.substr(12);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(seqs, ','));
+ StringVector tokens(LOOLProtocol::tokenize(seqs, ','));
getQueue().erase(std::remove_if(getQueue().begin(), getQueue().end(),
[&tokens](const Payload& v)
{
@@ -126,7 +126,7 @@ void TileQueue::removeTileDuplicate(const std::string& tileMsg)
namespace {
/// Read the viewId from the tokens.
-std::string extractViewId(const std::string& origMsg, const std::vector<std::string>& tokens)
+std::string extractViewId(const std::string& origMsg, const StringVector& tokens)
{
size_t nonJson = tokens[0].size() + tokens[1].size() + tokens[2].size() + 3; // including spaces
std::string jsonString(origMsg.data() + nonJson, origMsg.size() - nonJson);
@@ -151,7 +151,7 @@ std::string extractUnoCommand(const std::string& command)
}
/// Extract rectangle from the invalidation callback
-bool extractRectangle(const std::vector<std::string>& tokens, int& x, int& y, int& w, int& h, int& part)
+bool extractRectangle(const StringVector& tokens, int& x, int& y, int& w, int& h, int& part)
{
x = 0;
y = 0;
@@ -186,7 +186,7 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg)
{
assert(LOOLProtocol::matchPrefix("callback", callbackMsg, /*ignoreWhitespace*/ true));
- std::vector<std::string> tokens = LOOLProtocol::tokenize(callbackMsg);
+ StringVector tokens = LOOLProtocol::tokenize(callbackMsg);
if (tokens.size() < 3)
return std::string();
@@ -211,7 +211,7 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg)
{
auto& it = getQueue()[i];
- std::vector<std::string> queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
+ StringVector queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
if (queuedTokens.size() < 3)
{
++i;
@@ -316,7 +316,7 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg)
{
auto& it = getQueue()[i];
- std::vector<std::string> queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
+ StringVector queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
if (queuedTokens.size() < 4)
continue;
@@ -362,7 +362,7 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg)
if (!LOOLProtocol::matchPrefix("callback", it))
continue;
- std::vector<std::string> queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
+ StringVector queuedTokens = LOOLProtocol::tokenize(it.data(), it.size());
if (queuedTokens.size() < 3)
continue;
diff --git a/common/Protocol.cpp b/common/Protocol.cpp
index 4d8f51c50d..7e5208774a 100644
--- a/common/Protocol.cpp
+++ b/common/Protocol.cpp
@@ -27,12 +27,12 @@ namespace LOOLProtocol
int minor = -1;
std::string patch;
- std::vector<std::string> firstTokens(tokenize(version, '.'));
+ StringVector firstTokens(tokenize(version, '.'));
if (firstTokens.size() > 0)
{
major = std::stoi(firstTokens[0]);
- std::vector<std::string> secondTokens;
+ StringVector secondTokens;
if (firstTokens.size() > 1)
{
secondTokens = tokenize(firstTokens[1], '-');
@@ -170,7 +170,7 @@ namespace LOOLProtocol
return false;
}
- bool getTokenInteger(const std::vector<std::string>& tokens, const std::string& name, int& value)
+ bool getTokenInteger(const StringVector& tokens, const std::string& name, int& value)
{
for (size_t i = 0; i < tokens.size(); i++)
{
@@ -180,7 +180,7 @@ namespace LOOLProtocol
return false;
}
- bool getTokenKeyword(const std::vector<std::string>& tokens, const std::string& name, const std::map<std::string, int>& map, int& value)
+ bool getTokenKeyword(const StringVector& tokens, const std::string& name, const std::map<std::string, int>& map, int& value)
{
for (size_t i = 0; i < tokens.size(); i++)
{
diff --git a/common/Protocol.hpp b/common/Protocol.hpp
index e1a5d426e7..787be3706c 100644
--- a/common/Protocol.hpp
+++ b/common/Protocol.hpp
@@ -75,11 +75,11 @@ namespace LOOLProtocol
bool getTokenString(const std::string& token, const std::string& name, std::string& value);
bool getTokenKeyword(const std::string& token, const std::string& name, const std::map<std::string, int>& map, int& value);
- bool getTokenKeyword(const std::vector<std::string>& tokens, const std::string& name, const std::map<std::string, int>& map, int& value);
+ bool getTokenKeyword(const StringVector& tokens, const std::string& name, const std::map<std::string, int>& map, int& value);
- bool getTokenInteger(const std::vector<std::string>& tokens, const std::string& name, int& value);
+ bool getTokenInteger(const StringVector& tokens, const std::string& name, int& value);
- inline bool getTokenString(const std::vector<std::string>& tokens,
+ inline bool getTokenString(const StringVector& tokens,
const std::string& name,
std::string& value)
{
@@ -99,12 +99,12 @@ namespace LOOLProtocol
/// Tokenize space-delimited values until we hit new-line or the end.
inline
- std::vector<std::string> tokenize(const char* data, const size_t size, const char delimiter = ' ')
+ StringVector tokenize(const char* data, const size_t size, const char delimiter = ' ')
{
std::vector<std::string> tokens;
if (size == 0 || data == nullptr)
{
- return tokens;
+ return StringVector(tokens);
}
tokens.reserve(8);
@@ -132,11 +132,11 @@ namespace LOOLProtocol
tokens.emplace_back(start, end);
}
- return tokens;
+ return StringVector(tokens);
}
inline
- std::vector<std::string> tokenize(const std::string& s, const char delimiter = ' ')
+ StringVector tokenize(const std::string& s, const char delimiter = ' ')
{
return tokenize(s.data(), s.size(), delimiter);
}
diff --git a/common/Seccomp.cpp b/common/Seccomp.cpp
index c22937f9fa..1160568922 100644
--- a/common/Seccomp.cpp
+++ b/common/Seccomp.cpp
@@ -269,7 +269,7 @@ void setRLimit(rlim_t confLim, int resource, const std::string &resourceText, co
LOG_INF("Ignored setting " << resourceText << " to " << limTextWithUnit << ".");
}
-bool handleSetrlimitCommand(const std::vector<std::string>& tokens)
+bool handleSetrlimitCommand(const StringVector& tokens)
{
if (tokens.size() == 3 && tokens[0] == "setconfig")
{
diff --git a/common/Seccomp.hpp b/common/Seccomp.hpp
index 5a09de7725..400745bfa4 100644
--- a/common/Seccomp.hpp
+++ b/common/Seccomp.hpp
@@ -9,8 +9,7 @@
#ifndef INCLUDED_SECCOMP_HPP
#define INCLUDED_SECCOMP_HPP
-#include <string>
-#include <vector>
+#include <Protocol.hpp>
namespace Seccomp {
enum Type { KIT, WSD };
@@ -22,7 +21,7 @@ namespace Seccomp {
namespace Rlimit {
/// Handles setconfig command with limit_... subcommands.
/// Returns true iff it handled the command, regardless of success/failure.
- bool handleSetrlimitCommand(const std::vector<std::string>& tokens);
+ bool handleSetrlimitCommand(const StringVector& tokens);
};
#endif
diff --git a/common/Session.cpp b/common/Session.cpp
index 2a51b0e89f..815fd53913 100644
--- a/common/Session.cpp
+++ b/common/Session.cpp
@@ -75,7 +75,7 @@ bool Session::sendBinaryFrame(const char *buffer, int length)
return sendMessage(buffer, length, WSOpCode::Binary) >= length;
}
-void Session::parseDocOptions(const std::vector<std::string>& tokens, int& part, std::string& timestamp, std::string& doctemplate)
+void Session::parseDocOptions(const StringVector& tokens, int& part, std::string& timestamp, std::string& doctemplate)
{
// First token is the "load" command itself.
size_t offset = 1;
diff --git a/common/Session.hpp b/common/Session.hpp
index aa585a559f..8171fef64d 100644
--- a/common/Session.hpp
+++ b/common/Session.hpp
@@ -168,7 +168,7 @@ protected:
/// Parses the options of the "load" command,
/// shared between MasterProcessSession::loadDocument() and ChildProcessSession::loadDocument().
- void parseDocOptions(const std::vector<std::string>& tokens, int& part, std::string& timestamp, std::string& doctemplate);
+ void parseDocOptions(const StringVector& tokens, int& part, std::string& timestamp, std::string& doctemplate);
void updateLastActivityTime()
{
diff --git a/common/StringVector.cpp b/common/StringVector.cpp
new file mode 100644
index 0000000000..a4bf781095
--- /dev/null
+++ b/common/StringVector.cpp
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "StringVector.hpp"
+
+StringVector::StringVector() = default;
+
+StringVector::StringVector(const std::vector<std::string>& vector) { _vector = vector; }
+
+std::string StringVector::operator[](size_t index) const
+{
+ if (index >= _vector.size())
+ {
+ return std::string();
+ }
+
+ return _vector[index];
+}
+
+size_t StringVector::size() const { return _vector.size(); }
+
+bool StringVector::empty() const { return _vector.empty(); }
+
+std::vector<std::string>::const_iterator StringVector::begin() const { return _vector.begin(); }
+
+std::vector<std::string>::iterator StringVector::begin() { return _vector.begin(); }
+
+std::vector<std::string>::const_iterator StringVector::end() const { return _vector.end(); }
+
+std::vector<std::string>::iterator StringVector::end() { return _vector.end(); }
+
+std::vector<std::string>::iterator StringVector::erase(std::vector<std::string>::const_iterator it)
+{
+ return _vector.erase(it);
+}
+
+void StringVector::push_back(const std::string& string) { _vector.push_back(string); }
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/common/StringVector.hpp b/common/StringVector.hpp
new file mode 100644
index 0000000000..346bfabfff
--- /dev/null
+++ b/common/StringVector.hpp
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_STRINGVECTOR_HPP
+#define INCLUDED_STRINGVECTOR_HPP
+
+#include <string>
+#include <vector>
+
+/**
+ * Safe wrapper around an std::vector<std::string>. Gives you an empty string if you would read past
+ * the ends of the vector.
+ */
+class StringVector
+{
+ std::vector<std::string> _vector;
+
+public:
+ explicit StringVector();
+
+ explicit StringVector(const std::vector<std::string>& vector);
+
+ /// Unlike std::vector, gives an empty string if index is unexpected.
+ std::string operator[](size_t index) const;
+
+ size_t size() const;
+
+ bool empty() const;
+
+ std::vector<std::string>::const_iterator begin() const;
+
+ std::vector<std::string>::iterator begin();
+
+ std::vector<std::string>::const_iterator end() const;
+
+ std::vector<std::string>::iterator end();
+
+ std::vector<std::string>::iterator erase(std::vector<std::string>::const_iterator it);
+
+ void push_back(const std::string& string);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/common/Util.cpp b/common/Util.cpp
index f9df08f2f8..9a2273eaff 100644
--- a/common/Util.cpp
+++ b/common/Util.cpp
@@ -245,7 +245,7 @@ namespace Util
}
}
- int spawnProcess(const std::string &cmd, const std::vector<std::string> &args, const std::vector<int>* fdsToKeep, int *stdInput)
+ int spawnProcess(const std::string &cmd, const StringVector &args, const std::vector<int>* fdsToKeep, int *stdInput)
{
int pipeFds[2] = { -1, -1 };
if (stdInput)
diff --git a/common/Util.hpp b/common/Util.hpp
index 991b548ef8..52043692f3 100644
--- a/common/Util.hpp
+++ b/common/Util.hpp
@@ -38,6 +38,8 @@
#define LOK_USE_UNSTABLE_API
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
+#include <StringVector.hpp>
+
namespace Util
{
namespace rng
@@ -68,7 +70,7 @@ namespace Util
/// Spawn a process if stdInput is non-NULL it contains a writable descriptor
/// to send data to the child.
- int spawnProcess(const std::string &cmd, const std::vector<std::string> &args,
+ int spawnProcess(const std::string &cmd, const StringVector &args,
const std::vector<int>* fdsToKeep = nullptr, int *stdInput = nullptr);
#endif
diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp
index 83acd082fc..13bc1d8e4b 100644
--- a/kit/ChildSession.cpp
+++ b/kit/ChildSession.cpp
@@ -106,7 +106,7 @@ bool ChildSession::_handleInput(const char *buffer, int length)
{
LOG_TRC(getName() << ": handling [" << getAbbreviatedMessage(buffer, length) << "].");
const std::string firstLine = getFirstLine(buffer, length);
- const std::vector<std::string> tokens = LOOLProtocol::tokenize(firstLine.data(), firstLine.size());
+ const StringVector tokens = LOOLProtocol::tokenize(firstLine.data(), firstLine.size());
if (LOOLProtocol::tokenIndicatesUserInteraction(tokens[0]))
{
@@ -368,7 +368,7 @@ bool ChildSession::_handleInput(const char *buffer, int length)
std::vector<std::string> newTokens;
newTokens.push_back(tokens[0]);
newTokens.push_back(firstLine.substr(4)); // Copy the remaining part.
- return unoCommand(buffer, length, newTokens);
+ return unoCommand(buffer, length, StringVector(newTokens));
}
return unoCommand(buffer, length, tokens);
}
@@ -467,7 +467,7 @@ std::string getMimeFromFileType(const std::string & fileType)
return std::string();
}
-bool ChildSession::uploadSignedDocument(const char* buffer, int length, const std::vector<std::string>& /*tokens*/)
+bool ChildSession::uploadSignedDocument(const char* buffer, int length, const StringVector& /*tokens*/)
{
std::string filename;
std::string wopiUrl;
@@ -578,7 +578,7 @@ bool ChildSession::uploadSignedDocument(const char* buffer, int length, const st
#endif
-bool ChildSession::loadDocument(const char * /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::loadDocument(const char * /*buffer*/, int /*length*/, const StringVector& tokens)
{
int part = -1;
if (tokens.size() < 2)
@@ -660,7 +660,7 @@ bool ChildSession::loadDocument(const char * /*buffer*/, int /*length*/, const s
return true;
}
-bool ChildSession::sendFontRendering(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::sendFontRendering(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string font, text, decodedFont, decodedChar;
bool bSuccess;
@@ -774,7 +774,7 @@ void insertUserNames(const std::map<int, UserInfo>& viewInfo, std::string& json)
}
-bool ChildSession::getCommandValues(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::getCommandValues(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
bool success;
char* values;
@@ -813,7 +813,7 @@ bool ChildSession::getCommandValues(const char* /*buffer*/, int /*length*/, cons
return success;
}
-bool ChildSession::clientZoom(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::clientZoom(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int tilePixelWidth, tilePixelHeight, tileTwipWidth, tileTwipHeight;
@@ -833,7 +833,7 @@ bool ChildSession::clientZoom(const char* /*buffer*/, int /*length*/, const std:
return true;
}
-bool ChildSession::clientVisibleArea(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::clientVisibleArea(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int x;
int y;
@@ -856,7 +856,7 @@ bool ChildSession::clientVisibleArea(const char* /*buffer*/, int /*length*/, con
return true;
}
-bool ChildSession::outlineState(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::outlineState(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string type, state;
int level, index;
@@ -882,7 +882,7 @@ bool ChildSession::outlineState(const char* /*buffer*/, int /*length*/, const st
return true;
}
-bool ChildSession::downloadAs(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::downloadAs(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string name, id, format, filterOptions;
@@ -966,7 +966,7 @@ std::string ChildSession::getTextSelectionInternal(const std::string& mimeType)
return str;
}
-bool ChildSession::getTextSelection(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::getTextSelection(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string mimeType;
@@ -1006,7 +1006,7 @@ bool ChildSession::getTextSelection(const char* /*buffer*/, int /*length*/, cons
return true;
}
-bool ChildSession::getClipboard(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::getClipboard(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
const char **pMimeTypes = nullptr; // fetch all for now.
const char *pOneType[2];
@@ -1068,7 +1068,7 @@ bool ChildSession::getClipboard(const char* /*buffer*/, int /*length*/, const st
return true;
}
-bool ChildSession::setClipboard(const char* buffer, int length, const std::vector<std::string>& /* tokens */)
+bool ChildSession::setClipboard(const char* buffer, int length, const StringVector& /* tokens */)
{
try {
ClipboardData data;
@@ -1107,7 +1107,7 @@ bool ChildSession::setClipboard(const char* buffer, int length, const std::vecto
return false;
}
-bool ChildSession::paste(const char* buffer, int length, const std::vector<std::string>& tokens)
+bool ChildSession::paste(const char* buffer, int length, const StringVector& tokens)
{
std::string mimeType;
if (tokens.size() < 2 || !getTokenString(tokens[1], "mimetype", mimeType) ||
@@ -1151,7 +1151,7 @@ bool ChildSession::paste(const char* buffer, int length, const std::vector<std::
return true;
}
-bool ChildSession::insertFile(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::insertFile(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string name, type;
@@ -1213,7 +1213,7 @@ bool ChildSession::insertFile(const char* /*buffer*/, int /*length*/, const std:
}
bool ChildSession::extTextInputEvent(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens)
+ const StringVector& tokens)
{
int id, type;
std::string text;
@@ -1239,7 +1239,7 @@ bool ChildSession::extTextInputEvent(const char* /*buffer*/, int /*length*/,
}
bool ChildSession::keyEvent(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens,
+ const StringVector& tokens,
const LokEventTargetEnum target)
{
int type, charcode, keycode;
@@ -1296,7 +1296,7 @@ bool ChildSession::keyEvent(const char* /*buffer*/, int /*length*/,
}
bool ChildSession::gestureEvent(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens)
+ const StringVector& tokens)
{
bool success = true;
@@ -1333,7 +1333,7 @@ bool ChildSession::gestureEvent(const char* /*buffer*/, int /*length*/,
}
bool ChildSession::mouseEvent(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens,
+ const StringVector& tokens,
const LokEventTargetEnum target)
{
int type, x, y, count;
@@ -1401,7 +1401,7 @@ bool ChildSession::mouseEvent(const char* /*buffer*/, int /*length*/,
return true;
}
-bool ChildSession::dialogEvent(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::dialogEvent(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
if (tokens.size() <= 2)
{
@@ -1418,7 +1418,7 @@ bool ChildSession::dialogEvent(const char* /*buffer*/, int /*length*/, const std
return true;
}
-bool ChildSession::completeFunction(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::completeFunction(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int index;
@@ -1435,7 +1435,7 @@ bool ChildSession::completeFunction(const char* /*buffer*/, int /*length*/, cons
return true;
}
-bool ChildSession::unoCommand(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::unoCommand(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
if (tokens.size() <= 1)
{
@@ -1476,7 +1476,7 @@ bool ChildSession::unoCommand(const char* /*buffer*/, int /*length*/, const std:
}
bool ChildSession::selectText(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens,
+ const StringVector& tokens,
const LokEventTargetEnum target)
{
std::string swap;
@@ -1528,7 +1528,7 @@ bool ChildSession::selectText(const char* /*buffer*/, int /*length*/,
return true;
}
-bool ChildSession::renderWindow(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::renderWindow(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
const unsigned winId = (tokens.size() > 1 ? std::stoul(tokens[1]) : 0);
@@ -1539,7 +1539,7 @@ bool ChildSession::renderWindow(const char* /*buffer*/, int /*length*/, const st
if (tokens.size() > 2 && getTokenString(tokens[2], "rectangle", paintRectangle)
&& paintRectangle != "undefined")
{
- const std::vector<std::string> rectParts
+ const StringVector rectParts
= LOOLProtocol::tokenize(paintRectangle.c_str(), paintRectangle.length(), ',');
if (rectParts.size() == 4)
{
@@ -1604,7 +1604,7 @@ bool ChildSession::renderWindow(const char* /*buffer*/, int /*length*/, const st
return true;
}
-bool ChildSession::resizeWindow(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::resizeWindow(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
const unsigned winId = (tokens.size() > 1 ? std::stoul(tokens[1].c_str(), nullptr, 10) : 0);
@@ -1625,7 +1625,7 @@ bool ChildSession::resizeWindow(const char* /*buffer*/, int /*length*/, const st
return true;
}
-bool ChildSession::sendWindowCommand(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::sendWindowCommand(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
const unsigned winId = (tokens.size() > 1 ? std::stoul(tokens[1]) : 0);
@@ -1686,7 +1686,7 @@ std::string extractPrivateKey(const std::string & privateKey)
}
-bool ChildSession::signDocumentContent(const char* buffer, int length, const std::vector<std::string>& /*tokens*/)
+bool ChildSession::signDocumentContent(const char* buffer, int length, const StringVector& /*tokens*/)
{
bool bResult = true;
@@ -1729,7 +1729,7 @@ bool ChildSession::signDocumentContent(const char* buffer, int length, const std
#if !MOBILEAPP
-bool ChildSession::exportSignAndUploadDocument(const char* buffer, int length, const std::vector<std::string>& /*tokens*/)
+bool ChildSession::exportSignAndUploadDocument(const char* buffer, int length, const StringVector& /*tokens*/)
{
bool bResult = false;
@@ -1892,7 +1892,7 @@ bool ChildSession::exportSignAndUploadDocument(const char* buffer, int length, c
#endif
-bool ChildSession::askSignatureStatus(const char* buffer, int length, const std::vector<std::string>& /*tokens*/)
+bool ChildSession::askSignatureStatus(const char* buffer, int length, const StringVector& /*tokens*/)
{
bool bResult = true;
@@ -1929,7 +1929,7 @@ bool ChildSession::askSignatureStatus(const char* buffer, int length, const std:
return true;
}
-bool ChildSession::selectGraphic(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::selectGraphic(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int type, x, y;
if (tokens.size() != 4 ||
@@ -1951,7 +1951,7 @@ bool ChildSession::selectGraphic(const char* /*buffer*/, int /*length*/, const s
return true;
}
-bool ChildSession::resetSelection(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::resetSelection(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
if (tokens.size() != 1)
{
@@ -1966,7 +1966,7 @@ bool ChildSession::resetSelection(const char* /*buffer*/, int /*length*/, const
return true;
}
-bool ChildSession::saveAs(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::saveAs(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string wopiFilename, url, format, filterOptions;
@@ -2064,7 +2064,7 @@ bool ChildSession::saveAs(const char* /*buffer*/, int /*length*/, const std::vec
return true;
}
-bool ChildSession::setClientPart(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::setClientPart(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int part;
if (tokens.size() < 2 ||
@@ -2084,7 +2084,7 @@ bool ChildSession::setClientPart(const char* /*buffer*/, int /*length*/, const s
return true;
}
-bool ChildSession::selectClientPart(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::selectClientPart(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int nPart;
int nSelect;
@@ -2118,7 +2118,7 @@ bool ChildSession::selectClientPart(const char* /*buffer*/, int /*length*/, cons
return true;
}
-bool ChildSession::moveSelectedClientParts(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::moveSelectedClientParts(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int nPosition;
if (tokens.size() < 2 ||
@@ -2147,7 +2147,7 @@ bool ChildSession::moveSelectedClientParts(const char* /*buffer*/, int /*length*
return true; // Non-fatal to fail.
}
-bool ChildSession::setPage(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::setPage(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
int page;
if (tokens.size() < 2 ||
@@ -2163,7 +2163,7 @@ bool ChildSession::setPage(const char* /*buffer*/, int /*length*/, const std::ve
return true;
}
-bool ChildSession::renderShapeSelection(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens)
+bool ChildSession::renderShapeSelection(const char* /*buffer*/, int /*length*/, const StringVector& tokens)
{
std::string mimeType;
if (tokens.size() != 2 ||
@@ -2198,7 +2198,7 @@ bool ChildSession::renderShapeSelection(const char* /*buffer*/, int /*length*/,
}
bool ChildSession::removeTextContext(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens)
+ const StringVector& tokens)
{
int id, before, after;
std::string text;
@@ -2333,7 +2333,7 @@ void ChildSession::loKitCallback(const int type, const std::string& payload)
{
case LOK_CALLBACK_INVALIDATE_TILES:
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(payload, ','));
+ StringVector tokens(LOOLProtocol::tokenize(payload, ','));
if (tokens.size() == 5)
{
int part, x, y, width, height;
diff --git a/kit/ChildSession.hpp b/kit/ChildSession.hpp
index 8aaa46b540..9bb2b7d0ff 100644
--- a/kit/ChildSession.hpp
+++ b/kit/ChildSession.hpp
@@ -231,7 +231,7 @@ public:
using Session::sendTextFrame;
- bool getClipboard(const char* buffer, int length, const std::vector<std::string>& tokens);
+ bool getClipboard(const char* buffer, int length, const StringVector& tokens);
void resetDocManager()
{
@@ -244,46 +244,46 @@ public:
}
private:
- bool loadDocument(const char* buffer, int length, const std::vector<std::string>& tokens);
+ bool loadDocument(const char* buffer, int length, const StringVector& tokens);
- bool sendFontRendering(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool getCommandValues(const char* buffer, int length, const std::vector<std::string>& tokens);
+ bool sendFontRendering(const char* buffer, int length, const StringVector& tokens);
+ bool getCommandValues(const char* buffer, int length, const StringVector& tokens);
- bool clientZoom(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool clientVisibleArea(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool outlineState(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool downloadAs(const char* buffer, int length, const std::vector<std::string>& tokens);
+ bool clientZoom(const char* buffer, int length, const StringVector& tokens);
+ bool clientVisibleArea(const char* buffer, int length, const StringVector& tokens);
+ bool outlineState(const char* buffer, int length, const StringVector& tokens);
+ bool downloadAs(const char* buffer, int length, const StringVector& tokens);
bool getChildId();
- bool getTextSelection(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool setClipboard(const char* buffer, int length, const std::vector<std::string>& tokens);
+ bool getTextSelection(const char* buffer, int length, const StringVector& tokens);
+ bool setClipboard(const char* buffer, int length, const StringVector& tokens);
std::string getTextSelectionInternal(const std::string& mimeType);
- bool paste(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool insertFile(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool keyEvent(const char* buffer, int length, const std::vector<std::string>& tokens, const LokEventTargetEnum target);
- bool extTextInputEvent(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens);
+ bool paste(const char* buffer, int length, const StringVector& tokens);
+ bool insertFile(const char* buffer, int length, const StringVector& tokens);
+ bool keyEvent(const char* buffer, int length, const StringVector& tokens, const LokEventTargetEnum target);
+ bool extTextInputEvent(const char* /*buffer*/, int /*length*/, const StringVector& tokens);
bool dialogKeyEvent(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool mouseEvent(const char* buffer, int length, const std::vector<std::string>& tokens, const LokEventTargetEnum target);
- bool gestureEvent(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool dialogEvent(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool completeFunction(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool unoCommand(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool selectText(const char* buffer, int length, const std::vector<std::string>& tokens, const LokEventTargetEnum target);
- bool selectGraphic(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool renderWindow(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool resizeWindow(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool resetSelection(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool saveAs(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool setClientPart(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool selectClientPart(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool moveSelectedClientParts(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool setPage(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool sendWindowCommand(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool signDocumentContent(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool askSignatureStatus(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool uploadSignedDocument(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool exportSignAndUploadDocument(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool renderShapeSelection(const char* buffer, int length, const std::vector<std::string>& tokens);
- bool removeTextContext(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens);
+ bool mouseEvent(const char* buffer, int length, const StringVector& tokens, const LokEventTargetEnum target);
+ bool gestureEvent(const char* buffer, int length, const StringVector& tokens);
+ bool dialogEvent(const char* buffer, int length, const StringVector& tokens);
+ bool completeFunction(const char* buffer, int length, const StringVector& tokens);
+ bool unoCommand(const char* buffer, int length, const StringVector& tokens);
+ bool selectText(const char* buffer, int length, const StringVector& tokens, const LokEventTargetEnum target);
+ bool selectGraphic(const char* buffer, int length, const StringVector& tokens);
+ bool renderWindow(const char* buffer, int length, const StringVector& tokens);
+ bool resizeWindow(const char* buffer, int length, const StringVector& tokens);
+ bool resetSelection(const char* buffer, int length, const StringVector& tokens);
+ bool saveAs(const char* buffer, int length, const StringVector& tokens);
+ bool setClientPart(const char* buffer, int length, const StringVector& tokens);
+ bool selectClientPart(const char* buffer, int length, const StringVector& tokens);
+ bool moveSelectedClientParts(const char* buffer, int length, const StringVector& tokens);
+ bool setPage(const char* buffer, int length, const StringVector& tokens);
+ bool sendWindowCommand(const char* buffer, int length, const StringVector& tokens);
+ bool signDocumentContent(const char* buffer, int length, const StringVector& tokens);
+ bool askSignatureStatus(const char* buffer, int length, const StringVector& tokens);
+ bool uploadSignedDocument(const char* buffer, int length, const StringVector& tokens);
+ bool exportSignAndUploadDocument(const char* buffer, int length, const StringVector& tokens);
+ bool renderShapeSelection(const char* buffer, int length, const StringVector& tokens);
+ bool removeTextContext(const char* /*buffer*/, int /*length*/, const StringVector& tokens);
void rememberEventsForInactiveUser(const int type, const std::string& payload);
diff --git a/kit/ForKit.cpp b/kit/ForKit.cpp
index c75f06501d..90a7947fd4 100644
--- a/kit/ForKit.cpp
+++ b/kit/ForKit.cpp
@@ -96,7 +96,7 @@ public:
LOG_INF("ForKit command: [" << message << "].");
try
{
- std::vector<std::string> tokens = LOOLProtocol::tokenize(message);
+ StringVector tokens = LOOLProtocol::tokenize(message);
if (tokens.size() == 2 && tokens[0] == "spawn")
{
const int count = std::stoi(tokens[1]);
@@ -441,11 +441,11 @@ int main(int argc, char** argv)
{
eq = std::strchr(cmd, '=');
const std::string rlimits = std::string(eq+1);
- std::vector<std::string> tokens = LOOLProtocol::tokenize(rlimits, ';');
+ StringVector tokens = LOOLProtocol::tokenize(rlimits, ';');
for (const std::string& cmdLimit : tokens)
{
const std::pair<std::string, std::string> pair = Util::split(cmdLimit, ':');
- std::vector<std::string> tokensLimit = { "setconfig", pair.first, pair.second };
+ StringVector tokensLimit({ "setconfig", pair.first, pair.second });
if (!Rlimit::handleSetrlimitCommand(tokensLimit))
{
LOG_ERR("Unknown rlimits command: " << cmdLimit);
diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 134abf2d60..201628c54a 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -880,13 +880,13 @@ public:
LOG_INF("setDocumentPassword returned");
}
- void renderTile(const std::vector<std::string>& tokens)
+ void renderTile(const StringVector& tokens)
{
TileCombined tileCombined(TileDesc::parse(tokens));
renderTiles(tileCombined, false);
}
- void renderCombinedTiles(const std::vector<std::string>& tokens)
+ void renderCombinedTiles(const StringVector& tokens)
{
TileCombined tileCombined = TileCombined::parse(tokens);
renderTiles(tileCombined, true);
@@ -1242,7 +1242,7 @@ public:
if (type == LOK_CALLBACK_CELL_CURSOR)
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(payload, ','));
+ StringVector tokens(LOOLProtocol::tokenize(payload, ','));
// Payload may be 'EMPTY'.
if (tokens.size() == 4)
{
@@ -1260,7 +1260,7 @@ public:
const Poco::Dynamic::Var result = parser.parse(payload);
const auto& command = result.extract<Poco::JSON::Object::Ptr>();
std::string rectangle = command->get("rectangle").toString();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(rectangle, ','));
+ StringVector tokens(LOOLProtocol::tokenize(rectangle, ','));
// Payload may be 'EMPTY'.
if (tokens.size() == 4)
{
@@ -1281,7 +1281,7 @@ public:
targetViewId = command->get("viewId").toString();
std::string part = command->get("part").toString();
std::string text = command->get("rectangle").toString();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(text, ','));
+ StringVector tokens(LOOLProtocol::tokenize(text, ','));
// Payload may be 'EMPTY'.
if (tokens.size() == 4)
{
@@ -1872,7 +1872,7 @@ public:
LOG_TRC("Kit Recv " << LOOLProtocol::getAbbreviatedMessage(input));
- const std::vector<std::string> tokens = LOOLProtocol::tokenize(input.data(), input.size());
+ const StringVector tokens = LOOLProtocol::tokenize(input.data(), input.size());
if (tokens[0] == "eof")
{
@@ -2101,7 +2101,7 @@ protected:
if (UnitKit::get().filterKitMessage(this, message))
return;
#endif
- std::vector<std::string> tokens = LOOLProtocol::tokenize(message);
+ StringVector tokens = LOOLProtocol::tokenize(message);
Log::StreamLogger logger = Log::debug();
if (logger.enabled())
{
diff --git a/test/Makefile.am b/test/Makefile.am
index e6588810ce..3732c6a4e3 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -81,6 +81,7 @@ unittest_SOURCES = \
../common/Session.cpp \
../common/SigUtil.cpp \
../common/Unit.cpp \
+ ../common/StringVector.cpp \
../net/Socket.cpp \
../wsd/Auth.cpp \
../wsd/TestStubs.cpp \
diff --git a/test/TileCacheTests.cpp b/test/TileCacheTests.cpp
index a69099bd5c..1b02fab86a 100644
--- a/test/TileCacheTests.cpp
+++ b/test/TileCacheTests.cpp
@@ -1090,7 +1090,7 @@ void TileCacheTests::checkTiles(std::shared_ptr<LOOLWebSocket>& socket, const st
std::istringstream istr(response.substr(8));
std::getline(istr, line);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(line, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(line, ' '));
#if defined CPPUNIT_ASSERT_GREATEREQUAL
if (docType == "presentation")
CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(7), tokens.size()); // We have an extra field.
@@ -1200,7 +1200,7 @@ void TileCacheTests::requestTiles(std::shared_ptr<LOOLWebSocket>& socket,
sendTextFrame(socket, text, name);
tile = assertResponseString(socket, "tile:", name);
// expected tile: part= width= height= tileposx= tileposy= tilewidth= tileheight=
- std::vector<std::string> tokens(LOOLProtocol::tokenize(tile, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(tile, ' '));
CPPUNIT_ASSERT_EQUAL(std::string("tile:"), tokens[0]);
CPPUNIT_ASSERT_EQUAL(0, std::stoi(tokens[1].substr(std::string("nviewid=").size())));
CPPUNIT_ASSERT_EQUAL(part, std::stoi(tokens[2].substr(std::string("part=").size())));
@@ -1348,7 +1348,7 @@ void TileCacheTests::testTileProcessed()
++arrivedTile;
// Store tileID, so we can send it back
- std::vector<std::string> tokens(LOOLProtocol::tokenize(tile, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(tile, ' '));
std::string tileID = tokens[2].substr(std::string("part=").size()) + ":" +
tokens[5].substr(std::string("tileposx=").size()) + ":" +
tokens[6].substr(std::string("tileposy=").size()) + ":" +
@@ -1396,7 +1396,7 @@ void TileCacheTests::testTileInvalidatedOutside()
// First wsd forwards the invalidation
std::string sInvalidate = assertResponseString(socket, "invalidatetiles:", testname);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(sInvalidate, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(sInvalidate, ' '));
int y = std::stoi(tokens[3].substr(std::string("y=").size()));
int height = std::stoi(tokens[5].substr(std::string("height=").size()));
diff --git a/test/UnitAdmin.cpp b/test/UnitAdmin.cpp
index b28caa4670..92d2d6c342 100644
--- a/test/UnitAdmin.cpp
+++ b/test/UnitAdmin.cpp
@@ -140,7 +140,7 @@ private:
}
lock.unlock();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 1 ||
tokens[0] != "NotAuthenticated")
{
@@ -171,7 +171,7 @@ private:
}
lock.unlock();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 1 ||
tokens[0] != "InvalidAuthToken")
{
@@ -223,7 +223,7 @@ private:
lock.unlock();
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 5 ||
tokens[0] != "adddoc" ||
tokens[2] != documentPath1.substr(documentPath1.find_last_of('/') + 1) )
@@ -251,7 +251,7 @@ private:
lock.unlock();
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 5 ||
tokens[0] != "adddoc" ||
tokens[2] != documentPath1.substr(documentPath1.find_last_of('/') + 1) )
@@ -286,7 +286,7 @@ private:
lock.unlock();
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 5 ||
tokens[0] != "adddoc" ||
tokens[2] != documentPath2.substr(documentPath2.find_last_of('/') + 1) )
@@ -319,7 +319,7 @@ private:
}
lock.unlock();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 2 ||
tokens[0] != "active_users_count")
{
@@ -352,7 +352,7 @@ private:
}
lock.unlock();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 2 ||
tokens[0] != "active_docs_count" ||
std::stoi(tokens[1]) != _docsCount)
@@ -388,7 +388,7 @@ private:
}
lock.unlock();
- std::vector<std::string> tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(_messageReceived, ' '));
if (tokens.size() != 3 ||
tokens[0] != "rmdoc" ||
stoi(tokens[1]) != _docPid1)
diff --git a/test/UnitBadDocLoad.cpp b/test/UnitBadDocLoad.cpp
index 7fe0f74e30..470d8ad09d 100644
--- a/test/UnitBadDocLoad.cpp
+++ b/test/UnitBadDocLoad.cpp
@@ -57,7 +57,7 @@ UnitBase::TestResult UnitBadDocLoad::testBadDocLoadFail()
helpers::sendTextFrame(socket, "load url=" + documentURL, testname);
const auto response = helpers::getResponseString(socket, "error:", testname);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(response, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(response, ' '));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), tokens.size());
std::string errorCommand;
diff --git a/test/UnitClose.cpp b/test/UnitClose.cpp
index fb1718ccc1..3da8b4e00b 100644
--- a/test/UnitClose.cpp
+++ b/test/UnitClose.cpp
@@ -194,7 +194,7 @@ UnitBase::TestResult UnitClose::testAlertAllUsers()
{
const std::string response
= helpers::assertResponseString(socket[i], "error:", testname);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(response.substr(6), ' '));
+ StringVector tokens(LOOLProtocol::tokenize(response.substr(6), ' '));
std::string cmd;
LOOLProtocol::getTokenString(tokens, "cmd", cmd);
CPPUNIT_ASSERT_EQUAL(std::string("internal"), cmd);
diff --git a/test/UnitCursor.cpp b/test/UnitCursor.cpp
index a70ef749e7..1aac1b0112 100644
--- a/test/UnitCursor.cpp
+++ b/test/UnitCursor.cpp
@@ -34,7 +34,7 @@ void getCursor(const std::string& message, int& cursorX, int& cursorY, int& curs
CPPUNIT_ASSERT_EQUAL(std::string(".uno:CellCursor"), text);
text = command->get("commandValues").toString();
CPPUNIT_ASSERT(!text.empty());
- std::vector<std::string> position(LOOLProtocol::tokenize(text, ','));
+ StringVector position(LOOLProtocol::tokenize(text, ','));
cursorX = std::stoi(position[0]);
cursorY = std::stoi(position[1]);
cursorWidth = std::stoi(position[2]);
diff --git a/test/UnitInsertDelete.cpp b/test/UnitInsertDelete.cpp
index 485e43de81..4c2606eea5 100644
--- a/test/UnitInsertDelete.cpp
+++ b/test/UnitInsertDelete.cpp
@@ -35,7 +35,7 @@ void getPartHashCodes(const std::string& testname, const std::string& response,
TST_LOG("Reading parts from [" << response << "].");
// Expected format is something like 'type= parts= current= width= height= viewid= [hiddenparts=]'.
- std::vector<std::string> tokens(LOOLProtocol::tokenize(line, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(line, ' '));
#if defined CPPUNIT_ASSERT_GREATEREQUAL
CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(7), tokens.size());
#else
@@ -274,7 +274,7 @@ UnitBase::TestResult UnitInsertDelete::testCursorPosition()
const auto& command0 = result0.extract<Poco::JSON::Object::Ptr>();
CPPUNIT_ASSERT_MESSAGE("missing property rectangle", command0->has("rectangle"));
- std::vector<std::string> cursorTokens(
+ StringVector cursorTokens(
LOOLProtocol::tokenize(command0->get("rectangle").toString(), ','));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), cursorTokens.size());
@@ -290,7 +290,7 @@ UnitBase::TestResult UnitInsertDelete::testCursorPosition()
const auto& command = result.extract<Poco::JSON::Object::Ptr>();
CPPUNIT_ASSERT_MESSAGE("missing property rectangle", command->has("rectangle"));
- std::vector<std::string> viewTokens(
+ StringVector viewTokens(
LOOLProtocol::tokenize(command->get("rectangle").toString(), ','));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), viewTokens.size());
diff --git a/test/UnitLoad.cpp b/test/UnitLoad.cpp
index 4af7ea8fd2..e05b47f06a 100644
--- a/test/UnitLoad.cpp
+++ b/test/UnitLoad.cpp
@@ -159,7 +159,7 @@ UnitBase::TestResult UnitLoad::testExcelLoad()
const auto status = helpers::assertResponseString(socket, "status:", testname);
// Expected format is something like 'status: type=text parts=2 current=0 width=12808 height=1142 viewid=0\n...'.
- std::vector<std::string> tokens(LOOLProtocol::tokenize(status, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(status, ' '));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(7), tokens.size());
}
catch (const Poco::Exception& exc)
diff --git a/test/UnitPasswordProtected.cpp b/test/UnitPasswordProtected.cpp
index 7eac89f45c..8630bc931e 100644
--- a/test/UnitPasswordProtected.cpp
+++ b/test/UnitPasswordProtected.cpp
@@ -51,7 +51,7 @@ UnitBase::TestResult UnitPasswordProtected::testPasswordProtectedDocumentWithout
helpers::sendTextFrame(socket, "load url=" + documentURL);
const auto response = helpers::getResponseString(socket, "error:", testname);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(response, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(response, ' '));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), tokens.size());
std::string errorCommand;
@@ -87,7 +87,7 @@ UnitBase::TestResult UnitPasswordProtected::testPasswordProtectedDocumentWithWro
helpers::sendTextFrame(socket, "load url=" + documentURL + " password=2");
const auto response = helpers::getResponseString(socket, "error:", testname);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(response, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(response, ' '));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), tokens.size());
std::string errorCommand;
diff --git a/test/UnitRenderingOptions.cpp b/test/UnitRenderingOptions.cpp
index 6437fbc1f3..939de3dc45 100644
--- a/test/UnitRenderingOptions.cpp
+++ b/test/UnitRenderingOptions.cpp
@@ -51,7 +51,7 @@ void UnitRenderingOptions::invokeTest()
// Expected format is something like 'status: type=text parts=2 current=0 width=12808 height=1142'.
- std::vector<std::string> tokens(LOOLProtocol::tokenize(status, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(status, ' '));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(7), tokens.size());
const std::string token = tokens[5];
diff --git a/test/UnitSession.cpp b/test/UnitSession.cpp
index 422a3e01b2..86580b04bf 100644
--- a/test/UnitSession.cpp
+++ b/test/UnitSession.cpp
@@ -184,7 +184,7 @@ UnitBase::TestResult UnitSession::testSlideShow()
CPPUNIT_ASSERT_MESSAGE("did not receive a downloadas: message as expected",
!response.empty());
- std::vector<std::string> tokens(LOOLProtocol::tokenize(response.substr(11), ' '));
+ StringVector tokens(LOOLProtocol::tokenize(response.substr(11), ' '));
// "downloadas: jail= dir= name=slideshow.svg port= id=slideshow"
const std::string jail = tokens[0].substr(std::string("jail=").size());
const std::string dir = tokens[1].substr(std::string("dir=").size());
diff --git a/test/UnitWOPIWatermark.cpp b/test/UnitWOPIWatermark.cpp
index b6de3cd90d..042e22fdb8 100644
--- a/test/UnitWOPIWatermark.cpp
+++ b/test/UnitWOPIWatermark.cpp
@@ -136,7 +136,7 @@ public:
if(!tile.empty())
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(tile, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(tile, ' '));
std::string nviewid = tokens[1].substr(std::string("nviewid=").size());
if (!nviewid.empty() && nviewid != "0")
{
diff --git a/test/WhiteBoxTests.cpp b/test/WhiteBoxTests.cpp
index 9ccb733ecf..67dd8644ae 100644
--- a/test/WhiteBoxTests.cpp
+++ b/test/WhiteBoxTests.cpp
@@ -79,7 +79,7 @@ void WhiteBoxTests::testLOOLProtocolFunctions()
CPPUNIT_ASSERT_EQUAL(2, mumble);
std::string message("hello x=1 y=2 foo=42 bar=hello-sailor mumble='goodbye' zip zap");
- std::vector<std::string> tokens(LOOLProtocol::tokenize(message));
+ StringVector tokens(LOOLProtocol::tokenize(message));
CPPUNIT_ASSERT(LOOLProtocol::getTokenInteger(tokens, "foo", foo));
CPPUNIT_ASSERT_EQUAL(42, foo);
@@ -309,7 +309,7 @@ void WhiteBoxTests::testMessageAbbreviation()
void WhiteBoxTests::testTokenizer()
{
- std::vector<std::string> tokens;
+ StringVector tokens;
tokens = LOOLProtocol::tokenize("");
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), tokens.size());
diff --git a/test/helpers.hpp b/test/helpers.hpp
index 32ed6efc79..1c02530d93 100644
--- a/test/helpers.hpp
+++ b/test/helpers.hpp
@@ -556,7 +556,7 @@ inline
void parseDocSize(const std::string& message, const std::string& type,
int& part, int& parts, int& width, int& height, int& viewid)
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(message, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(message, ' '));
// Expected format is something like 'type= parts= current= width= height='.
const std::string text = tokens[0].substr(std::string("type=").size());
@@ -585,7 +585,7 @@ std::vector<char> assertTileMessage(LOOLWebSocket& ws, const std::string& testna
const std::vector<char> response = getTileMessage(ws, testname);
const std::string firstLine = LOOLProtocol::getFirstLine(response);
- std::vector<std::string> tileTokens(LOOLProtocol::tokenize(firstLine, ' '));
+ StringVector tileTokens(LOOLProtocol::tokenize(firstLine, ' '));
CPPUNIT_ASSERT_EQUAL(std::string("tile:"), tileTokens[0]);
CPPUNIT_ASSERT_EQUAL(std::string("part="), tileTokens[1].substr(0, std::string("part=").size()));
CPPUNIT_ASSERT_EQUAL(std::string("width="), tileTokens[2].substr(0, std::string("width=").size()));
diff --git a/tools/Connect.cpp b/tools/Connect.cpp
index af448f3c9d..0fcd3ab4cf 100644
--- a/tools/Connect.cpp
+++ b/tools/Connect.cpp
@@ -90,7 +90,7 @@ public:
}
std::string firstLine = getFirstLine(buffer, n);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(firstLine, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(firstLine, ' '));
if (std::getenv("DISPLAY") != nullptr && tokens[0] == "tile:")
{
diff --git a/tools/KitClient.cpp b/tools/KitClient.cpp
index f734785a2b..3a58adc638 100644
--- a/tools/KitClient.cpp
+++ b/tools/KitClient.cpp
@@ -89,7 +89,7 @@ protected:
std::string line;
std::getline(std::cin, line);
- std::vector<std::string> tokens(LOOLProtocol::tokenize(line, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(line, ' '));
if (tokens.size() == 0)
continue;
diff --git a/tools/WebSocketDump.cpp b/tools/WebSocketDump.cpp
index 94371a18cc..5ea8f6da72 100644
--- a/tools/WebSocketDump.cpp
+++ b/tools/WebSocketDump.cpp
@@ -135,7 +135,7 @@ private:
LOG_INF("Incoming websocket request: " << request.getURI());
const std::string& requestURI = request.getURI();
- std::vector<std::string> pathTokens(LOOLProtocol::tokenize(requestURI, '/'));
+ StringVector pathTokens(LOOLProtocol::tokenize(requestURI, '/'));
if (request.find("Upgrade") != request.end() && Poco::icompare(request["Upgrade"], "websocket") == 0)
{
auto dumpHandler = std::make_shared<DumpSocketHandler>(_socket, request);
diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp
index db74b15354..cfd39885cf 100644
--- a/wsd/Admin.cpp
+++ b/wsd/Admin.cpp
@@ -53,7 +53,7 @@ void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */,
{
// FIXME: check fin, code etc.
const std::string firstLine = getFirstLine(payload.data(), payload.size());
- std::vector<std::string> tokens(LOOLProtocol::tokenize(firstLine, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(firstLine, ' '));
LOG_TRC("Recv: " << firstLine << " tokens " << tokens.size());
if (tokens.empty())
@@ -196,7 +196,7 @@ void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */,
{
for (size_t i = 1; i < tokens.size(); i++)
{
- std::vector<std::string> setting(LOOLProtocol::tokenize(tokens[i], '='));
+ StringVector setting(LOOLProtocol::tokenize(tokens[i], '='));
int settingVal = 0;
try
{
@@ -318,7 +318,7 @@ bool AdminSocketHandler::handleInitialRequest(
std::shared_ptr<StreamSocket> socket = socketWeak.lock();
const std::string& requestURI = request.getURI();
- std::vector<std::string> pathTokens(LOOLProtocol::tokenize(requestURI, '/'));
+ StringVector pathTokens(LOOLProtocol::tokenize(requestURI, '/'));
if (request.find("Upgrade") != request.end() && Poco::icompare(request["Upgrade"], "websocket") == 0)
{
diff --git a/wsd/Auth.cpp b/wsd/Auth.cpp
index 9e93f5c29c..514a3d508e 100644
--- a/wsd/Auth.cpp
+++ b/wsd/Auth.cpp
@@ -101,7 +101,7 @@ const std::string JWTAuth::getAccessToken()
bool JWTAuth::verify(const std::string& accessToken)
{
- std::vector<std::string> tokens(LOOLProtocol::tokenize(accessToken, '.'));
+ StringVector tokens(LOOLProtocol::tokenize(accessToken, '.'));
try
{
diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index 75106c162a..fedbf422e6 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -324,7 +324,7 @@ bool ClientSession::_handleInput(const char *buffer, int length)
{
LOG_TRC(getName() << ": handling incoming [" << getAbbreviatedMessage(buffer, length) << "].");
const std::string firstLine = getFirstLine(buffer, length);
- const std::vector<std::string> tokens = LOOLProtocol::tokenize(firstLine.data(), firstLine.size());
+ const StringVector tokens = LOOLProtocol::tokenize(firstLine.data(), firstLine.size());
std::shared_ptr<DocumentBroker> docBroker = getDocumentBroker();
if (!docBroker || docBroker->isMarkedToDestroy())
@@ -758,7 +758,7 @@ bool ClientSession::_handleInput(const char *buffer, int length)
}
bool ClientSession::loadDocument(const char* /*buffer*/, int /*length*/,
- const std::vector<std::string>& tokens,
+ const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker)
{
if (tokens.size() < 2)
@@ -849,7 +849,7 @@ bool ClientSession::loadDocument(const char* /*buffer*/, int /*length*/,
return false;
}
-bool ClientSession::getCommandValues(const char *buffer, int length, const std::vector<std::string>& tokens,
+bool ClientSession::getCommandValues(const char *buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker)
{
std::string command;
@@ -863,7 +863,7 @@ bool ClientSession::getCommandValues(const char *buffer, int length, const std::
return forwardToChild(std::string(buffer, length), docBroker);
}
-bool ClientSession::sendFontRendering(const char *buffer, int length, const std::vector<std::string>& tokens,
+bool ClientSession::sendFontRendering(const char *buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker)
{
std::string font, text;
@@ -885,7 +885,7 @@ bool ClientSession::sendFontRendering(const char *buffer, int length, const std:
return forwardToChild(std::string(buffer, length), docBroker);
}
-bool ClientSession::sendTile(const char * /*buffer*/, int /*length*/, const std::vector<std::string>& tokens,
+bool ClientSession::sendTile(const char * /*buffer*/, int /*length*/, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker)
{
try
@@ -903,7 +903,7 @@ bool ClientSession::sendTile(const char * /*buffer*/, int /*length*/, const std:
return true;
}
-bool ClientSession::sendCombinedTiles(const char* /*buffer*/, int /*length*/, const std::vector<std::string>& tokens,
+bool ClientSession::sendCombinedTiles(const char* /*buffer*/, int /*length*/, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker)
{
try
@@ -931,7 +931,7 @@ bool ClientSession::forwardToChild(const std::string& message,
bool ClientSession::filterMessage(const std::string& message) const
{
bool allowed = true;
- std::vector<std::string> tokens(LOOLProtocol::tokenize(message, ' '));
+ StringVector tokens(LOOLProtocol::tokenize(message, ' '));
// Set allowed flag to false depending on if particular WOPI properties are set
if (tokens[0] == "downloadas")
@@ -1282,7 +1282,7 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
#endif
else if (tokens.size() == 2 && tokens[0] == "statechanged:")
{
- std::vector<std::string> stateTokens(LOOLProtocol::tokenize(tokens[1], '='));
+ StringVector stateTokens(LOOLProtocol::tokenize(tokens[1], '='));
if (stateTokens.size() == 2 && stateTokens[0] == ".uno:ModifiedStatus")
{
docBroker->setModified(stateTokens[1] == "true");
@@ -1471,7 +1471,7 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
const Poco::Dynamic::Var result = parser.parse(stringJSON);
const auto& object = result.extract<Poco::JSON::Object::Ptr>();
const std::string rectangle = object->get("rectangle").toString();
- std::vector<std::string> rectangleTokens(LOOLProtocol::tokenize(rectangle, ','));
+ StringVector rectangleTokens(LOOLProtocol::tokenize(rectangle, ','));
int x = 0, y = 0, w = 0, h = 0;
if (rectangleTokens.size() > 2 &&
stringToInteger(rectangleTokens[0], x) &&
diff --git a/wsd/ClientSession.hpp b/wsd/ClientSession.hpp
index d714179ceb..e04a016418 100644
--- a/wsd/ClientSession.hpp
+++ b/wsd/ClientSession.hpp
@@ -187,18 +187,18 @@ private:
virtual bool _handleInput(const char* buffer, int length) override;
- bool loadDocument(const char* buffer, int length, const std::vector<std::string>& tokens,
+ bool loadDocument(const char* buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker);
bool getStatus(const char* buffer, int length,
const std::shared_ptr<DocumentBroker>& docBroker);
- bool getCommandValues(const char* buffer, int length, const std::vector<std::string>& tokens,
+ bool getCommandValues(const char* buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker);
- bool sendTile(const char* buffer, int length, const std::vector<std::string>& tokens,
+ bool sendTile(const char* buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker);
- bool sendCombinedTiles(const char* buffer, int length, const std::vector<std::string>& tokens,
+ bool sendCombinedTiles(const char* buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker);
- bool sendFontRendering(const char* buffer, int length, const std::vector<std::string>& tokens,
+ bool sendFontRendering(const char* buffer, int length, const StringVector& tokens,
const std::shared_ptr<DocumentBroker>& docBroker);
bool forwardToChild(const std::string& message,
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 88c22a3033..bdb3d61ed8 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -777,7 +777,7 @@ bool DocumentBroker::load(const std::shared_ptr<ClientSession>& session, const s
const std::string newRootPath = _storage->getRootFilePath() + "." + newExtension;
- std::vector<std::string> args(LOOLProtocol::tokenize(commandLine, ' '));
+ StringVector args(LOOLProtocol::tokenize(commandLine, ' '));
std::string command(args[0]);
args.erase(args.begin()); // strip the command
@@ -2012,7 +2012,7 @@ bool DocumentBroker::forwardToChild(const std::string& viewId, const std::string
{
assert(!_uriJailed.empty());
- std::vector<std::string> tokens = LOOLProtocol::tokenize(msg);
+ StringVector tokens = LOOLProtocol::tokenize(msg);
if (tokens.size() > 1 && tokens[1] == "load")
{
// The json options must come last.
diff --git a/wsd/FileServer.cpp b/wsd/FileServer.cpp
index 55942611e6..d7db1e80cd 100644
--- a/wsd/FileServer.cpp
+++ b/wsd/FileServer.cpp
@@ -145,7 +145,7 @@ bool isConfigAuthOk(const std::string& userProvidedUsr, const std::string& userP
#if HAVE_PKCS5_PBKDF2_HMAC
// Extract the salt from the config
std::vector<unsigned char> saltData;
- std::vector<std::string> tokens = LOOLProtocol::tokenize(securePass, '.');
+ StringVector tokens = LOOLProtocol::tokenize(securePass, '.');
if (tokens.size() != 5 ||
tokens[0] != "pbkdf2" ||
tokens[1] != "sha512" ||
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index f9fc062e2d..d84f77b914 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1602,7 +1602,7 @@ bool LOOLWSD::createForKit()
std::unique_lock<std::mutex> newChildrenLock(NewChildrenMutex);
- std::vector<std::string> args;
+ StringVector args;
#ifdef STRACE_LOOLFORKIT
// if you want to use this, you need to setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/strace
args.push_back("-o");
@@ -2062,7 +2062,7 @@ public:
if(request.has("X-Forwarded-For"))
{
const std::string fowardedData = request.get("X-Forwarded-For");
- std::vector<std::string> tokens = LOOLProtocol::tokenize(fowardedData, ',');
+ StringVector tokens = LOOLProtocol::tokenize(fowardedData, ',');
for(std::string& token : tokens)
{
addressToCheck = Util::trim(token);
diff --git a/wsd/Storage.cpp b/wsd/Storage.cpp
index 53579d2dac..a9caad8bb7 100644
--- a/wsd/Storage.cpp
+++ b/wsd/Storage.cpp
@@ -418,7 +418,7 @@ static void addStorageDebugCookie(Poco::Net::HTTPRequest& request)
if (std::getenv("LOOL_STORAGE_COOKIE"))
{
Poco::Net::NameValueCollection nvcCookies;
- std::vector<std::string> cookieTokens = LOOLProtocol::tokenize(std::string(std::getenv("LOOL_STORAGE_COOKIE")), ':');
+ StringVector cookieTokens = LOOLProtocol::tokenize(std::string(std::getenv("LOOL_STORAGE_COOKIE")), ':');
if (cookieTokens.size() == 2)
{
nvcCookies.add(cookieTokens[0], cookieTokens[1]);
@@ -436,10 +436,10 @@ static void addStorageReuseCookie(Poco::Net::HTTPRequest& request, const std::st
Poco::Net::NameValueCollection nvcCookies;
request.getCookies(nvcCookies); // Preserve existing cookies.
- std::vector<std::string> cookies = LOOLProtocol::tokenize(reuseStorageCookies, ':');
+ StringVector cookies = LOOLProtocol::tokenize(reuseStorageCookies, ':');
for (auto cookie : cookies)
{
- std::vector<std::string> cookieTokens = LOOLProtocol::tokenize(cookie, '=');
+ StringVector cookieTokens = LOOLProtocol::tokenize(cookie, '=');
if (cookieTokens.size() == 2)
{
nvcCookies.add(cookieTokens[0], cookieTokens[1]);
diff --git a/wsd/TileCache.cpp b/wsd/TileCache.cpp
index 6511820782..3211e336e4 100644
--- a/wsd/TileCache.cpp
+++ b/wsd/TileCache.cpp
@@ -321,7 +321,7 @@ void TileCache::invalidateTiles(const std::string& tiles, int normalizedViewId)
std::pair<int, Util::Rectangle> TileCache::parseInvalidateMsg(const std::string& tiles)
{
- std::vector<std::string> tokens = LOOLProtocol::tokenize(tiles);
+ StringVector tokens = LOOLProtocol::tokenize(tiles);
assert(tokens.size() > 0 && tokens[0] == "invalidatetiles:");
diff --git a/wsd/TileDesc.hpp b/wsd/TileDesc.hpp
index a7e855eccf..d1296f0c84 100644
--- a/wsd/TileDesc.hpp
+++ b/wsd/TileDesc.hpp
@@ -196,7 +196,7 @@ public:
}
/// Deserialize a TileDesc from a tokenized string.
- static TileDesc parse(const std::vector<std::string>& tokens)
+ static TileDesc parse(const StringVector& tokens)
{
// We don't expect undocumented fields and
// assume all values to be int.
@@ -300,12 +300,12 @@ private:
throw BadArgumentException("Invalid tilecombine descriptor.");
}
- std::vector<std::string> positionXtokens(LOOLProtocol::tokenize(tilePositionsX, ','));
- std::vector<std::string> positionYtokens(LOOLProtocol::tokenize(tilePositionsY, ','));
- std::vector<std::string> imgSizeTokens(LOOLProtocol::tokenize(imgSizes, ','));
- std::vector<std::string> verTokens(LOOLProtocol::tokenize(vers, ','));
- std::vector<std::string> oldWireIdTokens(LOOLProtocol::tokenize(oldWireIds, ','));
- std::vector<std::string> wireIdTokens(LOOLProtocol::tokenize(wireIds, ','));
+ StringVector positionXtokens(LOOLProtocol::tokenize(tilePositionsX, ','));
+ StringVector positionYtokens(LOOLProtocol::tokenize(tilePositionsY, ','));
+ StringVector imgSizeTokens(LOOLProtocol::tokenize(imgSizes, ','));
+ StringVector verTokens(LOOLProtocol::tokenize(vers, ','));
+ StringVector oldWireIdTokens(LOOLProtocol::tokenize(oldWireIds, ','));
+ StringVector wireIdTokens(LOOLProtocol::tokenize(wireIds, ','));
const size_t numberOfPositions = positionXtokens.size();
@@ -455,7 +455,7 @@ public:
}
/// Deserialize a TileDesc from a tokenized string.
- static TileCombined parse(const std::vector<std::string>& tokens)
+ static TileCombined parse(const StringVector& tokens)
{
// We don't expect undocumented fields and
// assume all values to be int.
diff --git a/wsd/TraceFile.hpp b/wsd/TraceFile.hpp
index e95fbb2e29..466e06fbcf 100644
--- a/wsd/TraceFile.hpp
+++ b/wsd/TraceFile.hpp
@@ -199,7 +199,7 @@ public:
// Remap the URL to the snapshot.
if (LOOLProtocol::matchPrefix("load", data))
{
- std::vector<std::string> tokens = LOOLProtocol::tokenize(data);
+ StringVector tokens = LOOLProtocol::tokenize(data);
if (tokens.size() >= 2)
{
std::string url;