Branch 'kolab/integration/4.13.0' - akonadi/collectionidentificationattribute.cpp akonadi/collectionidentificationattribute.h

Sandro Knauß knauss at kolabsys.com
Thu Oct 2 19:52:30 CEST 2014


 akonadi/collectionidentificationattribute.cpp |   53 +++++++++++++++++++++++++-
 akonadi/collectionidentificationattribute.h   |   12 +++++
 2 files changed, 62 insertions(+), 3 deletions(-)

New commits:
commit 6391a8cdb9fdf120dbface38a13d1461bebae578
Author: Sandro Knauß <knauss at kolabsys.com>
Date:   Thu Oct 2 19:08:56 2014 +0200

    Implement ldap search in calendar selection
    
    KOLAB: #3543
    
    (needs rebuildung kolab resource and baloo)

diff --git a/akonadi/collectionidentificationattribute.cpp b/akonadi/collectionidentificationattribute.cpp
index ae3908d..ab15cc1 100644
--- a/akonadi/collectionidentificationattribute.cpp
+++ b/akonadi/collectionidentificationattribute.cpp
@@ -24,19 +24,28 @@
 #include <QByteArray>
 #include <QList>
 
+#include <KDebug>
+
 class CollectionIdentificationAttribute::Private
 {
 public:
     Private() {}
     QByteArray mFolderNamespace;
     QByteArray mIdentifier;
+    QByteArray mName;
+    QByteArray mOrganizationUnit;
+    QByteArray mMail;
 };
 
-CollectionIdentificationAttribute::CollectionIdentificationAttribute(const QByteArray &identifier, const QByteArray &folderNamespace)
+CollectionIdentificationAttribute::CollectionIdentificationAttribute(const QByteArray &identifier, const QByteArray &folderNamespace,
+                                                                     const QByteArray &name, const QByteArray &organizationUnit, const QByteArray &mail)
     :d(new Private)
 {
     d->mIdentifier = identifier;
     d->mFolderNamespace = folderNamespace;
+    d->mName = name;
+    d->mOrganizationUnit = organizationUnit;
+    d->mMail = mail;
 }
 
 CollectionIdentificationAttribute::~CollectionIdentificationAttribute()
@@ -54,6 +63,37 @@ QByteArray CollectionIdentificationAttribute::identifier() const
     return d->mIdentifier;
 }
 
+void CollectionIdentificationAttribute::setMail(const QByteArray &mail)
+{
+    d->mMail = mail;
+}
+
+QByteArray CollectionIdentificationAttribute::mail() const
+{
+    return d->mMail;
+}
+
+void CollectionIdentificationAttribute::setOu(const QByteArray &ou)
+{
+    d->mOrganizationUnit = ou;
+}
+
+QByteArray CollectionIdentificationAttribute::ou() const
+{
+    return d->mOrganizationUnit;
+}
+
+void CollectionIdentificationAttribute::setName(const QByteArray &name)
+{
+    d->mName = name;
+}
+
+QByteArray CollectionIdentificationAttribute::name() const
+{
+    return d->mName;
+}
+
+
 void CollectionIdentificationAttribute::setCollectionNamespace(const QByteArray &ns)
 {
     d->mFolderNamespace = ns;
@@ -71,7 +111,7 @@ QByteArray CollectionIdentificationAttribute::type() const
 
 Akonadi::Attribute* CollectionIdentificationAttribute::clone() const
 {
-    return new CollectionIdentificationAttribute(d->mIdentifier, d->mFolderNamespace);
+    return new CollectionIdentificationAttribute(d->mIdentifier, d->mFolderNamespace, d->mName, d->mOrganizationUnit, d->mMail);
 }
 
 QByteArray CollectionIdentificationAttribute::serialized() const
@@ -79,6 +119,9 @@ QByteArray CollectionIdentificationAttribute::serialized() const
     QList<QByteArray> l;
     l << Akonadi::ImapParser::quote(d->mIdentifier);
     l << Akonadi::ImapParser::quote(d->mFolderNamespace);
+    l << Akonadi::ImapParser::quote(d->mName);
+    l << Akonadi::ImapParser::quote(d->mOrganizationUnit);
+    l << Akonadi::ImapParser::quote(d->mMail);
     return '(' + Akonadi::ImapParser::join(l, " ") + ')';
 }
 
@@ -93,5 +136,11 @@ void CollectionIdentificationAttribute::deserialize(const QByteArray &data)
     }
     d->mIdentifier = l[0];
     d->mFolderNamespace = l[1];
+
+    if (size == 5) {
+        d->mName = l[2];
+        d->mOrganizationUnit = l[3];
+        d->mMail = l[4];
+    }
 }
 
diff --git a/akonadi/collectionidentificationattribute.h b/akonadi/collectionidentificationattribute.h
index c0204c0..1aab3ea 100644
--- a/akonadi/collectionidentificationattribute.h
+++ b/akonadi/collectionidentificationattribute.h
@@ -34,7 +34,8 @@
 class AKONADI_EXPORT CollectionIdentificationAttribute : public Akonadi::Attribute
 {
 public:
-    explicit CollectionIdentificationAttribute(const QByteArray &identifier = QByteArray(), const QByteArray &folderNamespace = QByteArray());
+    explicit CollectionIdentificationAttribute(const QByteArray &identifier = QByteArray(), const QByteArray &folderNamespace = QByteArray(),
+                                               const QByteArray &name = QByteArray(), const QByteArray &organizationUnit = QByteArray(), const QByteArray &mail = QByteArray());
     ~CollectionIdentificationAttribute();
 
     /**
@@ -43,6 +44,15 @@ public:
     void setIdentifier(const QByteArray &);
     QByteArray identifier() const;
 
+    void setMail(const QByteArray &);
+    QByteArray mail() const;
+
+    void setOu(const QByteArray &);
+    QByteArray ou() const;
+
+    void setName(const QByteArray &);
+    QByteArray name() const;
+
     /**
      * Sets a namespace the collection is in.
      *




More information about the commits mailing list