#include #include "svccache.h" #include #if !defined(WASABI_API_SVC) #error no no #endif SvcCache::SvcCache(FOURCC type) { int p = 0; list.setAutoSort(FALSE); for (;;) { waServiceFactory *svc = WASABI_API_SVC->service_enumService(type, p++); if (svc == NULL) break; const wchar_t *teststr = svc->getTestString(); if (teststr == NULL || *teststr == '\0') continue; //CUT DebugString("cachin %s\n", teststr); list.addItem(svc); } list.setAutoSort(TRUE); } waServiceFactory *SvcCache::findServiceFactory(const wchar_t *searchval) { return list.findItem(searchval); } int SvcCache::waServiceFactoryCompare::compareItem(waServiceFactory *p1, waServiceFactory* p2) { int r = WCSICMP(p1->getTestString(), p2->getTestString()); if (r == 0) return CMP3(p1, p2); return r; } int SvcCache::waServiceFactoryCompare::compareAttrib(const wchar_t *attrib, waServiceFactory *item) { return WCSICMP(attrib, item->getTestString()); }