svcenum.h 609 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _SVCENUM_H
  2. #define _SVCENUM_H
  3. /*<?<autoheader/>*/
  4. class waServiceFactory;
  5. /*?>*/
  6. // abstract base class
  7. class NOVTABLE SvcEnum {
  8. protected:
  9. SvcEnum();
  10. void *_getNext(int global_lock = TRUE);
  11. void reset();
  12. virtual int _testService(void *)=0;
  13. public:
  14. #ifdef ASSERTS_ENABLED
  15. static int release(waServiceFactory *ptr) { ASSERTALWAYS("never ever call release() with a waServiceFactory * !!!"); return 0; }
  16. #endif
  17. static int release(void *ptr);
  18. waServiceFactory *getLastFactory();
  19. protected:
  20. FOURCC type;
  21. private:
  22. int pos;
  23. waServiceFactory * factory;
  24. };
  25. #endif // _SVCENUM_H