// Matrix Construct // // Copyright (C) Matrix Construct Developers, Authors & Contributors // Copyright (C) 2016-2018 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. #pragma once #define HAVE_IRCD_M_NAME_H namespace ircd::m { struct name; } /// All strings used for json::tuple keys in ircd::m (matrix protocol) are /// contained within this namespace. These strings allow constant time access /// to JSON in a tuple using recursive constexpr function inlining provided by /// ircd::json. /// /// They're all aggregated here rather than distributing this namespace around /// to where they're used because: /// /// * There can't be any duplicates. /// * Addressing the issue of subobject-linkage. /// struct ircd::m::name { static constexpr const char *const auth_events {"auth_events"}; static constexpr const char *const content {"content"}; static constexpr const char *const depth {"depth"}; static constexpr const char *const event_id {"event_id"}; static constexpr const char *const hashes {"hashes"}; static constexpr const char *const membership {"membership"}; static constexpr const char *const origin {"origin"}; static constexpr const char *const origin_server_ts {"origin_server_ts"}; static constexpr const char *const prev_events {"prev_events"}; static constexpr const char *const prev_state {"prev_state"}; static constexpr const char *const redacts {"redacts"}; static constexpr const char *const room_id {"room_id"}; static constexpr const char *const sender {"sender"}; static constexpr const char *const signatures {"signatures"}; static constexpr const char *const state_key {"state_key"}; static constexpr const char *const type {"type"}; static constexpr const char *const unsigned_ {"unsigned"}; static constexpr const char *const edus {"edus"}; static constexpr const char *const pdu_failures {"pdu_failures"}; static constexpr const char *const pdus {"pdus"}; static constexpr const char *const destination {"destination"}; static constexpr const char *const method {"method"}; static constexpr const char *const uri {"uri"}; static constexpr const char *const old_verify_keys {"old_verify_keys"}; static constexpr const char *const server_name {"server_name"}; static constexpr const char *const tls_fingerprints {"tls_fingerprints"}; static constexpr const char *const valid_until_ts {"valid_until_ts"}; static constexpr const char *const verify_keys {"verify_keys"}; static constexpr const char *const m_room_aliases {"m.room.aliases"}; static constexpr const char *const m_room_canonical_alias {"m.room.canonical_alias"}; static constexpr const char *const m_room_create {"m.room.create"}; static constexpr const char *const m_room_join_rules {"m.room.join_rules"}; static constexpr const char *const m_room_member {"m.room.member"}; static constexpr const char *const m_room_power_levels {"m.room.power_levels"}; static constexpr const char *const m_room_message {"m.room.message"}; static constexpr const char *const m_room_name {"m.room.name"}; static constexpr const char *const m_room_topic {"m.room.topic"}; static constexpr const char *const m_room_avatar {"m.room.avatar"}; static constexpr const char *const m_room_pinned_events {"m.room.pinned_events"}; static constexpr const char *const m_room_history_visibility {"m.room.history_visibility"}; static constexpr const char *const m_room_third_party_invite {"m.room.third_party_invite"}; static constexpr const char *const m_room_guest_access {"m.room.guest_access"}; static constexpr const char *const event_fields {"event_fields"}; static constexpr const char *const event_format {"event_format"}; static constexpr const char *const account_data {"account_data"}; static constexpr const char *const presence {"presence"}; static constexpr const char *const room {"room"}; static constexpr const char *const timeline {"timeline"}; static constexpr const char *const ephemeral {"ephemeral"}; static constexpr const char *const state {"state"}; static constexpr const char *const rooms {"rooms"}; static constexpr const char *const not_rooms {"not_rooms"}; static constexpr const char *const include_leave {"include_leave"}; static constexpr const char *const types {"types"}; static constexpr const char *const not_types {"not_types"}; static constexpr const char *const senders {"senders"}; static constexpr const char *const not_senders {"not_senders"}; static constexpr const char *const labels {"org.matrix.labels"}; static constexpr const char *const not_labels {"org.matrix.not_labels"}; static constexpr const char *const limit {"limit"}; static constexpr const char *const contains_url {"contains_url"}; static constexpr const char *const lazy_load_members {"lazy_load_members"}; static constexpr const char *const include_redundant_members {"include_redundant_members"}; static constexpr const char *const relation_types {"relation_types"}; static constexpr const char *const not_relation_types {"not_relation_types"}; static constexpr const char *const relation_senders {"relation_senders"}; static constexpr const char *const not_relation_senders {"not_relation_senders"}; static constexpr const char *const unread_thread_notifications {"unread_thread_notifications"}; static constexpr const char *const edu_type {"edu_type"}; static constexpr const char *const user_id {"user_id"}; static constexpr const char *const last_active_ago {"last_active_ago"}; static constexpr const char *const currently_active {"currently_active"}; static constexpr const char *const status_msg {"status_msg"}; static constexpr const char *const ts {"ts"}; static constexpr const char *const data {"data"}; static constexpr const char *const event_ids {"event_ids"}; static constexpr const char *const typing {"typing"}; static constexpr const char *const timeout {"timeout"}; static constexpr const char *const user {"user"}; static constexpr const char *const medium {"medium"}; static constexpr const char *const address {"address"}; static constexpr const char *const password {"password"}; static constexpr const char *const token {"token"}; static constexpr const char *const device_id {"device_id"}; static constexpr const char *const initial_device_display_name {"initial_device_display_name"}; static constexpr const char *const identifier {"identifier"}; static constexpr const char *const username {"username"}; static constexpr const char *const bind_email {"bind_email"}; static constexpr const char *const auth {"auth"}; static constexpr const char *const inhibit_login {"inhibit_login"}; static constexpr const char *const visibility {"visibility"}; static constexpr const char *const room_alias_name {"room_alias_name"}; static constexpr const char *const name_ {"name"}; static constexpr const char *const topic {"topic"}; static constexpr const char *const invite {"invite"}; static constexpr const char *const invite_3pid {"invite_3pid"}; static constexpr const char *const creation_content {"creation_content"}; static constexpr const char *const initial_state {"initial_state"}; static constexpr const char *const preset {"preset"}; static constexpr const char *const is_direct {"is_direct"}; static constexpr const char *const guest_can_join {"guest_can_join"}; static constexpr const char *const power_level_content_override {"power_level_content_override"}; static constexpr const char *const parent_room_id {"parent_room_id"}; static constexpr const char *const creator {"creator"}; static constexpr const char *const room_version {"room_version"}; static constexpr const char *const id_server {"id_server"}; static constexpr const char *const id {"id"}; static constexpr const char *const url {"url"}; static constexpr const char *const as_token {"as_token"}; static constexpr const char *const hs_token {"hs_token"}; static constexpr const char *const sender_localpart {"sender_localpart"}; static constexpr const char *const namespaces {"namespaces"}; static constexpr const char *const rate_limited {"rate_limited"}; static constexpr const char *const protocols {"protocols"}; static constexpr const char *const users {"users"}; static constexpr const char *const aliases {"aliases"}; static constexpr const char *const exclusive {"exclusive"}; static constexpr const char *const regex {"regex"}; static constexpr const char *const display_name {"display_name"}; static constexpr const char *const last_seen_ip {"last_seen_ip"}; static constexpr const char *const last_seen_ts {"last_seen_ts"}; static constexpr const char *const keys {"keys"}; static constexpr const char *const device_display_name {"device_display_name"}; static constexpr const char *const algorithms {"algorithms"}; static constexpr const char *const message_id {"message_id"}; static constexpr const char *const messages {"messages"}; static constexpr const char *const stream_id {"stream_id"}; static constexpr const char *const prev_id {"prev_id"}; static constexpr const char *const deleted {"deleted"}; static constexpr const char *const access_token_id {"access_token_id"}; static constexpr const char *const search_term {"search_term"}; static constexpr const char *const order_by {"order_by"}; static constexpr const char *const event_context {"event_context"}; static constexpr const char *const include_state {"include_state"}; static constexpr const char *const groupings {"groupings"}; static constexpr const char *const filter {"filter"}; static constexpr const char *const kind {"kind"}; static constexpr const char *const key {"key"}; static constexpr const char *const pattern {"pattern"}; static constexpr const char *const is {"is"}; static constexpr const char *const cond {"cond"}; static constexpr const char *const value {"value"}; static constexpr const char *const actions {"actions"}; static constexpr const char *const default_ {"default"}; static constexpr const char *const enabled {"enabled"}; static constexpr const char *const rule_id {"rule_id"}; static constexpr const char *const conditions {"conditions"}; static constexpr const char *const override_ {"override"}; static constexpr const char *const underride {"underride"}; static constexpr const char *const pushkey {"pushkey"}; static constexpr const char *const app_id {"app_id"}; static constexpr const char *const app_display_name {"app_display_name"}; static constexpr const char *const profile_tag {"profile_tag"}; static constexpr const char *const lang {"lang"}; static constexpr const char *const append {"append"}; static constexpr const char *const body {"body"}; static constexpr const char *const msgtype {"msgtype"}; static constexpr const char *const format {"format"}; static constexpr const char *const formatted_body {"formatted_body"}; static constexpr const char *const m_relates_to {"m.relates_to"}; static constexpr const char *const m_in_reply_to {"m.in_reply_to"}; static constexpr const char *const rel_type {"rel_type"}; static constexpr const char *const usage {"usage"}; static constexpr const char *const master_key {"master_key"}; static constexpr const char *const self_signing_key {"self_signing_key"}; static constexpr const char *const user_signing_key {"user_signing_key"}; };