Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / manifest_handlers / tizen_application_handler.h
1 // Copyright (c) 2014 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 #ifndef XWALK_APPLICATION_COMMON_MANIFEST_HANDLERS_TIZEN_APPLICATION_HANDLER_H_
5 #define XWALK_APPLICATION_COMMON_MANIFEST_HANDLERS_TIZEN_APPLICATION_HANDLER_H_
6
7 #include <map>
8 #include <string>
9 #include <vector>
10
11 #include "base/values.h"
12 #include "xwalk/application/common/application_data.h"
13 #include "xwalk/application/common/manifest_handler.h"
14
15 namespace xwalk {
16 namespace application {
17
18 class TizenApplicationInfo : public ApplicationData::ManifestData {
19  public:
20   TizenApplicationInfo();
21   virtual ~TizenApplicationInfo();
22
23   void set_id(const std::string& id) {
24     id_ = id;
25   }
26   void set_package(const std::string& package) {
27     package_ = package;
28   }
29   void set_required_version(
30       const std::string& required_version) {
31     required_version_ = required_version;
32   }
33   const std::string& id() const {
34     return id_;
35   }
36   const std::string& package() const {
37     return package_;
38   }
39   const std::string& required_version() const {
40     return required_version_;
41   }
42
43  private:
44   std::string id_;
45   std::string package_;
46   std::string required_version_;
47 };
48
49 class TizenApplicationHandler : public ManifestHandler {
50  public:
51   TizenApplicationHandler();
52   virtual ~TizenApplicationHandler();
53
54   virtual bool Parse(scoped_refptr<ApplicationData> application,
55                      base::string16* error) OVERRIDE;
56   virtual bool Validate(scoped_refptr<const ApplicationData> application,
57                         std::string* error) const OVERRIDE;
58   virtual bool AlwaysParseForType(Manifest::Type type) const OVERRIDE;
59   virtual std::vector<std::string> Keys() const OVERRIDE;
60
61  private:
62   DISALLOW_COPY_AND_ASSIGN(TizenApplicationHandler);
63 };
64
65 }  // namespace application
66 }  // namespace xwalk
67
68 #endif  // XWALK_APPLICATION_COMMON_MANIFEST_HANDLERS_TIZEN_APPLICATION_HANDLER_H_