qtopia/md5map.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <kconfig.h>
00023
00024 #include "md5map.h"
00025
00026 using namespace OpieHelper;
00027
00028 MD5Map::MD5Map( const QString& file)
00029 : m_conf(0l)
00030 {
00031 load( file );
00032 }
00033 MD5Map::~MD5Map() {
00034 delete m_conf;
00035 }
00036 void MD5Map::load( const QString& file ) {
00037 m_file = file;
00038
00039 if (m_file.isEmpty() ) return;
00040
00041 KConfig* conf = config();
00042 QStringList list = conf->groupList();
00043 for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
00044 conf->setGroup( (*it) );
00045 insert( (*it), conf->readEntry("sum") );
00046 }
00047 }
00048 void MD5Map::save() {
00049 KConfig* conf = config();
00050
00051 QStringList groups = conf->groupList();
00052 for (QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) {
00053 conf->deleteGroup( (*it) );
00054 }
00055
00056 Iterator it;
00057 for ( it = m_map.begin(); it != m_map.end(); ++it ) {
00058 conf->setGroup( it.key() );
00059 conf->writeEntry( "sum", it.data() );
00060 }
00061 conf->sync();
00062 qWarning("save %s", m_file.latin1() );
00063 }
00064 void MD5Map::setFileName( const QString& file ) {
00065 m_file = file;
00066 }
00067 QString MD5Map::md5sum(const QString& uid )const {
00068 return m_map[uid];
00069 }
00070 bool MD5Map::contains( const QString& uid )const {
00071 return m_map.contains( uid );
00072 }
00073 void MD5Map::insert( const QString& uid, const QString& str) {
00074 m_map.insert( uid, str );
00075 }
00076 void MD5Map::set( const Map& map) {
00077 m_map = map;
00078 }
00079 MD5Map::Map MD5Map::map()const{
00080 return m_map;
00081 }
00082 void MD5Map::clear() {
00083 m_map.clear();
00084 KConfig* conf = config();
00085 QStringList groups = conf->groupList();
00086 for (QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) {
00087 conf->deleteGroup( (*it) );
00088 }
00089 }
00090 KConfig* MD5Map::config() {
00091 if (!m_conf ) {
00092 m_conf = new KConfig( m_file, false, false );
00093 }
00094 return m_conf;
00095 }
This file is part of the documentation for kitchensync Library Version 3.3.2.