| // | |
| // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Error.h: Defines the egl::Error and gl::Error classes which encapsulate API errors | |
| // and optional error messages. | |
| #ifndef LIBANGLE_ERROR_H_ | |
| #define LIBANGLE_ERROR_H_ | |
| #include "angle_gl.h" | |
| #include <EGL/egl.h> | |
| #include <string> | |
| namespace gl | |
| { | |
| class Error final | |
| { | |
| public: | |
| explicit inline Error(GLenum errorCode); | |
| Error(GLenum errorCode, const char *msg, ...); | |
| inline Error(const Error &other); | |
| inline Error(Error &&other); | |
| inline ~Error(); | |
| inline Error &operator=(const Error &other); | |
| inline Error &operator=(Error &&other); | |
| inline GLenum getCode() const; | |
| inline bool isError() const; | |
| const std::string &getMessage() const; | |
| private: | |
| void createMessageString() const; | |
| GLenum mCode; | |
| mutable std::string *mMessage; | |
| }; | |
| } | |
| namespace egl | |
| { | |
| class Error final | |
| { | |
| public: | |
| explicit inline Error(EGLint errorCode); | |
| Error(EGLint errorCode, const char *msg, ...); | |
| Error(EGLint errorCode, EGLint id, const char *msg, ...); | |
| inline Error(const Error &other); | |
| inline Error(Error &&other); | |
| inline ~Error(); | |
| inline Error &operator=(const Error &other); | |
| inline Error &operator=(Error &&other); | |
| inline EGLint getCode() const; | |
| inline EGLint getID() const; | |
| inline bool isError() const; | |
| const std::string &getMessage() const; | |
| private: | |
| void createMessageString() const; | |
| EGLint mCode; | |
| EGLint mID; | |
| mutable std::string *mMessage; | |
| }; | |
| } | |
| #include "Error.inl" | |
| #endif // LIBANGLE_ERROR_H_ |