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