/* * This file is part of the QtHPConnect distribution (https://github.com/Indy970/QtHPConnect.git). * Copyright (c) 2020 Ian Gebbie. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 or later. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #ifndef ERRORHANDLER_H #define ERRORHANDLER_H enum ErrLevel { L0, //abort L1, //fault L2, //warning L3, L4, L7 //information }; typedef enum { ERR_SUCCESS = 0, // Must be equal to ERR_HPLIBS_GENERIC_FIRST ERR_MALLOC, ERR_INVALID_HANDLE, ERR_INVALID_PARAMETER, ERR_INVALID_MODEL, ERR_LIBRARY_INIT, ERR_LIBRARY_EXIT, ERR_LIBRARY_CONFIG_VERSION, ERR_FILE_FIRST, ERR_FILE_FILENAME, ERR_FILE_LAST } hp_error; class errorHandler { private: QObject * pParent; QMutex m_lineLoggerMutex; QString getLogFileName(); int writeLog(QString); int writeStatus(QString); int writeChatter(QString); public: errorHandler(); errorHandler(QObject *); ~errorHandler(); int error(ErrLevel, int, QString, QString Data); int dump(uint8_t *, int); }; #endif // ERRORHANDLER_H