123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /******************************************************************************
- |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- |* PARTICULAR PURPOSE.
- |*
- |* Copyright 1995-2005 Nero AG. All Rights Reserved.
- |*-----------------------------------------------------------------------------
- |* NeroSDK / NeroAPI
- |*
- |* PROGRAM: APIRoboControl.h
- |*
- |* PURPOSE: Robo handling for NeroAPI
- ******************************************************************************/
- #ifndef APIROBOCONTROL_H
- #define APIROBOCONTROL_H
- /* This file is responsible for associating Robos with drives etc.
- * You can associate a Robo with a drive by using NeroAssociateRobo()
- * with a device handle of a recorder */
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "NeroAPI.h"
- typedef enum
- {
- NCT_PORT_SERIAL,
- NCT_PORT_PARALLEL,
- NCT_PORT_USB
- }
- NERO_COMMNODE_TYPE;
- typedef enum
- {
- NEROAPI_ROBO_OK=0,
- NEROAPI_ROBO_NOTFOUND=1,
- NEROAPI_ROBO_NOTSUPPORTED=2
- }
- NEROAPI_ROBO_ERROR;
- /* Callback for label printing. Will be called by NeroAPI when it
- * is time to print the label. Must return TRUE if label was printed
- * sucessfully, FALSE otherwise.
- * This callback is called from *within* the NeroRobo driver thread
- * so no GUI interaction is usually allowed (spawning a new process is
- * ok, though).
- * This callback mustn't return until the print job is done */
- typedef BOOL(*NeroPrintLabelCallback_t)(void *data);
- typedef struct
- {
- char nrdiIdentifier[256];
- DWORD nrdiVersionNumber;
- char nrdiDLLName[256];
- } NERO_ROBO_DRIVER_INFO;
- typedef struct
- {
- DWORD nrdisNumDevInfos; /* number of following entries */
- NERO_ROBO_DRIVER_INFO nrdiDevInfos[1];
- } NERO_ROBO_DRIVER_INFOS;
- NEROAPI_API NERO_ROBO_DRIVER_INFOS * NADLL_ATTR NeroGetAvailableRoboDrivers();
- /* associate a robo of specified type connected to specified port
- * with a device handle.
- * For now, this function will always return NEROAPI_ROBO_OK
- * as it doesn't actually do anything with the robo.
- * You can pass NULL instead of a printcallback in which case
- * printing will be disabled */
- NEROAPI_API NEROAPI_ROBO_ERROR NADLL_ATTR NeroAssociateRobo(NERO_DEVICEHANDLE aDeviceHandle,
- const char *robo_identifier,
- NERO_COMMNODE_TYPE port,
- int portnum,
- NeroPrintLabelCallback_t printcallback,
- void *printcallback_data);
- /* The following declarations describe an interface to set runtime options for the robo,
- * that is settings the robo won't remember over sessions. With this interface, the generic
- * control flow of the robo can be set. The function below will return NEROAPI_ROBO_NOTSUPPORTED
- * if a specific control flow option is not supported by the robo or otherwise not available */
- typedef enum
- {
- NERO_ROBO_FLAG_CLEANUP,// set this to TRUE in order to have the Robo cleanup itself
- // like removing any remaining CDs from the trays etc.
- // Note that the resulting behaviour may sometimes look like a bad
- // control flow (the robo will try to remove CDs where there aren't
- // any and so on). So you shouldn't use this option unless you're
- // cleaning up after a hard server crash or have another good reason
- // to do so
- NERO_ROBO_INSERTCD_RETRIES // This flag specifies how often Nero is to try to insert another
- // CD from the input tray if the CD in the drive is unwritable
- // The current default value for the number of retries is 5,
- // a value of 0 means to try indefinitely
- } NERO_ROBO_FLAG;
- NEROAPI_API NEROAPI_ROBO_ERROR NADLL_ATTR NeroSetRoboFlag(NERO_DEVICEHANDLE aDeviceHandle,
- NERO_ROBO_FLAG eRoboFlag,
- int iRoboValue);
-
- #ifdef __cplusplus
- }
- #endif
- #endif // APIROBOCONTROL_H
|