From f24c7c2e822d492064e22555af22f81e973e5cb1 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 17 Jun 2019 16:57:00 -0700 Subject: [PATCH] ircd::m::rooms: Simplify interface. --- include/ircd/m/rooms.h | 28 ---------------------------- modules/m_rooms.cc | 12 ------------ 2 files changed, 40 deletions(-) diff --git a/include/ircd/m/rooms.h b/include/ircd/m/rooms.h index d895e4810..e05d6d27b 100644 --- a/include/ircd/m/rooms.h +++ b/include/ircd/m/rooms.h @@ -38,13 +38,6 @@ namespace ircd::m::rooms /// the only options patterns. struct ircd::m::rooms::each_opts { - /// If set: select rooms for this user. - m::user user; - - /// If user is set, and this is set: select the membership that user - /// has in the room. - string_view membership; - /// If set, seek to this room_id or lower-bound to the closest room_id. string_view key; @@ -58,13 +51,8 @@ struct ircd::m::rooms::each_opts /// for-each protocol: return true to continue, false to break. room::id::closure_bool closure; - /// Alternative closure when selecting a user. - user::rooms::closure_bool user_closure; - each_opts(room::id::closure_bool); each_opts(const string_view &key, room::id::closure_bool); - each_opts(const m::user &user, user::rooms::closure_bool); - each_opts(const m::user &user, const string_view &membership, user::rooms::closure_bool); each_opts() = default; }; @@ -80,22 +68,6 @@ ircd::m::rooms::each_opts::each_opts(const string_view &key, ,closure{std::move(closure)} {} -inline -ircd::m::rooms::each_opts::each_opts(const m::user &user, - user::rooms::closure_bool user_closure) -:user{user} -,user_closure{std::move(user_closure)} -{} - -inline -ircd::m::rooms::each_opts::each_opts(const m::user &user, - const string_view &membership, - user::rooms::closure_bool user_closure) -:user{user} -,membership{membership} -,user_closure{std::move(user_closure)} -{} - template bool ircd::m::rooms::for_each(args&&... a) diff --git a/modules/m_rooms.cc b/modules/m_rooms.cc index ee2591af7..ca9174dfa 100644 --- a/modules/m_rooms.cc +++ b/modules/m_rooms.cc @@ -60,18 +60,6 @@ bool IRCD_MODULE_EXPORT ircd::m::rooms::for_each(const each_opts &opts) { - if(opts.user.user_id) - { - const m::user::rooms rooms{opts.user}; - return rooms.for_each(opts.membership, m::user::rooms::closure_bool{[&opts] - (const m::room &room, const string_view &membership) - { - return opts.user_closure? - opts.user_closure(room, membership): - opts.closure(room.room_id); - }}); - } - if(opts.public_rooms) return _for_each_public(opts.key, opts.closure);