1 | /* |
2 | This file is part of libkldap. |
3 | Copyright (c) 2006 Sean Harmer <sh@theharmers.co.uk> |
4 | |
5 | This library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Library General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2 of the License, or (at your option) any later version. |
9 | |
10 | This library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Library General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 | Boston, MA 02110-1301, USA. |
19 | */ |
20 | |
21 | #ifndef KLDAP_LDAPDN_H |
22 | #define KLDAP_LDAPDN_H |
23 | |
24 | #include "kldap_export.h" |
25 | |
26 | #include <QtCore/QStringList> |
27 | |
28 | #include <kldap/kldap_export.h> |
29 | |
30 | namespace KLDAP { |
31 | |
32 | class KLDAP_EXPORT LdapDN |
33 | { |
34 | public: |
35 | explicit LdapDN(); |
36 | explicit LdapDN( const QString &dn ); |
37 | |
38 | LdapDN( const LdapDN &that ); |
39 | LdapDN &operator=( const LdapDN &that ); |
40 | |
41 | ~LdapDN(); |
42 | |
43 | void clear(); |
44 | |
45 | bool isEmpty() const; |
46 | |
47 | /** |
48 | * \returns A QString representing the DN. |
49 | */ |
50 | QString toString() const; |
51 | |
52 | /** |
53 | * \param depth The depth of the DN to return using a zero-based index. |
54 | * \returns A QString representing the DN levels deep in the directory. |
55 | */ |
56 | QString toString( int depth ) const; |
57 | |
58 | /** |
59 | * \returns A QString representing the RDN of this DN. |
60 | */ |
61 | QString rdnString() const; |
62 | |
63 | /** |
64 | * \param depth The depth of the RDN to return using a zero-based index. |
65 | * \returns A QString representing the RDN levels deep in the directory. |
66 | */ |
67 | QString rdnString( int depth ) const; |
68 | |
69 | /** |
70 | * \returns True if this is a valid DN, false otherwise. |
71 | */ |
72 | bool isValid() const; |
73 | |
74 | /** |
75 | * \returns The depth of this DN in the directory. |
76 | */ |
77 | int depth() const; |
78 | |
79 | bool operator == ( const LdapDN &rhs ) const; |
80 | |
81 | bool operator != ( const LdapDN &rhs ) const; |
82 | |
83 | private: |
84 | class LdapDNPrivate; |
85 | LdapDNPrivate *const d; |
86 | }; |
87 | |
88 | } |
89 | |
90 | #endif |
91 | |