mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-11-15 03:15:05 -05:00
90 lines
2.4 KiB
C
90 lines
2.4 KiB
C
#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 */
|