/****************************************************************************** |* 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 / NeroRobo |* |* PROGRAM: NeroRoboFirmwareCheck.h |* |* PURPOSE: Inreface for robo recognition ******************************************************************************/ /* Class CNeroRoboFirmwareCheck defines and additional robot driver interface, which enables Nero * to estimate the firmware of robot connected. This interface is used by Nero mainly to automatically * recognize robots if particular port was selected in the configuration dialog. */ #ifndef NEROROBOFIRMWARECHECK_H #define NEROROBOFIRMWARECHECK_H #include "CSerial.h" /** Since Nero 5.5.9.8 */ class CNeroRoboFirmwareCheckV1 { public: /* Read firmware from named robo. */ virtual char *GetRoboFirmware() = 0; /* Check if the received firmware belongs one of known robos. Here the firmware string received in * method above will be passed, so the driver can check if it's a valid string. If this methods * returns true, Nero will automatically assign this robot driver to recorder selected in configuration * dialog.*/ virtual bool IsValidFirmware(const char *cpFirmware) = 0; /* Check also for valid printer name we found on local machine. There could be a couple of special robot * printers which also can be automatically assigned to selected robot driver. */ virtual bool IsValidPrinter(const char *cpPrinterName) = 0; virtual ~CNeroRoboFirmwareCheckV1() {}; }; /** Since Nero 5.5.10.2 */ class CNeroRoboFirmwareCheck :public CNeroRoboFirmwareCheckV1 { public: /* Save the supported interface types in the driver. This method schould return the port type * the robot is using for communication. */ virtual SerialPortType GetInterfaceType() = 0; virtual ~CNeroRoboFirmwareCheck() {}; }; #endif // NEROROBOFIRMWARECHECK_H