1/* 2 * Copyright (c) 2011 The Chromium Authors. All rights reserved. 3 * Use of this source code is governed by a BSD-style license that can be 4 * found in the LICENSE file. 5 */ 6 7/* 8 * Error codes and data structures used to report errors when loading a nexe. 9 */ 10 11#ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_ERROR_H 12#define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_ERROR_H 13 14#include <string> 15 16#include "native_client/src/include/nacl_macros.h" 17#include "ppapi/c/private/ppb_nacl_private.h" 18 19namespace plugin { 20 21class ErrorInfo { 22 public: 23 ErrorInfo() { 24 SetReport(PP_NACL_ERROR_UNKNOWN, std::string()); 25 } 26 27 void SetReport(PP_NaClError error_code, const std::string& message) { 28 error_code_ = error_code; 29 message_ = message; 30 } 31 32 PP_NaClError error_code() const { 33 return error_code_; 34 } 35 36 const std::string& message() const { 37 return message_; 38 } 39 40 private: 41 PP_NaClError error_code_; 42 std::string message_; 43 NACL_DISALLOW_COPY_AND_ASSIGN(ErrorInfo); 44}; 45 46} // namespace plugin 47 48#endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_ERROR_H 49