From: Zofia Abramowska Date: Thu, 18 Sep 2014 15:33:53 +0000 (+0200) Subject: Split PolicyResult declaration and definition X-Git-Tag: submit/R4/20141115.054144~60 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4c2b3b8d0ce17221e77bcda10be4ef992d82ba72;p=platform%2Fcore%2Fsecurity%2Fcynara.git Split PolicyResult declaration and definition PolicyResult header will be included in package for external plugin implementations. Change-Id: Ic5224af395b9fd86f57138566295961e80ee8f12 --- diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index d52ddd5..461450a 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -49,6 +49,7 @@ SET(COMMON_SOURCES ${COMMON_PATH}/types/PolicyBucket.cpp ${COMMON_PATH}/types/PolicyKey.cpp ${COMMON_PATH}/types/PolicyKeyHelpers.cpp + ${COMMON_PATH}/types/PolicyResult.cpp ) IF (CMAKE_BUILD_TYPE MATCHES "DEBUG") diff --git a/src/common/types/PolicyResult.cpp b/src/common/types/PolicyResult.cpp new file mode 100644 index 0000000..010139d --- /dev/null +++ b/src/common/types/PolicyResult.cpp @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * @file src/common/types/PolicyResult.cpp + * @author Aleksander Zdyb + * @author Zofia Abramowska + * @version 1.0 + * @brief PolicyResult implementation + */ + +#include "PolicyResult.h" + +namespace Cynara { + +PolicyResult::PolicyResult() : m_type(PredefinedPolicyType::DENY) {} + +PolicyResult::PolicyResult(const PolicyType &policyType) : m_type(policyType) {} + +PolicyResult::PolicyResult(const PolicyType &policyType, const PolicyMetadata &metadata) + : m_type(policyType) , m_metadata(metadata) {} + +const PolicyType &PolicyResult::policyType(void) const { + return m_type; +} + +const PolicyResult::PolicyMetadata &PolicyResult::metadata(void) const { + return m_metadata; +} + +bool PolicyResult::operator <(const PolicyResult &other) const { + return this->m_type < other.m_type; +} + +bool PolicyResult::operator ==(const PolicyResult &other) const { + return std::tie(m_type, m_metadata) == std::tie(other.m_type, other.m_metadata); +} + +bool PolicyResult::operator !=(const PolicyResult &other) const { + return !(*this == other); +} + +bool PolicyResult::operator ==(const PolicyType &policyType) const { + return (m_type == policyType) && m_metadata.empty(); +} + +bool PolicyResult::operator !=(const PolicyType &policyType) const { + return !(*this == policyType); +} + +} // namespace Cynara + diff --git a/src/common/types/PolicyResult.h b/src/common/types/PolicyResult.h index 28974d7..ae81d15 100644 --- a/src/common/types/PolicyResult.h +++ b/src/common/types/PolicyResult.h @@ -16,12 +16,13 @@ /** * @file src/common/types/PolicyResult.h * @author Aleksander Zdyb + * @author Zofia Abramowska * @version 1.0 * @brief Definitions of PolicyResult and friends */ -#ifndef POLICYRESULT_H_ -#define POLICYRESULT_H_ +#ifndef SRC_COMMON_TYPES_POLICYRESULT_H_ +#define SRC_COMMON_TYPES_POLICYRESULT_H_ #include "types/PolicyType.h" @@ -33,47 +34,23 @@ class PolicyResult { public: typedef std::string PolicyMetadata; -public: - PolicyResult() : m_type(PredefinedPolicyType::DENY) {} - PolicyResult(const PolicyType &policyType) : m_type(policyType) {} - PolicyResult(const PolicyType &policyType, const PolicyMetadata &metadata) - : m_type(policyType), m_metadata(metadata) {} + PolicyResult(); + PolicyResult(const PolicyType &policyType); + PolicyResult(const PolicyType &policyType, const PolicyMetadata &metadata); + + const PolicyType &policyType(void) const; + const PolicyMetadata &metadata(void) const; + bool operator <(const PolicyResult &other) const; + bool operator ==(const PolicyResult &other) const; + bool operator !=(const PolicyResult &other) const; + bool operator ==(const PolicyType &policyType) const; + bool operator !=(const PolicyType &policyType) const; private: PolicyType m_type; PolicyMetadata m_metadata; - -public: - const PolicyType &policyType() const { - return m_type; - } - - const PolicyMetadata& metadata() const { - return m_metadata; - } - - bool operator <(const PolicyResult &other) const { - return this->m_type < other.m_type; - } - - bool operator ==(const PolicyResult &other) const { - return std::tie(m_type, m_metadata) == std::tie(other.m_type, other.m_metadata); - } - - bool operator !=(const PolicyResult &other) const { - return !(*this == other); - } - - bool operator ==(const PolicyType &policyType) const { - return (m_type == policyType) && m_metadata.empty(); - } - - bool operator !=(const PolicyType &policyType) const { - return !(*this == policyType); - } }; } // namespace Cynara - -#endif /* POLICYRESULT_H_ */ +#endif /* SRC_COMMON_TYPES_POLICYRESULT_H_ */ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 47bcfab..62bdbaa 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -25,6 +25,7 @@ SET(CYNARA_SOURCES_FOR_TESTS ${CYNARA_SRC}/common/types/PolicyBucket.cpp ${CYNARA_SRC}/common/types/PolicyKey.cpp ${CYNARA_SRC}/common/types/PolicyKeyHelpers.cpp + ${CYNARA_SRC}/common/types/PolicyResult.cpp ${CYNARA_SRC}/common/types/PolicyType.cpp ${CYNARA_SRC}/storage/BucketDeserializer.cpp ${CYNARA_SRC}/storage/InMemoryStorageBackend.cpp