1234567891011121314151617181920212223242526272829303132333435 |
- #include <precomp.h>
- #include "svccache.h"
- #include <bfc/string/bfcstring.h>
- #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());
- }
|