diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-05-03 08:29:45 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2018-05-03 08:29:48 +0200 |
commit | 9bb631f1e1861c63f38125fffb91081c98a1cfcc (patch) | |
tree | ad852904b8ae278c789e7f636ed4107038231c3f /include | |
parent | 9cde35c64c9f569055b101a80419d900f58806a9 (diff) |
Add/remove/list binds, saving to file
Diffstat (limited to 'include')
-rw-r--r-- | include/Cache.hpp | 4 | ||||
-rw-r--r-- | include/Chatbar.hpp | 6 | ||||
-rw-r--r-- | include/FileUtil.hpp | 3 |
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); } |