1// $OpenLDAP$ 2/* 3 * Copyright 2003-2011 The OpenLDAP Foundation, All Rights Reserved. 4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 5 */ 6 7#include "debug.h" 8#include "LDAPObjClass.h" 9 10 11LDAPObjClass::LDAPObjClass(){ 12 DEBUG(LDAP_DEBUG_CONSTRUCT, 13 "LDAPObjClass::LDAPObjClass( )" << endl); 14 15 oid = string (); 16 desc = string (); 17 names = StringList (); 18 must = StringList(); 19 may = StringList(); 20 sup = StringList(); 21} 22 23LDAPObjClass::LDAPObjClass (const LDAPObjClass &oc){ 24 DEBUG(LDAP_DEBUG_CONSTRUCT, 25 "LDAPObjClass::LDAPObjClass( )" << endl); 26 27 oid = oc.oid; 28 desc = oc.desc; 29 names = oc.names; 30 must = oc.must; 31 may = oc.may; 32 kind = oc.kind; 33 sup = oc.sup; 34} 35 36LDAPObjClass::LDAPObjClass (string oc_item, int flags ) { 37 38 DEBUG(LDAP_DEBUG_CONSTRUCT, 39 "LDAPObjClass::LDAPObjClass( )" << endl); 40 41 LDAPObjectClass *o; 42 int ret; 43 const char *errp; 44 o = ldap_str2objectclass ( oc_item.c_str(), &ret, &errp, flags ); 45 46 if (o) { 47 this->setNames (o->oc_names); 48 this->setDesc (o->oc_desc); 49 this->setOid (o->oc_oid); 50 this->setKind (o->oc_kind); 51 this->setMust (o->oc_at_oids_must); 52 this->setMay (o->oc_at_oids_may); 53 this->setSup (o->oc_sup_oids); 54 } 55 // else? -> error 56} 57 58LDAPObjClass::~LDAPObjClass() { 59 DEBUG(LDAP_DEBUG_DESTROY,"LDAPObjClass::~LDAPObjClass()" << endl); 60} 61 62void LDAPObjClass::setKind (int oc_kind) { 63 kind = oc_kind; 64} 65 66void LDAPObjClass::setNames (char **oc_names) { 67 names = StringList (oc_names); 68} 69 70void LDAPObjClass::setMust (char **oc_must) { 71 must = StringList (oc_must); 72} 73 74void LDAPObjClass::setMay (char **oc_may) { 75 may = StringList (oc_may); 76} 77 78void LDAPObjClass::setSup (char **oc_sup) { 79 sup = StringList (oc_sup); 80} 81 82void LDAPObjClass::setDesc (char *oc_desc) { 83 desc = string (); 84 if (oc_desc) 85 desc = oc_desc; 86} 87 88void LDAPObjClass::setOid (char *oc_oid) { 89 oid = string (); 90 if (oc_oid) 91 oid = oc_oid; 92} 93 94string LDAPObjClass::getOid() const { 95 return oid; 96} 97 98string LDAPObjClass::getDesc() const { 99 return desc; 100} 101 102StringList LDAPObjClass::getNames() const { 103 return names; 104} 105 106StringList LDAPObjClass::getMust() const { 107 return must; 108} 109 110StringList LDAPObjClass::getMay() const { 111 return may; 112} 113 114StringList LDAPObjClass::getSup() const { 115 return sup; 116} 117 118string LDAPObjClass::getName() const { 119 120 if (names.empty()) 121 return ""; 122 else 123 return *(names.begin()); 124} 125 126int LDAPObjClass::getKind() const { 127 return kind; 128} 129 130 131