ximpfw/tsrc/tsrcutils/testcaseutils/prfwtestpresencedatautils.h
author hgs
Wed, 03 Nov 2010 09:32:20 +0530
changeset 51 61fad867f68e
permissions -rw-r--r--
201041

/*
* Copyright (c) 2006 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: XIMP Framework Test Code prfwtestpresencedatautils.h
*
*/

#ifndef PRFWTESTPRESENCEDATAUTILS_H
#define PRFWTESTPRESENCEDATAUTILS_H


#include <e32base.h>
#include "presenceinfoimp.h"
#include "presenceinfofilterimp.h"
#include "ximpidentityimp.h"


// CLASS DESCRIPTION
/**
 * Helper class presence data comparison and generation.
 */
class XIMPTestPresenceDataUtils
    {

public:
/**
 * Enumeration defining the supported
 * test data groups.
 * A, B and C have unique values.
 * The combinations are unions of those.
 */
enum TPresenceDataGroup
    {
    Group_None,
    Group_A,
    Group_B,
    Group_C,
    Group_AB,
    Group_AC,
    Group_BC,
    Group_ABC,
    };

// TODO Add the defined names here (if needed for verification).

public: //Generator functions
    IMPORT_C static CXIMPIdentityImp* GenerateIdentityLC( const TDesC8* aPrefix, TPresenceDataGroup aGroup = Group_None );
    IMPORT_C static CPresenceInfoImp* GenerateInfoLC( const TDesC8* aPrefix, TPresenceDataGroup aGroup = Group_None );
    IMPORT_C static CPresenceInfoFilterImp* GenerateInfoFilterLC( const TDesC8* aPrefix, TPresenceDataGroup aGroup = Group_None );
    
public: //Comparator functions

    // Contains. All a1 info are in a2
    IMPORT_C TBool Contains( MPresenceInfo& a1, MPresenceInfo& a2 ) const;

    
    // Equality comparison
    IMPORT_C TBool Equals( CPresenceInfoImp& a1, CPresenceInfoImp& a2 ) const;

    // Equality assertion
    // TODO these are containment currently. Used by t_dmattrobjs. Modify...
    IMPORT_C static void AssertEquality( MPresenceInfo& a1,
                                   MPresenceInfo& a2 );

//private: // Helpers
    IMPORT_C static void InsertPrefixL( const TDesC8* aPrefix, RBuf8& buf );
    };

#endif //PRFWTESTPRESENCEDATAUTILS_H