Browse Source

grp interface: group_join() is not part of the MANAGER-API.

Does not exist in listmanagers
 For LIB-16 - "Store groups a user is part of and provide a method to query them"
 We need to create a separate DB _if_ we dont store it in the engine.
LIB-11
heck 4 years ago
parent
commit
5225a3950a
  1. 46
      src/adapter_group.cc
  2. 46
      src/adapter_group.h
  3. 17
      src/grp_update_drv_dummy.cc
  4. 8
      src/grp_update_drv_dummy.hh
  5. 16
      src/grp_update_drv_engine.cc
  6. 8
      src/grp_update_drv_engine.hh
  7. 11
      src/grp_update_interface.hh

46
src/adapter_group.cc

@ -65,29 +65,29 @@ DYNAMIC_API PEP_STATUS adapter_group_create(
return status; return status;
} }
DYNAMIC_API PEP_STATUS //DYNAMIC_API PEP_STATUS
adapter_group_join(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *as_member) //adapter_group_join(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *as_member)
{ //{
pEpLog("called"); // pEpLog("called");
// Do listmanager // // Do listmanager
PEP_STATUS status = gu_listman->adapter_group_join(session, group_identity, as_member); // PEP_STATUS status = gu_listman->adapter_group_join(session, group_identity, as_member);
if (status != PEP_STATUS_OK) { // if (status != PEP_STATUS_OK) {
return status; // return status;
} // }
//
// Do engine // // Do engine
status = gu_engine->adapter_group_join(session, group_identity, as_member); // status = gu_engine->adapter_group_join(session, group_identity, as_member);
if (status != PEP_STATUS_OK) { // if (status != PEP_STATUS_OK) {
// Rollback listman // // Rollback listman
//TODO: ???? // //TODO: ????
// PEP_STATUS rb_stat = gu_listman->adapter_group_dissolve(session, group_identity, manager); // // PEP_STATUS rb_stat = gu_listman->adapter_group_dissolve(session, group_identity, manager);
// if (rb_stat != PEP_STATUS_OK) { // // if (rb_stat != PEP_STATUS_OK) {
// //FATAL ERROR ON ROLLBACK // // //FATAL ERROR ON ROLLBACK
// status = (PEP_STATUS)-9999; // // status = (PEP_STATUS)-9999;
// } // // }
} // }
return status; // return status;
} //}
DYNAMIC_API PEP_STATUS DYNAMIC_API PEP_STATUS
adapter_group_dissolve(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *manager) adapter_group_dissolve(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *manager)

46
src/adapter_group.h

@ -58,29 +58,29 @@ DYNAMIC_API PEP_STATUS adapter_group_create(
identity_list *memberlist); identity_list *memberlist);
/** ///**
* <!-- adapter_group_join() --> // * <!-- adapter_group_join() -->
* // *
* @brief Join a group for which we have received an invitation, marking // * @brief Join a group for which we have received an invitation, marking
* our own membership in the database for the group and sending the manager // * our own membership in the database for the group and sending the manager
* a confirmation of the acceptance of the invitation // * a confirmation of the acceptance of the invitation
* // *
* @param[in] session associated session object // * @param[in] session associated session object
* @param[in] group_identity the pEp_identity object representing the group. Must contain at least // * @param[in] group_identity the pEp_identity object representing the group. Must contain at least
* a user_id and address // * a user_id and address
* @param[in] as_member the pEp_identity object representing the own identity we want to use to // * @param[in] as_member the pEp_identity object representing the own identity we want to use to
* join the group. This must match the identity which was invited to the group. // * join the group. This must match the identity which was invited to the group.
* Must contain a user_id and address. // * Must contain a user_id and address.
* // *
* @retval PEP_STATUS_OK on success // * @retval PEP_STATUS_OK on success
* error on failure // * error on failure
* // *
* @ownership FIXME // * @ownership FIXME
* // *
* // *
*/ // */
DYNAMIC_API PEP_STATUS //DYNAMIC_API PEP_STATUS
adapter_group_join(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *as_member); //adapter_group_join(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *as_member);
/** /**
* <!-- adapter_group_dissolve() --> * <!-- adapter_group_dissolve() -->

17
src/grp_update_drv_dummy.cc

@ -29,14 +29,15 @@ namespace pEp {
return PEP_STATUS_OK; return PEP_STATUS_OK;
} }
PEP_STATUS GroupUpdateDriverDummy::adapter_group_join( // PEP_STATUS GroupUpdateDriverDummy::adapter_group_join(
PEP_SESSION session, // PEP_SESSION session,
pEp_identity *group_identity, // pEp_identity *group_identity,
pEp_identity *as_member) noexcept // pEp_identity *as_member) noexcept
{ // {
pEpLogClass("called"); // pEpLogClass("called");
return PEP_STATUS_OK; //
} // return PEP_STATUS_OK;
// }
PEP_STATUS GroupUpdateDriverDummy::adapter_group_dissolve( PEP_STATUS GroupUpdateDriverDummy::adapter_group_dissolve(
PEP_SESSION session, PEP_SESSION session,

8
src/grp_update_drv_dummy.hh

@ -20,10 +20,10 @@ namespace pEp {
pEp_identity *manager, pEp_identity *manager,
identity_list *memberlist) noexcept override; identity_list *memberlist) noexcept override;
PEP_STATUS adapter_group_join( // PEP_STATUS adapter_group_join(
PEP_SESSION session, // PEP_SESSION session,
pEp_identity *group_identity, // pEp_identity *group_identity,
pEp_identity *as_member) noexcept override; // pEp_identity *as_member) noexcept override;
PEP_STATUS adapter_group_dissolve( PEP_STATUS adapter_group_dissolve(
PEP_SESSION session, PEP_SESSION session,

16
src/grp_update_drv_engine.cc

@ -18,14 +18,14 @@ namespace pEp {
return ::group_create(session, group_identity, manager, memberlist, nullptr); return ::group_create(session, group_identity, manager, memberlist, nullptr);
} }
PEP_STATUS GroupUpdateDriverEngine::adapter_group_join( // PEP_STATUS GroupUpdateDriverEngine::adapter_group_join(
PEP_SESSION session, // PEP_SESSION session,
pEp_identity *group_identity, // pEp_identity *group_identity,
pEp_identity *as_member) noexcept // pEp_identity *as_member) noexcept
{ // {
pEpLogClass("called"); // pEpLogClass("called");
return ::group_join(session, group_identity, as_member); // return ::group_join(session, group_identity, as_member);
} // }
PEP_STATUS GroupUpdateDriverEngine::adapter_group_dissolve( PEP_STATUS GroupUpdateDriverEngine::adapter_group_dissolve(
PEP_SESSION session, PEP_SESSION session,

8
src/grp_update_drv_engine.hh

@ -17,10 +17,10 @@ namespace pEp {
pEp_identity *manager, pEp_identity *manager,
identity_list *memberlist) noexcept override; identity_list *memberlist) noexcept override;
PEP_STATUS adapter_group_join( // PEP_STATUS adapter_group_join(
PEP_SESSION session, // PEP_SESSION session,
pEp_identity *group_identity, // pEp_identity *group_identity,
pEp_identity *as_member) noexcept override; // pEp_identity *as_member) noexcept override;
PEP_STATUS adapter_group_dissolve( PEP_STATUS adapter_group_dissolve(
PEP_SESSION session, PEP_SESSION session,

11
src/grp_update_interface.hh

@ -16,10 +16,13 @@ namespace pEp {
pEp_identity *manager, pEp_identity *manager,
identity_list *memberlist) noexcept = 0; identity_list *memberlist) noexcept = 0;
virtual PEP_STATUS adapter_group_join( // JOIN does not exist in listmanagers
PEP_SESSION session, // For LIB-16 - Store groups a user is part of and provide a method to query them
pEp_identity *group_identity, // We need to create a separate DB _if_ we dont store it in the engine
pEp_identity *as_member) noexcept = 0; // virtual PEP_STATUS adapter_group_join(
// PEP_SESSION session,
// pEp_identity *group_identity,
// pEp_identity *as_member) noexcept = 0;
virtual PEP_STATUS adapter_group_dissolve( virtual PEP_STATUS adapter_group_dissolve(
PEP_SESSION session, PEP_SESSION session,

Loading…
Cancel
Save