2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FSec_PrivacyInfoImpl.cpp
19 * @brief This is the implementation for the _PrivacyInfoImpl class.
23 #include <unique_ptr.h>
24 #include <FSecPrivacyInfo.h>
25 #include <FBaseSysLog.h>
26 #include <FBase_StringConverter.h>
27 #include <FSec_AccessController.h>
28 #include <privacy_info_client.h>
29 #include "FSec_PrivacyInfoImpl.h"
31 using namespace Tizen::Base;
32 using namespace Tizen::Security;
34 namespace Tizen { namespace Security
37 _PrivacyInfoImpl::_PrivacyInfoImpl(void)
43 _PrivacyInfoImpl::~_PrivacyInfoImpl(void)
49 _PrivacyInfoImpl::Construct(const Tizen::Base::String& privacyId, bool enable)
52 __privacyId = privacyId;
59 _PrivacyInfoImpl::GetId(void) const
65 _PrivacyInfoImpl::IsEnabled(void) const
71 _PrivacyInfoImpl::SetEnabled(bool enable)
77 _PrivacyInfoImpl::GetDisplayName(void) const
81 int ret = PRIV_MGR_ERROR_SUCCESS;
82 char* pPrivacyDisplayName;
83 privacy_info_client_s privacyInfo;
85 std::unique_ptr<char[]> pPrivacyId(null);
86 pPrivacyId.reset(_StringConverter::CopyToCharArrayN(__privacyId));
87 SysTryReturn(NID_SEC, pPrivacyId != null, displayName, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");
89 privacyInfo.privacy_id = pPrivacyId.get();
90 ret = privacy_info_client_get_privacy_display_name(&privacyInfo, &pPrivacyDisplayName);
91 SysTryReturn(NID_SEC, ret == PRIV_MGR_ERROR_SUCCESS, displayName, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");
92 displayName.Append(pPrivacyDisplayName);
94 if (pPrivacyDisplayName != null)
96 free(pPrivacyDisplayName);
103 _PrivacyInfoImpl::GetDescription(void) const
105 String description("Undefined");
109 }} // Tizen::Security