www.pudn.com > NeroSDK-v1.06.zip > WavSrcFactory.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: WavSrcFactory.h 
|* 
|* PURPOSE: Declaration file for the wave sourc factory class. 
******************************************************************************/ 
 
#ifndef _WAV_SRC_FACTORY_ 
# define _WAV_SRC_FACTORY_ 
 
#if _MSC_VER > 1000 
# pragma once 
#endif // _MSC_VER > 1000 
 
 
// CStatus and CAggregatable  
#include "AudioBase.h" 
 
 
class CWavSrcFactory :  public IIdentifiable,  
                        public CAggregatable, 
                        public IAudioComponent, 
                        public IURLAudioSourceFactory, 
                        public IExtEnum, 
						public IVendorInfo 
{ 
// Construction/Destruction 
public: 
  CWavSrcFactory() 
  : CAggregatable (AGGFLAG_NODELETE) 
  {} 
 
  virtual ~CWavSrcFactory() {}; 
 
// Operations 
public: 
  virtual long GetRefCount(); 
 
  AGGREGATABLE_INTERFACE_MAP_BEGIN 
    INTERFACE_ENTRY(IIdentifiable) 
    INTERFACE_ENTRY(IAudioComponent) 
    INTERFACE_ENTRY(IURLAudioSourceFactory) 
    INTERFACE_ENTRY(IExtEnum) 
	INTERFACE_ENTRY(IVendorInfo) 
  AGGREGATABLE_INTERFACE_MAP_END 
 
  // IIdentifiable 
  void GetID(GUID *pGUID); 
 
  // IAudioComponent 
  virtual const char* GetName(); 
  virtual EAudioComponentType GetType(); 
  virtual bool Init(IAudioPluginMgr* pMgr, IStatus** ppStatus); 
  virtual bool Done(); 
  virtual bool 
  Open( const char*   szURL, 
        IUnknown**    ppSrc, 
        EAuxFlags     flagsInclude, 
        EAuxFlags     flagsExclude, 
        IStatus**     ppStatus); 
 
  virtual EAuxFlags GetAuxFlags(); 
 
  virtual EURLType GetSupportedURLTypes(); 
   
  // IExtEnum 
  int GetCount(); 
 
  // The returned value can't be stored for later use. 
  // The application must copy it. 
  const char* GetExt(int iNum); 
   
  // IVendorInfo 
  const char * GetVendorName(); 
  bool CanDisplayAboutBox(); 
  void DisplayAboutBox(); 
}; 
 
 
#endif // _WAV_SRC_FACTORY_