WavEnum.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* PROJECT: Nero Plugin Manager Example
  10. |*
  11. |* FILE: WavEnum.h
  12. |*
  13. |* PURPOSE: Declaration file for the factory enumerator class.
  14. ******************************************************************************/
  15. #ifndef _WAV_ENUM_
  16. # define _WAV_ENUM_
  17. #if _MSC_VER > 1000
  18. # pragma once
  19. #endif // _MSC_VER > 1000
  20. // CStatus and CAggregatable
  21. #include "AudioBase.h"
  22. class CWavEnum : public IIdentifiable, public IAudioComponent, public IComponentEnum
  23. {
  24. // Construction/Destruction
  25. public:
  26. CWavEnum() : m_lRef(0) {};
  27. virtual ~CWavEnum() {}
  28. // Operations
  29. public:
  30. virtual long GetRefCount();
  31. // IUnknown
  32. STDMETHODIMP QueryInterface(REFIID riid, void __RPC_FAR* __RPC_FAR* ppObj);
  33. STDMETHODIMP_(ULONG) AddRef();
  34. STDMETHODIMP_(ULONG) Release();
  35. // IIdentifiable
  36. virtual void GetID(GUID *pGUID);
  37. // IAudioComponent
  38. virtual const char* GetName();
  39. virtual EAudioComponentType GetType();
  40. virtual bool Init(IAudioPluginMgr* pMgr, IStatus** ppStatus);
  41. virtual bool Done();
  42. // IComponentEnum
  43. virtual int GetCount();
  44. virtual bool GetComponent(int iNum, IAudioComponent** ppComp);
  45. // Data
  46. protected:
  47. long m_lRef;
  48. };
  49. #endif // _WAV_ENUM_