2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file FAppPkg_PackageAppInfoImpl.h
20 * @brief This is the header file for the _PackageAppInfoImpl class.
23 #ifndef _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_
24 #define _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_
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>
34 namespace Tizen { namespace Graphics
39 namespace Tizen { namespace App { namespace Package
42 class _LaunchConditionInfoImpl;
43 class _NotificationInfoImpl;
44 class _AppFeatureInfoImpl;
45 class _DataControlInfoImpl;
46 class _AppControlResolutionInfoImpl;
47 class _AppControlCapabilityInfoImpl;
48 class _AppControlInfoImpl;
50 class _OSP_EXPORT_ _PackageAppInfoImpl
51 : public Tizen::Base::Object
54 const AppId& GetAppId(void) const;
55 result SetAppId(const AppId& appId);
57 const Tizen::Base::String& GetAppName(void) const;
58 result SetAppName(const Tizen::Base::String& appName);
60 const Tizen::Base::String& GetAppDisplayName(void) const;
61 result SetAppDisplayName(const Tizen::Base::String& appDiplayName);
63 const Tizen::Base::String& GetAppMenuIconPath(void) const;
64 result SetAppMenuIconPath(const Tizen::Base::String& iconPath);
66 const Tizen::Base::String& GetAppSettingIconPath(void) const;
67 result SetAppSettingIconPath(const Tizen::Base::String& appSettingIcon);
69 const Tizen::Base::String& GetAppNotificationIconPath(void) const;
70 result SetAppNotificationIconPath(const Tizen::Base::String& notificationIconPath);
72 const Tizen::Base::String& GetAppTempIconPath(void) const;
73 result SetAppTempIconPath(const Tizen::Base::String& tempIconPath);
75 Tizen::Graphics::Bitmap* GetAppMenuIconN(void) const;
77 Tizen::Base::Collection::HashMap* GetAppMetadataListN(void) const;
78 Tizen::Base::Collection::ArrayList* GetAppCategoryListN(void) const;
80 bool IsMenuIconVisible(void) const;
81 result SetMenuIconVisible(bool visible);
83 bool IsMainApp(void) const;
84 result SetMainApp(bool mainApp);
86 result AddCategory(Tizen::Base::String* pCategory);
88 Tizen::Base::String GetAppFeature(const Tizen::Base::String& key) const;
90 static _PackageAppInfoImpl* GetInstance(PackageAppInfo* pPackageAppInfo);
92 result Construct(const AppId& appId);
95 _PackageAppInfoImpl(void);
96 virtual ~_PackageAppInfoImpl(void);
98 const Tizen::Base::String& GetName(void) const;
99 result SetName(const Tizen::Base::String& name);
101 const Tizen::Base::String& GetType(void) const;
102 result SetType(const Tizen::Base::String& type);
104 const Tizen::Base::String& GetDefault(void) const;
105 result SetDefault(const Tizen::Base::String& defaultApp);
107 Tizen::Base::Collection::ArrayList* GetLaunchConditionListN(void) const;
108 Tizen::Base::Collection::ArrayList* GetLaunchConditionList(void) const;
109 result AddLaunchCondition(const _LaunchConditionInfoImpl& launchCondition);
111 Tizen::Base::Collection::ArrayList* GetNotificationListN(void) const;
112 Tizen::Base::Collection::ArrayList* GetNotificationList(void) const;
113 result AddNotification(const _NotificationInfoImpl& notification);
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);
120 Tizen::Base::Collection::ArrayList* GetDataControlListN(void) const;
121 Tizen::Base::Collection::ArrayList* GetDataControlList(void) const;
122 result AddDataControl(_DataControlInfoImpl* pDataControl);
124 Tizen::Base::Collection::ArrayList* GetAppControlListN(void) const;
125 Tizen::Base::Collection::ArrayList* GetAppControlList(void) const;
126 result AddAppControl(_AppControlInfoImpl* pAppControl);
128 const Tizen::Base::String& GetPackageName(void) const;
129 result SetPackageName(const Tizen::Base::String& packageName);
131 const Tizen::Base::String& GetMainmenuIcon(void) const;
132 result SetMainmenuIcon(const Tizen::Base::String& icon);
134 const Tizen::Base::String& GetSettingIcon(void) const;
135 result SetSettingIcon(const Tizen::Base::String& icon);
137 const Tizen::Base::String& GetQuickpanelIcon(void) const;
138 result SetQuickpanelIcon(const Tizen::Base::String& icon);
140 bool IsMainmenuVisible(void) const;
141 result SetMainmenuVisible(bool visible);
144 result AddName(const Tizen::Base::String& language, const Tizen::Base::String& name);
145 Tizen::Base::Collection::HashMap* GetNameList(void) const;
147 int GetUniqueId(void) const;
148 int GetPkgId(void) const;
150 result SetUniqueId(int id);
151 result SetPkgId(int id);
153 result AddAppControl(void);
155 int GetAppFeature(void) const;
156 result SetAppFeature(int feature);
159 static int CategoryHandler(const char* pCategoryName, void* pUserData);
160 static int MetadataHandler(const char* pKey, const char* pValue, void* pUserData);
163 _PackageAppInfoImpl(const _PackageAppInfoImpl& value);
164 _PackageAppInfoImpl& operator =(const _PackageAppInfoImpl& source);
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;
174 bool __launchingIconVisible;
178 Tizen::Base::String __name;
179 Tizen::Base::String __type;
180 Tizen::Base::String __default;
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;
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;
195 Tizen::Base::String __packageName;
196 Tizen::Base::Collection::HashMap* __pNameList;
204 void* __pAppInfoHandle;
206 friend class PackageAppInfo;
208 }; // _PackageAppInfoImpl
210 class _OSP_EXPORT_ _LaunchConditionInfoImpl
211 : public Tizen::Base::Object
214 _LaunchConditionInfoImpl(void);
215 virtual ~_LaunchConditionInfoImpl(void);
217 const Tizen::Base::String& GetName(void) const;
218 result SetName(const Tizen::Base::String& name);
220 const Tizen::Base::String& GetValue(void) const;
221 result SetValue(const Tizen::Base::String& value);
224 _LaunchConditionInfoImpl(const _LaunchConditionInfoImpl& value);
225 _LaunchConditionInfoImpl& operator =(const _LaunchConditionInfoImpl& source);
227 Tizen::Base::String __name;
228 Tizen::Base::String __value;
230 }; // _LaunchConditionInfoImpl
232 class _OSP_EXPORT_ _NotificationInfoImpl
233 : public Tizen::Base::Object
236 _NotificationInfoImpl(void);
237 virtual ~_NotificationInfoImpl(void);
239 const Tizen::Base::String& GetName(void) const;
240 result SetName(const Tizen::Base::String& name);
242 const Tizen::Base::String& GetValue(void) const;
243 result SetValue(const Tizen::Base::String& value);
246 _NotificationInfoImpl(const _NotificationInfoImpl& value);
247 _NotificationInfoImpl& operator =(const _NotificationInfoImpl& source);
249 Tizen::Base::String __name;
250 Tizen::Base::String __value;
251 }; // _NotificationInfoImpl
253 class _OSP_EXPORT_ _AppFeatureInfoImpl
254 : public Tizen::Base::Object
257 _AppFeatureInfoImpl(void);
258 virtual ~_AppFeatureInfoImpl(void);
260 const Tizen::Base::String& GetName(void) const;
261 result SetName(const Tizen::Base::String& name);
263 const Tizen::Base::String& GetValue(void) const;
264 result SetValue(const Tizen::Base::String& value);
267 _AppFeatureInfoImpl(const _AppFeatureInfoImpl& value);
268 _AppFeatureInfoImpl& operator =(const _AppFeatureInfoImpl& source);
270 Tizen::Base::String __name;
271 Tizen::Base::String __value;
273 }; // _AppFeatureInfoImpl
275 class _OSP_EXPORT_ _DataControlTypeImpl
276 : public Tizen::Base::Object
279 _DataControlTypeImpl(void);
280 virtual ~_DataControlTypeImpl(void);
282 const Tizen::Base::String& GetType(void) const;
283 result SetType(const Tizen::Base::String& type);
285 const Tizen::Base::String& GetAccess(void) const;
286 result SetAccess(const Tizen::Base::String& access);
289 _DataControlTypeImpl(const _DataControlTypeImpl& value);
290 _DataControlTypeImpl& operator =(const _DataControlTypeImpl& source);
292 Tizen::Base::String __type;
293 Tizen::Base::String __access;
295 }; // _DataControlTypeImpl
297 class _OSP_EXPORT_ _DataControlInfoImpl
298 : public Tizen::Base::Object
301 _DataControlInfoImpl(void);
302 virtual ~_DataControlInfoImpl(void);
304 const Tizen::Base::String& GetProviderId(void) const;
305 result SetProviderId(const Tizen::Base::String& providerId);
307 Tizen::Base::Collection::ArrayList* GetControlTypeList(void) const;
308 result AddControlType(_DataControlTypeImpl* pControlType);
311 _DataControlInfoImpl(const _DataControlInfoImpl& value);
312 _DataControlInfoImpl& operator =(const _DataControlInfoImpl& source);
314 Tizen::Base::String __providerId;
315 Tizen::Base::Collection::ArrayList* __pControlTypeList;
317 }; // _DataControlInfoImpl
319 class _OSP_EXPORT_ _AppControlResolutionInfoImpl
320 : public Tizen::Base::Object
323 _AppControlResolutionInfoImpl(void);
324 virtual ~_AppControlResolutionInfoImpl(void);
326 Tizen::Base::String* GetUriScheme(void) const;
327 result SetUriScheme(Tizen::Base::String* pUriScheme);
329 Tizen::Base::String* GetMimeType(void) const;
330 result SetMimeType(Tizen::Base::String* pMimeType);
333 _AppControlResolutionInfoImpl(const _AppControlResolutionInfoImpl& value);
334 _AppControlResolutionInfoImpl& operator =(const _AppControlResolutionInfoImpl& source);
336 Tizen::Base::String* __pUriScheme;
337 Tizen::Base::String* __pMimeType;
339 }; // _AppControlResolutionInfoImpl
341 class _OSP_EXPORT_ _AppControlCapabilityInfoImpl
342 : public Tizen::Base::Object
345 _AppControlCapabilityInfoImpl(void);
346 virtual ~_AppControlCapabilityInfoImpl(void);
348 int GetUniqueId(void) const;
349 result SetUniqueId(int uniqueId);
351 int GetAppControlId(void) const;
352 result SetAppControlId(int uniqueId);
354 const Tizen::Base::String& GetOperationId(void) const;
355 result SetOperationId(const Tizen::Base::String& operationId);
357 Tizen::Base::Collection::ArrayList* GetResolutionList(void) const;
358 result AddResolution(_AppControlResolutionInfoImpl* pResolution);
361 _AppControlCapabilityInfoImpl(const _AppControlCapabilityInfoImpl& value);
362 _AppControlCapabilityInfoImpl& operator =(const _AppControlCapabilityInfoImpl& source);
366 Tizen::Base::String __operationId;
367 Tizen::Base::Collection::ArrayList* __pResolutionList;
369 }; // _AppControlCapabilityInfoImpl
371 class _OSP_EXPORT_ _AppControlInfoImpl
372 : public Tizen::Base::Object
375 _AppControlInfoImpl(void);
376 virtual ~_AppControlInfoImpl(void);
378 int GetUniqueId(void) const;
379 result SetUniqueId(int uniqueId);
381 const Tizen::Base::String& GetProviderId(void) const;
382 result SetProviderId(const Tizen::Base::String& providerId);
384 const Tizen::Base::String& GetCategory(void) const;
385 result SetCategory(const Tizen::Base::String& category);
387 Tizen::Base::Collection::ArrayList* GetCapabilityList(void) const;
388 result AddCapability(_AppControlCapabilityInfoImpl* pCapability);
391 _AppControlInfoImpl(const _AppControlInfoImpl& value);
392 _AppControlInfoImpl& operator =(const _AppControlInfoImpl& source);
395 Tizen::Base::String __providerId;
396 Tizen::Base::String __category;
397 Tizen::Base::Collection::ArrayList* __pCapabilityList;
399 }; // _AppControlInfoImpl
401 } } } // Tizen::App::Package
403 #endif // _FAPP_PKG_INTERNAL_APP_INFO_IMPL_H_