00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KOCKPITUSER_H
00020 #define KOCKPITUSER_H
00021
00022 #include <QVariant>
00023 #include <QString>
00024 #include <QStringList>
00025 #include <iostream>
00026 #include <string>
00027 #include "attributemap.h"
00028 #include "kockpitaddress.h"
00029 #include "kockpitaccount.h"
00030 #include "kockpitcontact.h"
00031 #include "kockpitunit.h"
00032 #include "kockpitbackendentry.h"
00033
00035
00042 class KockpitUser : public QObject, public KockpitUnit, public virtual KockpitAccount, public virtual KockpitContact,
00043 virtual public KockpitBackendEntry {
00044
00045
00046 Q_OBJECT
00047
00048
00049
00050 Q_PROPERTY(QString uid READ getUid WRITE setUid)
00051 Q_PROPERTY(QString homeDir READ getHomeDir WRITE setHomeDir)
00052 Q_PROPERTY(QString loginShell READ getLoginShell WRITE setLoginShell)
00053 Q_PROPERTY(QString description READ getDescription WRITE setDescription)
00054 Q_PROPERTY(QString domain READ getDomain WRITE setDomain)
00055 Q_PROPERTY(QString sid READ getSid WRITE setSid)
00056 Q_PROPERTY(QString primGrpSid READ getPrimGrpSid WRITE setPrimGrpSid)
00057
00058 Q_PROPERTY(QStringList memberOf READ getMemberOf WRITE setMemberOf)
00059
00060 Q_PROPERTY(int shadowLastChange READ getShadowLastChange WRITE setShadowLastChange)
00061 Q_PROPERTY(int shadowMin READ getShadowMin WRITE setShadowMin)
00062 Q_PROPERTY(int shadowMax READ getShadowMax WRITE setShadowMax)
00063 Q_PROPERTY(int shadowWarning READ getShadowWarning WRITE setShadowWarning)
00064 Q_PROPERTY(int shadowInactive READ getShadowInactive WRITE setShadowInactive)
00065 Q_PROPERTY(int shadowExpire READ getShadowExpire WRITE setShadowExpire)
00066 Q_PROPERTY(int uidNumber READ getUidNumber WRITE setUidNumber)
00067 Q_PROPERTY(int gidNumber READ getGidNumber WRITE setGidNumber)
00068 Q_PROPERTY(int rid READ getRid WRITE setRid)
00069
00070
00071 Q_PROPERTY(QString distName READ getDistName WRITE setDistName)
00072 Q_PROPERTY(QStringList objectClasses READ getObjectClasses WRITE setObjectClasses)
00073
00074
00075 Q_PROPERTY(QString name READ getName WRITE setName)
00076 Q_PROPERTY(QString givenName READ getGivenName WRITE setGivenName)
00077 Q_PROPERTY(QString commonName READ getCommonName WRITE setCommonName)
00078 Q_PROPERTY(QString mail READ getMail WRITE setMail)
00079 Q_PROPERTY(QString tel READ getTel WRITE setTel)
00080 Q_PROPERTY(QString mobile READ getMobile WRITE setMobile)
00081
00082 public:
00084
00087 KockpitUser();
00088
00090
00094 KockpitUser(objmode unitmode);
00095
00096
00098
00123 KockpitUser(const QString &commonName, const QString &mail,const QString &tel,
00124 const QString &mobile, const QString &icq,
00125 const QString &uid,
00126 const QString &homeDir, const QString &loginShell,
00127 const QString &domain, const QString &sid,
00128 const QString &primGrpSid, const QStringList &memberOf,
00129 const QString &distName, const QStringList &objectClasses,
00130 int shadowLastChange, int shadowMin, int shadowMax,
00131 int shadowWarning, int shadowInactive,
00132 int shadowExpire, int uidNumber ,int gidNumber, int rid);
00133
00135 virtual ~KockpitUser(){ }
00136
00138
00142 QString toQString() const;
00143
00145
00150 friend std::ostream& operator <<(std::ostream& output, const KockpitUser& kuser);
00151
00153
00157 QString getDistName() const;
00158
00160
00164 objtype getObjType() const;
00165
00167
00171 objmode getObjMode() const;
00172
00174
00178 void setDistName(const QString &distName);
00179
00181
00185 void setObjType(objtype type);
00186
00188
00192 void setObjMode(objmode unitmode);
00193
00194 };
00195
00196 Q_DECLARE_METATYPE(KockpitUser*)
00197
00198 #endif // KOCKPITUSER_H