Krotos Modules 3
Loading...
Searching...
No Matches
helpers.h
Go to the documentation of this file.
1#pragma once
2
3namespace krotos
4{
5 namespace utils
6 {
12 std::string HttpDateToISO8601(const std::string& httpDate);
13
25 template <class... Args> String StringsIntoPath(Args... args)
26 {
27 auto sa = StringArray(args...);
28
29 return sa.joinIntoString(File::getSeparatorString());
30 }
31
37 int getVersionAsHexInteger(StringRef versionString);
38
45 StringArray getVersionSegments(StringRef versionString);
46
53 int getVersionAsHexIntegerFromParts(const StringArray& versionString);
54
72 String ellipsizeStringToWidth(const Font& font, const String& input, const int maxWidth);
73
80 String convertFilePathString(const String& path);
81
87 void hexStringToByteArray(const std::string& input, std::vector<unsigned char>& byteArray);
88
89 } // namespace utils
90
91 template <typename ListenerType> class AsyncListenerUpdater : public AsyncUpdater
92 {
93 public:
94 using CallbackFunction = std::function<void(ListenerType&)>;
95
96 AsyncListenerUpdater(ListenerList<ListenerType>& listenerList) : m_listenerList(listenerList) {}
97
99 {
100 m_callback = std::move(callback);
101 AsyncUpdater::triggerAsyncUpdate();
102 }
103
104 private:
105 void handleAsyncUpdate() override
106 {
107 if (m_callback)
108 {
110 }
111 }
112
113 ListenerList<ListenerType>& m_listenerList;
115 };
116} // namespace krotos
Definition helpers.h:92
CallbackFunction m_callback
Definition helpers.h:114
void handleAsyncUpdate() override
Definition helpers.h:105
ListenerList< ListenerType > & m_listenerList
Definition helpers.h:113
std::function< void(ListenerType &)> CallbackFunction
Definition helpers.h:94
void triggerAsyncUpdate(CallbackFunction callback)
Definition helpers.h:98
AsyncListenerUpdater(ListenerList< ListenerType > &listenerList)
Definition helpers.h:96
int getVersionAsHexInteger(StringRef versionString)
Definition helpers.cpp:86
void hexStringToByteArray(const std::string &input, std::vector< unsigned char > &byteArray)
Converts a hex string to a byte array.
Definition helpers.cpp:148
StringArray getVersionSegments(StringRef p)
Definition helpers.cpp:62
std::string HttpDateToISO8601(const std::string &httpDate)
Converts a date from HTTP-Date to ISO8601 format.
Definition helpers.cpp:5
int getVersionAsHexIntegerFromParts(const StringArray &segments)
Definition helpers.cpp:70
String convertFilePathString(const String &inputPath)
Converts a file path passed as a raw string, to the current platform. Has no effect if the path is al...
Definition helpers.cpp:129
String StringsIntoPath(Args... args)
Joins multiple string arguments into a path string.
Definition helpers.h:25
String ellipsizeStringToWidth(const Font &font, const String &input, const int maxWidth)
Cuts the center out of a String to make it fit a given pixel width.
Definition helpers.cpp:93
Definition AirAbsorptionFilter.cpp:2