#ifndef MATRIX_JSON_TARGETS_HPP #define MATRIX_JSON_TARGETS_HPP #include "raii/string_base.hpp" namespace matrix::json{ constexpr raii::static_string True(void){return "true"_ss;} constexpr raii::static_string False(void){return "false"_ss;} constexpr raii::static_string reason(void){return "reason"_ss;} namespace message{ constexpr raii::static_string body(void){return "body"_ss;} constexpr raii::static_string info(void){return "info"_ss;} namespace infobody{ constexpr raii::static_string height(void){return "h"_ss;} constexpr raii::static_string width(void){return "w"_ss;} constexpr raii::static_string mimetype(void){return "mimetype"_ss;} constexpr raii::static_string size(void){return "size"_ss;} constexpr raii::static_string thumbinfo(void){return "thumbnail_info"_ss;} namespace thumbnail{ constexpr raii::static_string height(void){return message::infobody::height();} constexpr raii::static_string width(void){return message::infobody::width();} constexpr raii::static_string mimetype(void){return message::infobody::mimetype();} constexpr raii::static_string size(void){return message::infobody::size();} } constexpr raii::static_string thumburl(void){return "thumbnail_url"_ss;} } constexpr raii::static_string msgtype(void){return "msgtype"_ss;} constexpr raii::static_string url(void){return "url"_ss;} } namespace auth{ constexpr raii::static_string type(void){return "type"_ss;} constexpr raii::static_string identifier(void){return "identifier"_ss;} constexpr raii::static_string password(void){return "password"_ss;} constexpr raii::static_string newpassword(void){return "new_password"_ss;} constexpr raii::static_string auth(void){return "auth"_ss;} namespace authbody{ constexpr raii::static_string type(void){return auth::type();} constexpr raii::static_string session(void){return "session"_ss;} constexpr raii::static_string user(void){return "user"_ss;} constexpr raii::static_string password(void){return auth::password();} } namespace identifierbody{ constexpr raii::static_string type(void){return auth::type();} constexpr raii::static_string session(void){return auth::authbody::session();} constexpr raii::static_string user(void){return auth::authbody::user();} constexpr raii::static_string password(void){return auth::password();} } } namespace rooms{ constexpr raii::static_string joined(void){return "joined"_ss;} constexpr raii::static_string eventid(void){return "event_id"_ss;} constexpr raii::static_string chunk(void){return "chunk"_ss;} constexpr raii::static_string newversion(void){return "new_version"_ss;} } namespace client{ constexpr raii::static_string presence(void){return "presence"_ss;} constexpr raii::static_string displayname(void){return "displayname"_ss;} constexpr raii::static_string avatarurl(void){return "avatar_url"_ss;} constexpr raii::static_string roomid(void){return "room_id"_ss;} constexpr raii::static_string joinedrooms(void){return "joined_rooms"_ss;} constexpr raii::static_string contenturi(void){return "content_uri"_ss;} constexpr raii::static_string name(void){return "name"_ss;} constexpr raii::static_string roomaliasname(void){return "room_alias_name"_ss;} constexpr raii::static_string typing(void){return "typing"_ss;} constexpr raii::static_string timeout(void){return "timeout"_ss;} } namespace session{ 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;} } } #endif