kabc Library API Documentation

ldapconfigwidget.h

00001 /* 00002 This file is part of libkabc. 00003 Copyright (c) 2004 Szombathelyi György <gyurco@freemail.hu> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018 Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef LDAPCONFIGWIDGET_H 00022 #define LDAPCONFIGWIDGET_H 00023 00024 #include <qwidget.h> 00025 #include <qmap.h> 00026 #include <qstring.h> 00027 00028 #include <kabc/ldapurl.h> 00029 #include <kabc/ldif.h> 00030 #include <kio/job.h> 00031 00032 class QGridLayout; 00033 class QSpinBox; 00034 class QPushButton; 00035 class QCheckBox; 00036 class QRadioButton; 00037 class KComboBox; 00038 class KLineEdit; 00039 class KProgressDialog; 00040 00041 namespace KABC { 00042 00050 class KABC_EXPORT LdapConfigWidget : public QWidget 00051 { 00052 Q_OBJECT 00053 Q_PROPERTY( LCW_Flags flags READ flags WRITE setFlags ) 00054 Q_PROPERTY( QString user READ user WRITE setUser ) 00055 Q_PROPERTY( QString password READ password WRITE setPassword ) 00056 Q_PROPERTY( QString bindDN READ bindDN WRITE setBindDN ) 00057 Q_PROPERTY( QString realm READ realm WRITE setRealm ) 00058 Q_PROPERTY( QString host READ host WRITE setHost ) 00059 Q_PROPERTY( int port READ port WRITE setPort ) 00060 Q_PROPERTY( int ver READ ver WRITE setVer ) 00061 Q_PROPERTY( QString dn READ dn WRITE setDn ) 00062 Q_PROPERTY( QString filter READ filter WRITE setFilter ) 00063 Q_PROPERTY( QString mech READ mech WRITE setMech ) 00064 Q_PROPERTY( bool secNO READ isSecNO WRITE setSecNO ) 00065 Q_PROPERTY( bool secSSL READ isSecSSL WRITE setSecSSL ) 00066 Q_PROPERTY( bool secTLS READ isSecSSL WRITE setSecTLS ) 00067 Q_PROPERTY( bool authAnon READ isAuthAnon WRITE setAuthAnon ) 00068 Q_PROPERTY( bool authSimple READ isAuthSimple WRITE setAuthSimple ) 00069 Q_PROPERTY( bool authSASL READ isAuthSASL WRITE setAuthSASL ) 00070 Q_PROPERTY( int sizeLimit READ sizeLimit WRITE setSizeLimit ) 00071 Q_PROPERTY( int timeLimit READ timeLimit WRITE setTimeLimit ) 00072 Q_SETS ( LCW_Flags ) 00073 00074 public: 00075 00076 enum LCW_Flags { 00077 W_USER = 0x1, 00078 W_PASS = 0x2, 00079 W_BINDDN = 0x4, 00080 W_REALM = 0x8, 00081 W_HOST = 0x10, 00082 W_PORT = 0x20, 00083 W_VER = 0x40, 00084 W_DN = 0x80, 00085 W_FILTER = 0x100, 00086 W_SECBOX = 0x400, 00087 W_AUTHBOX = 0x800, 00088 W_TIMELIMIT = 0x1000, 00089 W_SIZELIMIT = 0x2000, 00090 W_ALL = 0xFFFFFFF 00091 }; 00092 00096 LdapConfigWidget( QWidget* parent = 0, 00097 const char* name = 0, WFlags fl = 0 ); 00099 LdapConfigWidget( int flags, QWidget* parent = 0, 00100 const char* name = 0, WFlags fl = 0 ); 00102 virtual ~LdapConfigWidget(); 00103 00105 void setUser( const QString &user ); 00107 QString user() const; 00108 00110 void setPassword( const QString &password ); 00112 QString password() const; 00113 00118 void setBindDN( const QString &binddn ); 00120 QString bindDN() const; 00121 00123 void setRealm( const QString &realm ); 00125 QString realm() const; 00126 00128 void setHost( const QString &host ); 00130 QString host() const; 00131 00133 void setPort( int port ); 00135 int port() const; 00136 00138 void setVer( int ver ); 00140 int ver() const; 00141 00143 void setDn( const QString &dn ); 00145 QString dn() const; 00146 00148 void setFilter( const QString &filter ); 00150 QString filter() const; 00151 00153 void setMech( const QString &mech ); 00155 QString mech() const; 00156 00161 void setSecNO( bool b = true ); 00166 bool isSecNO() const; 00167 00172 void setSecTLS( bool b = true ); 00177 bool isSecTLS() const; 00178 00183 void setSecSSL( bool b = true ); 00188 bool isSecSSL() const; 00189 00194 void setAuthAnon( bool b = true ); 00199 bool isAuthAnon() const; 00200 00205 void setAuthSimple( bool b = true ); 00210 bool isAuthSimple() const; 00211 00216 void setAuthSASL( bool b = true ); 00221 bool isAuthSASL() const; 00222 00227 void setSizeLimit( int sizelimit ); 00232 int sizeLimit() const; 00233 00238 void setTimeLimit( int timelimit ); 00243 int timeLimit() const; 00244 00245 int flags() const; 00246 void setFlags( int flags ); 00247 00252 KABC::LDAPUrl url() const; 00253 00254 private slots: 00255 void setLDAPPort(); 00256 void setLDAPSPort(); 00257 void setAnonymous( int state ); 00258 void setSimple( int state ); 00259 void setSASL( int state ); 00260 void mQueryDNClicked(); 00261 void mQueryMechClicked(); 00262 void loadData( KIO::Job*, const QByteArray& ); 00263 void loadResult( KIO::Job* ); 00264 private: 00265 00266 int mFlags; 00267 LDIF mLdif; 00268 QStringList mQResult; 00269 QString mAttr; 00270 00271 KLineEdit *mUser; 00272 KLineEdit *mPassword; 00273 KLineEdit *mHost; 00274 QSpinBox *mPort, *mVer, *mSizeLimit, *mTimeLimit; 00275 KLineEdit *mDn, *mBindDN, *mRealm; 00276 KLineEdit *mFilter; 00277 QRadioButton *mAnonymous,*mSimple,*mSASL; 00278 QCheckBox *mSubTree; 00279 QPushButton *mEditButton; 00280 QPushButton *mQueryMech; 00281 QRadioButton *mSecNO,*mSecTLS,*mSecSSL; 00282 KComboBox *mMech; 00283 00284 QString mErrorMsg; 00285 bool mCancelled; 00286 KProgressDialog *mProg; 00287 00288 QGridLayout *mainLayout; 00289 class LDAPConfigWidgetPrivate; 00290 LDAPConfigWidgetPrivate *d; 00291 00292 void sendQuery(); 00293 void initWidget(); 00294 }; 00295 } 00296 00297 #endif
KDE Logo
This file is part of the documentation for kabc Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Apr 12 23:27:21 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003