2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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.
19 // @ Project : Access Control Engine
20 // @ File Name : Policy.cpp
21 // @ Date : 2009-05-06
26 #include <ace/Policy.h>
30 for (std::list<const Subject *>::iterator it = subjects->begin();
31 it != subjects->end();
38 void Policy::printData()
41 if (subjects != NULL && subjects->size()) {
42 subject = (subjects->front())->getSubjectId();
44 std::string algorithm = printCombineAlgorithm(this->combineAlgorithm);
46 std::cout << "subject: " << subject << " algorithm: " << algorithm <<
50 std::string Policy::printCombineAlgorithm(CombineAlgorithm algorithm)
54 return "DenyOverride";
56 return "PermitOverride";
58 return "FirstApplicable";
59 case FirstTargetMatching:
60 return "FirstTargetMatching";
62 return "ERROR: Wrong Algorithm";
66 const char * toString(Policy::CombineAlgorithm algorithm)
69 case Policy::DenyOverride:
70 return "DenyOverride";
71 case Policy::PermitOverride:
72 return "PermitOverride";
73 case Policy::FirstApplicable:
74 return "FirstApplicable";
75 case Policy::FirstTargetMatching:
76 return "FirstTargetMatching";
78 return "ERROR: Wrong Algorithm";