sync with tizen_2.0
[platform/framework/native/appfw.git] / src / app / package / FAppPkgPackageAppInfo.cpp
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  * @file        FAppPkgPackageAppInfo.cpp
19  * @brief       This is the implementation for the PackageAppInfo class.
20  */
21
22 #include <new>
23
24 #include <FAppPkgPackageAppInfo.h>
25
26 #include <FBaseSysLog.h>
27 #include <FSec_AccessController.h>
28 #include "FAppPkg_PackageAppInfoImpl.h"
29
30 using namespace Tizen::Base;
31 using namespace Tizen::Base::Collection;
32 using namespace Tizen::Security;
33
34 namespace Tizen { namespace App { namespace Package
35 {
36
37 PackageAppInfo::PackageAppInfo(void)
38         : __pPackageAppInfoImpl(null)
39 {
40         __pPackageAppInfoImpl = new (std::nothrow) _PackageAppInfoImpl();
41         SysTryReturnVoidResult(NID_APP, __pPackageAppInfoImpl, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Insufficient memory");
42 }
43
44 PackageAppInfo::~PackageAppInfo(void)
45 {
46         delete __pPackageAppInfoImpl;
47 }
48
49 AppId
50 PackageAppInfo::GetAppId(void) const
51 {
52         return __pPackageAppInfoImpl->GetAppId();
53 }
54
55 String
56 PackageAppInfo::GetAppName(void) const
57 {
58         return __pPackageAppInfoImpl->GetAppName();
59 }
60
61 String
62 PackageAppInfo::GetAppDisplayName(void) const
63 {
64         return __pPackageAppInfoImpl->GetAppDisplayName();
65 }
66
67 String
68 PackageAppInfo::GetAppMenuIconPath(void) const
69 {
70         result r = E_SUCCESS;
71
72         r = _AccessController::CheckUserPrivilege(_PRV_PACKAGESETTING);
73         SysTryReturn(NID_APP, r == E_SUCCESS, L"", E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");
74
75         return __pPackageAppInfoImpl->GetAppMenuIconPath();
76 }
77
78 String
79 PackageAppInfo::GetAppSettingIconPath(void) const
80 {
81         result r = E_SUCCESS;
82
83         r = _AccessController::CheckUserPrivilege(_PRV_PACKAGESETTING);
84         SysTryReturn(NID_APP, r == E_SUCCESS, L"", E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");
85
86         return __pPackageAppInfoImpl->GetAppSettingIconPath();
87 }
88
89 String
90 PackageAppInfo::GetAppNotificationIconPath(void) const
91 {
92         result r = E_SUCCESS;
93
94         r = _AccessController::CheckUserPrivilege(_PRV_PACKAGESETTING);
95         SysTryReturn(NID_APP, r == E_SUCCESS, L"", E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");
96
97         return __pPackageAppInfoImpl->GetAppNotificationIconPath();
98 }
99
100 IList*
101 PackageAppInfo::GetAppCategoryListN(void) const
102 {
103         return __pPackageAppInfoImpl->GetAppCategoryListN();
104 }
105
106 bool
107 PackageAppInfo::IsMenuIconVisible(void) const
108 {
109         return __pPackageAppInfoImpl->IsMenuIconVisible();
110 }
111
112 bool
113 PackageAppInfo::IsMainApp(void) const
114 {
115         return __pPackageAppInfoImpl->IsMainApp();
116 }
117
118 }}} // Tizen::App::Package