|
|
|
|
@@ -9,40 +9,40 @@
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <sstream>
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
#include "HL_Types.h"
|
|
|
|
|
|
|
|
|
|
#ifdef TARGET_OSX
|
|
|
|
|
#define stricmp strcasecmp
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
|
class strx
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
static std::string makeUtf8(const std::tstring& arg);
|
|
|
|
|
static std::string toUtf8(const std::tstring& arg);
|
|
|
|
|
static std::string extractFilename(const std::string& path);
|
|
|
|
|
static std::string appendPath(const std::string& s1, const std::string& s2);
|
|
|
|
|
|
|
|
|
|
static std::string makeUtf8(const std::tstring& arg);
|
|
|
|
|
static std::string toUtf8(const std::tstring& arg);
|
|
|
|
|
static std::tstring makeTstring(const std::string& arg);
|
|
|
|
|
|
|
|
|
|
static int toInt(const char* s, int defaultValue, bool* isOk = nullptr);
|
|
|
|
|
static uint64_t toUint64(const char* s, uint64_t def, bool *isOk = nullptr);
|
|
|
|
|
static std::string toHex(unsigned int value);
|
|
|
|
|
static std::string toHex(const void* ptr);
|
|
|
|
|
static std::string toHex(const uint8_t* input, size_t inputLength);
|
|
|
|
|
static std::string intToString(int value);
|
|
|
|
|
static std::string doubleToString(double value, int precision);
|
|
|
|
|
static int fromHex2Int(const std::string& s);
|
|
|
|
|
static std::string fromHex2String(const std::string& s);
|
|
|
|
|
static float toFloat(const std::string& s, float defaultValue = 0.0, bool* isOk = nullptr);
|
|
|
|
|
static int toInt(const char* s, int defaultValue, bool* isOk = nullptr);
|
|
|
|
|
static uint64_t toUint64(const char* s, uint64_t def, bool *isOk = nullptr);
|
|
|
|
|
static std::string toHex(unsigned int value);
|
|
|
|
|
static std::string toHex(const void* ptr);
|
|
|
|
|
static std::string toHex(const uint8_t* input, size_t inputLength);
|
|
|
|
|
static std::string intToString(int value);
|
|
|
|
|
static std::string prefixLines(const std::string& source, const std::string& prefix);
|
|
|
|
|
static std::string doubleToString(double value, int precision);
|
|
|
|
|
static int fromHex2Int(const std::string& s);
|
|
|
|
|
static std::string fromHex2String(const std::string& s);
|
|
|
|
|
static float toFloat(const std::string& s, float defaultValue = 0.0, bool* isOk = nullptr);
|
|
|
|
|
|
|
|
|
|
static std::string extractFilename(const std::string& path);
|
|
|
|
|
static std::string appendPath(const std::string& s1, const std::string& s2);
|
|
|
|
|
|
|
|
|
|
static std::string prefixLines(const std::string& source, const std::string& prefix);
|
|
|
|
|
static const char* findSubstring(const char* buffer, const char* substring, size_t bufferLength);
|
|
|
|
|
|
|
|
|
|
static void split(const std::string& src, std::vector<std::string>& dst, const std::string& delims);
|
|
|
|
|
static void split(const std::string& src, std::vector<std::string>& dst, const std::string& delims);
|
|
|
|
|
static std::vector<std::string> split(const std::string& src, const std::string& delims = "\n");
|
|
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
|
@@ -51,7 +51,7 @@ public:
|
|
|
|
|
std::ostringstream s;
|
|
|
|
|
for (const auto& i : v)
|
|
|
|
|
{
|
|
|
|
|
if (&i != &v[0])
|
|
|
|
|
if (&i != &v.front())
|
|
|
|
|
s << delimiter;
|
|
|
|
|
s << i;
|
|
|
|
|
}
|
|
|
|
|
@@ -60,19 +60,19 @@ public:
|
|
|
|
|
|
|
|
|
|
static std::pair<std::string, int> parseHost(const std::string& host, int defaultPort);
|
|
|
|
|
static std::pair<std::string, std::string> parseAssignment(const std::string& s, bool trimQuotes = true);
|
|
|
|
|
static std::string trim(const std::string& s);
|
|
|
|
|
static std::string timeToString(time_t t);
|
|
|
|
|
static std::string millisecondsToString(uint64_t t);
|
|
|
|
|
static std::string replace(const std::string& s, char f, char r);
|
|
|
|
|
static std::string replace(const std::string& s, const std::string& tmpl, const std::string& n);
|
|
|
|
|
static std::string decodeUri(const std::string& s);
|
|
|
|
|
static bool startsWith(const std::string& s, const std::string& prefix);
|
|
|
|
|
static bool endsWith(const std::string& s, const std::string& suffix);
|
|
|
|
|
static int stringToDuration(const std::string& s);
|
|
|
|
|
static std::string uppercase(const std::string& s);
|
|
|
|
|
static std::string trim(const std::string& s);
|
|
|
|
|
static std::string timeToString(time_t t);
|
|
|
|
|
static std::string millisecondsToString(uint64_t t);
|
|
|
|
|
static std::string replace(const std::string& s, char f, char r);
|
|
|
|
|
static std::string replace(const std::string& s, const std::string& tmpl, const std::string& n);
|
|
|
|
|
static std::string decodeUri(const std::string& s);
|
|
|
|
|
static bool startsWith(const std::string& s, const std::string& prefix);
|
|
|
|
|
static bool endsWith(const std::string& s, const std::string& suffix);
|
|
|
|
|
static int stringToDuration(const std::string& s);
|
|
|
|
|
|
|
|
|
|
static std::string uppercase(const std::string& s);
|
|
|
|
|
static std::string lowercase(const std::string& s);
|
|
|
|
|
static std::string removeQuotes(const std::string& s);
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class XcapHelper
|
|
|
|
|
|