qtkeychain/keychain_p.h

127 lines
3.4 KiB
C
Raw Normal View History

2011-10-27 16:15:46 +00:00
/******************************************************************************
* Copyright (C) 2011 Frank Osterfeld <frank.osterfeld@gmail.com> *
* *
* This program is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. For licensing and distribution *
* details, check the accompanying file 'COPYING'. *
*****************************************************************************/
2011-10-27 16:14:37 +00:00
#ifndef KEYCHAIN_P_H
#define KEYCHAIN_P_H
2011-10-27 16:15:46 +00:00
#include <QCoreApplication>
#include <QObject>
#include <QPointer>
#include <QSettings>
2011-10-27 16:15:46 +00:00
2012-05-09 17:18:10 +00:00
#if defined(Q_OS_UNIX) && !defined(Q_WS_MAC)
2012-05-07 16:21:22 +00:00
#include <QDBusPendingCallWatcher>
#include "kwallet_interface.h"
2012-05-09 17:18:10 +00:00
#else
class QDBusPendingCallWatcher;
2012-05-07 16:21:22 +00:00
#endif
2011-10-27 16:14:37 +00:00
#include "keychain.h"
2011-10-27 19:17:54 +00:00
namespace QKeychain {
class JobExecutor;
class JobPrivate : public QObject {
Q_OBJECT
public:
JobPrivate( const QString& service_ )
: error( NoError )
, service( service_ )
, autoDelete( true ) {}
QKeychain::Error error;
QString errorString;
QString service;
bool autoDelete;
QPointer<QSettings> settings;
};
class ReadPasswordJobPrivate : public QObject {
Q_OBJECT
public:
explicit ReadPasswordJobPrivate( ReadPasswordJob* qq ) : q( qq ), walletHandle( 0 ), dataType( Text ) {}
void doStart();
ReadPasswordJob* const q;
QByteArray data;
QString key;
2012-05-08 08:47:38 +00:00
int walletHandle;
enum DataType {
Binary,
Text
};
DataType dataType;
2012-05-09 17:18:10 +00:00
#if defined(Q_OS_UNIX) && !defined(Q_WS_MAC)
2012-05-08 08:47:38 +00:00
org::kde::KWallet* iface;
friend class QKeychain::JobExecutor;
void scheduledStart();
2012-05-08 08:47:38 +00:00
private Q_SLOTS:
void kwalletOpenFinished( QDBusPendingCallWatcher* watcher );
void kwalletEntryTypeFinished( QDBusPendingCallWatcher* watcher );
void kwalletReadFinished( QDBusPendingCallWatcher* watcher );
2012-05-09 17:18:10 +00:00
#else //moc's too dumb to respect above macros, so just define empty slot implementations
private Q_SLOTS:
void kwalletOpenFinished( QDBusPendingCallWatcher* ) {}
void kwalletEntryTypeFinished( QDBusPendingCallWatcher* ) {}
void kwalletReadFinished( QDBusPendingCallWatcher* ) {}
2012-05-08 08:47:38 +00:00
#endif
};
class WritePasswordJobPrivate : public QObject {
Q_OBJECT
public:
explicit WritePasswordJobPrivate( WritePasswordJob* qq ) : q( qq ), mode( Delete ) {}
void doStart();
enum Mode {
Delete,
Text,
Binary
};
WritePasswordJob* const q;
Mode mode;
QString key;
QByteArray binaryData;
QString textData;
2012-05-07 16:21:22 +00:00
2012-05-09 17:18:10 +00:00
#if defined(Q_OS_UNIX) && !defined(Q_WS_MAC)
2012-05-07 16:21:22 +00:00
org::kde::KWallet* iface;
friend class QKeychain::JobExecutor;
void scheduledStart();
2012-05-07 16:21:22 +00:00
private Q_SLOTS:
void kwalletOpenFinished( QDBusPendingCallWatcher* watcher );
void kwalletWriteFinished( QDBusPendingCallWatcher* watcher );
2012-05-09 17:18:10 +00:00
#else
private Q_SLOTS:
void kwalletOpenFinished( QDBusPendingCallWatcher* ) {}
void kwalletWriteFinished( QDBusPendingCallWatcher* ) {}
2012-05-07 16:21:22 +00:00
#endif
};
class DeletePasswordJobPrivate : public QObject {
Q_OBJECT
public:
explicit DeletePasswordJobPrivate( DeletePasswordJob* qq ) : q( qq ) {}
void doStart();
DeletePasswordJob* const q;
QString key;
private Q_SLOTS:
void jobFinished( QKeychain::Job* );
};
2011-10-27 19:17:54 +00:00
}
2011-10-27 16:14:37 +00:00
#endif // KEYCHAIN_P_H