当前位置: 首页>>代码示例>>C++>>正文


C++ CMsvEntrySelection::Delete方法代码示例

本文整理汇总了C++中CMsvEntrySelection::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ CMsvEntrySelection::Delete方法的具体用法?C++ CMsvEntrySelection::Delete怎么用?C++ CMsvEntrySelection::Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CMsvEntrySelection的用法示例。


在下文中一共展示了CMsvEntrySelection::Delete方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DoMoveEntriesL

void CMsvServerEntry::DoMoveEntriesL(CMsvEntrySelection& aSelection, TMsvId aDestination, CMsvEntrySelection*& aMoved)
	{
	__ASSERT_DEBUG(!aMoved, PanicServer(EMsvMoveSelectionNotNull));
	__ASSERT_DEBUG(aSelection.Count() > 0, PanicServer(EMsvMovingEmptySelection));

	aMoved = new(ELeave)CMsvEntrySelection;
	aMoved->SetReserveL(aSelection.Count());

	CMsvMove* move = CMsvMove::NewL(iServer);
	CleanupStack::PushL(move);

	TInt error = KErrNone;

	TInt count = aSelection.Count();
	while(count--)
		{
		TMsvId id = aSelection.At(count);
		if (!IsAChild(id))
			error = KErrNotFound;
		else
			{
			move->StartL(id, aDestination);
			aSelection.Delete(count);
			aMoved->AppendL(id);
			}
		}
	User::LeaveIfError(error);
	CleanupStack::PopAndDestroy(); // move
	}
开发者ID:cdaffara,项目名称:symbiandump-mw2,代码行数:29,代码来源:MSVENTRY.CPP

示例2: TestRemovingAllFilesL

LOCAL_C void TestRemovingAllFilesL()
	{
	CDummyObserver ob;
	CMsvSession* session = CMsvSession::OpenSyncL(ob);
	CleanupStack::PushL(session);

	CMsvEntry* cEntry1 = CMsvEntry::NewL(*session, KMsvLocalServiceIndexEntryId, TMsvSelectionOrdering(KMsvNoGrouping, EMsvSortByNone, ETrue));
	CleanupStack::PushL(cEntry1);

	CMsvEntrySelection* selection;
	CMsvOperation* opert;
	CTestActive* active = new (ELeave) CTestActive; CleanupStack::PushL(active);

	CDir* dir;
	TFileName filename;
	TInt count;


	// delete everything under the outbox
	cEntry1->SetEntryL(KMsvGlobalOutBoxIndexEntryId);
	selection = cEntry1->ChildrenL();
	if (selection->Count())
		{
		active->StartL();
		opert = cEntry1->DeleteL(*selection, active->iStatus);
		CActiveScheduler::Start(); // operation complete
		delete opert; 
		}
	delete selection;

	// delete everything under the inbox
	cEntry1->SetEntryL(KMsvGlobalInBoxIndexEntryId);
	selection = cEntry1->ChildrenL();
	if (selection->Count())
		{
		active->StartL();
		opert = cEntry1->DeleteL(*selection, active->iStatus);
		CActiveScheduler::Start(); // operation complete
		delete opert; 
		}
	delete selection;
	
	// delete everything under the draft
	cEntry1->SetEntryL(KMsvDraftEntryId);
	selection = cEntry1->ChildrenL();
	if (selection->Count())
		{
		active->StartL();
		opert = cEntry1->DeleteL(*selection, active->iStatus);
		CActiveScheduler::Start(); // operation complete
		delete opert; 
		}
	delete selection;
	
	// delete everything under the sent
	cEntry1->SetEntryL(KMsvSentEntryId);
	selection = cEntry1->ChildrenL();
	if (selection->Count())
		{
		active->StartL();
		opert = cEntry1->DeleteL(*selection, active->iStatus);
		CActiveScheduler::Start(); // operation complete
		delete opert; 
		}
	delete selection;

	// delete everything under the local service
	cEntry1->SetEntryL(KMsvLocalServiceIndexEntryId);
	selection = cEntry1->ChildrenL();
	count=selection->Count();
	while (count--)
		{
		TMsvId id = selection->At(count);
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
		id = UnmaskTMsvId(id);
#endif
		if (id==KMsvGlobalOutBoxIndexEntryId || 
			id==KMsvGlobalInBoxIndexEntryId || 
			id==KMsvDraftEntryId || 
			id==KMsvSentEntryId || 
			id==KMsvDeletedEntryFolderEntryId)
			selection->Delete(count);
		}
	if (selection->Count())
		{
		active->StartL();
		opert = cEntry1->DeleteL(*selection, active->iStatus);
		CActiveScheduler::Start(); // operation complete
		delete opert; 
		}
	delete selection;

	// test
	cEntry1->SetEntryL(KMsvRootIndexEntryId);
	cEntry1->SetEntryL(KMsvLocalServiceIndexEntryId);
	selection = cEntry1->ChildrenL();
	test(selection->Count()==5);
	delete selection;


//.........这里部分代码省略.........
开发者ID:cdaffara,项目名称:symbiandump-mw2,代码行数:101,代码来源:T_CLT1.CPP

示例3: DoDeleteEntriesL

void CMsvServerEntry::DoDeleteEntriesL(CMsvEntrySelection& aSelection, CMsvEntrySelection*& aDeleted, CMsvEntrySelection*& aMoved)
//
//
//
	{
	__ASSERT_DEBUG(!aDeleted && !aMoved, PanicServer(EMsvDeleteAndMoveSelectionsNotNull));
	__ASSERT_DEBUG(aSelection.Count() > 0, PanicServer(EMsvDeletingEmptySelection));

	// Total entries deleted and moved
	aDeleted = new(ELeave)CMsvEntrySelection;
	aMoved = new(ELeave)CMsvEntrySelection;

	// Entries deleted when a single item is deleted
	CMsvEntrySelection* deleted = new(ELeave)CMsvEntrySelection;
	CleanupStack::PushL(deleted);

	// Entries moved when a single item is deleted
	CMsvEntrySelection* moved = new(ELeave)CMsvEntrySelection;
	CleanupStack::PushL(moved);

	CMsvEntrySelection* selection = new(ELeave)CMsvEntrySelection;
	CleanupStack::PushL(selection);

	CMsvDelete* del = CMsvDelete::NewL(iServer);
	CleanupStack::PushL(del);

	TInt firstError = KErrNone;

	TInt count = aSelection.Count();
	while(count--)
		{
		TMsvId id = aSelection.At(count);
		TInt error = KErrNone;

		// Only delete children
		if (!IsAChild(id))
			error = KErrNotFound;
		else
			{
			// Need to know maximum number of entries that might be deleted
			selection->AppendL(id);
			error = iServer.IndexAdapter().ExpandSelectionRecursively(*selection);
			if (error == KErrNone)
				{
				// Reserve space in lists
				aDeleted->SetReserveL(aDeleted->Count() + selection->Count());
				aMoved->SetReserveL(aMoved->Count() + selection->Count());
				del->StartL(id, *deleted, *moved);
				aSelection.Delete(count);

				if (deleted->Count() > 0)
					aDeleted->AppendL(deleted->Back(0), deleted->Count());

				if (moved->Count() > 0)
					aMoved->AppendL(moved->Back(0), moved->Count());
				}

			deleted->Reset();
			moved->Reset();
			selection->Reset();
			}

		// Remember error
		if (error != KErrNone && firstError == KErrNone)
			firstError = error;
		}

	User::LeaveIfError(firstError);
	CleanupStack::PopAndDestroy(4); // del, selection, moved, deleted
	}
开发者ID:cdaffara,项目名称:symbiandump-mw2,代码行数:70,代码来源:MSVENTRY.CPP

示例4: TestRemovingAllFilesL

LOCAL_C void TestRemovingAllFilesL()
{
    CDummyObserver ob;
    CMsvSession* session = CMsvSession::OpenSyncL(ob);
    CleanupStack::PushL(session);

    CMsvEntry* cEntry1 = CMsvEntry::NewL(*session, KMsvLocalServiceIndexEntryId, TMsvSelectionOrdering(KMsvNoGrouping, EMsvSortByNone, ETrue));
    CleanupStack::PushL(cEntry1);

    CMsvEntrySelection* selection;
    CMsvOperation* opert;
    CTestActive* active = new (ELeave) CTestActive;
    CleanupStack::PushL(active);

    CDir* dir;
    TFileName filename;
    TInt count;


    // delete everything under the outbox
    cEntry1->SetEntryL(KMsvGlobalOutBoxIndexEntryId);
    selection = cEntry1->ChildrenL();
    if (selection->Count())
    {
        active->StartL();
        opert = cEntry1->DeleteL(*selection, active->iStatus);
        CActiveScheduler::Start(); // operation complete
        delete opert;
    }
    delete selection;

    // delete everything under the inbox
    cEntry1->SetEntryL(KMsvGlobalInBoxIndexEntryId);
    selection = cEntry1->ChildrenL();
    if (selection->Count())
    {
        active->StartL();
        opert = cEntry1->DeleteL(*selection, active->iStatus);
        CActiveScheduler::Start(); // operation complete
        delete opert;
    }
    delete selection;

    // delete everything under the draft
    cEntry1->SetEntryL(KMsvDraftEntryId);
    selection = cEntry1->ChildrenL();
    if (selection->Count())
    {
        active->StartL();
        opert = cEntry1->DeleteL(*selection, active->iStatus);
        CActiveScheduler::Start(); // operation complete
        delete opert;
    }
    delete selection;

    // delete everything under the sent
    cEntry1->SetEntryL(KMsvSentEntryId);
    selection = cEntry1->ChildrenL();
    if (selection->Count())
    {
        active->StartL();
        opert = cEntry1->DeleteL(*selection, active->iStatus);
        CActiveScheduler::Start(); // operation complete
        delete opert;
    }
    delete selection;

    // delete everything under the local service
    cEntry1->SetEntryL(KMsvLocalServiceIndexEntryId);
    selection = cEntry1->ChildrenL();
    count=selection->Count();
    while (count--)
    {
        TMsvId id = selection->At(count);
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
        id = UnmaskTMsvId(id);
#endif
        if (id==KMsvGlobalOutBoxIndexEntryId ||
                id==KMsvGlobalInBoxIndexEntryId ||
                id==KMsvDraftEntryId ||
                id==KMsvSentEntryId ||
                id==KMsvDeletedEntryFolderEntryId)
            selection->Delete(count);
    }
    if (selection->Count())
    {
        active->StartL();
        opert = cEntry1->DeleteL(*selection, active->iStatus);
        CActiveScheduler::Start(); // operation complete
        delete opert;
    }
    delete selection;

    // test
    cEntry1->SetEntryL(KMsvRootIndexEntryId);
    cEntry1->SetEntryL(KMsvLocalServiceIndexEntryId);
    selection = cEntry1->ChildrenL();
    test(selection->Count()==5);
    delete selection;
    TestNumberOfFilesInService(KMsvLocalServiceIndexEntryId,0);
//.........这里部分代码省略.........
开发者ID:kuailexs,项目名称:symbiandump-mw2,代码行数:101,代码来源:T_CLT0.CPP


注:本文中的CMsvEntrySelection::Delete方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。