• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_EXTENSIONS_CRX_INSTALLER_ERROR_H_
6 #define CHROME_BROWSER_EXTENSIONS_CRX_INSTALLER_ERROR_H_
7 
8 #include "base/strings/string16.h"
9 
10 namespace extensions {
11 
12 // Simple error class for CrxInstaller.
13 class CrxInstallerError {
14  public:
15   // Typed errors that need to be handled specially by clients.
16   enum Type {
17     ERROR_NONE,
18     ERROR_OFF_STORE,
19     ERROR_OTHER
20   };
21 
CrxInstallerError()22   CrxInstallerError() : type_(ERROR_NONE) {
23   }
24 
CrxInstallerError(const base::string16 & message)25   explicit CrxInstallerError(const base::string16& message)
26       : type_(message.empty() ? ERROR_NONE : ERROR_OTHER),
27         message_(message) {
28   }
29 
CrxInstallerError(Type type,const base::string16 & message)30   CrxInstallerError(Type type, const base::string16& message)
31       : type_(type), message_(message) {
32   }
33 
type()34   Type type() const { return type_; }
message()35   const base::string16& message() const { return message_; }
36 
37  private:
38   Type type_;
39   base::string16 message_;
40 };
41 
42 }  // namespace extensions
43 
44 #endif  // CHROME_BROWSER_EXTENSIONS_CRX_INSTALLER_ERROR_H_
45