Work on standard strings namespaces
This commit is contained in:
parent
711a67d6aa
commit
232b669d44
@ -8,7 +8,11 @@ namespace matrix::json{
|
|||||||
constexpr raii::static_string True(void){return "true"_ss;}
|
constexpr raii::static_string True(void){return "true"_ss;}
|
||||||
constexpr raii::static_string False(void){return "false"_ss;}
|
constexpr raii::static_string False(void){return "false"_ss;}
|
||||||
constexpr raii::static_string reason(void){return "reason"_ss;}
|
constexpr raii::static_string reason(void){return "reason"_ss;}
|
||||||
|
constexpr raii::static_string error(void){return "error"_ss;}
|
||||||
|
constexpr raii::static_string errcode(void){return "errcode"_ss;}
|
||||||
|
constexpr raii::static_string retry_after(void){return "retry_after_ms"_ss;}
|
||||||
|
|
||||||
|
namespace keys{
|
||||||
namespace message{
|
namespace message{
|
||||||
constexpr raii::static_string body(void){return "body"_ss;}
|
constexpr raii::static_string body(void){return "body"_ss;}
|
||||||
constexpr raii::static_string info(void){return "info"_ss;}
|
constexpr raii::static_string info(void){return "info"_ss;}
|
||||||
@ -32,24 +36,37 @@ namespace matrix::json{
|
|||||||
|
|
||||||
namespace auth{
|
namespace auth{
|
||||||
constexpr raii::static_string type(void){return "type"_ss;}
|
constexpr raii::static_string type(void){return "type"_ss;}
|
||||||
|
constexpr raii::static_string medium(void){return "medium"_ss;}
|
||||||
|
constexpr raii::static_string address(void){return "address"_ss;}
|
||||||
constexpr raii::static_string identifier(void){return "identifier"_ss;}
|
constexpr raii::static_string identifier(void){return "identifier"_ss;}
|
||||||
|
constexpr raii::static_string user(void){return "user"_ss;}
|
||||||
constexpr raii::static_string password(void){return "password"_ss;}
|
constexpr raii::static_string password(void){return "password"_ss;}
|
||||||
|
constexpr raii::static_string token(void){return "token"_ss;}
|
||||||
|
constexpr raii::static_string device_id(void){return "device_id"_ss;}
|
||||||
|
constexpr raii::static_string initial_device_display_name(void){return "initial_device_display_name"_ss;}
|
||||||
constexpr raii::static_string newpassword(void){return "new_password"_ss;}
|
constexpr raii::static_string newpassword(void){return "new_password"_ss;}
|
||||||
constexpr raii::static_string auth(void){return "auth"_ss;}
|
constexpr raii::static_string auth(void){return "auth"_ss;}
|
||||||
|
constexpr raii::static_string userid(void){return "user_id"_ss;}
|
||||||
|
constexpr raii::static_string accesstoken(void){return "access_token"_ss;}
|
||||||
|
constexpr raii::static_string home_server(void){return "home_server"_ss;}
|
||||||
|
constexpr raii::static_string well_known(void){return "well_known"_ss;}
|
||||||
|
constexpr raii::static_string base_url(void){return "base_url"_ss;}
|
||||||
|
constexpr raii::static_string inhibit_login(void){return "inhibit_login"_ss;}
|
||||||
namespace authbody{
|
namespace authbody{
|
||||||
constexpr raii::static_string type(void){return auth::type();}
|
constexpr raii::static_string type(void){return auth::type();}
|
||||||
constexpr raii::static_string session(void){return "session"_ss;}
|
constexpr raii::static_string session(void){return "session"_ss;}
|
||||||
constexpr raii::static_string user(void){return "user"_ss;}
|
constexpr raii::static_string user(void){return auth::user();}
|
||||||
constexpr raii::static_string password(void){return auth::password();}
|
constexpr raii::static_string password(void){return auth::password();}
|
||||||
}
|
}
|
||||||
namespace identifierbody{
|
namespace identifierbody{
|
||||||
constexpr raii::static_string type(void){return auth::type();}
|
constexpr raii::static_string type(void){return auth::type();}
|
||||||
|
constexpr raii::static_string medium(void){return auth::medium();}
|
||||||
|
constexpr raii::static_string address(void){return auth::address();}
|
||||||
constexpr raii::static_string session(void){return auth::authbody::session();}
|
constexpr raii::static_string session(void){return auth::authbody::session();}
|
||||||
constexpr raii::static_string user(void){return auth::authbody::user();}
|
constexpr raii::static_string user(void){return auth::authbody::user();}
|
||||||
constexpr raii::static_string password(void){return auth::password();}
|
constexpr raii::static_string password(void){return auth::password();}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace rooms{
|
namespace rooms{
|
||||||
constexpr raii::static_string joined(void){return "joined"_ss;}
|
constexpr raii::static_string joined(void){return "joined"_ss;}
|
||||||
constexpr raii::static_string eventid(void){return "event_id"_ss;}
|
constexpr raii::static_string eventid(void){return "event_id"_ss;}
|
||||||
@ -70,8 +87,111 @@ namespace matrix::json{
|
|||||||
}
|
}
|
||||||
namespace session{
|
namespace session{
|
||||||
constexpr raii::static_string session(void){return "session"_ss;}
|
constexpr raii::static_string session(void){return "session"_ss;}
|
||||||
constexpr raii::static_string userid(void){return "user_id"_ss;}
|
}
|
||||||
constexpr raii::static_string accesstoken(void){return "access_token"_ss;}
|
}
|
||||||
|
namespace stdstrings{
|
||||||
|
namespace error{
|
||||||
|
|
||||||
|
}
|
||||||
|
namespace events{
|
||||||
|
constexpr raii::static_string homeserver(void){return "m.homeserver"_ss;}
|
||||||
|
constexpr raii::static_string identity_server(void){return "m.identity_server"_ss;}
|
||||||
|
constexpr raii::static_string presence(void){return "m.presence"_ss;}
|
||||||
|
constexpr raii::static_string direct(void){return "m.direct"_ss;}
|
||||||
|
constexpr raii::static_string ignored_user_list(void){return "m.ignored_user_list"_ss;}
|
||||||
|
constexpr raii::static_string joined_member_count(void){return "m.joined_member_count"_ss;}
|
||||||
|
constexpr raii::static_string invited_member_count(void){return "m.invited_member_count"_ss;}
|
||||||
|
|
||||||
|
namespace key{
|
||||||
|
constexpr raii::static_string verification_request(void){return "m.key.verification.request"_ss;}
|
||||||
|
constexpr raii::static_string verification_start(void){return "m.key.verification.start"_ss;}
|
||||||
|
constexpr raii::static_string verification_cancel(void){return "m.key.verification.cancel"_ss;}
|
||||||
|
constexpr raii::static_string verification_accept(void){return "m.key.verification.accept"_ss;}
|
||||||
|
constexpr raii::static_string verification_key(void){return "m.key.verification.key"_ss;}
|
||||||
|
constexpr raii::static_string verification_mac(void){return "m.key.verification.mac"_ss;}
|
||||||
|
}
|
||||||
|
namespace login{
|
||||||
|
constexpr raii::static_string password(void){return "m.login.password"_ss;}
|
||||||
|
constexpr raii::static_string recaptcha(void){return "m.login.recaptcha"_ss;}
|
||||||
|
constexpr raii::static_string oauth2(void){return "m.login.oauth2"_ss;}
|
||||||
|
constexpr raii::static_string email(void){return "m.login.email.identity"_ss;}
|
||||||
|
constexpr raii::static_string msisdn(void){return "m.login.msisdn"_ss;}
|
||||||
|
constexpr raii::static_string token(void){return "m.login.token"_ss;}
|
||||||
|
constexpr raii::static_string dummy(void){return "m.login.dummy"_ss;}
|
||||||
|
}
|
||||||
|
namespace id{
|
||||||
|
constexpr raii::static_string user(void){return "m.id.user"_ss;}
|
||||||
|
constexpr raii::static_string thirdparty(void){return "m.id.thirdparty"_ss;}
|
||||||
|
constexpr raii::static_string phone(void){return "m.id.phone"_ss;}
|
||||||
|
}
|
||||||
|
namespace rule{
|
||||||
|
constexpr raii::static_string rules(void){return "m.push_rules"_ss;}
|
||||||
|
constexpr raii::static_string master(void){return ".m.rule.master"_ss;}
|
||||||
|
constexpr raii::static_string suppress_notices(void){return ".m.rule.suppress_notices"_ss;}
|
||||||
|
constexpr raii::static_string invite_for_me(void){return ".m.rule.invite_for_me"_ss;}
|
||||||
|
constexpr raii::static_string member_event(void){return ".m.rule.member_event"_ss;}
|
||||||
|
constexpr raii::static_string contains_displayname(void){return ".m.rule.contains_display_name"_ss;}
|
||||||
|
constexpr raii::static_string tombstone(void){return ".m.rule.tombstone"_ss;}
|
||||||
|
constexpr raii::static_string roomnotif(void){return ".m.rule.roomnotif"_ss;}
|
||||||
|
constexpr raii::static_string contains_username(void){return ".m.rule.contains_user_name"_ss;}
|
||||||
|
constexpr raii::static_string call(void){return ".m.rule.call"_ss;}
|
||||||
|
constexpr raii::static_string encrypted_one_to_one(void){return ".m.rule.encrypted_room_one_to_one"_ss;}
|
||||||
|
constexpr raii::static_string message(void){return ".m.rule.message"_ss;}
|
||||||
|
constexpr raii::static_string encrypted(void){return ".m.rule.encrypted"_ss;}
|
||||||
|
}
|
||||||
|
namespace e2e{
|
||||||
|
constexpr raii::static_string curve_aes_sha2(void){return "m.olm.v1.curve25519-aes-sha2"_ss;}
|
||||||
|
constexpr raii::static_string aes_sha2(void){return "m.megolm.v1.aes-sha2"_ss;}
|
||||||
|
constexpr raii::static_string encryption(void){return "m.room.encryption"_ss;}
|
||||||
|
constexpr raii::static_string key(void){return "m.room_key"_ss;}
|
||||||
|
constexpr raii::static_string key_request(void){return "m.room_key_request"_ss;}
|
||||||
|
constexpr raii::static_string forwarded_key(void){return "m.forwarded_room_key"_ss;}
|
||||||
|
constexpr raii::static_string dummy(void){return "m.dummy"_ss;}
|
||||||
|
}
|
||||||
|
namespace room{
|
||||||
|
constexpr raii::static_string aliases(void){return "m.room.aliases"_ss;}
|
||||||
|
constexpr raii::static_string canonical_alias(void){return "m.room.canonical_alias"_ss;}
|
||||||
|
constexpr raii::static_string create(void){return "m.room.create"_ss;}
|
||||||
|
constexpr raii::static_string join_rules(void){return "m.room.join_rules"_ss;}
|
||||||
|
constexpr raii::static_string member(void){return "m.room.member"_ss;}
|
||||||
|
constexpr raii::static_string power_levels(void){return "m.room.power_levels"_ss;}
|
||||||
|
constexpr raii::static_string redaction(void){return "m.room.redaction"_ss;}
|
||||||
|
constexpr raii::static_string heroes(void){return "m.heroes"_ss;}
|
||||||
|
constexpr raii::static_string room_message(void){return "m.room.message"_ss;}
|
||||||
|
constexpr raii::static_string sticker(void){return "m.sticker"_ss;}
|
||||||
|
[[deprecated]] constexpr raii::static_string message_feedback(void){return "m.room.message.feedback"_ss;}
|
||||||
|
constexpr raii::static_string name(void){return "m.room.name"_ss;}
|
||||||
|
constexpr raii::static_string topic(void){return "m.room.topic"_ss;}
|
||||||
|
constexpr raii::static_string avatar(void){return "m.room.avatar"_ss;}
|
||||||
|
constexpr raii::static_string pinned_events(void){return "m.room.pinned_events"_ss;}
|
||||||
|
constexpr raii::static_string typing(void){return "m.typing"_ss;}
|
||||||
|
constexpr raii::static_string receipt(void){return "m.receipt"_ss;}
|
||||||
|
constexpr raii::static_string fully_read(void){return "m.fully_read"_ss;}
|
||||||
|
constexpr raii::static_string history_visibility(void){return "m.room.history_visibility"_ss;}
|
||||||
|
constexpr raii::static_string third_party_invite(void){return "m.room.third_party_invite"_ss;}
|
||||||
|
constexpr raii::static_string guest_access(void){return "m.room.guest_access"_ss;}
|
||||||
|
constexpr raii::static_string tag(void){return "m.tag"_ss;}
|
||||||
|
constexpr raii::static_string server_acl(void){return "m.room.server_acl"_ss;}
|
||||||
|
}
|
||||||
|
namespace msgtype{
|
||||||
|
constexpr raii::static_string text(void){return "m.text"_ss;}
|
||||||
|
constexpr raii::static_string emote(void){return "m.emote"_ss;}
|
||||||
|
constexpr raii::static_string notice(void){return "m.notice"_ss;}
|
||||||
|
constexpr raii::static_string image(void){return "m.image"_ss;}
|
||||||
|
constexpr raii::static_string file(void){return "m.file"_ss;}
|
||||||
|
constexpr raii::static_string audio(void){return "m.audio"_ss;}
|
||||||
|
constexpr raii::static_string location(void){return "m.location"_ss;}
|
||||||
|
constexpr raii::static_string video(void){return "m.video"_ss;}
|
||||||
|
constexpr raii::static_string server_notice(void){return "m.server_notice"_ss;}
|
||||||
|
}
|
||||||
|
namespace call{
|
||||||
|
constexpr raii::static_string invite(void){return "m.call.invite"_ss;}
|
||||||
|
constexpr raii::static_string candidates(void){return "m.call.candidates"_ss;}
|
||||||
|
constexpr raii::static_string answer(void){return "m.call.answer"_ss;}
|
||||||
|
constexpr raii::static_string hangup(void){return "m.call.hangup"_ss;}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,19 +45,19 @@ namespace matrix{
|
|||||||
return netreturn<void>(raii::string(), raii::string(), http_status());
|
return netreturn<void>(raii::string(), raii::string(), http_status());
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> client::get_presence(const raii::string_base& userid){
|
netreturn<raii::rjp_string> client::get_presence(const raii::string_base& userid){
|
||||||
return _get_and_find(m_urls->presence(m_ses->homeserver, m_ses->access_token, userid), json::client::presence());
|
return _get_and_find(m_urls->presence(m_ses->homeserver, m_ses->access_token, userid), json::keys::client::presence());
|
||||||
}
|
}
|
||||||
|
|
||||||
//networked getter
|
//networked getter
|
||||||
netreturn<raii::rjp_string> client::get_display_name(void)const{
|
netreturn<raii::rjp_string> client::get_display_name(void)const{
|
||||||
return _get_and_find(m_urls->displayname(), json::client::displayname());
|
return _get_and_find(m_urls->displayname(), json::keys::client::displayname());
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> client::get_profile_picture(void)const{
|
netreturn<raii::rjp_string> client::get_profile_picture(void)const{
|
||||||
return _get_and_find(m_urls->profile_picture(), json::client::avatarurl());
|
return _get_and_find(m_urls->profile_picture(), json::keys::client::avatarurl());
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> client::room_alias_to_id(const raii::string_base& alias)const{
|
netreturn<raii::rjp_string> client::room_alias_to_id(const raii::string_base& alias)const{
|
||||||
auto tmp = m_curl.encode(alias, alias.length());
|
auto tmp = m_curl.encode(alias, alias.length());
|
||||||
return _get_and_find(raii::string(m_urls->alias_lookup() + tmp), json::client::roomid());
|
return _get_and_find(raii::string(m_urls->alias_lookup() + tmp), json::keys::client::roomid());
|
||||||
}
|
}
|
||||||
netreturn<std::vector<raii::rjp_string>> client::list_rooms(void)const{
|
netreturn<std::vector<raii::rjp_string>> client::list_rooms(void)const{
|
||||||
raii::string reply = _get_curl(m_urls->room_list());
|
raii::string reply = _get_curl(m_urls->room_list());
|
||||||
@ -69,7 +69,7 @@ namespace matrix{
|
|||||||
if(!root)
|
if(!root)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
RJP_search_res res = rjp_search_member(root.get(), json::client::joinedrooms(), 0);
|
RJP_search_res res = rjp_search_member(root.get(), json::keys::client::joinedrooms(), 0);
|
||||||
if(!res.value)
|
if(!res.value)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ namespace matrix{
|
|||||||
|
|
||||||
//room membership
|
//room membership
|
||||||
netreturn<raii::rjp_string> client::create_room(const raii::string_base& name, const raii::string_base& alias)const{
|
netreturn<raii::rjp_string> client::create_room(const raii::string_base& name, const raii::string_base& alias)const{
|
||||||
return _post_and_find(json::_create_room(name, alias), m_urls->create_room(), raii::curl_llist(), json::client::roomid());
|
return _post_and_find(json::_create_room(name, alias), m_urls->create_room(), raii::curl_llist(), json::keys::client::roomid());
|
||||||
}
|
}
|
||||||
roomcxn client::spawn_room(const raii::string_base& roomid)const{
|
roomcxn client::spawn_room(const raii::string_base& roomid)const{
|
||||||
return roomcxn(m_ses, roomid);
|
return roomcxn(m_ses, roomid);
|
||||||
@ -203,7 +203,7 @@ namespace matrix{
|
|||||||
netreturn<uploaded_file> retval = _create_netreturn(root, http_status());
|
netreturn<uploaded_file> retval = _create_netreturn(root, http_status());
|
||||||
if(!root)
|
if(!root)
|
||||||
return retval;
|
return retval;
|
||||||
RJP_search_res res = rjp_search_member(root.get(), json::client::contenturi(), 0);
|
RJP_search_res res = rjp_search_member(root.get(), json::keys::client::contenturi(), 0);
|
||||||
if(!res.value)
|
if(!res.value)
|
||||||
return retval;
|
return retval;
|
||||||
retval.value().m_fileurl = res.value;
|
retval.value().m_fileurl = res.value;
|
||||||
|
|||||||
@ -68,151 +68,151 @@ namespace matrix::json{
|
|||||||
|
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::message::body(), quote(raii::json_escape(image.name()))),
|
member(json::keys::message::body(), quote(raii::json_escape(image.name()))),
|
||||||
member(json::message::info(), object(
|
member(json::keys::message::info(), object(
|
||||||
member(json::message::infobody::height(), raii::itostr(image.height())),
|
member(json::keys::message::infobody::height(), raii::itostr(image.height())),
|
||||||
member(json::message::infobody::mimetype(), quote(image.mimetype())),
|
member(json::keys::message::infobody::mimetype(), quote(image.mimetype())),
|
||||||
member(json::message::infobody::size(), raii::itostr(image.size())),
|
member(json::keys::message::infobody::size(), raii::itostr(image.size())),
|
||||||
member(json::message::infobody::thumbinfo(), object(
|
member(json::keys::message::infobody::thumbinfo(), object(
|
||||||
member(json::message::infobody::thumbnail::height(), raii::itostr(image.thumb_height())),
|
member(json::keys::message::infobody::thumbnail::height(), raii::itostr(image.thumb_height())),
|
||||||
member(json::message::infobody::thumbnail::mimetype(), quote(image.thumb_mimetype())),
|
member(json::keys::message::infobody::thumbnail::mimetype(), quote(image.thumb_mimetype())),
|
||||||
member(json::message::infobody::thumbnail::size(), raii::itostr(image.thumb_size())),
|
member(json::keys::message::infobody::thumbnail::size(), raii::itostr(image.thumb_size())),
|
||||||
member(json::message::infobody::thumbnail::width(), raii::itostr(image.thumb_width()))
|
member(json::keys::message::infobody::thumbnail::width(), raii::itostr(image.thumb_width()))
|
||||||
)),
|
)),
|
||||||
member(json::message::infobody::thumburl(), quote(raii::json_escape(*thumburl))),
|
member(json::keys::message::infobody::thumburl(), quote(raii::json_escape(*thumburl))),
|
||||||
member(json::message::infobody::width(), raii::itostr(image.width()))
|
member(json::keys::message::infobody::width(), raii::itostr(image.width()))
|
||||||
)),
|
)),
|
||||||
member(json::message::msgtype(), quote("m.image"_ss)),
|
member(json::keys::message::msgtype(), quote("m.image"_ss)),
|
||||||
member(json::message::url(), quote(raii::json_escape(url)))
|
member(json::keys::message::url(), quote(raii::json_escape(url)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
raii::string _video_body(const uploaded_video& video){
|
raii::string _video_body(const uploaded_video& video){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::message::body(), quote(raii::json_escape(video.name()))),
|
member(json::keys::message::body(), quote(raii::json_escape(video.name()))),
|
||||||
member(json::message::info(), object(
|
member(json::keys::message::info(), object(
|
||||||
member(json::message::infobody::height(), raii::itostr(video.height())),
|
member(json::keys::message::infobody::height(), raii::itostr(video.height())),
|
||||||
member(json::message::infobody::mimetype(), quote(video.mimetype())),
|
member(json::keys::message::infobody::mimetype(), quote(video.mimetype())),
|
||||||
member(json::message::infobody::size(), raii::itostr(video.size())),
|
member(json::keys::message::infobody::size(), raii::itostr(video.size())),
|
||||||
member(json::message::infobody::thumbinfo(), object(
|
member(json::keys::message::infobody::thumbinfo(), object(
|
||||||
member(json::message::infobody::thumbnail::height(), raii::itostr(video.thumb_height())),
|
member(json::keys::message::infobody::thumbnail::height(), raii::itostr(video.thumb_height())),
|
||||||
member(json::message::infobody::thumbnail::mimetype(), quote(video.thumb_mimetype())),
|
member(json::keys::message::infobody::thumbnail::mimetype(), quote(video.thumb_mimetype())),
|
||||||
member(json::message::infobody::thumbnail::size(), raii::itostr(video.thumb_size())),
|
member(json::keys::message::infobody::thumbnail::size(), raii::itostr(video.thumb_size())),
|
||||||
member(json::message::infobody::thumbnail::width(), raii::itostr(video.thumb_width()))
|
member(json::keys::message::infobody::thumbnail::width(), raii::itostr(video.thumb_width()))
|
||||||
)),
|
)),
|
||||||
member(json::message::infobody::thumburl(), quote(raii::json_escape(video.thumb_url()))),
|
member(json::keys::message::infobody::thumburl(), quote(raii::json_escape(video.thumb_url()))),
|
||||||
member(json::message::infobody::width(), raii::itostr(video.width()))
|
member(json::keys::message::infobody::width(), raii::itostr(video.width()))
|
||||||
)),
|
)),
|
||||||
member(json::message::msgtype(), quote("m.video"_ss)),
|
member(json::keys::message::msgtype(), quote("m.video"_ss)),
|
||||||
member(json::message::url(), quote(raii::json_escape(video.url())))
|
member(json::keys::message::url(), quote(raii::json_escape(video.url())))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _file_body(const uploaded_file& file){
|
raii::string _file_body(const uploaded_file& file){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::message::body(), quote(raii::json_escape(file.name()))),
|
member(json::keys::message::body(), quote(raii::json_escape(file.name()))),
|
||||||
member(json::message::info(), object(
|
member(json::keys::message::info(), object(
|
||||||
member(json::message::infobody::size(), raii::itostr(file.size()))
|
member(json::keys::message::infobody::size(), raii::itostr(file.size()))
|
||||||
)),
|
)),
|
||||||
member(json::message::msgtype(), quote("m.file"_ss)),
|
member(json::keys::message::msgtype(), quote("m.file"_ss)),
|
||||||
member(json::message::url(), quote(raii::json_escape(file.url())))
|
member(json::keys::message::url(), quote(raii::json_escape(file.url())))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
raii::string _audio_body(const uploaded_audio& audio){
|
raii::string _audio_body(const uploaded_audio& audio){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::message::body(), quote(raii::json_escape(audio.name()))),
|
member(json::keys::message::body(), quote(raii::json_escape(audio.name()))),
|
||||||
member(json::message::info(), object(
|
member(json::keys::message::info(), object(
|
||||||
member(json::message::infobody::mimetype(), quote(audio.mimetype())),
|
member(json::keys::message::infobody::mimetype(), quote(audio.mimetype())),
|
||||||
member(json::message::infobody::size(), raii::itostr(audio.size()))
|
member(json::keys::message::infobody::size(), raii::itostr(audio.size()))
|
||||||
)),
|
)),
|
||||||
member(json::message::msgtype(), quote("m.audio"_ss)),
|
member(json::keys::message::msgtype(), quote("m.audio"_ss)),
|
||||||
member(json::message::url(), quote(raii::json_escape(audio.url())))
|
member(json::keys::message::url(), quote(raii::json_escape(audio.url())))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
raii::string _message_body(const raii::string_base& msg){
|
raii::string _message_body(const raii::string_base& msg){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::message::body(), quote(raii::json_escape(msg))),
|
member(json::keys::message::body(), quote(raii::json_escape(msg))),
|
||||||
member(json::message::msgtype(), quote("m.text"_ss))
|
member(json::keys::message::msgtype(), quote("m.text"_ss))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _login_password(const raii::string_base& username, const raii::string_base& password){
|
raii::string _login_password(const raii::string_base& username, const raii::string_base& password){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::auth::type(), quote("m.login.password"_ss)),
|
member(json::keys::auth::type(), quote("m.login.password"_ss)),
|
||||||
member(json::auth::identifier(), object(
|
member(json::keys::auth::identifier(), object(
|
||||||
member(json::auth::identifierbody::type(), quote("m.id.user"_ss)),
|
member(json::keys::auth::identifierbody::type(), quote("m.id.user"_ss)),
|
||||||
member(json::auth::identifierbody::user(), quote(raii::json_escape(username)))
|
member(json::keys::auth::identifierbody::user(), quote(raii::json_escape(username)))
|
||||||
)),
|
)),
|
||||||
member(json::auth::password(), quote(raii::json_escape(password)))
|
member(json::keys::auth::password(), quote(raii::json_escape(password)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _change_psk_password(const raii::string_base& userid, const raii::string_base& newpass, const raii::string_base& oldpass, const raii::string_base& session){
|
raii::string _change_psk_password(const raii::string_base& userid, const raii::string_base& newpass, const raii::string_base& oldpass, const raii::string_base& session){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::auth::newpassword(), quote(raii::json_escape(newpass))),
|
member(json::keys::auth::newpassword(), quote(raii::json_escape(newpass))),
|
||||||
member(json::auth::auth(), object(
|
member(json::keys::auth::auth(), object(
|
||||||
member(json::auth::authbody::type(), quote("m.login.password"_ss)),
|
member(json::keys::auth::authbody::type(), quote("m.login.password"_ss)),
|
||||||
member(json::auth::authbody::session(), quote(session)),
|
member(json::keys::auth::authbody::session(), quote(session)),
|
||||||
member(json::auth::authbody::user(), quote(raii::json_escape(userid))),
|
member(json::keys::auth::authbody::user(), quote(raii::json_escape(userid))),
|
||||||
member(json::auth::authbody::password(), quote(raii::json_escape(oldpass)))
|
member(json::keys::auth::authbody::password(), quote(raii::json_escape(oldpass)))
|
||||||
))
|
))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _displayname_set(const raii::string_base& newname){
|
raii::string _displayname_set(const raii::string_base& newname){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::displayname(), quote(raii::json_escape(newname)))
|
member(json::keys::client::displayname(), quote(raii::json_escape(newname)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _avatar_set(const raii::string_base& mediaurl){
|
raii::string _avatar_set(const raii::string_base& mediaurl){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::avatarurl(), quote(raii::json_escape(mediaurl)))
|
member(json::keys::client::avatarurl(), quote(raii::json_escape(mediaurl)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _presence_set(const raii::string_base& status){
|
raii::string _presence_set(const raii::string_base& status){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::presence(), quote(status))
|
member(json::keys::client::presence(), quote(status))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _create_room(const raii::string_base& name, const raii::string_base& alias){
|
raii::string _create_room(const raii::string_base& name, const raii::string_base& alias){
|
||||||
if(alias){
|
if(alias){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::name(), quote(raii::json_escape(name))),
|
member(json::keys::client::name(), quote(raii::json_escape(name))),
|
||||||
member(json::client::roomaliasname(), quote(raii::json_escape(alias)))
|
member(json::keys::client::roomaliasname(), quote(raii::json_escape(alias)))
|
||||||
));
|
));
|
||||||
}else{
|
}else{
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::name(), quote(raii::json_escape(name)))
|
member(json::keys::client::name(), quote(raii::json_escape(name)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
raii::string _userid(const raii::string_base& id){
|
raii::string _userid(const raii::string_base& id){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::session::userid(), quote(raii::json_escape(id)))
|
member(json::keys::auth::userid(), quote(raii::json_escape(id)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _userid_reason(const raii::string_base& id, const raii::string_base& reason){
|
raii::string _userid_reason(const raii::string_base& id, const raii::string_base& reason){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::session::userid(), quote(raii::json_escape(id))),
|
member(json::keys::auth::userid(), quote(raii::json_escape(id))),
|
||||||
member(json::reason(), quote(raii::json_escape(reason)))
|
member(json::reason(), quote(raii::json_escape(reason)))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _typing(bool active, int timeout){
|
raii::string _typing(bool active, int timeout){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::client::typing(), active ? json::True() : json::False()),
|
member(json::keys::client::typing(), active ? json::True() : json::False()),
|
||||||
member(json::client::timeout(), raii::itostr(timeout))
|
member(json::keys::client::timeout(), raii::itostr(timeout))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
raii::string _redact(const raii::string_base& reason){
|
raii::string _redact(const raii::string_base& reason){
|
||||||
@ -224,7 +224,7 @@ namespace matrix::json{
|
|||||||
raii::string _room_upgrade(int version){
|
raii::string _room_upgrade(int version){
|
||||||
return raii::string(
|
return raii::string(
|
||||||
object(
|
object(
|
||||||
member(json::rooms::newversion(), raii::itostr(version))
|
member(json::keys::rooms::newversion(), raii::itostr(version))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@ namespace matrix{
|
|||||||
if(!resp) return _create_netreturn(resp, http_status());
|
if(!resp) return _create_netreturn(resp, http_status());
|
||||||
raii::rjp_ptr root(rjp_parse(resp.get()));
|
raii::rjp_ptr root(rjp_parse(resp.get()));
|
||||||
if(!root) return _create_netreturn(root, http_status());
|
if(!root) return _create_netreturn(root, http_status());
|
||||||
RJP_search_res res = rjp_search_member(root.get(), json::rooms::joined(), 0);
|
RJP_search_res res = rjp_search_member(root.get(), json::keys::rooms::joined(), 0);
|
||||||
if(!res.value) return _create_netreturn(root, http_status());
|
if(!res.value) return _create_netreturn(root, http_status());
|
||||||
|
|
||||||
for(RJP_value* mem = rjp_get_member(res.value);mem;mem = rjp_next_member(mem)){
|
for(RJP_value* mem = rjp_get_member(res.value);mem;mem = rjp_next_member(mem)){
|
||||||
@ -108,7 +108,7 @@ namespace matrix{
|
|||||||
|
|
||||||
raii::rjp_ptr root(rjp_parse(reply));
|
raii::rjp_ptr root(rjp_parse(reply));
|
||||||
netreturn<raii::rjp_string> retval = _create_netreturn(root, http_status());
|
netreturn<raii::rjp_string> retval = _create_netreturn(root, http_status());
|
||||||
retval.value() = _curl_reply_search(root, json::rooms::eventid());
|
retval.value() = _curl_reply_search(root, json::keys::rooms::eventid());
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> roomcxn::send_message(const raii::string_base& text)const{
|
netreturn<raii::rjp_string> roomcxn::send_message(const raii::string_base& text)const{
|
||||||
@ -134,7 +134,7 @@ namespace matrix{
|
|||||||
}
|
}
|
||||||
|
|
||||||
netreturn<raii::rjp_string> roomcxn::redact_event(const raii::string_base& eventid, const raii::string_base& reason)const{
|
netreturn<raii::rjp_string> roomcxn::redact_event(const raii::string_base& eventid, const raii::string_base& reason)const{
|
||||||
return _put_and_find(json::_redact(reason), m_urls.redact(m_ses->homeserver, m_ses->access_token, m_curl.encode(m_roomid), m_curl.encode(eventid)), raii::curl_llist(), json::rooms::eventid());
|
return _put_and_find(json::_redact(reason), m_urls.redact(m_ses->homeserver, m_ses->access_token, m_curl.encode(m_roomid), m_curl.encode(eventid)), raii::curl_llist(), json::keys::rooms::eventid());
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> roomcxn::redact_event(const raii::string_base& eventid)const{
|
netreturn<raii::rjp_string> roomcxn::redact_event(const raii::string_base& eventid)const{
|
||||||
return redact_event(eventid, "No reason given"_ss);
|
return redact_event(eventid, "No reason given"_ss);
|
||||||
@ -146,7 +146,7 @@ namespace matrix{
|
|||||||
if(!root.get()) _create_netreturn(root, http_status());
|
if(!root.get()) _create_netreturn(root, http_status());
|
||||||
|
|
||||||
netreturn<sync::roomcxn_message_event_list> retval = _create_netreturn(root, http_status());
|
netreturn<sync::roomcxn_message_event_list> retval = _create_netreturn(root, http_status());
|
||||||
RJP_value* chunk = rjp_search_member(root.get(), json::rooms::chunk(), 0).value;
|
RJP_value* chunk = rjp_search_member(root.get(), json::keys::rooms::chunk(), 0).value;
|
||||||
if(!chunk) return retval;
|
if(!chunk) return retval;
|
||||||
retval.value() = sync::roomcxn_message_event_list(root, rjp_get_element(chunk), m_roomid);
|
retval.value() = sync::roomcxn_message_event_list(root, rjp_get_element(chunk), m_roomid);
|
||||||
return retval;
|
return retval;
|
||||||
@ -168,7 +168,7 @@ namespace matrix{
|
|||||||
m_urls.repopulate(m_ses->homeserver, m_ses->access_token, m_ses->userid, m_roomid);
|
m_urls.repopulate(m_ses->homeserver, m_ses->access_token, m_ses->userid, m_roomid);
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> roomcxn::upgrade(int version)const{
|
netreturn<raii::rjp_string> roomcxn::upgrade(int version)const{
|
||||||
return _post_and_find(json::_room_upgrade(version), m_urls.upgrade(m_ses->homeserver, m_ses->access_token, m_roomid), raii::curl_llist(), json::rooms::eventid());
|
return _post_and_find(json::_room_upgrade(version), m_urls.upgrade(m_ses->homeserver, m_ses->access_token, m_roomid), raii::curl_llist(), json::keys::rooms::eventid());
|
||||||
}
|
}
|
||||||
|
|
||||||
netreturn<raii::rjp_string> roomcxn::_send_message(const raii::string_base& msg)const{
|
netreturn<raii::rjp_string> roomcxn::_send_message(const raii::string_base& msg)const{
|
||||||
|
|||||||
@ -88,7 +88,7 @@ namespace matrix{
|
|||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
//attempt to change password via username/password login
|
//attempt to change password via username/password login
|
||||||
RJP_search_res res = rjp_search_member(root.get(), json::session::session(), 0);
|
RJP_search_res res = rjp_search_member(root.get(), json::keys::session::session(), 0);
|
||||||
raii::string request = json::_change_psk_password(m_ses->userid, newpass, oldpass, raii::rjp_string(res.value));
|
raii::string request = json::_change_psk_password(m_ses->userid, newpass, oldpass, raii::rjp_string(res.value));
|
||||||
reply = _post_curl(request, rest::session_urls::password(*m_ses), raii::curl_llist());
|
reply = _post_curl(request, rest::session_urls::password(*m_ses), raii::curl_llist());
|
||||||
return _create_netreturn(reply, http_status());
|
return _create_netreturn(reply, http_status());
|
||||||
@ -152,7 +152,7 @@ namespace matrix{
|
|||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
netreturn<raii::rjp_string> session::_get_userid(void){
|
netreturn<raii::rjp_string> session::_get_userid(void){
|
||||||
return _get_and_find(rest::session_urls::whoami(*m_ses), json::session::userid());
|
return _get_and_find(rest::session_urls::whoami(*m_ses), json::keys::auth::userid());
|
||||||
}
|
}
|
||||||
netreturn<std::pair<raii::rjp_string,raii::rjp_string>> session::_get_new_access_token(const raii::string_base& name, const raii::string_base& pass, const raii::string_base& loginurl){
|
netreturn<std::pair<raii::rjp_string,raii::rjp_string>> session::_get_new_access_token(const raii::string_base& name, const raii::string_base& pass, const raii::string_base& loginurl){
|
||||||
raii::string reply = _request_access_token(name, pass, loginurl);
|
raii::string reply = _request_access_token(name, pass, loginurl);
|
||||||
@ -162,9 +162,9 @@ namespace matrix{
|
|||||||
netreturn<std::pair<raii::rjp_string,raii::rjp_string>> retval = _create_netreturn(root, http_status());
|
netreturn<std::pair<raii::rjp_string,raii::rjp_string>> retval = _create_netreturn(root, http_status());
|
||||||
if(!root)
|
if(!root)
|
||||||
return retval;
|
return retval;
|
||||||
RJP_search_res token = rjp_search_member(root.get(), json::session::accesstoken(), 0);
|
RJP_search_res token = rjp_search_member(root.get(), json::keys::auth::accesstoken(), 0);
|
||||||
retval.value().first = raii::rjp_string{token.value};
|
retval.value().first = raii::rjp_string{token.value};
|
||||||
token = rjp_search_member(root.get(), json::session::userid(), 0);
|
token = rjp_search_member(root.get(), json::keys::auth::userid(), 0);
|
||||||
retval.value().second = raii::rjp_string{token.value};
|
retval.value().second = raii::rjp_string{token.value};
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user