38 lines
609 B
C++
38 lines
609 B
C++
#ifndef _SVCENUM_H
|
|
#define _SVCENUM_H
|
|
|
|
|
|
/*<?<autoheader/>*/
|
|
class waServiceFactory;
|
|
/*?>*/
|
|
|
|
// abstract base class
|
|
class NOVTABLE SvcEnum {
|
|
protected:
|
|
SvcEnum();
|
|
|
|
void *_getNext(int global_lock = TRUE);
|
|
void reset();
|
|
|
|
virtual int _testService(void *)=0;
|
|
|
|
public:
|
|
#ifdef ASSERTS_ENABLED
|
|
static int release(waServiceFactory *ptr) { ASSERTALWAYS("never ever call release() with a waServiceFactory * !!!"); return 0; }
|
|
#endif
|
|
static int release(void *ptr);
|
|
|
|
waServiceFactory *getLastFactory();
|
|
|
|
protected:
|
|
FOURCC type;
|
|
|
|
private:
|
|
int pos;
|
|
waServiceFactory * factory;
|
|
};
|
|
|
|
|
|
#endif // _SVCENUM_H
|
|
|