24 #ifndef AKONADI_AGENTBASE_H
25 #define AKONADI_AGENTBASE_H
27 #include "akonadi_export.h"
29 #include <KDE/KApplication>
31 #include <QtDBus/QDBusConnection>
32 #include <QtDBus/QDBusContext>
34 class Akonadi__ControlAdaptor;
35 class Akonadi__StatusAdaptor;
39 class AgentBasePrivate;
79 class AKONADI_EXPORT
AgentBase :
public QObject,
protected QDBusContext
202 virtual void itemAdded(
const Akonadi::Item &item,
const Akonadi::Collection &collection );
209 virtual void itemChanged(
const Akonadi::Item &item,
const QSet<QByteArray> &partIdentifiers );
215 virtual void itemRemoved(
const Akonadi::Item &item );
246 using Observer::collectionChanged;
258 virtual void itemMoved(
const Akonadi::Item &item,
const Akonadi::Collection &collectionSource,
267 virtual void itemLinked(
const Akonadi::Item &item,
const Akonadi::Collection &collection );
275 virtual void itemUnlinked(
const Akonadi::Item &item,
const Akonadi::Collection &collection );
295 virtual void collectionChanged(
const Akonadi::Collection &collection,
const QSet<QByteArray> &changedAttributes );
330 template <
typename T>
331 static int init(
int argc,
char **argv )
333 const QString
id = parseArguments( argc, argv );
340 if ( observer != 0 ) {
341 r->registerObserver( observer );
356 virtual int status()
const;
361 virtual QString statusMessage()
const;
366 virtual int progress()
const;
371 virtual QString progressMessage()
const;
384 virtual void configure( WId windowId );
390 WId winIdForDialogs()
const;
397 void configure( qlonglong windowId );
403 QString identifier()
const;
412 virtual void cleanup();
421 void registerObserver( Observer *observer );
429 void setAgentName(
const QString &name );
436 QString agentName()
const;
446 static KComponentData componentData();
456 void agentNameChanged(
const QString &name );
463 void status(
int status,
const QString &message = QString() );
471 void percent(
int progress );
478 void warning(
const QString& message );
485 void error(
const QString& message );
493 void advancedStatus(
const QVariantMap &status );
503 void abortRequested();
511 void reloadConfiguration();
518 void onlineChanged(
bool online );
528 void configurationDialogAccepted();
538 void configurationDialogRejected();
560 virtual void aboutToQuit();
571 KSharedConfigPtr config();
580 void changeProcessed();
585 bool isOnline()
const;
594 void setNeedsNetwork(
bool needsNetwork );
599 void setOnline(
bool state );
605 friend class ObserverV2;
612 virtual void doSetOnline(
bool online );
616 static QString parseArguments(
int,
char** );
618 void setOnlineInternal(
bool state );
626 friend class ::Akonadi__StatusAdaptor;
627 friend class ::Akonadi__ControlAdaptor;
630 Q_PRIVATE_SLOT( d_func(),
void delayedInit() )
631 Q_PRIVATE_SLOT( d_func(),
void slotStatus(
int, const QString& ) )
632 Q_PRIVATE_SLOT( d_func(),
void slotPercent(
int ) )
633 Q_PRIVATE_SLOT( d_func(),
void slotWarning( const QString& ) )
634 Q_PRIVATE_SLOT( d_func(),
void slotError( const QString& ) )
635 Q_PRIVATE_SLOT( d_func(),
void slotNetworkStatusChange( Solid::Networking::Status ) )
636 Q_PRIVATE_SLOT( d_func(),
void slotResumedFromSuspend() )
643 #ifndef AKONADI_AGENT_MAIN
647 #define AKONADI_AGENT_MAIN( agentClass ) \
648 int main( int argc, char **argv ) \
650 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.
The agent encountered an error state.
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.