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
|
||
|
|