94e16000874957f91e071450f984e430c357b6a8
[platform/framework/web/crosswalk-tizen.git] / src / common / application_data.h
1 // Copyright 2015 Samsung Electronics Co, Ltd. 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 WRT_COMMON_APPLICATION_DATA_H_
6 #define WRT_COMMON_APPLICATION_DATA_H_
7
8 #include <manifest_handlers/application_icons_handler.h>
9 #include <manifest_handlers/application_manifest_constants.h>
10 #include <manifest_handlers/appwidget_handler.h>
11 #include <manifest_handlers/app_control_handler.h>
12 #include <manifest_handlers/category_handler.h>
13 #include <manifest_handlers/ime_handler.h>
14 #include <manifest_handlers/metadata_handler.h>
15 #include <manifest_handlers/navigation_handler.h>
16 #include <manifest_handlers/permissions_handler.h>
17 #include <manifest_handlers/service_handler.h>
18 #include <manifest_handlers/setting_handler.h>
19 #include <manifest_handlers/splash_screen_handler.h>
20 #include <manifest_handlers/tizen_application_handler.h>
21 #include <manifest_handlers/widget_handler.h>
22 #include <manifest_handlers/content_handler.h>
23
24
25 #include <memory>
26 #include <string>
27
28 namespace wrt {
29
30 class ApplicationData {
31  public:
32   explicit ApplicationData(const std::string& appid);
33   ~ApplicationData();
34
35   bool LoadManifestData();
36
37   std::shared_ptr<const wgt::parse::AppControlInfoList>
38     app_control_info_list() const;
39   std::shared_ptr<const wgt::parse::CategoryInfoList>
40     category_info_list() const;
41   std::shared_ptr<const wgt::parse::MetaDataInfo>
42     meta_data_info() const;
43   std::shared_ptr<const wgt::parse::AllowedNavigationInfo>
44     allowed_navigation_info() const;
45   std::shared_ptr<const wgt::parse::PermissionsInfo>
46     permissions_info() const;
47   std::shared_ptr<const wgt::parse::SettingInfo>
48     setting_info() const;
49   std::shared_ptr<const wgt::parse::SplashScreenInfo>
50     splash_screen_info() const;
51   std::shared_ptr<const wgt::parse::TizenApplicationInfo>
52     tizen_application_info() const;
53   std::shared_ptr<const wgt::parse::WidgetInfo>
54     widget_info() const;
55   std::shared_ptr<const wgt::parse::ContentInfo>
56     content_info() const;
57
58   const std::string application_path() const { return application_path_; }
59   const std::string pkg_id() const { return pkg_id_; }
60   const std::string app_id() const { return app_id_; }
61
62  private:
63   std::shared_ptr<const wgt::parse::AppControlInfoList>
64     app_control_info_list_;
65   std::shared_ptr<const wgt::parse::CategoryInfoList>
66     category_info_list_;
67   std::shared_ptr<const wgt::parse::MetaDataInfo>
68     meta_data_info_;
69   std::shared_ptr<const wgt::parse::AllowedNavigationInfo>
70     allowed_navigation_info_;
71   std::shared_ptr<const wgt::parse::PermissionsInfo>
72     permissions_info_;
73   std::shared_ptr<const wgt::parse::SettingInfo>
74     setting_info_;
75   std::shared_ptr<const wgt::parse::SplashScreenInfo>
76     splash_screen_info_;
77   std::shared_ptr<const wgt::parse::TizenApplicationInfo>
78     tizen_application_info_;
79   std::shared_ptr<const wgt::parse::WidgetInfo>
80     widget_info_;
81   std::shared_ptr<const wgt::parse::ContentInfo>
82     content_info_;
83
84   std::string application_path_;
85   std::string pkg_id_;
86   std::string app_id_;
87 };
88
89 }  // namespace wrt
90
91 #endif  // WRT_COMMON_APPLICATION_DATA_H_