void LdapClient::startQuery( const QString& filter ) { cancelQuery(); LDAPUrl url; url.setProtocol( "ldap" ); url.setUser( d->bindDN ); url.setPass( d->pwdBindDN ); url.setHost( mHost ); url.setPort( mPort.toUInt() ); url.setDn( mBase ); url.setAttributes( mAttrs ); url.setScope( mScope == "one" ? LDAPUrl::One : LDAPUrl::Sub ); url.setFilter( "("+filter+")" ); kdDebug(5700) << "Doing query: " << url.prettyURL() << endl; startParseLDIF(); mActive = true; mJob = KIO::get( url, false, false ); connect( mJob, SIGNAL( data( KIO::Job*, const QByteArray& ) ), this, SLOT( slotData( KIO::Job*, const QByteArray& ) ) ); connect( mJob, SIGNAL( infoMessage( KIO::Job*, const QString& ) ), this, SLOT( slotInfoMessage( KIO::Job*, const QString& ) ) ); connect( mJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotDone() ) ); }
void LDAPProtocol::LDAPEntry2UDSEntry( const TQString &dn, UDSEntry &entry, const LDAPUrl &usrc, bool dir ) { UDSAtom atom; int pos; entry.clear(); atom.m_uds = UDS_NAME; atom.m_long = 0; TQString name = dn; if ( (pos = name.find(",")) > 0 ) name = name.left( pos ); if ( (pos = name.find("=")) > 0 ) name.remove( 0, pos+1 ); name.replace(' ', "_"); if ( !dir ) name += ".ldif"; atom.m_str = name; entry.append( atom ); // the file type atom.m_uds = UDS_FILE_TYPE; atom.m_str = ""; atom.m_long = dir ? S_IFDIR : S_IFREG; entry.append( atom ); // the mimetype if (!dir) { atom.m_uds = UDS_MIME_TYPE; atom.m_long = 0; atom.m_str = "text/plain"; entry.append( atom ); } atom.m_uds = UDS_ACCESS; atom.m_long = dir ? 0500 : 0400; entry.append( atom ); // the url atom.m_uds = UDS_URL; atom.m_long = 0; LDAPUrl url; url=usrc; url.setPath("/"+dn); url.setScope( dir ? LDAPUrl::One : LDAPUrl::Base ); atom.m_str = url.prettyURL(); entry.append( atom ); }