diff --git a/src/grp_update_interface.hh b/src/grp_update_interface.hh new file mode 100644 index 0000000..820ae16 --- /dev/null +++ b/src/grp_update_interface.hh @@ -0,0 +1,44 @@ +// This file is under GNU General Public License 3.0 +// see LICENSE.txt + +#ifndef LIBPEPADAPTER_GRP_UPDATE_INTERFACE_HH +#define LIBPEPADAPTER_GRP_UPDATE_INTERFACE_HH + +#include +#include + +namespace pEp { + class GroupUpdateInterface { + public: + virtual PEP_STATUS adapter_group_create( + PEP_SESSION session, + pEp_identity *group_identity, + pEp_identity *manager, + identity_list *memberlist, + pEp_group **group) = 0; + + virtual PEP_STATUS adapter_group_join( + PEP_SESSION session, + pEp_identity *group_identity, + pEp_identity *as_member) = 0; + + virtual PEP_STATUS adapter_group_dissolve( + PEP_SESSION session, + pEp_identity *group_identity, + pEp_identity *manager) = 0; + + virtual PEP_STATUS adapter_group_invite_member( + PEP_SESSION session, + pEp_identity *group_identity, + pEp_identity *group_member) = 0; + + virtual PEP_STATUS adapter_group_remove_member( + PEP_SESSION session, + pEp_identity *group_identity, + pEp_identity *group_member) = 0; + + private: + }; +} // namespace pEp + +#endif // LIBPEPADAPTER_GRP_UPDATE_INTERFACE_HH