// 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 /// 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. /// * Eventually addressing the issue of subobject-linkage might be easier; /// this namespace could become a struct with linkage if that ever helps. /// namespace ircd::m::name { constexpr const char *const auth_events {"auth_events"}; constexpr const char *const content {"content"}; constexpr const char *const depth {"depth"}; constexpr const char *const event_id {"event_id"}; constexpr const char *const hashes {"hashes"}; constexpr const char *const membership {"membership"}; constexpr const char *const origin {"origin"}; constexpr const char *const origin_server_ts {"origin_server_ts"}; constexpr const char *const prev_events {"prev_events"}; constexpr const char *const prev_state {"prev_state"}; constexpr const char *const redacts {"redacts"}; constexpr const char *const room_id {"room_id"}; constexpr const char *const sender {"sender"}; constexpr const char *const signatures {"signatures"}; constexpr const char *const state_key {"state_key"}; constexpr const char *const type {"type"}; constexpr const char *const unsigned_ {"unsigned"}; constexpr const char *const edus {"edus"}; constexpr const char *const pdu_failures {"pdu_failures"}; constexpr const char *const pdus {"pdus"}; constexpr const char *const destination {"destination"}; constexpr const char *const method {"method"}; constexpr const char *const uri {"uri"}; constexpr const char *const old_verify_keys {"old_verify_keys"}; constexpr const char *const server_name {"server_name"}; constexpr const char *const tls_fingerprints {"tls_fingerprints"}; constexpr const char *const valid_until_ts {"valid_until_ts"}; constexpr const char *const verify_keys {"verify_keys"}; constexpr const char *const m_room_aliases {"m.room.aliases"}; constexpr const char *const m_room_canonical_alias {"m.room.canonical_alias"}; constexpr const char *const m_room_create {"m.room.create"}; constexpr const char *const m_room_join_rules {"m.room.join_rules"}; constexpr const char *const m_room_member {"m.room.member"}; constexpr const char *const m_room_power_levels {"m.room.power_levels"}; constexpr const char *const m_room_message {"m.room.message"}; constexpr const char *const m_room_name {"m.room.name"}; constexpr const char *const m_room_topic {"m.room.topic"}; constexpr const char *const m_room_avatar {"m.room.avatar"}; constexpr const char *const m_room_pinned_events {"m.room.pinned_events"}; constexpr const char *const m_room_history_visibility {"m.room.history_visibility"}; constexpr const char *const m_room_third_party_invite {"m.room.third_party_invite"}; constexpr const char *const m_room_guest_access {"m.room.guest_access"}; constexpr const char *const event_fields {"event_fields"}; constexpr const char *const event_format {"event_format"}; constexpr const char *const account_data {"account_data"}; constexpr const char *const presence {"presence"}; constexpr const char *const room {"room"}; constexpr const char *const timeline {"timeline"}; constexpr const char *const ephemeral {"ephemeral"}; constexpr const char *const state {"state"}; constexpr const char *const rooms {"rooms"}; constexpr const char *const not_rooms {"not_rooms"}; constexpr const char *const include_leave {"include_leave"}; constexpr const char *const types {"types"}; constexpr const char *const not_types {"not_types"}; constexpr const char *const senders {"senders"}; constexpr const char *const not_senders {"not_senders"}; constexpr const char *const limit {"limit"}; constexpr const char *const contains_url {"contains_url"}; constexpr const char *const edu_type {"edu_type"}; constexpr const char *const user_id {"user_id"}; constexpr const char *const last_active_ago {"last_active_ago"}; constexpr const char *const currently_active {"currently_active"}; constexpr const char *const status_msg {"status_msg"}; constexpr const char *const ts {"ts"}; constexpr const char *const data {"data"}; constexpr const char *const event_ids {"event_ids"}; constexpr const char *const typing {"typing"}; constexpr const auto user{"user"}; constexpr const auto medium{"medium"}; constexpr const auto address{"address"}; constexpr const auto password{"password"}; constexpr const auto token{"token"}; constexpr const auto device_id{"device_id"}; constexpr const auto initial_device_display_name{"initial_device_display_name"}; constexpr const auto username {"username"}; constexpr const auto bind_email {"bind_email"}; constexpr const auto auth {"auth"}; constexpr const auto visibility {"visibility"}; constexpr const auto room_alias_name {"room_alias_name"}; constexpr const auto name {"name"}; constexpr const auto topic {"topic"}; constexpr const auto invite {"invite"}; constexpr const auto invite_3pid {"invite_3pid"}; constexpr const auto creation_content {"creation_content"}; constexpr const auto initial_state {"initial_state"}; constexpr const auto preset {"preset"}; constexpr const auto is_direct {"is_direct"}; constexpr const auto guest_can_join {"guest_can_join"}; constexpr const auto id_server {"id_server"}; }