xca/lib/db_base.h
Christian Hohnstaedt 66c7db0350 Start implementation of SmartCard support
- use PKCS#11
 - load keys and showing them works
2009-10-28 18:54:22 +01:00

99 lines
2.7 KiB
C++

/* vi: set sw=4 ts=4:
*
* Copyright (C) 2001 - 2007 Christian Hohnstaedt.
*
* All rights reserved.
*/
#ifndef DB_BASE_H
#define DB_BASE_H
#include "db.h"
#include "base.h"
#include "load_obj.h"
#include <qlistview.h>
#include <qpixmap.h>
#include <qstringlist.h>
#include <qpixmap.h>
#include <qabstractitemmodel.h>
#include "pki_base.h"
#include "widgets/XcaTreeView.h"
#define FOR_ALL_pki(pki, pki_type) \
for(pki_type *pki=(pki_type*)rootItem->iterate(); pki; pki=(pki_type*)pki->iterate())
class MainWindow;
class QContextMenuEvent;
class XcaTreeView;
class NewX509;
class db_base: public QAbstractItemModel
{
Q_OBJECT
protected:
QString dbName, delete_txt;
QModelIndex currentIdx;
void _writePKI(pki_base *pki, bool overwrite );
void _removePKI(pki_base *pki );
void removeItem(QString k);
enum pki_type pkitype[4];
QList<QVariant> headertext;
MainWindow *mainwin;
XcaTreeView *view;
QString class_name;
public:
pki_base *rootItem;
db_base(QString db, MainWindow *mw);
virtual ~db_base();
virtual pki_base *newPKI(db_header_t *head = NULL);
virtual void insertPKI(pki_base *pki);
virtual void updatePKI(pki_base *pki);
pki_base *getByName(QString desc);
pki_base *getByReference(pki_base *refpki);
pki_base *getByPtr(void *);
virtual void loadContainer();
QStringList getDesc();
virtual pki_base* insert(pki_base *item);
virtual void inToCont(pki_base *pki);
virtual void remFromCont(QModelIndex &idx);
QPixmap *loadImg(const char *name);
void writeAll(void);
void dump(QString dirname);
virtual void showContextMenu(QContextMenuEvent * ,
const QModelIndex &) {};
QModelIndex index(int row, int column, const QModelIndex &parent)const;
QModelIndex index(pki_base *pki)const;
QModelIndex parent(const QModelIndex &index) const;
int rowCount(const QModelIndex &parent) const;
int columnCount(const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation,
int role) const;
Qt::ItemFlags flags(const QModelIndex &index) const;
bool setData(const QModelIndex &index, const QVariant &value, int role);
void deleteSelectedItems(XcaTreeView* view);
void showSelectedItems(XcaTreeView *view);
void storeSelectedItems(XcaTreeView *view);
void load_default(load_base &load);
void insertChild(pki_base *parent, pki_base *child);
public slots:
void deletePKI();
void delete_ask();
void edit();
virtual void showItem();
virtual void store(){};
virtual void showPki(pki_base *) {};
virtual void showItem(const QModelIndex &index);
virtual void showItem(const QString keyname);
signals:
void connNewX509(NewX509 *dlg);
};
#endif