fix code cleanup with file property change
[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         const Tizen::Base::String& GetAppTempIconPath(void) const;
73         result SetAppTempIconPath(const Tizen::Base::String& tempIconPath);
74
75         Tizen::Graphics::Bitmap* GetAppMenuIconN(void) const;
76
77         Tizen::Base::Collection::HashMap* GetAppMetadataListN(void) const;
78         Tizen::Base::Collection::ArrayList* GetAppCategoryListN(void) const;
79
80         bool IsMenuIconVisible(void) const;
81         result SetMenuIconVisible(bool visible);
82
83         bool IsMainApp(void) const;
84         result SetMainApp(bool mainApp);
85
86         result AddCategory(Tizen::Base::String* pCategory);
87
88         Tizen::Base::String GetAppFeature(const Tizen::Base::String& key) const;
89
90         static _PackageAppInfoImpl* GetInstance(PackageAppInfo* pPackageAppInfo);
91
92         result Construct(const AppId& appId);
93
94         // to be reviewed
95         _PackageAppInfoImpl(void);
96         virtual ~_PackageAppInfoImpl(void);
97
98         const Tizen::Base::String& GetName(void) const;
99         result SetName(const Tizen::Base::String& name);
100
101         const Tizen::Base::String& GetType(void) const;
102         result SetType(const Tizen::Base::String& type);
103
104         const Tizen::Base::String& GetDefault(void) const;
105         result SetDefault(const Tizen::Base::String& defaultApp);
106
107         Tizen::Base::Collection::ArrayList* GetLaunchConditionListN(void) const;
108         Tizen::Base::Collection::ArrayList* GetLaunchConditionList(void) const;
109         result AddLaunchCondition(const _LaunchConditionInfoImpl& launchCondition);
110
111         Tizen::Base::Collection::ArrayList* GetNotificationListN(void) const;
112         Tizen::Base::Collection::ArrayList* GetNotificationList(void) const;
113         result AddNotification(const _NotificationInfoImpl& notification);
114
115         Tizen::Base::Collection::ArrayList* GetAppFeatureListN(void) const;
116         Tizen::Base::Collection::ArrayList* GetAppFeatureList(void) const;
117         Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppFeatureInfoImpl*>* GetAppFeatureMapN(void) const;
118         result AddAppFeature(const _AppFeatureInfoImpl& appFeature);
119
120         Tizen::Base::Collection::ArrayList* GetDataControlListN(void) const;
121         Tizen::Base::Collection::ArrayList* GetDataControlList(void) const;
122         result AddDataControl(_DataControlInfoImpl* pDataControl);
123
124         Tizen::Base::Collection::ArrayList* GetAppControlListN(void) const;
125         Tizen::Base::Collection::ArrayList* GetAppControlList(void) const;
126         result AddAppControl(_AppControlInfoImpl* pAppControl);
127
128         const Tizen::Base::String& GetPackageName(void) const;
129         result SetPackageName(const Tizen::Base::String& packageName);
130
131         const Tizen::Base::String& GetMainmenuIcon(void) const;
132         result SetMainmenuIcon(const Tizen::Base::String& icon);
133
134         const Tizen::Base::String& GetSettingIcon(void) const;
135         result SetSettingIcon(const Tizen::Base::String& icon);
136
137         const Tizen::Base::String& GetQuickpanelIcon(void) const;
138         result SetQuickpanelIcon(const Tizen::Base::String& icon);
139
140         bool IsMainmenuVisible(void) const;
141         result SetMainmenuVisible(bool visible);
142
143         // to be reviewed
144         result AddName(const Tizen::Base::String& language, const Tizen::Base::String& name);
145         Tizen::Base::Collection::HashMap* GetNameList(void) const;
146
147         int GetUniqueId(void) const;
148         int GetPkgId(void) const;
149
150         result SetUniqueId(int id);
151         result SetPkgId(int id);
152
153         result AddAppControl(void);
154
155         int GetAppFeature(void) const;
156         result SetAppFeature(int feature);
157
158 private:
159         static int CategoryHandler(const char* pCategoryName, void* pUserData);
160         static int MetadataHandler(const char* pKey, const char* pValue, void* pUserData);
161
162 private:
163         _PackageAppInfoImpl(const _PackageAppInfoImpl& value);
164         _PackageAppInfoImpl& operator =(const _PackageAppInfoImpl& source);
165
166         AppId __appId;
167         Tizen::Base::String __appName;
168         Tizen::Base::String __appDiplayName;
169         Tizen::Base::String __appIconPath;
170         Tizen::Base::String __appSettingIconPath;
171         Tizen::Base::String __appNotificationIconPath;
172         Tizen::Base::String __appTempIconPath;
173
174         bool __launchingIconVisible;
175         bool __mainApp;
176         bool __fromDatabase;
177
178         Tizen::Base::String __name;
179         Tizen::Base::String __type;
180         Tizen::Base::String __default;
181
182         Tizen::Base::Collection::ArrayList* __pLaunchConditionImplList;
183         Tizen::Base::Collection::ArrayList* __pNotificationImplList;
184         Tizen::Base::Collection::ArrayList* __pAppFeatureImplList;
185         Tizen::Base::Collection::ArrayList* __pDataControlImplList;
186         Tizen::Base::Collection::ArrayList* __pAppControlImplList;
187         Tizen::Base::Collection::ArrayList* __pAppCategoryList;
188
189         Tizen::Base::String __mainmenuIcon;
190         Tizen::Base::String __settingIcon;
191         Tizen::Base::String __tickerIcon;
192         Tizen::Base::String __quickpanelIcon;
193         Tizen::Base::String __launchImageIcon;
194
195         Tizen::Base::String __packageName;
196         Tizen::Base::Collection::HashMap* __pNameList;
197
198         int __uniqueId;
199         int __pkgId;
200
201         // to be reviewed
202         int __appFeature;
203
204         void* __pAppInfoHandle;
205
206         friend class PackageAppInfo;
207
208 }; // _PackageAppInfoImpl
209
210 class _OSP_EXPORT_ _LaunchConditionInfoImpl
211         : public Tizen::Base::Object
212 {
213 public:
214         _LaunchConditionInfoImpl(void);
215         virtual ~_LaunchConditionInfoImpl(void);
216
217         const Tizen::Base::String& GetName(void) const;
218         result SetName(const Tizen::Base::String& name);
219
220         const Tizen::Base::String& GetValue(void) const;
221         result SetValue(const Tizen::Base::String& value);
222
223 private:
224         _LaunchConditionInfoImpl(const _LaunchConditionInfoImpl& value);
225         _LaunchConditionInfoImpl& operator =(const _LaunchConditionInfoImpl& source);
226
227         Tizen::Base::String __name;
228         Tizen::Base::String __value;
229
230 }; // _LaunchConditionInfoImpl
231
232 class _OSP_EXPORT_ _NotificationInfoImpl
233         : public Tizen::Base::Object
234 {
235 public:
236         _NotificationInfoImpl(void);
237         virtual ~_NotificationInfoImpl(void);
238
239         const Tizen::Base::String& GetName(void) const;
240         result SetName(const Tizen::Base::String& name);
241
242         const Tizen::Base::String& GetValue(void) const;
243         result SetValue(const Tizen::Base::String& value);
244
245 private:
246         _NotificationInfoImpl(const _NotificationInfoImpl& value);
247         _NotificationInfoImpl& operator =(const _NotificationInfoImpl& source);
248
249         Tizen::Base::String __name;
250         Tizen::Base::String __value;
251 }; // _NotificationInfoImpl
252
253 class _OSP_EXPORT_ _AppFeatureInfoImpl
254         : public Tizen::Base::Object
255 {
256 public:
257         _AppFeatureInfoImpl(void);
258         virtual ~_AppFeatureInfoImpl(void);
259
260         const Tizen::Base::String& GetName(void) const;
261         result SetName(const Tizen::Base::String& name);
262
263         const Tizen::Base::String& GetValue(void) const;
264         result SetValue(const Tizen::Base::String& value);
265
266 private:
267         _AppFeatureInfoImpl(const _AppFeatureInfoImpl& value);
268         _AppFeatureInfoImpl& operator =(const _AppFeatureInfoImpl& source);
269
270         Tizen::Base::String __name;
271         Tizen::Base::String __value;
272
273 }; // _AppFeatureInfoImpl
274
275 class _OSP_EXPORT_ _DataControlTypeImpl
276         : public Tizen::Base::Object
277 {
278 public:
279                 _DataControlTypeImpl(void);
280         virtual ~_DataControlTypeImpl(void);
281
282         const Tizen::Base::String& GetType(void) const;
283         result SetType(const Tizen::Base::String& type);
284
285         const Tizen::Base::String& GetAccess(void) const;
286         result SetAccess(const Tizen::Base::String& access);
287
288 private:
289         _DataControlTypeImpl(const _DataControlTypeImpl& value);
290         _DataControlTypeImpl& operator =(const _DataControlTypeImpl& source);
291
292         Tizen::Base::String __type;
293         Tizen::Base::String __access;
294
295 }; // _DataControlTypeImpl
296
297 class _OSP_EXPORT_ _DataControlInfoImpl
298         : public Tizen::Base::Object
299 {
300 public:
301         _DataControlInfoImpl(void);
302         virtual ~_DataControlInfoImpl(void);
303
304         const Tizen::Base::String& GetProviderId(void) const;
305         result SetProviderId(const Tizen::Base::String& providerId);
306
307         Tizen::Base::Collection::ArrayList* GetControlTypeList(void) const;
308         result AddControlType(_DataControlTypeImpl* pControlType);
309
310 private:
311         _DataControlInfoImpl(const _DataControlInfoImpl& value);
312         _DataControlInfoImpl& operator =(const _DataControlInfoImpl& source);
313
314         Tizen::Base::String __providerId;
315         Tizen::Base::Collection::ArrayList* __pControlTypeList;
316
317 }; // _DataControlInfoImpl
318
319 class _OSP_EXPORT_ _AppControlResolutionInfoImpl
320         : public Tizen::Base::Object
321 {
322 public:
323         _AppControlResolutionInfoImpl(void);
324         virtual ~_AppControlResolutionInfoImpl(void);
325
326         Tizen::Base::String* GetUriScheme(void) const;
327         result SetUriScheme(Tizen::Base::String* pUriScheme);
328
329         Tizen::Base::String* GetMimeType(void) const;
330         result SetMimeType(Tizen::Base::String* pMimeType);
331
332 private:
333         _AppControlResolutionInfoImpl(const _AppControlResolutionInfoImpl& value);
334         _AppControlResolutionInfoImpl& operator =(const _AppControlResolutionInfoImpl& source);
335
336         Tizen::Base::String* __pUriScheme;
337         Tizen::Base::String* __pMimeType;
338
339 }; // _AppControlResolutionInfoImpl
340
341 class _OSP_EXPORT_ _AppControlCapabilityInfoImpl
342         : public Tizen::Base::Object
343 {
344 public:
345         _AppControlCapabilityInfoImpl(void);
346         virtual ~_AppControlCapabilityInfoImpl(void);
347
348         int GetUniqueId(void) const;
349         result SetUniqueId(int uniqueId);
350
351         int GetAppControlId(void) const;
352         result SetAppControlId(int uniqueId);
353
354         const Tizen::Base::String& GetOperationId(void) const;
355         result SetOperationId(const Tizen::Base::String& operationId);
356
357         Tizen::Base::Collection::ArrayList* GetResolutionList(void) const;
358         result AddResolution(_AppControlResolutionInfoImpl* pResolution);
359
360 private:
361         _AppControlCapabilityInfoImpl(const _AppControlCapabilityInfoImpl& value);
362         _AppControlCapabilityInfoImpl& operator =(const _AppControlCapabilityInfoImpl& source);
363
364         int __uniqueId;
365         int __appControlId;
366         Tizen::Base::String __operationId;
367         Tizen::Base::Collection::ArrayList* __pResolutionList;
368
369 }; // _AppControlCapabilityInfoImpl
370
371 class _OSP_EXPORT_ _AppControlInfoImpl
372         : public Tizen::Base::Object
373 {
374 public:
375         _AppControlInfoImpl(void);
376         virtual ~_AppControlInfoImpl(void);
377
378         int GetUniqueId(void) const;
379         result SetUniqueId(int uniqueId);
380
381         const Tizen::Base::String& GetProviderId(void) const;
382         result SetProviderId(const Tizen::Base::String& providerId);
383
384         const Tizen::Base::String& GetCategory(void) const;
385         result SetCategory(const Tizen::Base::String& category);
386
387         Tizen::Base::Collection::ArrayList* GetCapabilityList(void) const;
388         result AddCapability(_AppControlCapabilityInfoImpl* pCapability);
389
390 private:
391         _AppControlInfoImpl(const _AppControlInfoImpl& value);
392         _AppControlInfoImpl& operator =(const _AppControlInfoImpl& source);
393
394         int __uniqueId;
395         Tizen::Base::String __providerId;
396         Tizen::Base::String __category;
397         Tizen::Base::Collection::ArrayList* __pCapabilityList;
398
399 }; // _AppControlInfoImpl
400
401 } } } // Tizen::App::Package
402
403 #endif // _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_