Upstream version 9.37.193.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   ~SignatureData();
24
25   std::string signature_file_name() const {
26     return signature_file_name_;
27   }
28
29   std::set<std::string>& reference_set() {
30     return reference_set_;
31   }
32
33   void set_reference_set(const std::set<std::string>& reference_set) {
34     reference_set_ = reference_set;
35   }
36
37   std::string role_uri() const {
38     return role_uri_;
39   }
40
41   void set_role_uri(const std::string& role_uri) {
42     role_uri_ = role_uri;
43   }
44
45   std::string profile_uri() const {
46     return profile_uri_;
47   }
48
49   void set_profile_uri(const std::string& profile_uri) {
50     profile_uri_ = profile_uri;
51   }
52
53   std::string object_id() const {
54     return object_id_;
55   }
56
57   void set_object_id(const std::string& object_id) {
58     object_id_ = object_id;
59   }
60
61   std::string signature_value() const {
62     return signature_value_;
63   }
64
65   void set_signature_value(const std::string& signature_value) {
66     signature_value_ = signature_value;
67   }
68
69   std::string canonicalization_method() const {
70     return canonicalization_method_;
71   }
72
73   void set_canonicalization_method(const std::string& canonicalization_method) {
74     canonicalization_method_ = canonicalization_method;
75   }
76
77   std::string signature_method() const {
78     return signature_method_;
79   }
80
81   void set_signature_method(const std::string signature_method) {
82     signature_method_ = signature_method;
83   }
84
85   std::list<std::string>& certificate_list() {
86     return certificate_list_;
87   }
88
89   void set_certificate_list(const std::list<std::string>& certificate_list) {
90     certificate_list_ = certificate_list;
91   }
92
93   ReferenceHashMap& reference_hash_map() {
94     return reference_hash_map_;
95   }
96
97   void set_reference_hash_map(const ReferenceHashMap& reference_hash_map) {
98     reference_hash_map_ = reference_hash_map;
99   }
100
101   bool isAuthorSignature() const {
102     return signature_number_ == -1;
103   }
104
105  private:
106   std::string signature_file_name_;
107   // This number is taken from distributor signature file name.
108   // Author signature do not contain any number on the file name.
109   // Author signature should have signature number equal to -1.
110   int signature_number_;
111   std::string role_uri_;
112   std::string profile_uri_;
113   std::string signature_value_;
114   std::string identifier;
115   std::string object_id_;
116   std::string canonicalization_method_;
117   std::string signature_method_;
118   std::set<std::string> reference_set_;
119   std::list<std::string> certificate_list_;
120   ReferenceHashMap reference_hash_map_;
121
122   DISALLOW_COPY_AND_ASSIGN(SignatureData);
123 };
124
125 }  // namespace application
126 }  // namespace xwalk
127
128 #endif  // XWALK_APPLICATION_COMMON_INSTALLER_SIGNATURE_DATA_H_