contentstorage/caclient/tsrc/t_caclient/src/t_caclientnotifier.cpp
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Main test class for hspluginmodel library.
*
*/


#include "t_caclientnotifier.h"
#include "caentry.h"
#include "canotifier.h"
#include "canotifierfilter.h"
#include "caservice.h"

// ============================================================================
TestCaClientNotifier::TestCaClientNotifier():
    mEntryId(0),
    mGroupId(0),
    mChangeType(AddChangeType),
    mEntry(NULL),
    mCount(0),
    mEntryIds(new QList<int>()),
    mGroupIds(new QList<int>()),
    mChangeTypes(new QList<ChangeType>()),
    mEntries(new QList<const CaEntry *>()),
    mFilter(NULL),
    mNotifier(NULL)
{

}
// ============================================================================
TestCaClientNotifier::TestCaClientNotifier(const CaService &service, CaNotifierFilter *filter):
    mEntryId(0),
    mGroupId(0),
    mChangeType(AddChangeType),
    mEntry(NULL),
    mCount(0),
    mEntryIds(new QList<int>()),
    mGroupIds(new QList<int>()),
    mChangeTypes(new QList<ChangeType>()),
    mEntries(new QList<const CaEntry *>())
{
    if (!filter) {
        mFilter = new CaNotifierFilter();
        mNotifier = service.createNotifier(*mFilter);
    } else {
        mFilter = NULL;
        mNotifier = service.createNotifier(*filter);
    }
}

// ============================================================================
void TestCaClientNotifier::clean()
{
    mEntryId = 0;
    mGroupId = 0;
    mChangeType = AddChangeType;
    mCount = 0;
    delete mEntryIds;
    mEntryIds = new QList<int>();
    delete mGroupIds;
    mGroupIds = new QList<int>();
    delete mChangeTypes;
    mChangeTypes = new QList<ChangeType>();
    delete mEntries;
    mEntries = new QList<const CaEntry *>();
    delete mEntry;
    mEntry = NULL;
}
// ============================================================================
TestCaClientNotifier::~TestCaClientNotifier()
{
    delete mEntry;
    delete mFilter;
    delete mNotifier;
    delete mEntryIds;
    delete mGroupIds;
    delete mChangeTypes;
    delete mEntries;

}
// ============================================================================
CaNotifier *TestCaClientNotifier::getNotifier() const
{
    return mNotifier;
}
// ============================================================================
CaNotifierFilter *TestCaClientNotifier::getFilter() const
{
    return mFilter;
}
// ============================================================================
void TestCaClientNotifier::entryChanged(int entryId, ChangeType changeType)
{
    mEntryId = entryId;
    mChangeType = changeType;
    mEntryIds->append(entryId);
    mChangeTypes->append(changeType);
    mEntries->append(NULL);
    mGroupIds->append(0);
    mCount++;
}
// ============================================================================
void TestCaClientNotifier::entryChanged(const CaEntry &entry, ChangeType changeType)
{
    delete mEntry;
    mEntry = new CaEntry(entry);
    mEntryId = entry.id();
    mChangeType = changeType;
    mEntryIds->append(entry.id());
    mChangeTypes->append(changeType);
    mEntries->append(&entry);
    mGroupIds->append(0);
    mCount++;
}
// ============================================================================
void TestCaClientNotifier::entryTouched(int id)
{
    mEntryId = id;
    mEntryIds->append(id);
    mChangeTypes->append(AddChangeType);
    mEntries->append(NULL);
    mGroupIds->append(0);
    mCount++;
}
// ============================================================================
void TestCaClientNotifier::groupContentChanged(int groupId)
{
    mGroupId = groupId;
    mEntryIds->append(0);
    mChangeTypes->append(AddChangeType);
    mEntries->append(NULL);
    mGroupIds->append(groupId);
    mCount++;
}