WavSrcFactory.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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: WavSrcFactory.h
  12. |*
  13. |* PURPOSE: Declaration file for the wave sourc factory class.
  14. ******************************************************************************/
  15. #ifndef _WAV_SRC_FACTORY_
  16. # define _WAV_SRC_FACTORY_
  17. #if _MSC_VER > 1000
  18. # pragma once
  19. #endif // _MSC_VER > 1000
  20. // CStatus and CAggregatable
  21. #include "AudioBase.h"
  22. class CWavSrcFactory : public IIdentifiable,
  23. public CAggregatable,
  24. public IAudioComponent,
  25. public IURLAudioSourceFactory,
  26. public IExtEnum,
  27. public IVendorInfo
  28. {
  29. // Construction/Destruction
  30. public:
  31. CWavSrcFactory()
  32. : CAggregatable (AGGFLAG_NODELETE)
  33. {}
  34. virtual ~CWavSrcFactory() {};
  35. // Operations
  36. public:
  37. virtual long GetRefCount();
  38. AGGREGATABLE_INTERFACE_MAP_BEGIN
  39. INTERFACE_ENTRY(IIdentifiable)
  40. INTERFACE_ENTRY(IAudioComponent)
  41. INTERFACE_ENTRY(IURLAudioSourceFactory)
  42. INTERFACE_ENTRY(IExtEnum)
  43. INTERFACE_ENTRY(IVendorInfo)
  44. AGGREGATABLE_INTERFACE_MAP_END
  45. // IIdentifiable
  46. void GetID(GUID *pGUID);
  47. // IAudioComponent
  48. virtual const char* GetName();
  49. virtual EAudioComponentType GetType();
  50. virtual bool Init(IAudioPluginMgr* pMgr, IStatus** ppStatus);
  51. virtual bool Done();
  52. virtual bool
  53. Open( const char* szURL,
  54. IUnknown** ppSrc,
  55. EAuxFlags flagsInclude,
  56. EAuxFlags flagsExclude,
  57. IStatus** ppStatus);
  58. virtual EAuxFlags GetAuxFlags();
  59. virtual EURLType GetSupportedURLTypes();
  60. // IExtEnum
  61. int GetCount();
  62. // The returned value can't be stored for later use.
  63. // The application must copy it.
  64. const char* GetExt(int iNum);
  65. // IVendorInfo
  66. const char * GetVendorName();
  67. bool CanDisplayAboutBox();
  68. void DisplayAboutBox();
  69. };
  70. #endif // _WAV_SRC_FACTORY_