/usr/include/akonadi/specialcollectionsrequestjob.h is in kdepimlibs5-dev 4:4.14.10-1ubuntu7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | /*
Copyright (c) 2009 Constantin Berzan <exit3219@gmail.com>
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
*/
#ifndef AKONADI_SPECIALCOLLECTIONSREQUESTJOB_H
#define AKONADI_SPECIALCOLLECTIONSREQUESTJOB_H
#include "akonadi_export.h"
#include <akonadi/collection.h>
#include <akonadi/specialcollections.h>
#include <akonadi/transactionsequence.h>
#include <QtCore/QVariant>
namespace Akonadi {
class SpecialCollectionsRequestJobPrivate;
/**
* @short A job to request SpecialCollections.
*
* Use this job to request the SpecialCollections you need. You can request both
* default SpecialCollections and SpecialCollections in a given resource. The default
* SpecialCollections resource is created when the first default SpecialCollection is
* requested, but if a SpecialCollection in a custom resource is requested, this
* job expects that resource to exist already.
*
* If the folders you requested already exist, this job simply succeeds.
* Otherwise, it creates the required collections and registers them with
* SpecialCollections.
*
* This class is not meant to be used directly but as a base class for type
* specific special collection request jobs.
*
* @author Constantin Berzan <exit3219@gmail.com>
* @since 4.4
*/
class AKONADI_EXPORT SpecialCollectionsRequestJob : public TransactionSequence
{
Q_OBJECT
public:
/**
* Destroys the special collections request job.
*/
~SpecialCollectionsRequestJob();
/**
* Requests a special collection of the given @p type in the default resource.
*/
void requestDefaultCollection(const QByteArray &type);
/**
* Requests a special collection of the given @p type in the given resource @p instance.
*/
void requestCollection(const QByteArray &type, const AgentInstance &instance);
/**
* Returns the requested collection.
*/
Collection collection() const;
protected:
/**
* Creates a new special collections request job.
*
* @param collections The SpecialCollections object that shall be used.
* @param parent The parent object.
*/
explicit SpecialCollectionsRequestJob(SpecialCollections *collections, QObject *parent = 0);
/**
* Sets the @p type of the resource that shall be created if the requested
* special collection does not exist yet.
*/
void setDefaultResourceType(const QString &type);
/**
* Sets the configuration @p options that shall be applied to the new resource
* that is created if the requested special collection does not exist yet.
*/
void setDefaultResourceOptions(const QVariantMap &options);
/**
* Sets the list of well known special collection @p types.
*/
void setTypes(const QList<QByteArray> &types);
/**
* Sets the @p map of special collection types to display names.
*/
void setNameForTypeMap(const QMap<QByteArray, QString> &map);
/**
* Sets the @p map of special collection types to icon names.
*/
void setIconForTypeMap(const QMap<QByteArray, QString> &map);
/* reimpl */
virtual void doStart();
/* reimpl */
virtual void slotResult(KJob *job);
private:
//@cond PRIVATE
friend class SpecialCollectionsRequestJobPrivate;
friend class DefaultResourceJobPrivate;
SpecialCollectionsRequestJobPrivate *const d;
Q_PRIVATE_SLOT(d, void lockResult(KJob *))
Q_PRIVATE_SLOT(d, void releaseLock())
Q_PRIVATE_SLOT(d, void resourceScanResult(KJob *))
Q_PRIVATE_SLOT(d, void collectionCreateResult(KJob *))
//@endcond
};
} // namespace Akonadi
#endif // AKONADI_SPECIALCOLLECTIONSREQUESTJOB_H
|