24 #ifndef AKONADI_AGENTBASE_H 25 #define AKONADI_AGENTBASE_H 27 #include "akonadi_export.h" 28 #include <akonadi/item.h> 30 #include <KDE/KApplication> 32 #include <QtDBus/QDBusConnection> 33 #include <QtDBus/QDBusContext> 35 class Akonadi__ControlAdaptor;
36 class Akonadi__StatusAdaptor;
40 class AgentBasePrivate;
80 class AKONADI_EXPORT
AgentBase :
public QObject,
protected QDBusContext
211 virtual void itemChanged(
const Akonadi::Item &item,
const QSet<QByteArray> &partIdentifiers);
217 virtual void itemRemoved(
const Akonadi::Item &item);
248 using Observer::collectionChanged;
260 virtual void itemMoved(
const Akonadi::Item &item,
const Akonadi::Collection &collectionSource,
277 virtual void itemUnlinked(
const Akonadi::Item &item,
const Akonadi::Collection &collection);
297 virtual void collectionChanged(
const Akonadi::Collection &collection,
const QSet<QByteArray> &changedAttributes);
324 virtual void itemsFlagsChanged(
const Akonadi::Item::List &items,
const QSet<QByteArray> &addedFlags,
const QSet<QByteArray> &removedFlags);
331 virtual void itemsRemoved(
const Akonadi::Item::List &items);
340 virtual void itemsMoved(
const Akonadi::Item::List &items,
const Akonadi::Collection &sourceCollection,
349 virtual void itemsLinked(
const Akonadi::Item::List &items,
const Akonadi::Collection &collection);
357 virtual void itemsUnlinked(
const Akonadi::Item::List &items,
const Akonadi::Collection &collection);
404 virtual void itemsTagsChanged(
const Akonadi::Item::List &items,
const QSet<Akonadi::Tag> &addedTags,
const QSet<Akonadi::Tag> &removedTags);
442 template <
typename T>
443 static int init(
int argc,
char **argv)
445 const QString
id = parseArguments(argc, argv);
451 Observer *observer = dynamic_cast<Observer *>(r);
453 r->registerObserver(observer);
468 virtual int status()
const;
473 virtual QString statusMessage()
const;
478 virtual int progress()
const;
483 virtual QString progressMessage()
const;
496 virtual void configure(WId windowId);
502 WId winIdForDialogs()
const;
509 void configure(qlonglong windowId);
515 QString identifier()
const;
524 virtual void cleanup();
533 void registerObserver(Observer *observer);
542 void setAgentName(
const QString &name);
549 QString agentName()
const;
559 static KComponentData componentData();
569 void agentNameChanged(
const QString &name);
576 void status(
int status,
const QString &message = QString());
584 void percent(
int progress);
591 void warning(
const QString &message);
598 void error(
const QString &message);
606 void advancedStatus(
const QVariantMap &status);
616 void abortRequested();
624 void reloadConfiguration();
631 void onlineChanged(
bool online);
641 void configurationDialogAccepted();
651 void configurationDialogRejected();
673 virtual void aboutToQuit();
684 KSharedConfigPtr config();
693 void changeProcessed();
698 bool isOnline()
const;
708 void setNeedsNetwork(
bool needsNetwork);
713 void setOnline(
bool state);
739 void setTemporaryOffline(
int makeOnlineInSeconds = 300);
744 friend class ObserverV2;
752 virtual void doSetOnline(
bool online);
756 static QString parseArguments(
int,
char **);
758 void setOnlineInternal(
bool state);
766 friend class ::Akonadi__StatusAdaptor;
767 friend class ::Akonadi__ControlAdaptor;
770 Q_PRIVATE_SLOT(d_func(),
void delayedInit())
771 Q_PRIVATE_SLOT(d_func(),
void slotStatus(
int, const QString &))
772 Q_PRIVATE_SLOT(d_func(),
void slotPercent(
int))
773 Q_PRIVATE_SLOT(d_func(),
void slotWarning(const QString &))
774 Q_PRIVATE_SLOT(d_func(),
void slotError(const QString &))
775 Q_PRIVATE_SLOT(d_func(),
void slotNetworkStatusChange(Solid::Networking::Status))
776 Q_PRIVATE_SLOT(d_func(),
void slotResumedFromSuspend())
777 Q_PRIVATE_SLOT(d_func(),
void slotTemporaryOfflineTimeout())
784 #ifndef AKONADI_AGENT_MAIN 788 #define AKONADI_AGENT_MAIN( agentClass ) \ 789 int main( int argc, char **argv ) \ 791 return Akonadi::AgentBase::init<agentClass>( argc, argv ); \ Status
This enum describes the different states the agent can be in.
Represents a collection of PIM items.
The interface for reacting on monitored or replayed changes.
The base class for all Akonadi agents and resources.
BC extension of Observer with support for monitoring item and collection moves.
BC extension of ObserverV2 with support for batch operations.
The agent encountered an error state.
FreeBusyManager::Singleton.
Observer that adds support for item tagging.
static int init(int argc, char **argv)
Use this method in the main function of your agent application to initialize your agent subclass.
The agent is working on something.
Records and replays change notification.