int LdapOperation::add_s( const LdapObject &object ) { Q_ASSERT( d->mConnection ); LDAP *ld = (LDAP *) d->mConnection->handle(); LDAPMod **lmod = 0; LDAPControl **serverctrls = 0, **clientctrls = 0; createControls( &serverctrls, d->mServerCtrls ); createControls( &serverctrls, d->mClientCtrls ); for ( LdapAttrMap::ConstIterator it = object.attributes().begin(); it != object.attributes().end(); ++it ) { QString attr = it.key(); for ( LdapAttrValue::ConstIterator it2 = ( *it ).begin(); it2 != (*it).end(); ++it2 ) { addModOp( &lmod, 0, attr, &( *it2 ) ); } } int retval = ldap_add_ext_s( ld, object.dn().toString().toUtf8().data(), lmod, serverctrls, clientctrls ); ldap_controls_free( serverctrls ); ldap_controls_free( clientctrls ); ldap_mods_free( lmod, 1 ); return retval; }
QString LdapObject::toString() const { QString result = QString::fromLatin1( "\ndn: %1\n" ).arg( dn ); for ( LdapAttrMap::ConstIterator it = attrs.begin(); it != attrs.end(); ++it ) { QString attr = it.key(); for ( LdapAttrValue::ConstIterator it2 = (*it).begin(); it2 != (*it).end(); ++it2 ) { result += QString::fromUtf8( LDIF::assembleLine( attr, *it2, 76 ) ) + "\n"; } } return result; }