2ef78e20bf5b6e3ca42874f2d0fc683332b1dece
[platform/framework/native/appfw.git] / src / app / inc / FAppPkg_PackageAppInfoImpl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file        FAppPkg_PackageAppInfoImpl.h
20  * @brief       This is the header file for the _PackageAppInfoImpl class.
21  */
22
23 #ifndef _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_
24 #define _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_
25
26 #include <FAppTypes.h>
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
29 #include <FOspConfig.h>
30 #include <FAppPkgPackageManager.h>
31 #include <FBaseInternalTypes.h>
32 #include <FBaseColHashMapT.h>
33
34 namespace Tizen { namespace Graphics
35 {
36 class Bitmap;
37 } }
38
39 namespace Tizen { namespace App { namespace Package
40 {
41
42 class _LaunchConditionInfoImpl;
43 class _NotificationInfoImpl;
44 class _AppFeatureInfoImpl;
45 class _DataControlInfoImpl;
46 class _AppControlResolutionInfoImpl;
47 class _AppControlCapabilityInfoImpl;
48 class _AppControlInfoImpl;
49
50 class _OSP_EXPORT_ _PackageAppInfoImpl
51         : public Tizen::Base::Object
52 {
53 public:
54         const AppId& GetAppId(void) const;
55         result SetAppId(const AppId& appId);
56
57         const Tizen::Base::String& GetAppName(void) const;
58         result SetAppName(const Tizen::Base::String& appName);
59
60         const Tizen::Base::String& GetAppDisplayName(void) const;
61         result SetAppDisplayName(const Tizen::Base::String& appDiplayName);
62
63         const Tizen::Base::String& GetAppMenuIconPath(void) const;
64         result SetAppMenuIconPath(const Tizen::Base::String& iconPath);
65
66         const Tizen::Base::String& GetAppSettingIconPath(void) const;
67         result SetAppSettingIconPath(const Tizen::Base::String& appSettingIcon);
68
69         const Tizen::Base::String& GetAppNotificationIconPath(void) const;
70         result SetAppNotificationIconPath(const Tizen::Base::String& notificationIconPath);
71
72         Tizen::Graphics::Bitmap* GetAppMenuIconN(void) const;
73
74         Tizen::Base::Collection::HashMap* GetAppMetadataListN(void) const;
75         Tizen::Base::Collection::ArrayList* GetAppCategoryListN(void) const;
76
77         bool IsMenuIconVisible(void) const;
78         result SetMenuIconVisible(bool visible);
79
80         bool IsMainApp(void) const;
81         result SetMainApp(bool mainApp);
82
83         result AddCategory(Tizen::Base::String* pCategory);
84
85         static _PackageAppInfoImpl* GetInstance(PackageAppInfo* pPackageAppInfo);
86
87         result Construct(const AppId& appId);
88
89         // to be reviewed
90         _PackageAppInfoImpl(void);
91         virtual ~_PackageAppInfoImpl(void);
92
93         const Tizen::Base::String& GetName(void) const;
94         result SetName(const Tizen::Base::String& name);
95
96         const Tizen::Base::String& GetType(void) const;
97         result SetType(const Tizen::Base::String& type);
98
99         const Tizen::Base::String& GetDefault(void) const;
100         result SetDefault(const Tizen::Base::String& defaultApp);
101
102         Tizen::Base::Collection::ArrayList* GetLaunchConditionListN(void) const;
103         Tizen::Base::Collection::ArrayList* GetLaunchConditionList(void) const;
104         result AddLaunchCondition(const _LaunchConditionInfoImpl& launchCondition);
105
106         Tizen::Base::Collection::ArrayList* GetNotificationListN(void) const;
107         Tizen::Base::Collection::ArrayList* GetNotificationList(void) const;
108         result AddNotification(const _NotificationInfoImpl& notification);
109
110         Tizen::Base::Collection::ArrayList* GetAppFeatureListN(void) const;
111         Tizen::Base::Collection::ArrayList* GetAppFeatureList(void) const;
112         Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppFeatureInfoImpl*>* GetAppFeatureMapN(void) const;
113         result AddAppFeature(const _AppFeatureInfoImpl& appFeature);
114
115         Tizen::Base::Collection::ArrayList* GetDataControlListN(void) const;
116         Tizen::Base::Collection::ArrayList* GetDataControlList(void) const;
117         result AddDataControl(_DataControlInfoImpl* pDataControl);
118
119         Tizen::Base::Collection::ArrayList* GetAppControlListN(void) const;
120         Tizen::Base::Collection::ArrayList* GetAppControlList(void) const;
121         result AddAppControl(_AppControlInfoImpl* pAppControl);
122
123         const Tizen::Base::String& GetPackageName(void) const;
124         result SetPackageName(const Tizen::Base::String& packageName);
125
126         const Tizen::Base::String& GetMainmenuIcon(void) const;
127         result SetMainmenuIcon(const Tizen::Base::String& icon);
128
129         const Tizen::Base::String& GetSettingIcon(void) const;
130         result SetSettingIcon(const Tizen::Base::String& icon);
131
132         const Tizen::Base::String& GetQuickpanelIcon(void) const;
133         result SetQuickpanelIcon(const Tizen::Base::String& icon);
134
135         bool IsMainmenuVisible(void) const;
136         result SetMainmenuVisible(bool visible);
137
138         // to be reviewed
139         result AddName(const Tizen::Base::String& language, const Tizen::Base::String& name);
140         Tizen::Base::Collection::HashMap* GetNameList(void) const;
141
142         int GetUniqueId(void) const;
143         int GetPkgId(void) const;
144
145         result SetUniqueId(int id);
146         result SetPkgId(int id);
147
148         result AddAppControl(void);
149
150         int GetAppFeature(void) const;
151         result SetAppFeature(int feature);
152
153 private:
154         static int CategoryHandler(const char* pCategoryName, void* pUserData);
155         static int MetadataHandler(const char* pKey, const char* pValue, void* pUserData);
156
157 private:
158         _PackageAppInfoImpl(const _PackageAppInfoImpl& value);
159         _PackageAppInfoImpl& operator =(const _PackageAppInfoImpl& source);
160
161         AppId __appId;
162         Tizen::Base::String __appName;
163         Tizen::Base::String __appDiplayName;
164         Tizen::Base::String __appIconPath;
165         Tizen::Base::String __appSettingIconPath;
166         Tizen::Base::String __appNotificationIconPath;
167
168         bool __launchingIconVisible;
169         bool __mainApp;
170         bool __fromDatabase;
171
172         Tizen::Base::String __name;
173         Tizen::Base::String __type;
174         Tizen::Base::String __default;
175
176         Tizen::Base::Collection::ArrayList* __pLaunchConditionImplList;
177         Tizen::Base::Collection::ArrayList* __pNotificationImplList;
178         Tizen::Base::Collection::ArrayList* __pAppFeatureImplList;
179         Tizen::Base::Collection::ArrayList* __pDataControlImplList;
180         Tizen::Base::Collection::ArrayList* __pAppControlImplList;
181         Tizen::Base::Collection::ArrayList* __pAppCategoryList;
182
183         Tizen::Base::String __mainmenuIcon;
184         Tizen::Base::String __settingIcon;
185         Tizen::Base::String __tickerIcon;
186         Tizen::Base::String __quickpanelIcon;
187         Tizen::Base::String __launchImageIcon;
188
189         Tizen::Base::String __packageName;
190         Tizen::Base::Collection::HashMap* __pNameList;
191
192         int __uniqueId;
193         int __pkgId;
194
195         // to be reviewed
196         int __appFeature;
197
198         void* __pAppInfoHandle;
199
200         friend class PackageAppInfo;
201
202 }; // _PackageAppInfoImpl
203
204 class _OSP_EXPORT_ _LaunchConditionInfoImpl
205         : public Tizen::Base::Object
206 {
207 public:
208         _LaunchConditionInfoImpl(void);
209         virtual ~_LaunchConditionInfoImpl(void);
210
211         const Tizen::Base::String& GetName(void) const;
212         result SetName(const Tizen::Base::String& name);
213
214         const Tizen::Base::String& GetValue(void) const;
215         result SetValue(const Tizen::Base::String& value);
216
217 private:
218         _LaunchConditionInfoImpl(const _LaunchConditionInfoImpl& value);
219         _LaunchConditionInfoImpl& operator =(const _LaunchConditionInfoImpl& source);
220
221         Tizen::Base::String __name;
222         Tizen::Base::String __value;
223
224 }; // _LaunchConditionInfoImpl
225
226 class _OSP_EXPORT_ _NotificationInfoImpl
227         : public Tizen::Base::Object
228 {
229 public:
230         _NotificationInfoImpl(void);
231         virtual ~_NotificationInfoImpl(void);
232
233         const Tizen::Base::String& GetName(void) const;
234         result SetName(const Tizen::Base::String& name);
235
236         const Tizen::Base::String& GetValue(void) const;
237         result SetValue(const Tizen::Base::String& value);
238
239 private:
240         _NotificationInfoImpl(const _NotificationInfoImpl& value);
241         _NotificationInfoImpl& operator =(const _NotificationInfoImpl& source);
242
243         Tizen::Base::String __name;
244         Tizen::Base::String __value;
245 }; // _NotificationInfoImpl
246
247 class _OSP_EXPORT_ _AppFeatureInfoImpl
248         : public Tizen::Base::Object
249 {
250 public:
251         _AppFeatureInfoImpl(void);
252         virtual ~_AppFeatureInfoImpl(void);
253
254         const Tizen::Base::String& GetName(void) const;
255         result SetName(const Tizen::Base::String& name);
256
257         const Tizen::Base::String& GetValue(void) const;
258         result SetValue(const Tizen::Base::String& value);
259
260 private:
261         _AppFeatureInfoImpl(const _AppFeatureInfoImpl& value);
262         _AppFeatureInfoImpl& operator =(const _AppFeatureInfoImpl& source);
263
264         Tizen::Base::String __name;
265         Tizen::Base::String __value;
266
267 }; // _AppFeatureInfoImpl
268
269 class _OSP_EXPORT_ _DataControlTypeImpl
270         : public Tizen::Base::Object
271 {
272 public:
273                 _DataControlTypeImpl(void);
274         virtual ~_DataControlTypeImpl(void);
275
276         const Tizen::Base::String& GetType(void) const;
277         result SetType(const Tizen::Base::String& type);
278
279         const Tizen::Base::String& GetAccess(void) const;
280         result SetAccess(const Tizen::Base::String& access);
281
282 private:
283         _DataControlTypeImpl(const _DataControlTypeImpl& value);
284         _DataControlTypeImpl& operator =(const _DataControlTypeImpl& source);
285
286         Tizen::Base::String __type;
287         Tizen::Base::String __access;
288
289 }; // _DataControlTypeImpl
290
291 class _OSP_EXPORT_ _DataControlInfoImpl
292         : public Tizen::Base::Object
293 {
294 public:
295         _DataControlInfoImpl(void);
296         virtual ~_DataControlInfoImpl(void);
297
298         const Tizen::Base::String& GetProviderId(void) const;
299         result SetProviderId(const Tizen::Base::String& providerId);
300
301         Tizen::Base::Collection::ArrayList* GetControlTypeList(void) const;
302         result AddControlType(_DataControlTypeImpl* pControlType);
303
304 private:
305         _DataControlInfoImpl(const _DataControlInfoImpl& value);
306         _DataControlInfoImpl& operator =(const _DataControlInfoImpl& source);
307
308         Tizen::Base::String __providerId;
309         Tizen::Base::Collection::ArrayList* __pControlTypeList;
310
311 }; // _DataControlInfoImpl
312
313 class _OSP_EXPORT_ _AppControlResolutionInfoImpl
314         : public Tizen::Base::Object
315 {
316 public:
317         _AppControlResolutionInfoImpl(void);
318         virtual ~_AppControlResolutionInfoImpl(void);
319
320         Tizen::Base::String* GetUriScheme(void) const;
321         result SetUriScheme(Tizen::Base::String* pUriScheme);
322
323         Tizen::Base::String* GetMimeType(void) const;
324         result SetMimeType(Tizen::Base::String* pMimeType);
325
326 private:
327         _AppControlResolutionInfoImpl(const _AppControlResolutionInfoImpl& value);
328         _AppControlResolutionInfoImpl& operator =(const _AppControlResolutionInfoImpl& source);
329
330         Tizen::Base::String* __pUriScheme;
331         Tizen::Base::String* __pMimeType;
332
333 }; // _AppControlResolutionInfoImpl
334
335 class _OSP_EXPORT_ _AppControlCapabilityInfoImpl
336         : public Tizen::Base::Object
337 {
338 public:
339         _AppControlCapabilityInfoImpl(void);
340         virtual ~_AppControlCapabilityInfoImpl(void);
341
342         int GetUniqueId(void) const;
343         result SetUniqueId(int uniqueId);
344
345         int GetAppControlId(void) const;
346         result SetAppControlId(int uniqueId);
347
348         const Tizen::Base::String& GetOperationId(void) const;
349         result SetOperationId(const Tizen::Base::String& operationId);
350
351         Tizen::Base::Collection::ArrayList* GetResolutionList(void) const;
352         result AddResolution(_AppControlResolutionInfoImpl* pResolution);
353
354 private:
355         _AppControlCapabilityInfoImpl(const _AppControlCapabilityInfoImpl& value);
356         _AppControlCapabilityInfoImpl& operator =(const _AppControlCapabilityInfoImpl& source);
357
358         int __uniqueId;
359         int __appControlId;
360         Tizen::Base::String __operationId;
361         Tizen::Base::Collection::ArrayList* __pResolutionList;
362
363 }; // _AppControlCapabilityInfoImpl
364
365 class _OSP_EXPORT_ _AppControlInfoImpl
366         : public Tizen::Base::Object
367 {
368 public:
369         _AppControlInfoImpl(void);
370         virtual ~_AppControlInfoImpl(void);
371
372         int GetUniqueId(void) const;
373         result SetUniqueId(int uniqueId);
374
375         const Tizen::Base::String& GetProviderId(void) const;
376         result SetProviderId(const Tizen::Base::String& providerId);
377
378         const Tizen::Base::String& GetCategory(void) const;
379         result SetCategory(const Tizen::Base::String& category);
380
381         Tizen::Base::Collection::ArrayList* GetCapabilityList(void) const;
382         result AddCapability(_AppControlCapabilityInfoImpl* pCapability);
383
384 private:
385         _AppControlInfoImpl(const _AppControlInfoImpl& value);
386         _AppControlInfoImpl& operator =(const _AppControlInfoImpl& source);
387
388         int __uniqueId;
389         Tizen::Base::String __providerId;
390         Tizen::Base::String __category;
391         Tizen::Base::Collection::ArrayList* __pCapabilityList;
392
393 }; // _AppControlInfoImpl
394
395 } } } // Tizen::App::Package
396
397 #endif // _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_