mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-21 07:09:34 -05:00
39 lines
1 KiB
C++
39 lines
1 KiB
C++
/*
|
|
* Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
|
|
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
|
|
*/
|
|
|
|
|
|
#include "LDAPModification.h"
|
|
#include "debug.h"
|
|
|
|
using namespace std;
|
|
|
|
LDAPModification::LDAPModification(const LDAPAttribute& attr, mod_op op){
|
|
DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPModification::LDAPModification()" << endl);
|
|
DEBUG(LDAP_DEBUG_CONSTRUCT | LDAP_DEBUG_PARAMETER,
|
|
" attr:" << attr << endl);
|
|
m_attr = attr;
|
|
m_mod_op = op;
|
|
}
|
|
|
|
LDAPMod* LDAPModification::toLDAPMod() const {
|
|
DEBUG(LDAP_DEBUG_TRACE,"LDAPModification::toLDAPMod()" << endl);
|
|
LDAPMod* ret=m_attr.toLDAPMod();
|
|
|
|
//The mod_op value of the LDAPMod-struct needs to be ORed with the right
|
|
// LDAP_MOD_* constant to preserve the BIN-flag (see CAPI-draft for
|
|
// explanation of the LDAPMod struct)
|
|
switch (m_mod_op){
|
|
case OP_ADD :
|
|
ret->mod_op |= LDAP_MOD_ADD;
|
|
break;
|
|
case OP_DELETE :
|
|
ret->mod_op |= LDAP_MOD_DELETE;
|
|
break;
|
|
case OP_REPLACE :
|
|
ret->mod_op |= LDAP_MOD_REPLACE;
|
|
break;
|
|
}
|
|
return ret;
|
|
}
|