You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.7 KiB
95 lines
2.7 KiB
// This file is under GNU General Public License 3.0
|
|
// see LICENSE.txt
|
|
//#include <pEp/group.h>
|
|
|
|
#include "group_manager_api.h"
|
|
#include "grp_driver_replicator.hh"
|
|
#include "pEpLog.hh"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
using namespace std;
|
|
|
|
pEp::Adapter::GroupDriverReplicator adapter_grp_manager{};
|
|
|
|
/*************************************************************************************************
|
|
* Group management functions
|
|
*************************************************************************************************/
|
|
DYNAMIC_API PEP_STATUS adapter_group_create(
|
|
PEP_SESSION session,
|
|
pEp_identity *group_identity,
|
|
pEp_identity *manager,
|
|
identity_list *memberlist)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager
|
|
.adapter_group_create(session, group_identity, manager, memberlist);
|
|
return status;
|
|
}
|
|
|
|
|
|
DYNAMIC_API PEP_STATUS
|
|
adapter_group_dissolve(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *manager)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.adapter_group_dissolve(session, group_identity, manager);
|
|
return status;
|
|
}
|
|
|
|
DYNAMIC_API PEP_STATUS adapter_group_invite_member(
|
|
PEP_SESSION session,
|
|
pEp_identity *group_identity,
|
|
pEp_identity *group_member)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.adapter_group_invite_member(
|
|
session,
|
|
group_identity,
|
|
group_member);
|
|
return status;
|
|
}
|
|
|
|
PEP_STATUS adapter_group_remove_member(
|
|
PEP_SESSION session,
|
|
pEp_identity *group_identity,
|
|
pEp_identity *group_member)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.adapter_group_remove_member(
|
|
session,
|
|
group_identity,
|
|
group_member);
|
|
return status;
|
|
}
|
|
|
|
/*************************************************************************************************
|
|
* Group query functions
|
|
*************************************************************************************************/
|
|
DYNAMIC_API PEP_STATUS group_query_groups(PEP_SESSION session, identity_list **groups)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.group_query_groups(session, groups);
|
|
return status;
|
|
}
|
|
|
|
DYNAMIC_API PEP_STATUS
|
|
group_query_manager(PEP_SESSION session, const pEp_identity *const group, pEp_identity **manager)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.group_query_manager(session, group, manager);
|
|
return status;
|
|
}
|
|
|
|
DYNAMIC_API PEP_STATUS
|
|
group_query_members(PEP_SESSION session, const pEp_identity *const group, identity_list **members)
|
|
{
|
|
pEpLog("called");
|
|
PEP_STATUS status = adapter_grp_manager.group_query_members(session, group, members);
|
|
return status;
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|