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