Upstream version 8.37.183.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / installer / signature_data.h
1 // Copyright (c) 2013 Intel Corporation. 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 XWALK_APPLICATION_COMMON_INSTALLER_SIGNATURE_DATA_H_
6 #define XWALK_APPLICATION_COMMON_INSTALLER_SIGNATURE_DATA_H_
7
8 #include <list>
9 #include <set>
10 #include <string>
11
12 #include "base/files/file_path.h"
13 #include "libxml/tree.h"
14 #include "libxml/xpath.h"
15 #include "xwalk/application/common/signature_types.h"
16
17 namespace xwalk {
18 namespace application {
19
20 class SignatureData {
21  public:
22   SignatureData(const std::string& signature_file_name, int signature_number)
23     : signature_file_name_(signature_file_name),
24       signature_number_(signature_number) {
25   }
26
27   std::string signature_file_name() const {
28     return signature_file_name_;
29   }
30
31   std::set<std::string>& reference_set() {
32     return reference_set_;
33   }
34
35   void set_reference_set(const std::set<std::string>& reference_set) {
36     reference_set_ = reference_set;
37   }
38
39   std::string role_uri() const {
40     return role_uri_;
41   }
42
43   void set_role_uri(const std::string& role_uri) {
44     role_uri_ = role_uri;
45   }
46
47   std::string profile_uri() const {
48     return profile_uri_;
49   }
50
51   void set_profile_uri(const std::string& profile_uri) {
52     profile_uri_ = profile_uri;
53   }
54
55   std::string object_id() const {
56     return object_id_;
57   }
58
59   void set_object_id(const std::string& object_id) {
60     object_id_ = object_id;
61   }
62
63   std::string signature_value() const {
64     return signature_value_;
65   }
66
67   void set_signature_value(const std::string& signature_value) {
68     signature_value_ = signature_value;
69   }
70
71   std::string canonicalization_method() const {
72     return canonicalization_method_;
73   }
74
75   void set_canonicalization_method(const std::string& canonicalization_method) {
76     canonicalization_method_ = canonicalization_method;
77   }
78
79   std::string signature_method() const {
80     return signature_method_;
81   }
82
83   void set_signature_method(const std::string signature_method) {
84     signature_method_ = signature_method;
85   }
86
87   std::list<std::string>& certificate_list() {
88     return certificate_list_;
89   }
90
91   void set_certificate_list(const std::list<std::string>& certificate_list) {
92     certificate_list_ = certificate_list;
93   }
94
95   ReferenceHashMap& reference_hash_map() {
96     return reference_hash_map_;
97   }
98
99   void set_reference_hash_map(const ReferenceHashMap& reference_hash_map) {
100     reference_hash_map_ = reference_hash_map;
101   }
102
103   bool isAuthorSignature() const {
104     return signature_number_ == -1;
105   }
106
107  private:
108   std::string signature_file_name_;
109   // This number is taken from distributor signature file name.
110   // Author signature do not contain any number on the file name.
111   // Author signature should have signature number equal to -1.
112   int signature_number_;
113   std::string role_uri_;
114   std::string profile_uri_;
115   std::string signature_value_;
116   std::string identifier;
117   std::string object_id_;
118   std::string canonicalization_method_;
119   std::string signature_method_;
120   std::set<std::string> reference_set_;
121   std::list<std::string> certificate_list_;
122   ReferenceHashMap reference_hash_map_;
123
124   DISALLOW_COPY_AND_ASSIGN(SignatureData);
125 };
126
127 }  // namespace application
128 }  // namespace xwalk
129
130 #endif  // XWALK_APPLICATION_COMMON_INSTALLER_SIGNATURE_DATA_H_