kitchensync Library API Documentation

agenda/md5map.cpp

00001 #include <kconfig.h>
00002 
00003 #include "md5map.h"
00004 
00005 using namespace OpieHelper;
00006 
00007 MD5Map::MD5Map( const QString& file)
00008     : m_conf(0l)
00009 {
00010     load( file );
00011 }
00012 MD5Map::~MD5Map() {
00013     delete m_conf;
00014 }
00015 void MD5Map::load( const QString& file ) {
00016     m_file = file;
00017     /* return here cause reading is not possible */
00018     if (m_file.isEmpty() ) return;
00019 
00020     KConfig* conf = config();
00021     QStringList list = conf->groupList();
00022     for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
00023         conf->setGroup( (*it) );
00024         insert( (*it), conf->readEntry("sum") );
00025     }
00026 }
00027 void MD5Map::save() {
00028     KConfig* conf = config();
00029 
00030     QStringList groups = conf->groupList();
00031     for (QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) {
00032         conf->deleteGroup( (*it) );
00033     }
00034 
00035     Iterator it;
00036     for ( it = m_map.begin(); it != m_map.end(); ++it ) {
00037         conf->setGroup( it.key() );
00038         conf->writeEntry( "sum", it.data() );
00039     }
00040     conf->sync();
00041     qWarning("save %s",  m_file.latin1() );
00042 }
00043 void MD5Map::setFileName( const QString& file ) {
00044     m_file = file;
00045 }
00046 QString MD5Map::md5sum(const QString& uid )const {
00047     return m_map[uid];
00048 }
00049 bool MD5Map::contains( const QString& uid )const {
00050     return m_map.contains( uid );
00051 }
00052 void MD5Map::insert( const QString& uid, const QString& str) {
00053     m_map.insert( uid, str );
00054 }
00055 void MD5Map::set( const Map& map) {
00056     m_map = map;
00057 }
00058 MD5Map::Map MD5Map::map()const{
00059     return m_map;
00060 }
00061 void MD5Map::clear() {
00062     m_map.clear();
00063     KConfig* conf = config();
00064     QStringList groups = conf->groupList();
00065     for (QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) {
00066         conf->deleteGroup( (*it) );
00067     }
00068 }
00069 KConfig* MD5Map::config() {
00070     if (!m_conf ) {
00071         m_conf = new KConfig( m_file, false, false );
00072     }
00073     return m_conf;
00074 }
KDE Logo
This file is part of the documentation for kitchensync Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 4 14:41:09 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003