// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonHandlePointerEventLL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonHandlePointerEventLL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    
    TInt optin( KZero );
    TBuf< KBufSize > buffer( KTestString );
    CAknRadioButtonSettingPage* dialog =
    new (ELeave) CAknRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
        R_EXAMPLE_EDITOR_CONTROL, R_EXAMPLE_SETTING_PAGE, optin, mArr );
    CleanupStack::PushL( dialog );
    
    dialog->ConstructL();
    TPointerEvent event;
    event.iType = TPointerEvent::EButton1Down;
    event.iModifiers = 0;
    TPoint eventPos( 10, 30 );
    event.iPosition = eventPos;
    event.iParentPosition = eventPos;
    dialog->HandlePointerEventL( event );
    
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
// Set data to the listbox.
void CPhotoModeListBox::SetData()
{
    iListbox->HandleItemRemovalL();

    SetIconsArray();

    CDesCArrayFlat* listItems = new (ELeave) CDesCArrayFlat(2);
    CleanupStack::PushL(listItems);

    TBuf<KArrayItemMaxLength> item;
    _LIT(KTab, "\t");

    item.Copy(_L("0"));
    item.Append(KTab);
    item.Append(_L("Phone"));
    listItems->AppendL(item);

    item.Copy(_L("1"));
    item.Append(KTab);
    item.Append(_L("Memory"));
    listItems->AppendL(item);

    CleanupStack::Pop(listItems);

    CTextListBoxModel* model = iListbox->Model();

    model->SetItemTextArray(listItems);

    // Set ListBox model responsible for deleting the listItems array
    model->SetOwnershipType(ELbmOwnsItemArray);

    iListbox->HandleItemAdditionL();

    DrawDeferred();
}
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonListBoxControlL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonListBoxControlL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    
    TInt optin( KZero );
    CAknRadioButtonSettingPage* dialog =
    new (ELeave) CAknRadioButtonSettingPage( R_EXAMPLE_SETTING_PAGE,
        optin, mArr );
    CleanupStack::PushL( dialog );
    
    CAknSetStyleListBox* editorControl = dialog->ListBoxControl();
    STIF_ASSERT_NULL( editorControl );
    
    dialog->ConstructL();
    
    editorControl = dialog->ListBoxControl();
    STIF_ASSERT_NOT_NULL( editorControl );
    
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonWriteInternalStateLL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonWriteInternalStateLL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    TInt optin( KZero );
    TBuf< KBufSize > buffer( KTestString );
    CTestRadioButtonSettingPage* dialog =
    new (ELeave) CTestRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
        R_EXAMPLE_EDITOR_CONTROL, R_EXAMPLE_SETTING_PAGE, optin, mArr );
    CleanupStack::PushL( dialog );
    dialog->ConstructL();
    
    RDesWriteStream stream;
    CleanupClosePushL( stream );
    HBufC8* hbuf = HBufC8::NewL( KHBufSize );
    CleanupStack::PushL( hbuf );
    TPtr8 ptr = hbuf->Des();
    stream.Open( ptr );
    dialog->DoWriteInternalStateL( stream );
    stream.CommitL();
    stream.Close();  
    CleanupStack::PopAndDestroy( KFour );
    return KErrNone;
    }
// Set data to the listbox.
void CMessageListBox::SetData()
{
    iListbox->HandleItemRemovalL();

    SetIconsArray();

    CDesCArrayFlat* listItems = new (ELeave) CDesCArrayFlat(2);
    CleanupStack::PushL(listItems);

    TBuf<KArrayItemMaxLength> item;
    _LIT(KTab, "\t");

    item.Copy(_L("0"));
    item.Append(KTab);
    item.Append(*iEikonEnv->AllocReadResourceL(R_TAB_INBOX));
    listItems->AppendL(item);

    item.Copy(_L("1"));
    item.Append(KTab);
    item.Append(*iEikonEnv->AllocReadResourceL(R_TAB_SENTITEMS));
    listItems->AppendL(item);

    CleanupStack::Pop(listItems);

    CTextListBoxModel* model = iListbox->Model();
    model->SetItemTextArray(listItems);

    // Set ListBox model responsible for deleting the listItems array
    model->SetOwnershipType(ELbmOwnsItemArray);

    iListbox->HandleItemAdditionL();
    DrawDeferred();
}
//********************************************************************************************
void CVersitCardTest::CreateVCardTestL()
//
//
//
    {
	CVersitParser* parser = CParserVCard::NewL();
	CleanupStack::PushL(parser);

    // Add Name
    {
    CDesCArrayFlat* nameArray = new(ELeave) CDesCArrayFlat(2);
    CleanupStack::PushL(nameArray);
    nameArray->AppendL(_L("Wibble"));
    nameArray->AppendL(_L("Wobble"));
    //
    CParserPropertyValue* propNameValue = new(ELeave) CParserPropertyValueCDesCArray(nameArray);
    CleanupStack::Pop(nameArray);
    CleanupStack::PushL(propNameValue);
    CParserProperty* propName = CParserProperty::NewL(*propNameValue, KVersitTokenN, NULL);
    CleanupStack::Pop(propNameValue);
    parser->AddPropertyL(propName);
    }

    // Add Sound
    {
    CDesCArrayFlat* soundArray = new(ELeave) CDesCArrayFlat(2);
    CleanupStack::PushL(soundArray);
    soundArray->AppendL(_L("Sound1"));
    soundArray->AppendL(_L("Sound2"));
    //
    CParserPropertyValue* propSoundValue = new(ELeave) CParserPropertyValueCDesCArray(soundArray);
    CleanupStack::Pop(soundArray);
    CleanupStack::PushL(propSoundValue);
    CParserProperty* propSound = CParserProperty::NewL(*propSoundValue, KVersitTokenSOUND, NULL);
    CleanupStack::Pop(propSoundValue);
    //
	CParserParam* param = CParserParam::NewL(KSoundExtensionPropertyParameterName, KNullDesC8);
	CleanupStack::PushL(param);
    propSound->AddParamL(param);
	CleanupStack::Pop(param);
    //
    parser->AddPropertyL(propSound);
    }

    // Export vCard
    _LIT(KFileName, "C:\\JapaneseSound.vcf");
	RFile file;
	User::LeaveIfError(file.Replace(TheFsSession, KFileName, EFileWrite));
	CleanupClosePushL(file);
    parser->ExternalizeL(file);
	CleanupStack::PopAndDestroy(&file);
    
    // Test
    CParserVCard* importedCard = CVersitCardTest::InternalizeCardLC(KFileName);
    CheckNumberOfSoundPropertiesL(KFileName, *importedCard, 2);
    CleanupStack::PopAndDestroy(importedCard);

    // Tidy up
    CleanupStack::PopAndDestroy(parser);    
    }
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonSelectCurrentItemLL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonSelectCurrentItemLL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    
    TInt optin( KZero );
    TBuf< KBufSize > buffer( KTestString );
    CTestRadioButtonSettingPage* dialog =
    new (ELeave) CTestRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
        R_EXAMPLE_EDITOR_CONTROL, R_EXAMPLE_SETTING_PAGE, optin, mArr );
    CleanupStack::PushL( dialog );
    
    dialog->ConstructL();
    dialog->DoSelectCurrentItemL();
    
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKGrids::TestGridsGridmNumberOfItemsL
// -----------------------------------------------------------------------------
//
TInt CTestSDKGrids::TestGridsGridmNumberOfItemsL( CStifItemParser& /*aItem*/ )
    {
    CAknGridM* grid = new( ELeave ) CAknGridM;
    CleanupStack::PushL( grid );

    CDesCArrayFlat* arr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( arr );

    HBufC* buf1 = KTom().AllocLC();
    HBufC* buf2 = KJack().AllocLC();
    HBufC* buf3 = KMary().AllocLC();
    
    arr->AppendL(*buf1);
    arr->AppendL(*buf2);
    arr->AppendL(*buf3);

    grid->SetItemTextArray( arr );

    TInt numberofitem = grid->NumberOfItems();
    STIF_ASSERT_EQUALS( numberofitem, KThree );

    grid->SetStartCells( KThree );
    numberofitem = grid->NumberOfItems();
    STIF_ASSERT_EQUALS( KSix, numberofitem );

    CleanupStack::PopAndDestroy( buf3 );
    CleanupStack::PopAndDestroy( buf2 );
    CleanupStack::PopAndDestroy( buf1 );
    CleanupStack::Pop( arr );
    CleanupStack::PopAndDestroy( grid );
    return KErrNone;
    }
// ----------------------------------------------------------------------------------------------------------
// Remove an item from the collection database using the given path
// ----------------------------------------------------------------------------------------------------------
//
void CTestCollectionPlugin::RemoveL (const CMPXCollectionPath& aPath)
{
    LOG1(_L("CTestCollectionPlugin::RemoveL"));
    LogPath( aPath );
    CDesCArrayFlat* fp = new (ELeave) CDesCArrayFlat(8);
    CleanupStack::PushL( fp );
    switch( aPath.Levels() )
    {
    case 2:
        if(aPath.Id() == 14)
        {   // Test0091
            iObs->HandleRemove( *fp, KErrNotFound );
        }
        break;
    case 3:
        if(aPath.Id() == 212)
        {   // Test0090
            fp->AppendL( _L("\\song3121.ts") );
            fp->AppendL( _L("\\song3122.ts") );
            fp->AppendL( _L("\\song3123.tp") );
            iObs->HandleRemove( *fp, KErrNone );
        }
        break;
    case 4:
        if(aPath.Id() == 3111)
        {   // Test0088
            fp->AppendL( _L("\\song3111.ts") );
            iObs->HandleRemove( *fp, KErrNone );
        }
        break;
    default:
        User::Panic(_L("CTestCollectionPlugin::RemoveL panic"), 1); // magic number
    }
    CleanupStack::PopAndDestroy( fp );
}
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonHandleListBoxEventLL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonHandleListBoxEventLL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    
    TInt optin( KZero );
    TBuf< KBufSize > buffer( KTestString );
    CAknRadioButtonSettingPage* dialog =
    new (ELeave) CAknRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
        R_EXAMPLE_EDITOR_CONTROL, R_EXAMPLE_SETTING_PAGE, optin, mArr );
    CleanupStack::PushL( dialog );
    
    dialog->ConstructL();
    dialog->HandleListBoxEventL( dialog->ListBoxControl(), MEikListBoxObserver::EEventItemActioned );
    dialog->HandleListBoxEventL( dialog->ListBoxControl(), MEikListBoxObserver::EEventItemClicked );
    dialog->HandleListBoxEventL( dialog->ListBoxControl(), MEikListBoxObserver::EEventPenDownOnItem );
    
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
void CDefaultNumbersPopupList::PopulateListbox()
{
	CALLSTACKITEM_N(_CL("CDefaultNumbersPopupList"), _CL("PopulateListbox"));


	TBuf<200> phone;
	phone.Append(*iPhoneDefault);
	phone.Append(_L("\t"));
	if( aItem->DefaultPhoneNumberField() != 0)
	{
		phone.Append(aItem->DefaultPhoneNumberField()->Label());
	}
	else
	{
		phone.Append(*iNoDefault);
	}
	iArrayItems->AppendL(phone);

	TBuf<200> sms;
	sms.Append(*iSmsDefault);
	sms.Append(_L("\t"));
	if( aItem->DefaultSmsField() != 0)
	{
		sms.Append(aItem->DefaultSmsField()->Label());
	}
	else
	{
		sms.Append(*iNoDefault);
	}
	iArrayItems->AppendL(sms);

	TBuf<200> mms;
	mms.Append(*iMmsDefault);
	mms.Append(_L("\t"));
	if( aItem->DefaultMmsField() != 0)
	{
		mms.Append(aItem->DefaultMmsField()->Label());
	}
	else
	{
		mms.Append(*iNoDefault);
	}
	iArrayItems->AppendL(mms);

	TBuf<200> email;
	email.Append(*iEmailDefault);
	email.Append(_L("\t"));
	if( aItem->DefaultEmailField () != 0)
	{
		email.Append(aItem->DefaultEmailField()->Label());
	}
	else
	{
		email.Append(*iNoDefault);
	}
	iArrayItems->AppendL(email);
}
/** Creates a CDesCArray property
@return CDesCArray parser Property value
*/
CParserPropertyValue* CContactsPBAPExportUtilityClass::CreateCDesCArrayL()
{
    CDesCArrayFlat* desArray = new (ELeave)CDesCArrayFlat(4);
    CleanupStack::PushL(desArray);
    desArray->AppendL(KAddr1);
    desArray->AppendL(KAddr2);
    desArray->AppendL(KAddr3);
    CParserPropertyValue* propertyValue = new (ELeave) CParserPropertyValueCDesCArray(desArray);
    CleanupStack::Pop();	// desArray
    return propertyValue;
}
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgPublishDialogL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgPublishDialogL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat(KTen);
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CAknListQueryDialog* dlg = new( ELeave ) CAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_MSG_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    CArrayFixFlat< TInt >* selArray = new( ELeave )CArrayFixFlat< TInt >( KFive );
    CleanupStack::PushL( selArray );
    selArray->AppendL( KOne );
    selArray->AppendL( KThree );
    
    TInt err = KErrNone;
    TRAP( err, dlg->PublishDialogL( KOne, KNullUid, selArray ));
    
    CleanupStack::Pop( KOne );
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgFindBoxL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgFindBoxL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    CTestCAknListQueryDialog* dlg = new( ELeave ) CTestCAknListQueryDialog( &selectedOption );
    
    CAknSearchField* findBox = dlg->FindBox();
    STIF_ASSERT_NULL( findBox );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    findBox = dlg->FindBox();
    STIF_ASSERT_NULL( findBox );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
//There is a problm here
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgHandleResourceChangeL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgHandleResourceChangeL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat(KTen);
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CTestCAknListQueryDialog* dlg = new( ELeave ) CTestCAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_MSG_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    dlg->PreLayoutDynInitL();
    dlg->HandleResourceChange( KEikDynamicLayoutVariantSwitch );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgOkToExitL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgOkToExitL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CTestCAknListQueryDialog* dlg = new( ELeave ) CTestCAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    TInt err = KErrNone;
    TInt buttonId = EAknSoftkeyMark;
    TRAP( err, dlg->OkToExitL( buttonId ));
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return err;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgBorderStyleL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgBorderStyleL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CTestCAknListQueryDialog* dlg = new( ELeave ) CTestCAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    TInt borderStyle = KZero;
    TInt compareStyle = TGulBorder::ENone;
    borderStyle = dlg->BorderStyle();
    STIF_ASSERT_EQUALS( compareStyle, borderStyle );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqcConstructorL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgOfferKeyEventL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
        
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CAknListQueryDialog* dlg = new( ELeave ) CAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    TKeyEvent event;
    event.iCode = EKeyEscape;
    dlg->OfferKeyEventL( event, EEventKey );
    
    CleanupStack::Pop( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgHandlePointerEventL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgHandlePointerEventL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    CAknListQueryDialog* dlg = new( ELeave ) CAknListQueryDialog( &selectedOption );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    TPointerEvent event;
    event.iType = TPointerEvent::EButton1Down;
    event.iModifiers = KZero;
    TPoint eventPos( 10, 30 );
    event.iPosition = eventPos;
    event.iParentPosition = eventPos;
    TInt err = KErrNone;
    TRAP( err, dlg->HandlePointerEventL( event ) );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKGrids::TestGridsGridmIndexOfLastDataItemL
// -----------------------------------------------------------------------------
//
TInt CTestSDKGrids::TestGridsGridmIndexOfLastDataItemL( CStifItemParser& /*aItem*/ )
    {
    CAknGridM* grid = new( ELeave ) CAknGridM;
    CleanupStack::PushL( grid );

    CDesCArrayFlat* arr = new(ELeave)CDesCArrayFlat(KSize);
    CleanupStack::PushL( arr );

    HBufC* buf1 = KTom().AllocLC();

    arr->AppendL(*buf1);

    grid->SetItemTextArray( arr );

    TInt lastdataitemindex = grid->IndexOfLastDataItem();
    STIF_ASSERT_EQUALS( KZero, lastdataitemindex );

    grid->SetStartCells( KThree );

    lastdataitemindex = grid->IndexOfLastDataItem();
    STIF_ASSERT_EQUALS( KThree, lastdataitemindex );

    CleanupStack::PopAndDestroy( buf1 );
    CleanupStack::Pop( arr );
    CleanupStack::PopAndDestroy( grid );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKGrids::TestGridsGridmItemTextL
// -----------------------------------------------------------------------------
//
TInt CTestSDKGrids::TestGridsGridmItemTextL( CStifItemParser& /*aItem*/ )
    {   
    CAknGridM* grid = new( ELeave ) CAknGridM;
    CleanupStack::PushL( grid );

    CDesCArrayFlat* arr = new(ELeave)CDesCArrayFlat(KSize);
    CleanupStack::PushL( arr );

    HBufC* buf1 = KTom().AllocLC();

    arr->AppendL(*buf1);

    grid->SetItemTextArray( arr );

    TBufC<10> buf ( KTom ); 
    TPtrC comparetext( buf );
    TPtrC returntext = grid->ItemText( KZero );
    STIF_ASSERT_EQUALS( comparetext, returntext );

    grid->SetStartCells( KThree );
    TPtrC returntexttwo = grid->ItemText( KThree );
    STIF_ASSERT_EQUALS( comparetext, returntexttwo );

    CleanupStack::PopAndDestroy( buf1 );
    CleanupStack::Pop( arr );
    CleanupStack::PopAndDestroy( grid );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqdlgSetMediatorObserverL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgSetMediatorObserverL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat(KTen);
    CleanupStack::PushL( mArray );
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
    
    CAknListQueryDialog* dlg = new( ELeave ) CAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_MSG_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    CTestDialogMediatorObserver* observer = new( ELeave ) CTestDialogMediatorObserver;
    dlg->SetMediatorObserver( observer );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
//There is a problm here
// -----------------------------------------------------------------------------
// CTestSDKQueries::TestLqcConstructorL
// -----------------------------------------------------------------------------
//
TInt CTestSDKQueries::TestLqdlgSetSizeAndPositionL( CStifItemParser& /*aItem*/ )
    {
    TInt selectedOption( KZero );
    
    CDesCArrayFlat* mArray = new (ELeave) CDesCArrayFlat( KTen );
    CleanupStack::PushL(mArray);
     
    TBuf< KTen > palabra;
    for (TInt num = KZero; num< KTen; num++)
        {
       palabra.Format(_L("option %d"), num);
       mArray->AppendL(palabra);
        }
     
    CTestCAknListQueryDialog* dlg = new( ELeave ) CTestCAknListQueryDialog( &selectedOption );
    dlg->PrepareLC( R_UPDATE_QUERY_DIALOG );
    dlg->SetItemTextArray( mArray );
    dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
    
    dlg->PreLayoutDynInitL();
    TSize size = iContainer->Rect().Size();
    dlg->SetSizeAndPosition( size );
    
    CleanupStack::PopAndDestroy( dlg );
    CleanupStack::PopAndDestroy( mArray );
    return KErrNone;
    }
Exemplo n.º 24
0
// ---------------------------------------------------------
// TXdmSettingsApi::CollectionNamesL
//
// ---------------------------------------------------------
//
EXPORT_C CDesCArray* TXdmSettingsApi::CollectionNamesLC( RArray<TInt>& aSettingIds )
{
#ifdef _DEBUG
    WriteToLog( _L8( "TXdmSettingsApi::CollectionNamesL()" ) );
#endif
    TInt error = KErrNone;
    CDesCArrayFlat* propertySet = new ( ELeave ) CDesCArrayFlat( 10 );
    CleanupStack::PushL( propertySet );
    CRepository* repository = CRepository::NewL( KCRUidXdmEngine );
    CleanupStack::PushL( repository );
    RArray<TUint32> nameKeys = FindByTypeL( repository, EXdmPropName );
    CleanupClosePushL( nameKeys );
    RArray<TUint32> idKeys = FindByTypeL( repository, EXdmPropSettingsId );
    CleanupClosePushL( idKeys );
#ifdef _DEBUG
    WriteToLog( _L8( "  ID key count: %d" ), idKeys.Count() );
    WriteToLog( _L8( "  Name key count: %d" ), nameKeys.Count() );
#endif
    TInt count = nameKeys.Count();
    if( count > 0 )
    {
        TInt numId = 0;
        HBufC* name = NULL;
        TBuf<10> identifier;
        for( TInt i = 0; i < count; i++ )
        {
            identifier.Zero();
            name = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
            TPtr desc( name->Des());
            error = repository->Get( nameKeys[i], desc );
            error = repository->Get( idKeys[i], identifier );
            if( error == KErrNone && desc.Length() > 0 && identifier.Length() > 0 )
            {
#ifdef _DEBUG
                HBufC8* eightName = HBufC8::NewLC( desc.Length() );
                TPtr8 eightDesc( eightName->Des() );
                eightDesc.Copy( desc );
                WriteToLog( _L8( " Collection no. %d - Name: %S  ID: %S" ), i, &eightDesc, &identifier );
                CleanupStack::PopAndDestroy();  //eightName
#endif
                propertySet->AppendL( desc );
                TLex id( identifier );
                error = id.Val( numId );
                aSettingIds.Append( error == KErrNone ? numId : error );
            }
            else
            {
#ifdef _DEBUG
                WriteToLog( _L8( " Fetching of the name no. %d failed with: %d" ), i, error );
#endif
            }
            CleanupStack::PopAndDestroy();  //name
        }
    }
    CleanupStack::PopAndDestroy( 3 );   //idKeys, nameKeys, repository
    return propertySet;
}
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingpagesRadioButtonConstructorL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingpagesRadioButtonConstructorL( CStifItemParser& /*aItem*/ )
    {
    CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( mArr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    mArr->AppendL( tom );
    mArr->AppendL( jack );
    mArr->AppendL( mary );
    
    TInt optin( KZero );
    CAknRadioButtonSettingPage* dialog =
        new (ELeave) CAknRadioButtonSettingPage( R_EXAMPLE_SETTING_PAGE,
        optin, mArr );
    CleanupStack::PushL( dialog );
    CleanupStack::PopAndDestroy( KTwo );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
// CTestSDKGrids::TestGridsGridmIndexContainsDataL
// -----------------------------------------------------------------------------
//
TInt CTestSDKGrids::TestGridsGridmIndexContainsDataL( CStifItemParser& /*aItem*/ )
    {
    CAknGridM* grid = new( ELeave ) CAknGridM;
    CleanupStack::PushL( grid );

    CDesCArrayFlat* arr = new(ELeave)CDesCArrayFlat(KSize);
    CleanupStack::PushL( arr );

    HBufC* buf1 = KTom().AllocLC();
    HBufC* buf2 = KJack().AllocLC();
    HBufC* buf3 = KMary().AllocLC();

    arr->AppendL(*buf1);
    arr->AppendL(*buf2);
    arr->AppendL(*buf3);

    grid->SetItemTextArray( arr );

    TBool flag = grid->IndexContainsData( KThree );
    STIF_ASSERT_FALSE( flag );

    flag = grid->IndexContainsData( KSix );
    STIF_ASSERT_FALSE( flag );

    grid->SetStartCells( KThree );
    flag = grid->IndexContainsData( KSix );
    STIF_ASSERT_FALSE( flag );

    flag = grid->IndexContainsData( KThree );
    STIF_ASSERT_TRUE( flag );

    flag = grid->IndexContainsData( KFour );
    STIF_ASSERT_TRUE( flag );

    CleanupStack::PopAndDestroy( buf3 );
    CleanupStack::PopAndDestroy( buf2 );
    CleanupStack::PopAndDestroy( buf1 );
    CleanupStack::Pop( arr );
    CleanupStack::PopAndDestroy( grid );
    return KErrNone;
    }
// -----------------------------------------------------------------------------
void CPresenceCacheBuddyInfo::GetFieldKeysL( 
    CDesCArrayFlat& aKeys )
    {
    aKeys.Reset();
    THashMapIter<TDesC*, TInt> iter(iHashMap);    
    TDesC* const* nextKey = iter.NextKey();
    while (nextKey)
        {
        aKeys.AppendL( **nextKey );
        nextKey = iter.NextKey();
        }    
    }
// -----------------------------------------------------------------------------
// CTestSDKSettingPages::TestSettingPagesArrayDecoratorSetArrayL
// -----------------------------------------------------------------------------
//
TInt CTestSDKSettingPages::TestSettingPagesArrayDecoratorSetArrayL( CStifItemParser& /*aItem*/ )
    {
    TAknDesCArrayDecorator* decorator = new( ELeave ) TAknDesCArrayDecorator();
    CleanupStack::PushL( decorator );
    
    CDesCArrayFlat* arr = new( ELeave ) CDesCArrayFlat( KSize );
    CleanupStack::PushL( arr );

    TBuf<KBufSize> tom( KTom );
    TBuf<KBufSize> jack( KJack );
    TBuf<KBufSize> mary( KMary );
    
    arr->AppendL( tom );
    arr->AppendL( jack );
    arr->AppendL( mary );
    
    decorator->SetArray( arr );
    TBuf<KBufSize> buffer( KTestString );
    decorator->SetDecorationText( buffer );
    
    TInt count = decorator->MdcaCount();
    STIF_ASSERT_EQUALS( KThree, count );
    
    TInt numberofarray( KZero );
    TBool flag = decorator->DecoratedIndex( numberofarray );
    STIF_ASSERT_EQUALS( KThree, numberofarray );
    STIF_ASSERT_FALSE( flag );
    
    decorator->SetActive( ETrue );
    count = decorator->MdcaCount();
    STIF_ASSERT_EQUALS( KFour, count );
    
    TPtrC returnText = decorator->MdcaPoint( KZero );
    STIF_ASSERT_TRUE( returnText == tom );
    
    CleanupStack::PopAndDestroy( arr );
    CleanupStack::PopAndDestroy( decorator );
    return KErrNone;
    }
TBool CPingController::DecodeRespL()
{
	// Reply from %S: bytes=%D time=%Dms TTL=%D
	// time
	TUint32 triptime = User::NTickCount() - iTimestamp;//icmpHdr->timestamp;
	
	const TUint8* reply = iReplyBuf.Ptr();
	const TIpHdr* ipHdr = (const TIpHdr*)reply;
	const TIcmpHdr* icmpHdr = (const TIcmpHdr*)(reply + ipHdr->ip_hl * 4);
	if (ntohs(icmpHdr->icd_id) != ICMP_ID)
	{
		iReplyText = StringLoader::LoadL(R_PKTPING_SOMEONE_ELSE_PACKET_RECEIVED);
		return EFalse;
	}
	if (icmpHdr->icmp_type != ICMP_ECHOREPLY)
	{
		iReplyText = StringLoader::LoadL(R_PKTPING_NONE_ECHO_TYPE_RECEIVED_FORMAT, icmpHdr->icmp_type);
		return ETrue;
	}
	if (ntohs(icmpHdr->icd_seq) != iIcmpPacket->SeqNo())
	{
		iReplyText = StringLoader::LoadL(R_PKTPING_OUT_OF_ORDER_PACKET_RECEIVED);
		return EFalse;
	}
	// from
	iRecv.Zero();
	iRecvAddr.Output(iRecv);	
	// bytes
	TUint16 bytes = ntohs(ipHdr->ip_len) - ipHdr->ip_hl * 4 - ICMP_HDR_LEN;
	// TTL
	TUint8 ttl = ipHdr->ip_ttl;
	
	CDesCArrayFlat* strings = new (ELeave) CDesCArrayFlat( 1 );
	CleanupStack::PushL( strings );
	strings->AppendL(iRecv);
	CArrayFix<TInt>* vals = new (ELeave) CArrayFixFlat<TInt>(3);
	CleanupStack::PushL( vals );
	vals->AppendL(bytes);
	vals->AppendL(triptime);
	vals->AppendL(ttl);

	iReplyText = StringLoader::LoadL(R_PKTPING_REPLY_TEXT_FORMAT, *strings, *vals);
	CleanupStack::PopAndDestroy(2); // strings, vals
	
	//stat
	iStat.sum += triptime;
	++(iStat.received);
	iStat.min = Min(iStat.min, triptime);
	iStat.max = Max(iStat.max, triptime);
	return ETrue;
}
// ----------------------------------------------------
// CAlfExCalendarEngine::ConstructL
// ----------------------------------------------------
void CAlfExCalendarEngine::ConstructL()
    {
    TReal   randomNumber;
    TInt    randomNumberInt;
    TInt64  seed=0;
    
    CDesCArrayFlat* array = new(ELeave) CDesCArrayFlat(KAlfExCalendarEngineArrayGranularity);
    CleanupStack::PushL( array );
    
    CEikonEnv* coeEnv = CEikonEnv::Static();
    TResourceReader reader;
    coeEnv->CreateResourceReaderLC(reader, R_ALFEXCALENDAR_CALENDAR_EVENTS_ARRAY);
    
    const TInt count = reader.ReadInt16();
    for(TInt loop = 0; loop < count; loop++)
        {
        HBufC* txt = reader.ReadHBufCL();
        CleanupStack::PushL(txt);
        array->AppendL(*txt);
        CleanupStack::PopAndDestroy(txt);
        }
    CleanupStack::PopAndDestroy(); //reader2

    TAlfExCalendarEngineListItem event;
    event.iItemDay.HomeTime();
    seed = event.iItemDay.Int64();
    randomNumber = count * Math::FRand(seed);
    randomNumberInt = (TInt) randomNumber;
    
    TTimeIntervalDays days(KAlfExCalendarEngineDayTenDays);
    event.iItemDay -= days; // lets start 10 days before present
    
    for(TInt i=0; i<KAlfExCalendarEngineDayRandomizeLoopCount; i++)
        {
        for(TInt loop = 0; loop < count; loop++)
            {
            randomNumber = Math::FRand(seed);
            if(randomNumber < KAlfExCalendarEngineChangeDay)
                {
                randomNumber *= KAlfExCalendarEngineDayRandomize;
                randomNumberInt = (TInt) randomNumber;
                days = TTimeIntervalDays(randomNumberInt);
                event.iItemDay += days;
                }
            event.iItemText.Copy((*array)[loop]);
            iCalendarEventArray.AppendL(event);
            }
        }
    CleanupStack::PopAndDestroy(array);
    }