2 // Open Service Platform
3 // Copyright (c) 2013 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 FSec_PrivacyInfoImpl.h
20 * @brief This is the header file for the %_PrivacyInfoImpl class.
22 * This header file contains the declarations of the %_PrivacyInfoImpl class.
25 #ifndef _FSEC_INTERNAL_PRIVACY_INFO_H_
26 #define _FSEC_INTERNAL_PRIVACY_INFO_H_
28 #include <FBaseObject.h>
30 namespace Tizen { namespace Security
34 * @class _PrivacyInfoImpl
35 * @brief This class represents the privacy information.
39 * @final This class is not intended for extension.
41 * The %_PrivacyInfoImpl class represents the privacy information.
42 * %_PrivacyInfoImpl provides methods to retrieve the name and description of privilege.
45 class _OSP_EXPORT_ _PrivacyInfoImpl
46 : public Tizen::Base::Object
51 * The object is not fully constructed after this constructor is called. @n
52 * For full construction, the Construct() method must be called right after calling this constructor.
56 * @remarks After creating an instance of this class, the Construct() method must be called explicitly to initialize this instance.
58 _PrivacyInfoImpl(void);
61 * This destructor overrides Tizen::Base::Object::~Object().
66 virtual ~_PrivacyInfoImpl(void);
69 * Initializes this instance of %_PrivacyInfoImpl with the specified parameters.
73 * @return An error code
74 * @param[in] privacyId The privacy ID
75 * @param[in] enable Set to @c true to enable the privacy setting, @n
77 * @exception E_SUCCESS The method is successful.
78 * @exception E_INVALID_ARG The specified @c privacyId is invalid or the @c privacyId is not exist.
81 result Construct(const Tizen::Base::String& privacyId, bool enable = false);
88 * @return The privacy ID.
91 Tizen::Base::String GetId(void) const;
94 * Checks whether the privacy setting is enabled.
98 * @return @c true if the privacy setting is enabled, @n
102 bool IsEnabled(void) const;
105 * Enables or disables the privacy setting.
109 * @param[in] enable A Boolean value indicating whether the privacy setting is enabled.
113 void SetEnabled(bool enable);
116 * Gets the localized display name of privacy.
120 * @return The display name of privacy, else an empty string is returned if there is no value.
123 Tizen::Base::String GetDisplayName(void) const;
126 * Gets the localized description of privacy.
130 * @return The description of privacy, else an empty string is returned if there is no value.
133 Tizen::Base::String GetDescription(void) const;
138 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
140 // @param[in] rhs An instance of %_PrivacyInfoImpl
142 _PrivacyInfoImpl(const _PrivacyInfoImpl& rhs);
145 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
147 // @param[in] rhs An instance of %_PrivacyInfoImpl
149 _PrivacyInfoImpl& operator =(const _PrivacyInfoImpl& rhs);
152 Tizen::Base::String __privacyId;
154 }; // _PrivacyInfoImpl
156 } } // Tizen::Security
158 #endif // _FSEC_INTERNAL_PRIVACY_INFO_H_