CDDBPluginWorkOrderManager.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef CDDBPLUGIN_WORKORDERMGR_H
  2. #define CDDBPLUGIN_WORKORDERMGR_H
  3. // sig gen headers
  4. #include "CDDBPlugInBase.h"
  5. #define CDDBMODULE_WORKORDERMGR_IF_NAME "workordermanagerModuleID"
  6. #define CDDBMODULE_WORKORDERMGR 0x10000
  7. #define CDDBMODULE_QUERY_INTERFACE_NAME "CDDBModuleQueryInterface"
  8. // supported interfaces
  9. #define WORK_ORDER_MANAGER_BASE_INTERFACE "CDDBModuleInterface"
  10. #define WORK_ORDER_MANAGER_INTERFACE "workordermanager"
  11. #define WORK_ORDER_MANAGER_INTERFACE2 "workordermanager2"
  12. #ifndef CDDB_PLUGIN_SIGGEN_H
  13. typedef enum
  14. {
  15. SG_NoError = 0,
  16. SG_SignatureAcquired = 1,
  17. SG_SignatureNotAcquired = 2,
  18. SG_UnsupportedFormat = 3,
  19. SG_ProcessingError = 4,
  20. SG_InitializationError = 5,
  21. SG_DeinitializationError = 6,
  22. SG_InvalidParamError = 7,
  23. SG_InternalError = 8,
  24. SG_NotInitializedError = 9,
  25. SG_OutOfMemory = 10,
  26. SG_NotImplementedError = 11
  27. }
  28. SigGenResultCode;
  29. #endif //#ifndef CDDB_PLUGIN_SIGGEN_H
  30. //
  31. //
  32. //
  33. #ifndef CDDBMODULEWORKORDERMGR
  34. #define CDDBMODULEWORKORDERMGR
  35. #define CDDBMODULE_WORKORDER_MGR_VERSION 1
  36. typedef struct WorkOrderInstance* WorkOrderHandle;
  37. typedef struct
  38. {
  39. CDDBModuleInterface base;
  40. unsigned int version; /* current version is defined by CDDBMODULE_WORKORDER_MGR_VERSION */
  41. unsigned int size; /* sizeof(CDDBModuleWorkOrder) */
  42. unsigned int flags; /* nothing defined yet */
  43. int (__stdcall *Initialize)(void* cddbcontrol, char* path);
  44. int (__stdcall *Shutdown)(void);
  45. int (__stdcall *GetSigHandle)(void** handle, void* disc, long track_num);
  46. int (__stdcall *WriteSigData)(void* handle, void* data, long size);
  47. int (__stdcall *CloseSig)(void* handle);
  48. int (__stdcall *AbortSig)(void* handle);
  49. } CDDBModuleWorkOrderManagerInterface;
  50. typedef struct
  51. {
  52. CDDBModuleInterface base;
  53. /* SetAlwaysGenerate
  54. * Description: Enables/disables a Work Order Plugin DLL to always generate
  55. * a signature, regardless of work orders.
  56. *
  57. * Args: dll_filepath - full path and filename of the plugin DLL
  58. * for example: (C:\App\Cddb12Tone.dll)
  59. * b_always_generate - enable/disable ignoring work orders
  60. * for example: (0 or 1)
  61. *
  62. * Returns: 0 for success or an error.
  63. * Failure conditions include:
  64. * Invalid argument
  65. */
  66. int (__stdcall *SetAlwaysGenerate)(char* dll_filepath,long b_always_generate);
  67. } CDDBModuleWorkOrderManagerInterface2;
  68. #endif /* CDDBMODULEWORKORDERMGR */
  69. #endif /* CDDBPLUGIN_WORKORDERMGR_H */