0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-16 08:58:20 +02:00

ircd:Ⓜ️ Add event::fetch::opts overrider to room::messages; simplify overrider on room::state.

This commit is contained in:
Jason Volk 2018-05-21 17:36:16 -07:00
parent 198dd95573
commit 6be37c7aa6
2 changed files with 37 additions and 20 deletions

View file

@ -206,9 +206,17 @@ struct ircd::m::room::messages
const m::event &operator*();
const m::event *operator->() { return &operator*(); }
messages(const m::room &room, const uint64_t &depth);
messages(const m::room &room, const event::id &);
messages(const m::room &room);
messages(const m::room &room,
const uint64_t &depth,
const event::fetch::opts *const & = nullptr);
messages(const m::room &room,
const event::id &,
const event::fetch::opts *const & = nullptr);
messages(const m::room &room,
const event::fetch::opts *const & = nullptr);
messages() = default;
messages(const messages &) = delete;
messages &operator=(const messages &) = delete;
@ -280,8 +288,7 @@ struct ircd::m::room::state
event::id::buf get(std::nothrow_t, const string_view &type, const string_view &state_key = "") const;
event::id::buf get(const string_view &type, const string_view &state_key = "") const;
state(const m::room &room, const event::fetch::opts *const &fopts);
state(const m::room &room);
state(const m::room &room, const event::fetch::opts *const & = nullptr);
state() = default;
state(const state &) = delete;
state &operator=(const state &) = delete;

View file

@ -455,25 +455,41 @@ const
// room::messages
//
ircd::m::room::messages::messages(const m::room &room)
ircd::m::room::messages::messages(const m::room &room,
const event::fetch::opts *const &fopts)
:room{room}
,_event{room.fopts}
,_event
{
fopts?
fopts:
room.fopts
}
{
seek();
}
ircd::m::room::messages::messages(const m::room &room,
const event::id &event_id)
const event::id &event_id,
const event::fetch::opts *const &fopts)
:room{room}
,_event{room.fopts}
,_event
{
fopts?
fopts:
room.fopts
}
{
seek(event_id);
}
ircd::m::room::messages::messages(const m::room &room,
const uint64_t &depth)
const uint64_t &depth,
const event::fetch::opts *const &fopts)
:room{room}
,_event{room.fopts}
,_event
{
fopts? fopts : room.fopts
}
{
seek(depth);
}
@ -585,14 +601,6 @@ ircd::m::room::messages::fetch(std::nothrow_t)
// room::state
//
ircd::m::room::state::state(const m::room &room)
:state
{
room, room.fopts
}
{
}
ircd::m::room::state::state(const m::room &room,
const event::fetch::opts *const &fopts)
:room_id
@ -613,7 +621,9 @@ ircd::m::room::state::state(const m::room &room,
}
,fopts
{
fopts
fopts?
fopts:
room.fopts
}
{
}