00001 // $OpenLDAP$ 00002 /* 00003 * Copyright 2003, OpenLDAP Foundation, All Rights Reserved. 00004 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 00005 */ 00006 00007 #ifndef LDAP_SCHEMA_H 00008 #define LDAP_SCHEMA_H 00009 00010 #include <string> 00011 #include <map> 00012 00013 #include "LDAPObjClass.h" 00014 #include "LDAPAttrType.h" 00015 00019 class LDAPSchema{ 00020 private : 00024 map <string, LDAPObjClass> object_classes; 00025 00029 map <string, LDAPAttrType> attr_types; 00030 00031 public : 00032 00036 LDAPSchema(); 00037 00041 virtual ~LDAPSchema(); 00042 00050 void setObjectClasses (const StringList &oc); 00051 00059 void setAttributeTypes (const StringList &at); 00060 00064 LDAPObjClass getObjectClassByName (std::string name); 00065 00069 LDAPAttrType getAttributeTypeByName (string name); 00070 00071 }; 00072 00073 #endif // LDAP_SCHEMA_H