diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/gracenote/CDDBPluginWorkOrderManager.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/gracenote/CDDBPluginWorkOrderManager.h')
-rw-r--r-- | Src/gracenote/CDDBPluginWorkOrderManager.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Src/gracenote/CDDBPluginWorkOrderManager.h b/Src/gracenote/CDDBPluginWorkOrderManager.h new file mode 100644 index 00000000..4a2d9e3f --- /dev/null +++ b/Src/gracenote/CDDBPluginWorkOrderManager.h @@ -0,0 +1,90 @@ +#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 */ |