aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-05-03 08:29:45 +0200
committerdec05eba <dec05eba@protonmail.com>2018-05-03 08:29:48 +0200
commit9bb631f1e1861c63f38125fffb91081c98a1cfcc (patch)
treead852904b8ae278c789e7f636ed4107038231c3f /include
parent9cde35c64c9f569055b101a80419d900f58806a9 (diff)
Add/remove/list binds, saving to file
Diffstat (limited to 'include')
-rw-r--r--include/Cache.hpp4
-rw-r--r--include/Chatbar.hpp6
-rw-r--r--include/FileUtil.hpp3
3 files changed, 13 insertions, 0 deletions
diff --git a/include/Cache.hpp b/include/Cache.hpp
index 429f652..19b811a 100644
--- a/include/Cache.hpp
+++ b/include/Cache.hpp
@@ -3,6 +3,7 @@
#include <boost/filesystem/path.hpp>
#include <SFML/Graphics/Texture.hpp>
#include <string>
+#include <unordered_map>
#include <thread>
#include <mutex>
#include <vector>
@@ -49,6 +50,9 @@ namespace dchat
// Creates directory if it doesn't exist (recursively). Throws boost exception on failure
static boost::filesystem::path getDchatDir();
+ static void loadBindsFromFile();
+ static void replaceBindsInFile(const std::unordered_map<std::string, std::string> &binds);
+
// Get cached image or downloads it.
// Default download file limit is 12MB
// Returns ImageByUrlResult describing texture status.
diff --git a/include/Chatbar.hpp b/include/Chatbar.hpp
index 6ae2190..27b57f9 100644
--- a/include/Chatbar.hpp
+++ b/include/Chatbar.hpp
@@ -6,6 +6,8 @@
#include <SFML/Graphics/RectangleShape.hpp>
#include <SFML/Window/Event.hpp>
#include <SFML/System/Clock.hpp>
+#include <string>
+#include <unordered_map>
namespace dchat
{
@@ -32,6 +34,10 @@ namespace dchat
void draw(sf::RenderWindow &window);
static float getHeight();
+
+ static bool addBind(const std::string &key, const std::string &value, bool updateFile = true);
+ static bool removeBind(const std::string &key, bool updateFile = true);
+ static const std::unordered_map<std::string, std::string>& getBinds();
private:
void processChatCommand(const StringView &cmd);
private:
diff --git a/include/FileUtil.hpp b/include/FileUtil.hpp
index 0cfc808..097b607 100644
--- a/include/FileUtil.hpp
+++ b/include/FileUtil.hpp
@@ -15,4 +15,7 @@ namespace dchat
// Throws FileException on error.
// Returned value is allocated with malloc and should be free'd by caller.
StringView getFileContent(const boost::filesystem::path &filepath);
+
+ // Throws FileException on error
+ void fileReplace(const boost::filesystem::path &filepath, const StringView data);
}