diff --git a/solanaceae/contact/components.hpp b/solanaceae/contact/components.hpp index 2b76c0d..b26b601 100644 --- a/solanaceae/contact/components.hpp +++ b/solanaceae/contact/components.hpp @@ -13,6 +13,12 @@ namespace Contact::Components { struct TagSelfStrong {}; struct TagBig {}; + struct RequestIncoming { + bool name = false; + bool password = false; + }; + struct TagRequestOutgoing {}; + // self counterpart struct Self { Contact3 self; diff --git a/solanaceae/contact/components_id.inl b/solanaceae/contact/components_id.inl index d00dab2..c380eac 100644 --- a/solanaceae/contact/components_id.inl +++ b/solanaceae/contact/components_id.inl @@ -15,6 +15,8 @@ constexpr entt::id_type entt::type_hash::value() noexcept { \ DEFINE_COMP_ID(Contact::Components::TagSelfWeak) DEFINE_COMP_ID(Contact::Components::TagSelfStrong) DEFINE_COMP_ID(Contact::Components::TagBig) +DEFINE_COMP_ID(Contact::Components::RequestIncoming) +DEFINE_COMP_ID(Contact::Components::TagRequestOutgoing) DEFINE_COMP_ID(Contact::Components::Self) DEFINE_COMP_ID(Contact::Components::Parent) DEFINE_COMP_ID(Contact::Components::ParentOf) diff --git a/solanaceae/contact/contact_model3.hpp b/solanaceae/contact/contact_model3.hpp index 0ec2615..45b527e 100644 --- a/solanaceae/contact/contact_model3.hpp +++ b/solanaceae/contact/contact_model3.hpp @@ -23,5 +23,8 @@ struct ContactModel3I { //virtual Contact3Handle toPersistent(void) = 0; //virtual Contact3Handle toEphemeral(void) = 0; + + // accept incoming request + virtual void acceptRequest(Contact3 c, std::string_view self_name, std::string_view password) { (void)c,(void)self_name,(void)password; } };