mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-23 18:32:51 +00:00
117 lines
3.4 KiB
C
117 lines
3.4 KiB
C
![]() |
/*
|
||
|
This file is part of libkldap.
|
||
|
Copyright (c) 2004-2006 Szombathelyi György <gyurco@freemail.hu>
|
||
|
|
||
|
This library is free software; you can redistribute it and/or
|
||
|
modify it under the terms of the GNU Library General Public
|
||
|
License as published by the Free Software Foundation; either
|
||
|
version 2 of the License, or (at your option) any later version.
|
||
|
|
||
|
This library is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
Library General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Library General Public License
|
||
|
along with this library; see the file COPYING.LIB. If not, write to
|
||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||
|
Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
|
||
|
#ifndef KLDAP_LDAPOBJECT_H
|
||
|
#define KLDAP_LDAPOBJECT_H
|
||
|
|
||
|
#include <QtCore/QList>
|
||
|
#include <QtCore/QMap>
|
||
|
#include <QtCore/QSharedDataPointer>
|
||
|
#include <QtCore/QString>
|
||
|
|
||
|
#include "ldapdn.h"
|
||
|
#include "kldap_export.h"
|
||
|
|
||
|
namespace KLDAP {
|
||
|
|
||
|
typedef QList<QByteArray> LdapAttrValue;
|
||
|
typedef QMap<QString,LdapAttrValue > LdapAttrMap;
|
||
|
|
||
|
/**
|
||
|
* @brief
|
||
|
* This class represents an LDAP Object
|
||
|
*/
|
||
|
class KLDAP_EXPORT LdapObject
|
||
|
{
|
||
|
public:
|
||
|
LdapObject();
|
||
|
explicit LdapObject( const QString &dn );
|
||
|
virtual ~LdapObject();
|
||
|
|
||
|
LdapObject( const LdapObject &that );
|
||
|
LdapObject &operator=( const LdapObject &that );
|
||
|
|
||
|
/**
|
||
|
* Returns the text presentation (LDIF format) of the object.
|
||
|
*/
|
||
|
QString toString() const;
|
||
|
|
||
|
/**
|
||
|
* Clears the name and attributes of the object.
|
||
|
*/
|
||
|
void clear();
|
||
|
/**
|
||
|
* Sets the Distinguished Name of the object.
|
||
|
*/
|
||
|
void setDn( const LdapDN &dn );
|
||
|
/**
|
||
|
* Sets the Distinguished Name of the object.
|
||
|
*/
|
||
|
void setDn( const QString &dn );
|
||
|
/**
|
||
|
* Sets the attributes and attribute values of the object.
|
||
|
*/
|
||
|
void setAttributes( const LdapAttrMap &attrs );
|
||
|
/**
|
||
|
* Sets the given attribute values. If the given attribute not exists,
|
||
|
* then it's created, if exists, it's overwritten.
|
||
|
* @param attributeName the attribute name for which to set values
|
||
|
* @param values the values of attribute to set
|
||
|
*/
|
||
|
void setValues( const QString &attributeName, const LdapAttrValue &values );
|
||
|
/**
|
||
|
* Adds the given value to the specified attribute. If the given attribute
|
||
|
* not exists, then it's created.
|
||
|
* @param attributeName the attribute for which to add a value
|
||
|
* @param value the attribute value to add
|
||
|
*/
|
||
|
void addValue( const QString &attributeName, const QByteArray &value );
|
||
|
/**
|
||
|
* Return the Distinguished Name of the object.
|
||
|
*/
|
||
|
LdapDN dn() const;
|
||
|
/**
|
||
|
* Returns the attributes and their values.
|
||
|
*/
|
||
|
const LdapAttrMap &attributes() const;
|
||
|
/**
|
||
|
* Returns all values of the attribute with the given name.
|
||
|
*/
|
||
|
LdapAttrValue values( const QString &attributeName ) const;
|
||
|
/**
|
||
|
* Returns the first value of the attribute with the given name
|
||
|
* or an empty byte array if the attribute does not exists.
|
||
|
*/
|
||
|
QByteArray value( const QString &attributeName ) const;
|
||
|
/**
|
||
|
* Returns true if the given attributethe exists, false otherwise.
|
||
|
*/
|
||
|
bool hasAttribute( const QString &attributeName ) const;
|
||
|
|
||
|
private:
|
||
|
class Private;
|
||
|
QSharedDataPointer<Private> d;
|
||
|
};
|
||
|
|
||
|
typedef QList<LdapObject> LdapObjects;
|
||
|
}
|
||
|
|
||
|
#endif
|