diff --git a/libaegisub/common/hotkey.cpp b/libaegisub/common/hotkey.cpp index d56438823..d1c208b83 100644 --- a/libaegisub/common/hotkey.cpp +++ b/libaegisub/common/hotkey.cpp @@ -49,7 +49,7 @@ void Hotkey::ComboInsert(Combo const& combo) { cmd_map.insert(make_pair(combo.CmdName(), combo)); } -Hotkey::Hotkey(agi::fs::path const& file, const std::string &default_config) +Hotkey::Hotkey(agi::fs::path const& file, std::pair default_config) : config_file(file) { LOG_D("hotkey/init") << "Generating hotkeys."; diff --git a/libaegisub/common/json.cpp b/libaegisub/common/json.cpp index 00343b27c..256f4a0bd 100644 --- a/libaegisub/common/json.cpp +++ b/libaegisub/common/json.cpp @@ -48,23 +48,23 @@ json::UnknownElement file(agi::fs::path const& file) { return parse(*io::Open(file)); } -json::UnknownElement file(agi::fs::path const& file, const std::string &default_config) { +json::UnknownElement file(agi::fs::path const& file, std::pair default_config) { try { return parse(*io::Open(file)); } catch (fs::FileNotFound const&) { // Not an error - boost::interprocess::ibufferstream stream(default_config.data(), default_config.size()); + boost::interprocess::ibufferstream stream(default_config.first, default_config.second); return parse(stream); } catch (json::Exception&) { // Already logged in parse - boost::interprocess::ibufferstream stream(default_config.data(), default_config.size()); + boost::interprocess::ibufferstream stream(default_config.first, default_config.second); return parse(stream); } catch (agi::Exception& e) { LOG_E("json/file") << "Unexpected error when reading config file " << file << ": " << e.GetMessage(); - boost::interprocess::ibufferstream stream(default_config.data(), default_config.size()); + boost::interprocess::ibufferstream stream(default_config.first, default_config.second); return parse(stream); } } diff --git a/libaegisub/common/mru.cpp b/libaegisub/common/mru.cpp index a84dc96c7..0c65638e3 100644 --- a/libaegisub/common/mru.cpp +++ b/libaegisub/common/mru.cpp @@ -32,7 +32,7 @@ namespace agi { -MRUManager::MRUManager(agi::fs::path const& config, std::string const& default_config, agi::Options *options) +MRUManager::MRUManager(agi::fs::path const& config, std::pair default_config, agi::Options *options) : config_name(config) , options(options) { diff --git a/libaegisub/common/option.cpp b/libaegisub/common/option.cpp index 87693a665..0d75c0395 100644 --- a/libaegisub/common/option.cpp +++ b/libaegisub/common/option.cpp @@ -67,12 +67,12 @@ namespace { namespace agi { -Options::Options(agi::fs::path const& file, const std::string& default_config, const OptionSetting setting) +Options::Options(agi::fs::path const& file, std::pair default_config, const OptionSetting setting) : config_file(file) , setting(setting) { LOG_D("agi/options") << "New Options object"; - boost::interprocess::ibufferstream stream(default_config.data(), default_config.size()); + boost::interprocess::ibufferstream stream(default_config.first, default_config.second); LoadConfig(stream); } diff --git a/libaegisub/include/libaegisub/hotkey.h b/libaegisub/include/libaegisub/hotkey.h index 394c19fc6..c4ddb48f3 100644 --- a/libaegisub/include/libaegisub/hotkey.h +++ b/libaegisub/include/libaegisub/hotkey.h @@ -99,7 +99,7 @@ public: /// Constructor /// @param file Location of user config file. /// @param default_config Default config. - Hotkey(agi::fs::path const& file, const std::string &default_config); + Hotkey(agi::fs::path const& file, std::pair default_config); /// Scan for a matching key. /// @param context Context requested. diff --git a/libaegisub/include/libaegisub/json.h b/libaegisub/include/libaegisub/json.h index 9b799780c..1061df486 100644 --- a/libaegisub/include/libaegisub/json.h +++ b/libaegisub/include/libaegisub/json.h @@ -39,7 +39,7 @@ json::UnknownElement file(agi::fs::path const& file); /// @param file Path to JSON file. /// @param Default config file to load incase of nonexistent file /// @return json::UnknownElement -json::UnknownElement file(agi::fs::path const& file, const std::string &default_config); +json::UnknownElement file(agi::fs::path const& file, std::pair default_config); } // namespace json_util } // namespace agi diff --git a/libaegisub/include/libaegisub/mru.h b/libaegisub/include/libaegisub/mru.h index 480a6f435..b4c757f51 100644 --- a/libaegisub/include/libaegisub/mru.h +++ b/libaegisub/include/libaegisub/mru.h @@ -54,7 +54,7 @@ public: /// @brief Constructor /// @param config File to load MRU values from - MRUManager(agi::fs::path const& config, std::string const& default_config, agi::Options *options = nullptr); + MRUManager(agi::fs::path const& config, std::pair default_config, agi::Options *options = nullptr); /// Destructor ~MRUManager(); diff --git a/libaegisub/include/libaegisub/option.h b/libaegisub/include/libaegisub/option.h index 00d4c0ec3..733de5d09 100644 --- a/libaegisub/include/libaegisub/option.h +++ b/libaegisub/include/libaegisub/option.h @@ -74,7 +74,7 @@ public: /// @brief Constructor /// @param file User config that will be loaded from and written back to. /// @param default_config Default configuration. - Options(agi::fs::path const& file, const std::string &default_config, const OptionSetting setting=NONE); + Options(agi::fs::path const& file, std::pair default_config, const OptionSetting setting = NONE); /// Destructor ~Options(); diff --git a/src/libresrc/libresrc.cpp b/src/libresrc/libresrc.cpp index 8b868c2f4..3018e44c2 100644 --- a/src/libresrc/libresrc.cpp +++ b/src/libresrc/libresrc.cpp @@ -16,6 +16,11 @@ #include "libresrc.h" +#include +#include +#include +#include + wxBitmap libresrc_getimage(const unsigned char *buff, size_t size) { wxMemoryInputStream mem(buff, size); return wxBitmap(wxImage(mem)); @@ -27,7 +32,3 @@ wxIcon libresrc_geticon(const unsigned char *buff, size_t size) { icon.CopyFromBitmap(wxBitmap(wxImage(mem))); return icon; } - -const std::string libresrc_getconfig(const unsigned char *config, size_t size) { - return std::string(reinterpret_cast(config), size); -} diff --git a/src/libresrc/libresrc.h b/src/libresrc/libresrc.h index c3a4beabb..4c2605eb6 100644 --- a/src/libresrc/libresrc.h +++ b/src/libresrc/libresrc.h @@ -12,20 +12,17 @@ // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -#include - -#include -#include -#include -#include +#include #include "bitmap.h" #include "default_config.h" +class wxBitmap; +class wxIcon; + wxBitmap libresrc_getimage(const unsigned char *image, size_t size); wxIcon libresrc_geticon(const unsigned char *image, size_t size); #define GETIMAGE(a) libresrc_getimage(a, sizeof(a)) #define GETICON(a) libresrc_geticon(a, sizeof(a)) -const std::string libresrc_getconfig(const unsigned char *config, size_t size); -#define GET_DEFAULT_CONFIG(a) libresrc_getconfig(a, sizeof(a)) +#define GET_DEFAULT_CONFIG(a) std::make_pair(reinterpret_cast(a), sizeof(a))