Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Commit

Permalink
Merge pull request #16 from modio/master
Browse files Browse the repository at this point in the history
Updating from main repo
  • Loading branch information
Turupawn committed May 27, 2019
2 parents 4fc60a9 + 4135d4e commit dd90615
Show file tree
Hide file tree
Showing 8 changed files with 112 additions and 42 deletions.
12 changes: 12 additions & 0 deletions include/c/ModioC.h
Expand Up @@ -509,7 +509,9 @@ extern "C"
//Events
void MODIO_DLL modioSetEventListener(void (*callback)(ModioResponse response, ModioModEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetEvents(void* object, u32 mod_id, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioModEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetEventsFilterString(void* object, u32 mod_id, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioModEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetAllEvents(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioModEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetAllEventsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioModEvent* events_array, u32 events_array_size));

//Authentication Methods
void MODIO_DLL modioEmailRequest(void* object, char const* email, void (*callback)(void* object, ModioResponse response));
Expand All @@ -530,13 +532,15 @@ extern "C"
//Modfile Methods
void MODIO_DLL modioGetModfile(void* object, u32 mod_id, u32 modfile_id, void (*callback)(void* object, ModioResponse response, ModioModfile modfile));
void MODIO_DLL modioGetAllModfiles(void* object, u32 mod_id, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioModfile modfiles[], u32 modfiles_size));
void MODIO_DLL modioGetAllModfilesFilterString(void* object, u32 mod_id, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioModfile modfiles[], u32 modfiles_size));
void MODIO_DLL modioAddModfile(u32 mod_id, ModioModfileCreator modfile_creator);
void MODIO_DLL modioEditModfile(void* object, u32 mod_id, u32 modfile_id, ModioModfileEditor modfile_handler, void (*callback)(void* object, ModioResponse response, ModioModfile modfile));
void MODIO_DLL modioDeleteModfile(void* object, u32 mod_id, u32 modfile_id, void (*callback)(void* object, ModioResponse response));

//Mods Methods
void MODIO_DLL modioGetMod(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response, ModioMod mod));
void MODIO_DLL modioGetAllMods(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioGetAllModsFilterString(void* object, char const *filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioAddMod(void* object, ModioModCreator mod_handler, void (*callback)(void* object, ModioResponse response, ModioMod mod));
void MODIO_DLL modioEditMod(void* object, u32 mod_id, ModioModEditor mod_handler, void (*callback)(void* object, ModioResponse response, ModioMod mod));
void MODIO_DLL modioDeleteMod(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response));
Expand Down Expand Up @@ -635,11 +639,17 @@ extern "C"
//Me Methods
void MODIO_DLL modioGetAuthenticatedUser(void* object, void (*callback)(void* object, ModioResponse response, ModioUser user));
void MODIO_DLL modioGetUserSubscriptions(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioGetUserSubscriptionsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioGetUserEvents(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioUserEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetUserEventsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioUserEvent* events_array, u32 events_array_size));
void MODIO_DLL modioGetUserGames(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioGame games[], u32 games_size));
void MODIO_DLL modioGetUserGamesFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioGame games[], u32 games_size));
void MODIO_DLL modioGetUserMods(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioGetUserModsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioMod mods[], u32 mods_size));
void MODIO_DLL modioGetUserModfiles(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioModfile modfiles[], u32 modfiles_size));
void MODIO_DLL modioGetUserModfilesFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioModfile modfiles[], u32 modfiles_size));
void MODIO_DLL modioGetUserRatings(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioRating ratings[], u32 ratings_size));
void MODIO_DLL modioGetUserRatingsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioRating ratings[], u32 ratings_size));

//Settings Methods
void MODIO_DLL modioInitConfig(void);
Expand Down Expand Up @@ -672,6 +682,7 @@ extern "C"

//Comment Methods
void MODIO_DLL modioGetAllModComments(void* object, u32 mod_id, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioComment comments[], u32 comments_size));
void MODIO_DLL modioGetAllModCommentsFilterString(void* object, u32 mod_id, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioComment comments[], u32 comments_size));
void MODIO_DLL modioGetModComment(void* object, u32 mod_id, u32 comment_id, void (*callback)(void* object, ModioResponse response, ModioComment comment));
void MODIO_DLL modioDeleteModComment(void* object, u32 mod_id, u32 comment_id, void(*callback)(void* object, ModioResponse response));

Expand All @@ -681,6 +692,7 @@ extern "C"
//Stats Methods
void MODIO_DLL modioGetModStats(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response, ModioStats mod));
void MODIO_DLL modioGetAllModStats(void* object, ModioFilterCreator filter, void (*callback)(void* object, ModioResponse response, ModioStats mods_stats[], u32 mods_stats_size));
void MODIO_DLL modioGetAllModStatsFilterString(void* object, char const* filter_string, u32 cache_max_age_seconds, void (*callback)(void* object, ModioResponse response, ModioStats mods_stats[], u32 mods_stats_size));

//Free Methods For Schemas Returned By Funtions
void MODIO_DLL modioFreeInstalledMod(ModioInstalledMod* installed_mod);
Expand Down
4 changes: 2 additions & 2 deletions src/ModioUtility.cpp
Expand Up @@ -139,7 +139,7 @@ void onGetUserEventsPoll(void *object, ModioResponse response, ModioUserEvent *e
if (modio::event_listener_callback && events_array_size > 0)
{
ModioModEvent *mod_events_array = new ModioModEvent[events_array_size];
for(int i=0; i < events_array_size; i++)
for(u32 i=0; i < events_array_size; i++)
{
mod_events_array[i].id = events_array[i].id;
mod_events_array[i].mod_id = events_array[i].mod_id;
Expand All @@ -150,7 +150,7 @@ void onGetUserEventsPoll(void *object, ModioResponse response, ModioUserEvent *e

modio::event_listener_callback(response, mod_events_array, events_array_size);

for(int i=0; i < events_array_size; i++)
for(u32 i=0; i < events_array_size; i++)
{
modioFreeModEvent(&mod_events_array[i]);
}
Expand Down
13 changes: 9 additions & 4 deletions src/c/methods/CommentsMethods.cpp
Expand Up @@ -2,10 +2,9 @@

extern "C"
{
void modioGetAllModComments(void *object, u32 mod_id, ModioFilterCreator filter, void (*callback)(void *object, ModioResponse response, ModioComment comments[], u32 comments_size))
void modioGetAllModCommentsFilterString(void *object, u32 mod_id, char const *filter_string, u32 cache_max_age_seconds, void (*callback)(void *object, ModioResponse response, ModioComment comments[], u32 comments_size))
{
std::string filter_string = modio::getFilterString(&filter);
std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "games/" + modio::toString(modio::GAME_ID) + "/mods/" + modio::toString(mod_id) + "/comments?" + filter_string + "&api_key=" + modio::API_KEY;
std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "games/" + modio::toString(modio::GAME_ID) + "/mods/" + modio::toString(mod_id) + "/comments?" + (filter_string ? filter_string : "") + "&api_key=" + modio::API_KEY;

u32 call_number = modio::curlwrapper::getCallNumber();

Expand All @@ -15,7 +14,7 @@ extern "C"
get_all_mod_comments_callbacks[call_number]->url = url;
get_all_mod_comments_callbacks[call_number]->is_cache = false;

std::string cache_filename = modio::getCallFileFromCache(url, filter.cache_max_age_seconds);
std::string cache_filename = modio::getCallFileFromCache(url, cache_max_age_seconds);
if (cache_filename != "")
{
nlohmann::json cache_file_json = modio::openJson(modio::getModIODirectory() + "cache/" + cache_filename);
Expand All @@ -29,6 +28,12 @@ extern "C"
modio::curlwrapper::get(call_number, url, modio::getHeaders(), &modioOnGetAllModComments);
}

void modioGetAllModComments(void *object, u32 mod_id, ModioFilterCreator filter, void (*callback)(void *object, ModioResponse response, ModioComment comments[], u32 comments_size))
{
std::string filter_string = modio::getFilterString(&filter);
modioGetAllModCommentsFilterString(object, mod_id, filter_string.c_str(), filter.cache_max_age_seconds, callback);
}

void modioGetModComment(void *object, u32 mod_id, u32 comment_id, void (*callback)(void *object, ModioResponse response, ModioComment comment))
{
std::string url = modio::MODIO_URL + modio::MODIO_VERSION_PATH + "games/" + modio::toString(modio::GAME_ID) + "/mods/" + modio::toString(mod_id) + "/comments/" + modio::toString(comment_id) + "?api_key=" + modio::API_KEY;
Expand Down

0 comments on commit dd90615

Please sign in to comment.