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_PrivilegeInfoImpl.h
19 * @brief This is the header file for the _PrivilegeInfoImpl class.
22 #ifndef _FSEC_INTERNAL_PRIVILEGE_INFO_IMPL_H_
23 #define _FSEC_INTERNAL_PRIVILEGE_INFO_IMPL_H_
26 #include <FBaseObject.h>
27 #include <FBaseString.h>
28 #include <FOspConfig.h>
29 #include <FBaseInternalTypes.h>
31 namespace Tizen { namespace Io
38 namespace Tizen { namespace Security
43 static const int MAX_DATABASE_RETRY_COUNT = 30;
44 static const wchar_t EXTERNAL_PRIVILEGE_DATABASE_FILE_NAME[] = L"/opt/dbspace/.privilegelist.db";
46 class _OSP_EXPORT_ _PrivilegeInfoImpl
47 : public Tizen::Base::Object
50 Tizen::Base::String GetDescription(const Tizen::Base::String& privilege) const;
51 Tizen::Base::String GetName(const Tizen::Base::String& privilege) const;
53 _PrivilegeInfoImpl(void);
54 virtual ~_PrivilegeInfoImpl(void);
55 result Construct(const Tizen::Base::String& privilegeId);
56 Tizen::Base::String GetId(void) const;
57 Tizen::Base::String GetDisplayName(void) const;
58 Tizen::Base::String GetDescription(void) const;
62 Tizen::Io::Database* __pDb;
64 static _PrivilegeInfoImpl* __pPrivilegeInfoImplInstance;
66 bool CheckExternalPrivilege(const Tizen::Base::String& privilegeId);
67 static Tizen::Io::DbStatement* CreateStatementN(Tizen::Io::Database& db, const Tizen::Base::String& query);
68 static Tizen::Io::DbEnumerator* ExecuteStatementN(Tizen::Io::Database& db, const Tizen::Io::DbStatement* pStmt);
70 friend class PrivilegeInfo;
73 Tizen::Base::String __privilegeId;
76 }; // _PrivilegeInfoImpl
78 } } // Tizen::Security
80 #endif // _FSEC_INTERNAL_PRIVILEGE_INFO_IMPL_H_