From 24e031a810a2bc22e1d9c4a7f121f4437122b8e4 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sat, 1 Dec 2018 15:05:50 -0800 Subject: [PATCH] ircd::m: Reorg event / room include related. --- include/ircd/m/event.h | 63 ++++++++++++++++++++++++++++++++++++ include/ircd/m/event/event.h | 46 -------------------------- include/ircd/m/m.h | 12 +------ include/ircd/m/room.h | 8 +++++ 4 files changed, 72 insertions(+), 57 deletions(-) create mode 100644 include/ircd/m/event.h diff --git a/include/ircd/m/event.h b/include/ircd/m/event.h new file mode 100644 index 000000000..12297fe49 --- /dev/null +++ b/include/ircd/m/event.h @@ -0,0 +1,63 @@ +// 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_EVENT_H + +namespace ircd::m +{ + struct event; + + // General util + bool my(const id::event &); + bool my(const event &); + size_t degree(const event &); + string_view membership(const event &); + bool check_size(std::nothrow_t, const event &); + void check_size(const event &); + + // [GET] + bool exists(const id::event &); + bool exists(const id::event &, const bool &good); + bool good(const id::event &); + bool bad(const id::event &); + + // Equality tests the event_id only! know this. + bool operator==(const event &a, const event &b); + + // Depth comparison; expect unstable sorting. + bool operator<(const event &, const event &); + bool operator>(const event &, const event &); + bool operator<=(const event &, const event &); + bool operator>=(const event &, const event &); + + // Topological + bool before(const event &a, const event &b); // A directly referenced by B + + id::event make_id(const event &, id::event::buf &buf, const const_buffer &hash); + id::event make_id(const event &, id::event::buf &buf); + + // Informational pretty string condensed to single line. + std::ostream &pretty_oneline(std::ostream &, const event &, const bool &content_keys = true); + std::string pretty_oneline(const event &, const bool &content_keys = true); + + // Informational pretty string on multiple lines. + std::ostream &pretty(std::ostream &, const event &); + std::string pretty(const event &); + + // Informational content-oriented + std::ostream &pretty_msgline(std::ostream &, const event &); + std::string pretty_msgline(const event &); +} + +#include "event/event.h" +#include "event/prev.h" +#include "event/fetch.h" +#include "event/conforms.h" diff --git a/include/ircd/m/event/event.h b/include/ircd/m/event/event.h index 3e364b670..79fad424c 100644 --- a/include/ircd/m/event/event.h +++ b/include/ircd/m/event/event.h @@ -11,52 +11,6 @@ #pragma once #define HAVE_IRCD_M_EVENT_EVENT_H -namespace ircd::m -{ - struct event; - - // General util - bool my(const id::event &); - bool my(const event &); - size_t degree(const event &); - string_view membership(const event &); - bool check_size(std::nothrow_t, const event &); - void check_size(const event &); - - // [GET] - bool exists(const id::event &); - bool exists(const id::event &, const bool &good); - bool good(const id::event &); - bool bad(const id::event &); - - // Equality tests the event_id only! know this. - bool operator==(const event &a, const event &b); - - // Depth comparison; expect unstable sorting. - bool operator<(const event &, const event &); - bool operator>(const event &, const event &); - bool operator<=(const event &, const event &); - bool operator>=(const event &, const event &); - - // Topological - bool before(const event &a, const event &b); // A directly referenced by B - - id::event make_id(const event &, id::event::buf &buf, const const_buffer &hash); - id::event make_id(const event &, id::event::buf &buf); - - // Informational pretty string condensed to single line. - std::ostream &pretty_oneline(std::ostream &, const event &, const bool &content_keys = true); - std::string pretty_oneline(const event &, const bool &content_keys = true); - - // Informational pretty string on multiple lines. - std::ostream &pretty(std::ostream &, const event &); - std::string pretty(const event &); - - // Informational content-oriented - std::ostream &pretty_msgline(std::ostream &, const event &); - std::string pretty_msgline(const event &); -} - #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wsubobject-linkage" /// The Main Event diff --git a/include/ircd/m/m.h b/include/ircd/m/m.h index 53379d565..b07976988 100644 --- a/include/ircd/m/m.h +++ b/include/ircd/m/m.h @@ -32,21 +32,11 @@ namespace ircd::m::vm #include "error.h" #include "self.h" #include "id.h" -#include "event/event.h" -#include "event/prev.h" -#include "event/fetch.h" -#include "event/conforms.h" +#include "event.h" #include "dbs.h" #include "state.h" #include "vm.h" #include "room.h" -#include "room/room.h" -#include "room/messages.h" -#include "room/state.h" -#include "room/members.h" -#include "room/origins.h" -#include "room/head.h" -#include "room/power.h" #include "user.h" #include "users.h" #include "rooms.h" diff --git a/include/ircd/m/room.h b/include/ircd/m/room.h index eb9728b4f..d21e41839 100644 --- a/include/ircd/m/room.h +++ b/include/ircd/m/room.h @@ -66,3 +66,11 @@ namespace ircd::m room create(const id::room &, const id::user &creator, const id::room &parent, const string_view &type); room create(const id::room &, const id::user &creator, const string_view &type = {}); } + +#include "room/room.h" +#include "room/messages.h" +#include "room/state.h" +#include "room/members.h" +#include "room/origins.h" +#include "room/head.h" +#include "room/power.h"