FileSystemBlockAccessInterface.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. |* NeroSDK / NeroAPI
  10. |*
  11. |* PROGRAM: FileSystemBlockAccessInterface.h
  12. |*
  13. |* PURPOSE: The file system block access interface
  14. |* The NeroAPI packet writing API will return INeroFileSystemBlockAccess that
  15. |* can be used to have block access to a file system.
  16. ******************************************************************************/
  17. #ifndef FILESYSTEMBLOCKACCESSINTERFACE_H
  18. #define FILESYSTEMBLOCKACCESSINTERFACE_H
  19. #include "FileSystemBlockWriterInterface.h"
  20. #include "FileSystemBlockAccessExtensions.h"
  21. /* This interface contains an extension scheme that will allow us to
  22. * transparently extend the interface's functionality without losing binary
  23. * compatibility.
  24. */
  25. class INeroFileSystemBlockAccess
  26. :public INeroFileSystemBlockWriter
  27. {
  28. public:
  29. // Returns the number of supported extension fields
  30. virtual DWORD GetNumSupportedExtensions() = 0;
  31. // In combination with the method above, this method can be used to copy a set of extensions
  32. // without knowing which ones are actually there. Extensions have to be passed through to
  33. // any of the Nero filesystem generators, so it is essential to have some means of copying them
  34. virtual INeroFileSystemBlockAccessExtension *GetFileExtensionByNumber(int iNumExt) = 0;
  35. // Returns specified extension or NULL if not present
  36. virtual INeroFileSystemBlockAccessExtension *GetFileExtension(NeroFSBlockAccessExtensionsType eExtType) = 0;
  37. };
  38. #endif // FILESYSTEMBLOCKACCESSINTERFACE_H