Chris@40: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@40: /* Chris@40: Copyright (c) 2016-2018 Queen Mary, University of London Chris@40: Chris@40: Permission is hereby granted, free of charge, to any person Chris@40: obtaining a copy of this software and associated documentation Chris@40: files (the "Software"), to deal in the Software without Chris@40: restriction, including without limitation the rights to use, copy, Chris@40: modify, merge, publish, distribute, sublicense, and/or sell copies Chris@40: of the Software, and to permit persons to whom the Software is Chris@40: furnished to do so, subject to the following conditions: Chris@40: Chris@40: The above copyright notice and this permission notice shall be Chris@40: included in all copies or substantial portions of the Software. Chris@40: Chris@40: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, Chris@40: EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF Chris@40: MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND Chris@40: NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY Chris@40: CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF Chris@40: CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION Chris@40: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Chris@40: Chris@40: Except as contained in this notice, the names of the Centre for Chris@40: Digital Music and Queen Mary, University of London shall not be Chris@40: used in advertising or otherwise to promote the sale, use or other Chris@40: dealings in this Software without prior written authorization. Chris@40: */ Chris@40: Chris@40: #ifndef CHECK_CODE_H Chris@40: #define CHECK_CODE_H Chris@40: Chris@40: enum class PluginCheckCode { Chris@40: Chris@40: SUCCESS = 0, Chris@40: Chris@40: /** Plugin library file is not found Chris@40: */ Chris@40: FAIL_LIBRARY_NOT_FOUND = 1, Chris@40: Chris@40: /** Plugin library does appear to be a library, but its Chris@40: * architecture differs from that of the checker program, in Chris@40: * a way that can be distinguished from other loader Chris@40: * failures. On Windows this may arise from system error 193, Chris@40: * ERROR_BAD_EXE_FORMAT Chris@40: */ Chris@40: FAIL_WRONG_ARCHITECTURE = 2, Chris@40: Chris@42: /** Plugin library depends on some other library that cannot be Chris@42: * loaded. On Windows this may arise from system error 126, Chris@42: * ERROR_MOD_NOT_FOUND, provided that the library file itself Chris@42: * exists Chris@40: */ Chris@40: FAIL_DEPENDENCY_MISSING = 3, Chris@40: Chris@51: /** Plugin library loading was refused for some security-related Chris@51: * reason Chris@51: */ Chris@51: FAIL_FORBIDDEN = 4, Chris@51: Chris@40: /** Plugin library cannot be loaded for some other reason Chris@40: */ Chris@51: FAIL_NOT_LOADABLE = 5, Chris@40: Chris@40: /** Plugin library can be loaded, but the expected plugin Chris@40: * descriptor symbol is missing Chris@40: */ Chris@51: FAIL_DESCRIPTOR_MISSING = 6, Chris@40: Chris@40: /** Plugin library can be loaded and descriptor called, but no Chris@40: * plugins are found in it Chris@40: */ Chris@51: FAIL_NO_PLUGINS = 7, Chris@40: Chris@40: /** Failure but no meaningful error code provided, or failure Chris@40: * read from an older helper version that did not support Chris@40: * error codes Chris@40: */ Chris@51: FAIL_OTHER = 999 Chris@40: }; Chris@40: Chris@40: #endif