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
209 virtual void itemChanged(
const Akonadi::Item &item,
const QSet<QByteArray> &partIdentifiers );
246 using Observer::collectionChanged;
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 ); \