Akonadi::SpecialCollections Class
class Akonadi::SpecialCollectionsAn interface to special collections. More...
| Header: | #include <Akonadi/SpecialCollections> |
| CMake: | find_package(KPim6 REQUIRED COMPONENTS AkonadiCore)target_link_libraries(mytarget PRIVATE KPim6::AkonadiCore) |
Public Functions
| virtual | ~SpecialCollections() override |
| Akonadi::Collection | collection(const QByteArray &type, const Akonadi::AgentInstance &instance) const |
| Akonadi::Collection | defaultCollection(const QByteArray &type) const |
| bool | hasCollection(const QByteArray &type, const Akonadi::AgentInstance &instance) const |
| bool | hasDefaultCollection(const QByteArray &type) const |
| bool | isSpecialAgent(const QString &instanceIdentifier) const |
| bool | registerCollection(const QByteArray &type, const Akonadi::Collection &collection) |
| bool | unregisterCollection(const Akonadi::Collection &collection) |
Signals
| void | collectionsChanged(const Akonadi::AgentInstance &instance) |
| void | defaultCollectionsChanged() |
Static Public Members
| void | setSpecialCollectionType(const QByteArray &type, const Akonadi::Collection &collection) |
| void | unsetSpecialCollection(const Akonadi::Collection &collection) |
Protected Functions
| SpecialCollections(KCoreConfigSkeleton *config, QObject *parent = nullptr) |
Detailed Description
This class is the central interface to special collections like inbox or outbox in a mail resource or recent contacts in a contacts resource. The class is not meant to be used directly, but to inherit the a type specific special collections class from it (e.g. SpecialMailCollections).
To check whether a special collection is available, simply use the hasCollection() and hasDefaultCollection() methods. Available special collections are accessible through the collection() and defaultCollection() methods.
To create a special collection, use a SpecialCollectionsRequestJob. This will create the special collections you request and automatically register them with SpecialCollections, so that it now knows they are available.
This class monitors all special collections known to it, and removes it from the known list if they are deleted. Note that this class does not automatically rebuild the collections that disappeared.
The defaultCollectionsChanged() and collectionsChanged() signals are emitted when the special collections for a resource change (i.e. some became available or some become unavailable).
Author: Constantin Berzan <exit3219@gmail.com>
Member Function Documentation
[explicit protected] SpecialCollections::SpecialCollections(KCoreConfigSkeleton *config, QObject *parent = nullptr)
Creates a new special collections object.
config The configuration skeleton that provides the default resource id. parent The parent object.
[override virtual noexcept] SpecialCollections::~SpecialCollections()
Destroys the special collections object.
Akonadi::Collection SpecialCollections::collection(const QByteArray &type, const Akonadi::AgentInstance &instance) const
Returns the special collection of the given type in the given agent instance, or an invalid collection if such a collection is unknown.
[signal] void SpecialCollections::collectionsChanged(const Akonadi::AgentInstance &instance)
Emitted when the special collections for a resource have been changed (for example, some become available, or some become unavailable).
instance The instance of the resource the collection belongs to.
Akonadi::Collection SpecialCollections::defaultCollection(const QByteArray &type) const
Returns the special collection of given type in the default resource, or an invalid collection if such a collection is unknown.
[signal] void SpecialCollections::defaultCollectionsChanged()
Emitted when the special collections for the default resource have been changed (for example, some become available, or some become unavailable).
bool SpecialCollections::hasCollection(const QByteArray &type, const Akonadi::AgentInstance &instance) const
Returns whether the given agent instance has a special collection of the given type.
bool SpecialCollections::hasDefaultCollection(const QByteArray &type) const
Returns whether the default resource has a special collection of the given type.
bool SpecialCollections::isSpecialAgent(const QString &instanceIdentifier) const
Returns whether the instanceIdentifier is a special agent that should not be deleted.
bool SpecialCollections::registerCollection(const QByteArray &type, const Akonadi::Collection &collection)
Registers the given collection as a special collection with the given type. type the special type of \ collection collection the given collection to register The collection must be owned by a valid resource. Registering a new collection of a previously registered type forgets the old collection.
[static] void SpecialCollections::setSpecialCollectionType(const QByteArray &type, const Akonadi::Collection &collection)
Sets the special collection attribute which marks collection as being a special collection of type type. This is typically used by configuration dialog for resources, when the user can choose a specific special collection (ex: IMAP trash).
bool SpecialCollections::unregisterCollection(const Akonadi::Collection &collection)
Unregisters the given collection as a special collection. type the special type of \ collection
[static] void SpecialCollections::unsetSpecialCollection(const Akonadi::Collection &collection)
unsets the special collection attribute which marks collection as being a special collection.