123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- #ifndef _NEROISOTRACK_
- #define _NEROISOTRACK_
- #include "NeroAPI.h"
- #ifndef __cplusplus
- #error The Nero ISO Track feature can only be used by C++ code.
- #else
- #include <windows.h> // the data types used below are those of windows
- class CNeroDataCallback
- {
- public:
- virtual ~CNeroDataCallback () {}
- virtual DWORD IOCallback(BYTE *pBuffer, DWORD dwLen) = 0;
- virtual BOOL EOFCallback () = 0;
- virtual BOOL ErrorCallback () = 0;
- };
- class CNeroIsoHandle
- {
- public:
- virtual ~CNeroIsoHandle () {}
- virtual CNeroIsoHandle * Clone () = 0;
- virtual int GetFileName (char *strBuffer, UINT nBufferSize) = 0;
-
-
-
-
- virtual CNeroDataCallback * Open () = 0;
-
-
- };
- class CNeroIsoEntry;
- class CNeroIsoIterator
- {
- public:
- virtual ~CNeroIsoIterator () {}
- virtual CNeroIsoEntry * GetCurrentEntry () = 0;
-
-
-
- virtual void Next () = 0;
- };
- struct CImportInfo;
- class CNeroIsoEntry
- {
- public:
- virtual ~CNeroIsoEntry () {}
- virtual CNeroIsoIterator * CreateDirectoryIterator() = 0;
-
-
- virtual const char * GetName () = 0;
- virtual __int64 GetLength () = 0;
- virtual CNeroIsoHandle * CreateHandle () = 0;
-
-
-
- #if 0
- virtual BOOL IsMode2 () { return FALSE; }
-
-
-
- virtual int GetBlockOffset () { return -1; }
-
- #endif
-
- virtual DWORD GetDataStartSec() { return 0;}
- virtual BOOL IsDataFixed() { return FALSE;}
- virtual BOOL GetEntryTime(struct tm *tm)
- {
- return FALSE;
- }
-
-
-
- virtual CImportInfo *GetImportInfo() const
- {
-
- return NULL;
- };
- virtual void GetPriorities(int &iPriority,int &iDirPriority)
- {
- iPriority=0;
- iDirPriority=0;
- };
-
- virtual CNeroIsoIterator * CreateDirectoryIteratorWrapper() { return NULL; }
-
-
- virtual CNeroIsoHandle * CreateResourceHandle () { return NULL; };
- virtual const WCHAR* GetUnicodeName() { return 0; }
-
- virtual void *GetInterface(const char *name) { return NULL; }
- private:
-
- virtual int reserved1() { return 0;}
- virtual int reserved2() { return 0;}
- virtual int reserved3() { return 0;}
- virtual int reserved4() { return 0;}
- virtual int reserved5() { return 0;}
- virtual int reserved6() { return 0;}
- virtual int reserved7() { return 0;}
- };
- struct CNeroIsoTrack : public CNeroIsoEntry
- {
- friend class CNeroIsoTrackProxy5039;
- friend class CNeroIsoTrackProxy55915;
- public:
- ~CNeroIsoTrack () {}
-
- virtual const char * GetName () = 0;
- virtual CNeroIsoIterator * CreateDirectoryIterator () = 0;
-
- virtual BOOL UseJoliet () { return TRUE; }
- virtual BOOL UseMode2 () { return FALSE; }
-
- virtual BOOL UseRockRidge () { return FALSE; }
- virtual BOOL BurnISO() { return TRUE; }
- virtual BOOL BurnUDF() { return FALSE; }
- protected:
- virtual __int64 GetLength () { return -1; }
- virtual CNeroIsoHandle * CreateHandle () { return NULL; }
- virtual CNeroIsoHandle * CreateResourceHandle () { return NULL; }
- public:
-
-
-
-
- virtual DWORD BurnOptions()
- {
- return (UseJoliet() ? NCITEF_USE_JOLIET : 0)
- |(UseMode2() ? NCITEF_USE_MODE2 : 0)
- |(UseRockRidge() ? NCITEF_USE_ROCKRIDGE : 0)
- |(BurnISO() ? NCITEF_CREATE_ISO_FS : 0)
- |(BurnUDF() ? NCITEF_CREATE_UDF_FS : 0);
- };
-
- virtual CNeroIsoIterator *CreateDirectoryIteratorWrapper()
- {
- return NULL;
- }
- virtual BOOL HasWrapper(void)
- {
- return FALSE;
- }
-
-
- virtual const void *dummy() const { return NULL; };
- virtual void GetVolumeDescriptor(const char **systemIdentifier, const char **volumeSet
- , const char **publisher, const char **dataPreparer, const char **application
- , const char **copyright, const char **abstract, const char **bibliographic)
- {
- *systemIdentifier = 0;
- *volumeSet = 0;
- *publisher = 0;
- *dataPreparer = 0;
- *application = 0;
- *copyright = 0;
- *abstract = 0;
- *bibliographic = 0;
- }
-
-
- virtual int reserved1() { return 0;}
- virtual int reserved2() { return 0;}
- virtual int reserved3() { return 0;}
- virtual int reserved4() { return 0;}
- virtual int reserved5() { return 0;}
- virtual int reserved6() { return 0;}
- virtual int reserved7() { return 0;}
- };
- #endif
- #endif
|