2 // Copyright (c) 2013 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 FSecPrivilegeInfo.h
19 * @brief This is the header file for the %PrivilegeInfo class.
21 * This header file contains the declarations of the %PrivilegeInfo class.
24 #ifndef _FSEC_PRIVILEGE_INFO_H_
25 #define _FSEC_PRIVILEGE_INFO_H_
27 #include <FBaseObject.h>
29 namespace Tizen { namespace Security
32 class _PrivilegeInfoImpl;
35 * @class PrivilegeInfo
36 * @brief This class represents the privilege information.
40 * @final This class is not intended for extension.
42 * The %PrivilegeInfo class represents the privilege information.
43 * This class provides methods to retrieve the name and description of privilege.
47 class _OSP_EXPORT_ PrivilegeInfo
48 : public Tizen::Base::Object
53 * The object is not fully constructed after this constructor is called. @n
54 * For full construction, the Construct() method must be called right after calling this constructor.
58 * @remarks After creating an instance of this class, the Construct() method must be called explicitly to initialize this instance.
63 * This destructor overrides Tizen::Base::Object::~Object().
68 virtual ~PrivilegeInfo(void);
71 * Initializes this instance of %PrivilegeInfo with the specified parameters.
75 * @return An error code
76 * @param[in] privilegeId The privilege ID
77 * @exception E_SUCCESS The method is successful.
78 * @exception E_INVALID_ARG The specified @c privilegeId is invalid.
81 result Construct(const Tizen::Base::String& privilegeId);
84 * Gets a privilege ID.
88 * @return The privilege ID
91 Tizen::Base::String GetId(void) const;
94 * Gets the localized display name of privilege.
98 * @return The display name of privilege, @n
99 * else an empty string is returned if there is no value
102 Tizen::Base::String GetDisplayName(void) const;
105 * Gets the localized description of privilege.
109 * @return The description of privilege, @n
110 * else an empty string is returned if there is no value
113 Tizen::Base::String GetDescription(void) const;
118 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
120 // @param[in] rhs An instance of %PrivilegeInfo
122 PrivilegeInfo(const PrivilegeInfo& rhs);
125 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
127 // @param[in] rhs An instance of %PrivilegeInfo
129 PrivilegeInfo& operator =(const PrivilegeInfo& rhs);
133 class _PrivilegeInfoImpl * __pImpl;
134 friend class _PrivilegeInfoImpl;
138 } } // Tizen::Security::PrivilegeInfo
140 #endif // _FSEC_PRIVILEGE_INFO_H_