konnectormanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KSYNC_KONNECTORMANAGER_H
00022 #define KSYNC_KONNECTORMANAGER_H
00023
00024 #include <qobject.h>
00025 #include <qstring.h>
00026
00027 #include <kstaticdeleter.h>
00028 #include <kresources/manager.h>
00029
00030 #include <syncee.h>
00031 #include <synceelist.h>
00032
00033 #include "konnector.h"
00034 #include "kdevice.h"
00035 #include "filter.h"
00036 #include "error.h"
00037 #include "progress.h"
00038
00039 namespace KSync
00040 {
00041
00042 class Kapabilities;
00043 class ConfigWidget;
00044 class Konnector;
00045 class KonnectorInfo;
00046
00047 class KonnectorManager : public QObject, public KRES::Manager<Konnector>
00048 {
00049 Q_OBJECT
00050 friend class KStaticDeleter<KonnectorManager>;
00051 public:
00052 static KonnectorManager *self();
00053
00054 Device::ValueList query();
00055 Konnector *load( const Device& device );
00056 Konnector *load( const QString& deviceName );
00057 bool unload( Konnector * );
00058
00059 bool autoLoadFilter() const;
00060
00065 void setAutoLoadFilter( bool = true );
00066
00072 void add( Filter* filter );
00073 void deleteFilter( Filter* filter );
00074 const Filter::PtrList filters();
00075
00076 public slots:
00077 void write( Konnector *, const SynceeList & );
00078
00079 signals:
00084 void synceesRead( Konnector * );
00085
00089 void synceeReadError( Konnector * );
00090
00095 void synceesWritten( Konnector * );
00096
00100 void synceeWriteError( Konnector * );
00101
00102 signals:
00103 void sync( Konnector *, const SynceeList & );
00104 void progress( Konnector *, const Progress & );
00105 void error( Konnector *, const Error & );
00106 void downloaded( Konnector *, const SynceeList & );
00107
00108 private slots:
00109 void slotSync( Konnector *, const SynceeList & );
00110 void slotProgress( Konnector *, const Progress & );
00111 void slotError( Konnector *, const Error & );
00112 void slotDownloaded( Konnector *, const SynceeList & );
00113
00114 protected:
00115 void connectSignals();
00116
00117 private:
00118 void filter( const SynceeList &unknown, const SynceeList &real );
00119
00120 KonnectorManager();
00121 ~KonnectorManager();
00122
00123 Device::ValueList allDevices();
00124 Device parseDevice( const QString& path );
00125 Device find( const QString& deviceName );
00126 SynceeList findUnknown( const SynceeList & );
00127
00128 static KonnectorManager *m_self;
00129
00130 Filter::PtrList m_filter;
00131 Filter::PtrList m_filAdded;
00132 bool m_auto;
00133
00134 Device::ValueList m_devices;
00135
00136 QPtrList<Konnector> m_konnectors;
00137
00138 class Private;
00139 Private *d;
00140 };
00141
00142 }
00143
00144 #endif
This file is part of the documentation for kitchensync Library Version 3.3.2.