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 19 namespace plugin { 20 21 class ErrorInfo { 22 public: ErrorInfo()23 ErrorInfo() { 24 SetReport(PP_NACL_ERROR_UNKNOWN, std::string()); 25 } 26 SetReport(PP_NaClError error_code,const std::string & message)27 void SetReport(PP_NaClError error_code, const std::string& message) { 28 error_code_ = error_code; 29 message_ = message; 30 } 31 error_code()32 PP_NaClError error_code() const { 33 return error_code_; 34 } 35 message()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