From 5ca98e9c9afc7ccf395a72713431286cf98f983a Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 24 Jan 2018 11:02:56 -0800 Subject: [PATCH] ircd::m: Move more name strings into name::. --- include/ircd/m/filter.h | 20 ------------------ include/ircd/m/name.h | 45 ++++++++++++++++++++++++++++++++--------- include/ircd/m/txn.h | 9 --------- 3 files changed, 36 insertions(+), 38 deletions(-) diff --git a/include/ircd/m/filter.h b/include/ircd/m/filter.h index c83ec462a..0ebd2d78f 100644 --- a/include/ircd/m/filter.h +++ b/include/ircd/m/filter.h @@ -35,26 +35,6 @@ namespace ircd::m struct room_event_filter; } -namespace ircd::m::name -{ - 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"}; -} - struct ircd::m::event_filter :json::tuple < diff --git a/include/ircd/m/name.h b/include/ircd/m/name.h index 859150cec..63129ef6f 100644 --- a/include/ircd/m/name.h +++ b/include/ircd/m/name.h @@ -14,38 +14,48 @@ /// 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. There can't be any duplicates, so they're all aggregated here. +/// 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 destination {"destination"}; constexpr const char *const event_id {"event_id"}; constexpr const char *const hashes {"hashes"}; constexpr const char *const membership {"membership"}; - constexpr const char *const method {"method"}; - constexpr const char *const old_verify_keys {"old_verify_keys"}; 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 room_id {"room_id"}; constexpr const char *const sender {"sender"}; - constexpr const char *const server_name {"server_name"}; constexpr const char *const signatures {"signatures"}; constexpr const char *const state_key {"state_key"}; - constexpr const char *const tls_fingerprints {"tls_fingerprints"}; 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"}; -} -namespace ircd::m::name -{ 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"}; @@ -60,4 +70,21 @@ namespace ircd::m::name 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"}; } diff --git a/include/ircd/m/txn.h b/include/ircd/m/txn.h index db568ec52..f4273183f 100644 --- a/include/ircd/m/txn.h +++ b/include/ircd/m/txn.h @@ -32,15 +32,6 @@ namespace ircd::m struct txn; } -namespace ircd::m::name -{ - constexpr const char *const edus {"edus"}; -// constexpr const char *const origin {"origin"}; -// constexpr const char *const origin_server_ts {"origin_server_ts"}; - constexpr const char *const pdu_failures {"pdu_failures"}; - constexpr const char *const pdus {"pdus"}; -} - struct ircd::m::txn :json::tuple <