• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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