/************************************************************************ ** ** @file vsysexits.h ** @author Roman Telezhynskyi ** @date 28 9, 2015 ** ** @brief ** @copyright ** This source code is part of the Valentina project, a pattern making ** program, whose allow create and modeling patterns of clothing. ** Copyright (C) 2015 Valentina project ** All Rights Reserved. ** ** Valentina 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, either version 3 of the License, or ** (at your option) any later version. ** ** Valentina 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 Valentina. If not, see . ** *************************************************************************/ #ifndef VSYSEXITS_H #define VSYSEXITS_H #include #include #include #ifdef __GNUC__ #define V_UNUSED __attribute__ ((unused)) #else #define V_UNUSED #endif static const auto V_UNUSED V_EX_OK = 0; /*Indicate the successful exit.*/ static const auto V_UNUSED V_EX_USAGE = 64; /*The command was used incorrectly, e.g., with the wrong number of arguments, a bad flag, a bad syntax in a parameter, or whatever.*/ static const auto V_UNUSED V_EX_DATAERR = 65; /*The input data was incorrect in some way. This should only be used for user's data and not system files.*/ static const auto V_UNUSED V_EX_NOINPUT = 66; /*An input file (not a system file) did not exist or was not readable.*/ static const auto V_UNUSED V_EX_UNAVAILABLE = 69; /*A service is unavailable. This can occur if a support program or file does not exist. This can also be used as a catchall message when something you wanted to do doesn't work, but you don't know why.*/ static const auto V_UNUSED V_EX_SOFTWARE = 70; /*An internal software error has been detected. This should be limited to nonoperating operating system related errors as possible.*/ static const auto V_UNUSED V_EX_OSERR = 71; /*An operating system error has been detected. This is intended to be used for such things as ``cannot fork'', ``cannot create pipe'', or the like. It includes things like getuid returning a user that does not exist in the passwd file.*/ static const auto V_UNUSED V_EX_OSFILE = 72; /*Some system file (e.g., /etc/passwd, /var/run/utmp, etc.) does not exist, cannot be opened, or has some sort of error (e.g., syntax error).*/ static const auto V_UNUSED V_EX_CANTCREAT = 73; /*A (user specified) output file cannot be created.*/ static const auto V_UNUSED V_EX_IOERR = 74; /*An error occurred while doing I/O on some file.*/ static const auto V_UNUSED V_EX_NOPERM = 77; /*You did not have sufficient permission to perform the operation. This is not intended for file system problems, which should use EX_NOINPUT or EX_CANTCREAT, but rather for higher level permissions.*/ static const auto V_UNUSED V_EX_CONFIG = 78; /*Something was found in an unconfigured or misconfigured state.*/ #undef V_UNUSED //--------------------------------------------------------------------------------------------------------------------- inline auto vStdErr() -> QTextStream & { static QTextStream ts(stderr, QIODevice::Unbuffered | QIODevice::WriteOnly); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ts.setCodec("UTF-8"); #endif return ts; } //--------------------------------------------------------------------------------------------------------------------- inline auto vStdOut() -> QTextStream & { static QTextStream ts(stdout, QIODevice::Unbuffered | QIODevice::WriteOnly); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ts.setCodec("UTF-8"); #endif return ts; } #endif // VSYSEXITS_H