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


C++ LIST::destroy方法代码示例

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


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

示例1: UnloadNewPluginsModule

void UnloadNewPluginsModule(void)
{
	int i;

	if ( !bModuleInitialized ) return;

	// unload everything but the DB
	for ( i = pluginList.getCount()-1; i >= 0; i-- ) {
		pluginEntry* p = pluginList[i];
		if ( !(p->pclass & PCLASS_DB) && p != pluginList_crshdmp )
			Plugin_Uninit( p );
	}

    if ( pluginList_crshdmp )
		Plugin_Uninit( pluginList_crshdmp );

	// unload the DB
	for ( i = pluginList.getCount()-1; i >= 0; i-- ) {
		pluginEntry* p = pluginList[i];
		Plugin_Uninit( p );
	}

	if ( hPluginListHeap ) HeapDestroy(hPluginListHeap);
	hPluginListHeap=0;

	pluginList.destroy();
	pluginListAddr.destroy();
	UninitIni();
}
开发者ID:TonyAlloa,项目名称:miranda-dev,代码行数:29,代码来源:newplugins.cpp

示例2: RebuildListsBasedOnGroups

void RebuildListsBasedOnGroups(LIST<ExtraIconGroup> &groups)
{
	extraIconsByHandle.destroy();

	for (int i=0; i < registeredExtraIcons.getCount(); i++)
		extraIconsByHandle.insert(registeredExtraIcons[i]);

	for (int k=0; k < extraIconsBySlot.getCount(); k++) {
		ExtraIcon *extra = extraIconsBySlot[k];
		if (extra->getType() == EXTRAICON_TYPE_GROUP)
			delete extra;
	}
	extraIconsBySlot.destroy();

	for (int i=0; i < groups.getCount(); i++) {
		ExtraIconGroup *group = groups[i];

		for (int j = 0; j < group->m_items.getCount(); j++)
			extraIconsByHandle.put(group->m_items[j]->getID()-1, group);

		extraIconsBySlot.insert(group);
	}

	for (int k=0; k < extraIconsByHandle.getCount(); k++) {
		ExtraIcon *extra = extraIconsByHandle[k];
		if (extra->getType() != EXTRAICON_TYPE_GROUP)
			extraIconsBySlot.insert(extra);
	}
}
开发者ID:kxepal,项目名称:miranda-ng,代码行数:29,代码来源:extraicons.cpp

示例3: RichEditData_Destroy

void  RichEditData_Destroy(void)
{
	int i;
	for (i=g_RichEditList.getCount()-1; i >= 0; i--) 
		CloseRichCallback(g_RichEditList[i]->hwnd);
	g_RichEditList.destroy();

	for (i=g_RichEditOwnerList.getCount()-1; i >= 0; i--) 
		CloseRichOwnerCallback(g_RichEditOwnerList[i]->hwnd);
	g_RichEditOwnerList.destroy();
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:11,代码来源:richcall.cpp

示例4: FreeResidentSettings

void FreeResidentSettings()
{
	for (int i = 0; i < m_lResidentSettings.getCount(); i++) {
		mir_free(m_lResidentSettings[i]);
	}
	m_lResidentSettings.destroy();

	for (int i = 0; i < m_lResidentModules.getCount(); i++) {
		mir_free(m_lResidentModules[i]);
	}
	m_lResidentModules.destroy();
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:12,代码来源:modsettingenum.cpp

示例5: UnloadNetlibModule

void UnloadNetlibModule(void)
{
	if (!bModuleInitialized) return;

	if (hConnectionHeaderMutex != NULL)
	{
		int i;

		NetlibUnloadIeProxy();
		NetlibSecurityDestroy();
		NetlibUPnPDestroy();
		NetlibLogShutdown();

		DestroyHookableEvent(hRecvEvent); hRecvEvent = NULL;
		DestroyHookableEvent(hSendEvent); hSendEvent = NULL;

		for (i = netlibUser.getCount(); i > 0; i--)
			NetlibCloseHandle((WPARAM)netlibUser[i-1], 0);

		netlibUser.destroy();

		CloseHandle(hConnectionHeaderMutex);
		if (hConnectionOpenMutex) CloseHandle(hConnectionOpenMutex);
		DeleteCriticalSection(&csNetlibUser);
		WSACleanup();
	}	
}
开发者ID:TonyAlloa,项目名称:miranda-dev,代码行数:27,代码来源:netlib.cpp

示例6: MO_RemoveAllObjects

int MO_RemoveAllObjects()
{
	for (int i = 0; i < g_menus.getCount(); i++)
		delete g_menus[i];
	g_menus.destroy();
	return 0;
}
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:7,代码来源:menu_utils.cpp

示例7: UnloadLangPackModule

void UnloadLangPackModule()
{
	if (!bModuleInitialized) return;

	int i;
	for (i = 0; i < lMuuids.getCount(); i++)
		mir_free(lMuuids[i]);
	lMuuids.destroy();

	LangPackEntry *p = g_pEntries;
	for (i = 0; i < g_entryCount; i++, p++) {
		if (p->pNext != NULL) {
			for (LangPackEntry *p1 = p->pNext; p1 != NULL;) {
				LangPackEntry *p2 = p1; p1 = p1->pNext;
				mir_free(p2->szLocal);
				mir_free(p2->wszLocal);
				mir_free(p2);
			}
		}

		mir_free(p->szLocal);
		mir_free(p->wszLocal);
	}

	if (g_entryCount) {
		mir_free(g_pEntries);
		g_pEntries = 0;
		g_entryCount = g_entriesAlloced = 0;
	}

	langPack.tszFileName[0] = langPack.tszFullPath[0] = 0;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:32,代码来源:langpack.cpp

示例8: GetCurrentThreadId

MIR_CORE_DLL(INT_PTR) Thread_Pop()
{
	if (WaitForSingleObject(hStackMutex, INFINITE) == WAIT_OBJECT_0) {
		DWORD dwThreadId = GetCurrentThreadId();
		for (int j = 0; j < threads.getCount(); j++) {
			THREAD_WAIT_ENTRY *p = threads[j];
			if (p->dwThreadId == dwThreadId) {
				SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
				CloseHandle(p->hThread);
				threads.remove(j);
				mir_free(p);

				if (!threads.getCount()) {
					threads.destroy();
					ReleaseMutex(hStackMutex);
					SetEvent(hThreadQueueEmpty); // thread list is empty now
					return 0;
				}

				ReleaseMutex(hStackMutex);
				return 0;
			}
		}
		ReleaseMutex(hStackMutex);
	}
	return 1;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:27,代码来源:threads.cpp

示例9: FreeTypes

void FreeTypes()
{
	// Destroy services
	int i;
	for(i = 0; i < MAX_REGS(hServices); ++i)
		DestroyServiceFunction(hServices[i]);

	// Free internal structs
	for(i = 0; i < types.getCount(); i++)
	{
		SPEAK_TYPE *type = types[i];
		mir_free((void *) type->module);
		mir_free((void *) type->name);
		mir_free((void *) type->icon);

		if (type->numTemplates > 0)
		{
			for(int i = 0; i < type->numTemplates; i++)
				mir_free((void *) type->templates[i]);
			mir_free(type->templates);
		}

		mir_free(type);
	}

	types.destroy();
}
开发者ID:Robyer,项目名称:miranda-plugins,代码行数:27,代码来源:types.cpp

示例10: FreeDictionaries

// Free the list returned by GetAvaibleDictionaries
void FreeDictionaries(LIST<Dictionary> &dicts)
{
	for (int i = 0; i < dicts.getCount(); i++)
	{
		delete dicts[i];
	}
	dicts.destroy();
}
开发者ID:TonyAlloa,项目名称:miranda-dev,代码行数:9,代码来源:dictionary.cpp

示例11: freeSupportedProtocols

void freeSupportedProtocols()
{
	for (int j=0; j < arProto.getCount(); j++) {
		mir_free(arProto[j]->name);
		mir_free(arProto[j]);
	}

	arProto.destroy();
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:9,代码来源:crypt_lists.cpp

示例12: Unload

extern "C" int __declspec(dllexport) Unload(void)
{
	LOG(( "Unload" ));
	
	YmsgrLinksUninit();
	Netlib_CloseHandle( g_hNetlibUser );
	g_instances.destroy();
	return 0;
}
开发者ID:TonyAlloa,项目名称:miranda-dev,代码行数:9,代码来源:main.cpp

示例13: msgQueue_destroy

void msgQueue_destroy(void)
{
    for (int i = 0; i < msgQueue.getCount(); i++) {
        TMsgQueue *item = msgQueue[i];
        mir_free(item->szMsg);
        mir_free(item);
    }
    msgQueue.destroy();
}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:9,代码来源:cmdlist.cpp

示例14: Unload

extern "C" int __declspec( dllexport ) Unload( void )
{
    UnhookEvent(hModulesLoaded);
    UnhookEvent(hModulesLoadedTB);

    g_MenuUninit();

    g_Instances.destroy();
    return 0;
}
开发者ID:TonyAlloa,项目名称:miranda-dev,代码行数:10,代码来源:jabber.cpp

示例15: UnloadPopupThread

void UnloadPopupThread()
{
	//  We won't waint for thread to exit, Miranda's thread unsind mechanism will do that for us.
	WaitForSingleObject(hThread, INFINITE);
	CloseHandle(hThread);

	for (int i = 0; i < popupList.getCount(); ++i)
		delete popupList[i];
	popupList.destroy();
}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:10,代码来源:popup_thread.cpp


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