specialmailcollectionstesting.cpp
00001 /* 00002 Copyright (c) 2009 Constantin Berzan <exit3219@gmail.com> 00003 00004 This library is free software; you can redistribute it and/or modify it 00005 under the terms of the GNU Library General Public License as published by 00006 the Free Software Foundation; either version 2 of the License, or (at your 00007 option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, but WITHOUT 00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00012 License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to the 00016 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00017 02110-1301, USA. 00018 */ 00019 00020 #include "specialmailcollectionstesting_p.h" 00021 00022 #include "../specialcollections_p.h" 00023 #include "specialmailcollections.h" 00024 #include "specialmailcollectionssettings.h" 00025 00026 using namespace Akonadi; 00027 00028 typedef SpecialMailCollectionsSettings Settings; 00029 00030 SpecialMailCollectionsTesting *SpecialMailCollectionsTesting::_t_self() 00031 { 00032 static SpecialMailCollectionsTesting *instance = 0; 00033 if( !instance ) { 00034 instance = new SpecialMailCollectionsTesting; 00035 } 00036 return instance; 00037 } 00038 00039 void SpecialMailCollectionsTesting::_t_setDefaultResourceId( const QString &resourceId ) 00040 { 00041 Settings::setDefaultResourceId( resourceId ); 00042 } 00043 00044 void SpecialMailCollectionsTesting::_t_forgetFoldersForResource( const QString &resourceId ) 00045 { 00046 static_cast<SpecialCollections*>(SpecialMailCollections::self())->d->forgetFoldersForResource( resourceId ); 00047 } 00048 00049 void SpecialMailCollectionsTesting::_t_beginBatchRegister() 00050 { 00051 static_cast<SpecialCollections*>(SpecialMailCollections::self())->d->beginBatchRegister(); 00052 } 00053 00054 void SpecialMailCollectionsTesting::_t_endBatchRegister() 00055 { 00056 static_cast<SpecialCollections*>(SpecialMailCollections::self())->d->endBatchRegister(); 00057 } 00058 00059 int SpecialMailCollectionsTesting::_t_knownResourceCount() const 00060 { 00061 return static_cast<SpecialCollections*>(SpecialMailCollections::self())->d->mFoldersForResource.count(); 00062 } 00063 00064 int SpecialMailCollectionsTesting::_t_knownFolderCount() const 00065 { 00066 const SpecialCollectionsPrivate *d = static_cast<SpecialCollections*>(SpecialMailCollections::self())->d; 00067 int ret = 0; 00068 00069 QHashIterator<QString, QHash<QByteArray, Collection> > resourceIt( d->mFoldersForResource ); 00070 while ( resourceIt.hasNext() ) { 00071 resourceIt.next(); 00072 00073 QHashIterator<QByteArray, Collection> it( resourceIt.value() ); 00074 while ( it.hasNext() ) { 00075 it.next(); 00076 if ( it.value().isValid() ) 00077 ret++; 00078 } 00079 } 00080 return ret; 00081 }