#ifndef CDDBPLUGIN_WORKORDERMGR_H #define CDDBPLUGIN_WORKORDERMGR_H // sig gen headers #include "CDDBPlugInBase.h" #define CDDBMODULE_WORKORDERMGR_IF_NAME "workordermanagerModuleID" #define CDDBMODULE_WORKORDERMGR 0x10000 #define CDDBMODULE_QUERY_INTERFACE_NAME "CDDBModuleQueryInterface" // supported interfaces #define WORK_ORDER_MANAGER_BASE_INTERFACE "CDDBModuleInterface" #define WORK_ORDER_MANAGER_INTERFACE "workordermanager" #define WORK_ORDER_MANAGER_INTERFACE2 "workordermanager2" #ifndef CDDB_PLUGIN_SIGGEN_H typedef enum { SG_NoError = 0, SG_SignatureAcquired = 1, SG_SignatureNotAcquired = 2, SG_UnsupportedFormat = 3, SG_ProcessingError = 4, SG_InitializationError = 5, SG_DeinitializationError = 6, SG_InvalidParamError = 7, SG_InternalError = 8, SG_NotInitializedError = 9, SG_OutOfMemory = 10, SG_NotImplementedError = 11 } SigGenResultCode; #endif //#ifndef CDDB_PLUGIN_SIGGEN_H // // // #ifndef CDDBMODULEWORKORDERMGR #define CDDBMODULEWORKORDERMGR #define CDDBMODULE_WORKORDER_MGR_VERSION 1 typedef struct WorkOrderInstance* WorkOrderHandle; typedef struct { CDDBModuleInterface base; unsigned int version; /* current version is defined by CDDBMODULE_WORKORDER_MGR_VERSION */ unsigned int size; /* sizeof(CDDBModuleWorkOrder) */ unsigned int flags; /* nothing defined yet */ int (__stdcall *Initialize)(void* cddbcontrol, char* path); int (__stdcall *Shutdown)(void); int (__stdcall *GetSigHandle)(void** handle, void* disc, long track_num); int (__stdcall *WriteSigData)(void* handle, void* data, long size); int (__stdcall *CloseSig)(void* handle); int (__stdcall *AbortSig)(void* handle); } CDDBModuleWorkOrderManagerInterface; typedef struct { CDDBModuleInterface base; /* SetAlwaysGenerate * Description: Enables/disables a Work Order Plugin DLL to always generate * a signature, regardless of work orders. * * Args: dll_filepath - full path and filename of the plugin DLL * for example: (C:\App\Cddb12Tone.dll) * b_always_generate - enable/disable ignoring work orders * for example: (0 or 1) * * Returns: 0 for success or an error. * Failure conditions include: * Invalid argument */ int (__stdcall *SetAlwaysGenerate)(char* dll_filepath,long b_always_generate); } CDDBModuleWorkOrderManagerInterface2; #endif /* CDDBMODULEWORKORDERMGR */ #endif /* CDDBPLUGIN_WORKORDERMGR_H */