From a27e2c06baf41984cbbe8529c8efc76c13f7ae33 Mon Sep 17 00:00:00 2001 From: rexy712 Date: Sun, 5 Apr 2020 10:54:27 -0700 Subject: [PATCH] Update to new rjp api --- src/matrix/client.cpp | 6 +++--- src/matrix/connection.cpp | 10 +++++----- src/matrix/roomcxn.cpp | 8 ++++---- src/matrix/session.cpp | 4 ++-- src/matrix/sync_response.cpp | 2 +- src/test.cpp | 18 ++++++------------ 6 files changed, 21 insertions(+), 27 deletions(-) diff --git a/src/matrix/client.cpp b/src/matrix/client.cpp index 2c0ce59..e3f9a17 100644 --- a/src/matrix/client.cpp +++ b/src/matrix/client.cpp @@ -67,7 +67,7 @@ namespace matrix{ if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn> retval = _create_netreturn(root, http_status()); if(!root) return retval; @@ -180,7 +180,7 @@ namespace matrix{ if(!reply) return netreturn(rexy::string(), rexy::string(), http_status(), {nullptr}); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); if(!root) return retval; @@ -227,7 +227,7 @@ namespace matrix{ if(!succ || !fileurl) return _create_netreturn(fileurl, http_status()); - raii::rjp_ptr root(rjp_parse(fileurl)); + raii::rjp_ptr root(rjp_parse(fileurl, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); if(!root) return retval; diff --git a/src/matrix/connection.cpp b/src/matrix/connection.cpp index 56dea8c..ce84dab 100644 --- a/src/matrix/connection.cpp +++ b/src/matrix/connection.cpp @@ -161,7 +161,7 @@ namespace matrix{ rexy::string reply = _post_curl(data, url, header); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); retval.value() = _curl_reply_search(reply, target); return retval; @@ -172,7 +172,7 @@ namespace matrix{ rexy::string reply = _put_curl(data, url, header); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); retval.value() = _curl_reply_search(reply, target); return retval; @@ -181,13 +181,13 @@ namespace matrix{ rexy::string reply = _get_curl(url); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); retval.value() = _curl_reply_search(reply, target); return retval; } raii::rjp_string connection::_curl_reply_search(const rexy::string_base& reply, const rexy::string_base& target)const{ - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); return _curl_reply_search(root, target); } raii::rjp_string connection::_curl_reply_search(const raii::rjp_ptr& root, const rexy::string_base& target)const{ @@ -218,7 +218,7 @@ namespace matrix{ netreturn_base connection::_create_netreturn(const rexy::string_base& mxjson, int httpstatus){ if(!mxjson) return netreturn_base(""_ss, ""_ss, httpstatus); - raii::rjp_ptr root(rjp_parse(mxjson.get())); + raii::rjp_ptr root(rjp_parse(mxjson.get(), RJP_PARSE_ALL_EXT)); return _create_netreturn(root, httpstatus); } netreturn_base connection::_create_netreturn(const raii::rjp_ptr& root, int httpstatus){ diff --git a/src/matrix/roomcxn.cpp b/src/matrix/roomcxn.cpp index 24aa79d..cdf8da4 100644 --- a/src/matrix/roomcxn.cpp +++ b/src/matrix/roomcxn.cpp @@ -57,7 +57,7 @@ namespace matrix{ rexy::string resp = _get_curl(m_urls.room_members()); if(!resp) return _create_netreturn(resp, http_status()); - raii::rjp_ptr root(rjp_parse(resp.get())); + raii::rjp_ptr root(rjp_parse(resp.get(), RJP_PARSE_ALL_EXT)); if(!root) return _create_netreturn(root, http_status()); RJP_value* res = rjp_search_member(root.get(), json::keys::joined()); if(!res) return _create_netreturn(root, http_status()); @@ -107,7 +107,7 @@ namespace matrix{ if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); retval.value() = _curl_reply_search(root, json::keys::event::eventid()); return retval; @@ -144,7 +144,7 @@ namespace matrix{ netreturn roomcxn::get_event(const rexy::string_base& eventid)const{ rexy::string reply = _get_curl(m_urls.event(*m_ses, m_curl.encode(m_roomid), eventid)); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply.get())); + raii::rjp_ptr root(rjp_parse(reply.get(), RJP_PARSE_ALL_EXT)); if(!root.get()) _create_netreturn(root, http_status()); netreturn retval = _create_netreturn(root, http_status()); @@ -160,7 +160,7 @@ namespace matrix{ netreturn roomcxn::_get_events(int amount, rexy::static_string direction, const rexy::string_base& from, const rexy::string_base& to){ rexy::string reply = _get_curl(m_urls.messages(*m_ses, m_curl.encode(m_roomid), from, to, direction, amount)); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply.get())); + raii::rjp_ptr root(rjp_parse(reply.get(), RJP_PARSE_ALL_EXT)); if(!root.get()) _create_netreturn(root, http_status()); netreturn retval = _create_netreturn(root, http_status()); diff --git a/src/matrix/session.cpp b/src/matrix/session.cpp index 2806dab..4bdbcf3 100644 --- a/src/matrix/session.cpp +++ b/src/matrix/session.cpp @@ -82,7 +82,7 @@ namespace matrix{ rexy::string reply = _post_curl(json::_empty(), rest::session_urls::password(*m_ses), raii::curl_llist()); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn retval = _create_netreturn(root, http_status()); if(!root) return retval; @@ -155,7 +155,7 @@ namespace matrix{ rexy::string reply = _request_access_token(name, pass, loginurl); if(!reply) return _create_netreturn(reply, http_status()); - raii::rjp_ptr root(rjp_parse(reply)); + raii::rjp_ptr root(rjp_parse(reply, RJP_PARSE_ALL_EXT)); netreturn> retval = _create_netreturn(root, http_status()); if(!root) return retval; diff --git a/src/matrix/sync_response.cpp b/src/matrix/sync_response.cpp index f31b165..d559548 100644 --- a/src/matrix/sync_response.cpp +++ b/src/matrix/sync_response.cpp @@ -51,7 +51,7 @@ namespace matrix::sync{ //Sync response client_response::client_response(const rexy::string_base& s): - m_root(rjp_parse(s)){} + m_root(rjp_parse(s, RJP_PARSE_ALL_EXT)){} client_response::client_response(RJP_value* root): m_root(root){} room_list client_response::room_join_events(void)const{ diff --git a/src/test.cpp b/src/test.cpp index 5130224..eba4eb0 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -37,7 +37,7 @@ matrix::auth_data read_auth_file(const char* filename){ if(!fp){ return {}; } - raii::rjp_ptr root(rjp_parse(fp.read(fp.length()))); + raii::rjp_ptr root(rjp_parse(fp.read(fp.length()), RJP_PARSE_ALL_EXT)); if(!root.get()) return {}; @@ -54,11 +54,11 @@ void write_to_auth_file(const char* filename, const matrix::auth_data& auth){ if(!root.get()) return; - rjp_move_value(rjp_add_member_key_copy(root.get(), "user", 4), rjp_new_string_copy(auth.name, 0)); - rjp_move_value(rjp_add_member_key_copy(root.get(), "pass", 4), rjp_new_string_copy(auth.pass, 0)); - rjp_move_value(rjp_add_member_key_copy(root.get(), "server", 6), rjp_new_string_copy(auth.homeserver, 0)); - rjp_move_value(rjp_add_member_key_copy(root.get(), "token", 5), rjp_new_string_copy(auth.access_token, 0)); - rjp_move_value(rjp_add_member_key_copy(root.get(), "useragent", 9), rjp_new_string_copy(auth.useragent, 0)); + rjp_move_value(rjp_new_member(root.get(), "user", 4), rjp_new_string(auth.name, 0)); + rjp_move_value(rjp_new_member(root.get(), "pass", 4), rjp_new_string(auth.pass, 0)); + rjp_move_value(rjp_new_member(root.get(), "server", 6), rjp_new_string(auth.homeserver, 0)); + rjp_move_value(rjp_new_member(root.get(), "token", 5), rjp_new_string(auth.access_token, 0)); + rjp_move_value(rjp_new_member(root.get(), "useragent", 9), rjp_new_string(auth.useragent, 0)); raii::rjp_string output; output.reset(rjp_to_json(root.get(), RJP_FORMAT_NONE)); @@ -345,22 +345,16 @@ int main(){ while(true){ auto sync_status = client.sync(30000, sync_res); sync_res = std::move(sync_status.value()); - printf("here 1\n"); if(!sync_status.ok()){ - printf("here 2\n"); - fprintf(stderr, "Sync error, attempting to continue\n"); continue; } - printf("here 3\n"); for(auto room : sync_res.room_join_events()){ - printf("here 4\n"); auto r = client.spawn_room(room.roomid()); auto&& range = room.timeline_events(); auto begin = range.begin(); auto end = range.end(); for(;begin != end;++begin){ auto event = *begin; - printf("here 5\n"); if(event.sender() == client.userid()) continue; printf("%s : %s : %s\n", room.roomid().get(), event.type().get(), event.sender().get());