/* This file is part of Ingen. Copyright 2007-2012 David Robillard Ingen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. Ingen 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 Affero General Public License for details. You should have received a copy of the GNU Affero General Public License along with Ingen. If not, see . */ #ifndef INGEN_STATUS_HPP #define INGEN_STATUS_HPP namespace Ingen { enum Status { SUCCESS, FAILURE, BAD_INDEX, BAD_OBJECT_TYPE, BAD_VALUE_TYPE, CLIENT_NOT_FOUND, CREATION_FAILED, DIRECTION_MISMATCH, EXISTS, INTERNAL_ERROR, INVALID_PARENT_PATH, INVALID_POLY, NOT_FOUND, NOT_MOVABLE, NO_SPACE, PARENT_DIFFERS, PARENT_NOT_FOUND, PLUGIN_NOT_FOUND, PORT_NOT_FOUND, TYPE_MISMATCH, UNKNOWN_TYPE }; static inline const char* ingen_status_string(Status st) { switch (st) { case SUCCESS: return "Success"; case FAILURE: return "Failure"; case BAD_INDEX: return "Invalid index"; case BAD_OBJECT_TYPE: return "Invalid object type"; case BAD_VALUE_TYPE: return "Invalid value type"; case CLIENT_NOT_FOUND: return "Client not found"; case CREATION_FAILED: return "Creation failed"; case DIRECTION_MISMATCH: return "Direction mismatch"; case EXISTS: return "Object exists"; case INTERNAL_ERROR: return "Internal error"; case INVALID_PARENT_PATH: return "Invalid parent path"; case INVALID_POLY: return "Invalid polyphony"; case NOT_FOUND: return "Object not found"; case NOT_MOVABLE: return "Object not movable"; case NO_SPACE: return "Insufficient space"; case PARENT_DIFFERS: return "Parent differs"; case PARENT_NOT_FOUND: return "Parent not found"; case PORT_NOT_FOUND: return "Port not found"; case PLUGIN_NOT_FOUND: return "Plugin not found"; case TYPE_MISMATCH: return "Type mismatch"; case UNKNOWN_TYPE: return "Unknown type"; } return "Unknown error"; } } // namespace Ingen #endif // INGEN_STATUS_HPP