mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 16:19:35 -05:00
130 lines
2.5 KiB
C++
130 lines
2.5 KiB
C++
// $OpenLDAP$
|
|
/*
|
|
* Copyright 2003-2017 The OpenLDAP Foundation, All Rights Reserved.
|
|
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
|
|
*/
|
|
|
|
#include "debug.h"
|
|
#include "LDAPObjClass.h"
|
|
|
|
|
|
LDAPObjClass::LDAPObjClass(){
|
|
DEBUG(LDAP_DEBUG_CONSTRUCT,
|
|
"LDAPObjClass::LDAPObjClass( )" << endl);
|
|
|
|
oid = string ();
|
|
desc = string ();
|
|
names = StringList ();
|
|
must = StringList();
|
|
may = StringList();
|
|
sup = StringList();
|
|
}
|
|
|
|
LDAPObjClass::LDAPObjClass (const LDAPObjClass &oc){
|
|
DEBUG(LDAP_DEBUG_CONSTRUCT,
|
|
"LDAPObjClass::LDAPObjClass( )" << endl);
|
|
|
|
oid = oc.oid;
|
|
desc = oc.desc;
|
|
names = oc.names;
|
|
must = oc.must;
|
|
may = oc.may;
|
|
kind = oc.kind;
|
|
sup = oc.sup;
|
|
}
|
|
|
|
LDAPObjClass::LDAPObjClass (string oc_item, int flags ) {
|
|
|
|
DEBUG(LDAP_DEBUG_CONSTRUCT,
|
|
"LDAPObjClass::LDAPObjClass( )" << endl);
|
|
|
|
LDAPObjectClass *o;
|
|
int ret;
|
|
const char *errp;
|
|
o = ldap_str2objectclass ( oc_item.c_str(), &ret, &errp, flags );
|
|
|
|
if (o) {
|
|
this->setNames (o->oc_names);
|
|
this->setDesc (o->oc_desc);
|
|
this->setOid (o->oc_oid);
|
|
this->setKind (o->oc_kind);
|
|
this->setMust (o->oc_at_oids_must);
|
|
this->setMay (o->oc_at_oids_may);
|
|
this->setSup (o->oc_sup_oids);
|
|
}
|
|
// else? -> error
|
|
}
|
|
|
|
LDAPObjClass::~LDAPObjClass() {
|
|
DEBUG(LDAP_DEBUG_DESTROY,"LDAPObjClass::~LDAPObjClass()" << endl);
|
|
}
|
|
|
|
void LDAPObjClass::setKind (int oc_kind) {
|
|
kind = oc_kind;
|
|
}
|
|
|
|
void LDAPObjClass::setNames (char **oc_names) {
|
|
names = StringList (oc_names);
|
|
}
|
|
|
|
void LDAPObjClass::setMust (char **oc_must) {
|
|
must = StringList (oc_must);
|
|
}
|
|
|
|
void LDAPObjClass::setMay (char **oc_may) {
|
|
may = StringList (oc_may);
|
|
}
|
|
|
|
void LDAPObjClass::setSup (char **oc_sup) {
|
|
sup = StringList (oc_sup);
|
|
}
|
|
|
|
void LDAPObjClass::setDesc (char *oc_desc) {
|
|
desc = string ();
|
|
if (oc_desc)
|
|
desc = oc_desc;
|
|
}
|
|
|
|
void LDAPObjClass::setOid (char *oc_oid) {
|
|
oid = string ();
|
|
if (oc_oid)
|
|
oid = oc_oid;
|
|
}
|
|
|
|
string LDAPObjClass::getOid() const {
|
|
return oid;
|
|
}
|
|
|
|
string LDAPObjClass::getDesc() const {
|
|
return desc;
|
|
}
|
|
|
|
StringList LDAPObjClass::getNames() const {
|
|
return names;
|
|
}
|
|
|
|
StringList LDAPObjClass::getMust() const {
|
|
return must;
|
|
}
|
|
|
|
StringList LDAPObjClass::getMay() const {
|
|
return may;
|
|
}
|
|
|
|
StringList LDAPObjClass::getSup() const {
|
|
return sup;
|
|
}
|
|
|
|
string LDAPObjClass::getName() const {
|
|
|
|
if (names.empty())
|
|
return "";
|
|
else
|
|
return *(names.begin());
|
|
}
|
|
|
|
int LDAPObjClass::getKind() const {
|
|
return kind;
|
|
}
|
|
|
|
|