]> git.sur5r.net Git - openldap/commitdiff
add support for usage flag
authorRalf Haferkamp <ralf@openldap.org>
Tue, 9 Jan 2007 12:24:04 +0000 (12:24 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Tue, 9 Jan 2007 12:24:04 +0000 (12:24 +0000)
contrib/ldapc++/src/LDAPAttrType.cpp
contrib/ldapc++/src/LDAPAttrType.h

index 121f9b625018caa0831ea9f5cf5c72fc82a9654d..d43cf13435ae6f3133cbd4d09f05652632b0a1be 100644 (file)
@@ -15,6 +15,7 @@ LDAPAttrType::LDAPAttrType(){
     desc = string ();
     names = StringList ();
     single = false;
+    usage = 0;
 }
 
 LDAPAttrType::LDAPAttrType (const LDAPAttrType &at){
@@ -25,6 +26,7 @@ LDAPAttrType::LDAPAttrType (const LDAPAttrType &at){
     desc = at.desc;
     names = at.names;
     single = at.single;
+    usage = at.usage;
 }
 
 LDAPAttrType::LDAPAttrType (string at_item) { 
@@ -38,10 +40,11 @@ LDAPAttrType::LDAPAttrType (string at_item) {
     a = ldap_str2attributetype (at_item.c_str(), &ret, &errp,SCHEMA_PARSE_FLAG);
 
     if (a) {
-       this->setNames (a->at_names);
-       this->setDesc (a->at_desc);
-       this->setOid (a->at_oid);
-       this->setSingle (a->at_single_value);
+       this->setNames( a->at_names );
+       this->setDesc( a->at_desc );
+       this->setOid( a->at_oid );
+       this->setSingle( a->at_single_value );
+       this->setSingle( a->at_usage );
     }
     // else? -> error
 }
@@ -70,6 +73,10 @@ void LDAPAttrType::setOid (char *at_oid) {
        oid = at_oid;
 }
 
+void LDAPAttrType::setUsage (int at_usage) {
+    usage = at_usage;
+}
+
 bool LDAPAttrType::isSingle () {
     return single;
 }
@@ -93,3 +100,7 @@ string LDAPAttrType::getName () {
     else
        return *(names.begin());
 }
+
+int LDAPAttrType::getUsage () {
+    return usage;
+}
index 3042ab5a3342869b38ae5e0625357ef26193d70f..88f066ed88a378b032d3d8d880739f5476709557 100644 (file)
@@ -24,6 +24,7 @@ class LDAPAttrType{
        StringList names;
        string desc, oid;
        bool single;
+       int usage;
        
     public :
 
@@ -74,15 +75,22 @@ class LDAPAttrType{
        StringList getNames();
        
        /**
-        * Returns true if attribute type hllows only single value
+        * Returns true if attribute type allows only single value
         */
        bool isSingle();
        
+       /**
+        * Return the 'usage' value:
+        * (0=userApplications, 1=directoryOperation, 2=distributedOperation, 
+        *  3=dSAOperation)
+        */
+       int getUsage ();
+
        void setNames (char **at_names);
        void setDesc (char *at_desc);
        void setOid (char *at_oid);
        void setSingle (int at_single_value);
-       
+       void setUsage (int at_usage );
 };
 
 #endif // LDAP_ATTRTYPE_H