www.pudn.com > NeroSDK-v1.06.zip > WavEnum.h


/****************************************************************************** 
|* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
|* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
|* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
|* PARTICULAR PURPOSE. 
|*  
|* Copyright 1995-2005 Nero AG. All Rights Reserved. 
|*----------------------------------------------------------------------------- 
|* PROJECT: Nero Plugin Manager Example 
|* 
|* FILE: WavEnum.h 
|* 
|* PURPOSE: Declaration file for the factory enumerator class. 
******************************************************************************/ 
 
#ifndef _WAV_ENUM_ 
# define _WAV_ENUM_ 
 
#if _MSC_VER > 1000 
# pragma once 
#endif // _MSC_VER > 1000 
 
 
// CStatus and CAggregatable  
#include "AudioBase.h" 
 
 
class CWavEnum : public IIdentifiable, public IAudioComponent, public IComponentEnum 
{ 
// Construction/Destruction 
public: 
  CWavEnum() : m_lRef(0) {}; 
  virtual ~CWavEnum() {} 
 
// Operations 
public: 
  virtual long GetRefCount(); 
 
  // IUnknown 
  STDMETHODIMP QueryInterface(REFIID riid, void __RPC_FAR* __RPC_FAR* ppObj); 
  STDMETHODIMP_(ULONG) AddRef(); 
  STDMETHODIMP_(ULONG) Release(); 
 
  // IIdentifiable 
  virtual void GetID(GUID *pGUID); 
 
  // IAudioComponent 
  virtual const char* GetName(); 
  virtual EAudioComponentType GetType(); 
  virtual bool Init(IAudioPluginMgr* pMgr, IStatus** ppStatus); 
  virtual bool Done(); 
 
  // IComponentEnum 
  virtual int GetCount(); 
  virtual bool GetComponent(int iNum, IAudioComponent** ppComp); 
 
// Data 
protected: 
  long    m_lRef; 
}; 
 
 
#endif // _WAV_ENUM_