~ttx/openldap/lucid-gssapi-495418

« back to all changes in this revision

Viewing changes to contrib/ldapc++/src/LDAPObjClass.h

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2008-07-10 14:45:49 UTC
  • Revision ID: james.westby@ubuntu.com-20080710144549-wck73med0e72gfyo
Tags: upstream-2.4.10
ImportĀ upstreamĀ versionĀ 2.4.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// $OpenLDAP: pkg/ldap/contrib/ldapc++/src/LDAPObjClass.h,v 1.3.6.2 2008/05/01 21:28:42 quanah Exp $
 
2
/*
 
3
 * Copyright 2003, OpenLDAP Foundation, All Rights Reserved.
 
4
 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
 
5
 */
 
6
 
 
7
#ifndef LDAP_OBJCLASS_H
 
8
#define LDAP_OBJCLASS_H
 
9
 
 
10
#include <ldap_schema.h>
 
11
#include <string>
 
12
 
 
13
#include "StringList.h"
 
14
 
 
15
#define SCHEMA_PARSE_FLAG    0x03
 
16
 
 
17
 
 
18
using namespace std;
 
19
 
 
20
/**
 
21
 * Represents the Object Class (from LDAP schema)
 
22
 */
 
23
class LDAPObjClass{
 
24
    private :
 
25
        StringList names, must, may, sup;
 
26
        string desc, oid;
 
27
        int kind;
 
28
        
 
29
    public :
 
30
 
 
31
        /**
 
32
         * Constructs an empty object.
 
33
         */   
 
34
        LDAPObjClass();
 
35
 
 
36
        /**
 
37
         * Copy constructor
 
38
         */   
 
39
        LDAPObjClass (const LDAPObjClass& oc);
 
40
 
 
41
        /**
 
42
         * Constructs new object and fills the data structure by parsing the
 
43
         * argument.
 
44
         * @param oc_item description of object class is string returned
 
45
         * by the search command. It is in the form:
 
46
         * "( SuSE.YaST.OC:5 NAME 'userTemplate' SUP objectTemplate STRUCTURAL
 
47
         *    DESC 'User object template' MUST ( cn ) MAY ( secondaryGroup ))"
 
48
         */   
 
49
        LDAPObjClass (string oc_item);
 
50
 
 
51
        /**
 
52
         * Destructor
 
53
         */
 
54
        virtual ~LDAPObjClass();
 
55
        
 
56
        /**
 
57
         * Returns object class description
 
58
         */
 
59
        string getDesc() const;
 
60
        
 
61
        /**
 
62
         * Returns object class oid
 
63
         */
 
64
        string getOid() const;
 
65
 
 
66
        /**
 
67
         * Returns object class name (first one if there are more of them)
 
68
         */
 
69
        string getName() const;
 
70
 
 
71
        /**
 
72
         * Returns object class kind: 0=ABSTRACT, 1=STRUCTURAL, 2=AUXILIARY
 
73
         */
 
74
        int getKind() const;
 
75
 
 
76
        /**
 
77
         * Returns all object class names
 
78
         */
 
79
        StringList getNames() const;
 
80
        
 
81
        /**
 
82
         * Returns list of required attributes
 
83
         */
 
84
        StringList getMust() const;
 
85
        
 
86
        /**
 
87
         * Returns list of allowed (and not required) attributes
 
88
         */
 
89
        StringList getMay() const;
 
90
        
 
91
        /**
 
92
         * Returns list of the OIDs of the superior ObjectClasses
 
93
         */
 
94
        StringList getSup() const;
 
95
 
 
96
        void setNames (char **oc_names);
 
97
        void setMay (char **oc_may);
 
98
        void setMust (char **oc_must);
 
99
        void setDesc (char *oc_desc);
 
100
        void setOid (char *oc_oid);
 
101
        void setKind (int oc_kind);
 
102
        void setSup (char **oc_sup);
 
103
        
 
104
};
 
105
 
 
106
#endif // LDAP_OBJCLASS_H