wxdragon-sys 0.9.19

Raw FFI bindings to libwxdragon (which statically links wxWidgets).
Documentation
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif

#include "../include/wxdragon.h"
#include "wxd_utils.h"

#include "wx/stdpaths.h"

extern "C" {
WXD_EXPORTED int
wxd_StandardPaths_GetExecutablePath(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetExecutablePath();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetConfigDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetConfigDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetUserConfigDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetUserConfigDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetDataDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetDataDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetUserDataDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetUserDataDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetUserLocalDataDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetUserLocalDataDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetDocumentsDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetDocumentsDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}

WXD_EXPORTED int
wxd_StandardPaths_GetTempDir(char* buffer, size_t buffer_len)
{
    wxString path = wxStandardPaths::Get().GetTempDir();
    return (int)wxd_cpp_utils::copy_wxstring_to_buffer(path, buffer, buffer_len);
}
}