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