comparison Plugin/Enumerations.cpp @ 1:d5d3cb00556a

initial release
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 22 Mar 2017 16:13:52 +0100
parents
children c44013681a51
comparison
equal deleted inserted replaced
0:decac5df19c4 1:d5d3cb00556a
1 /**
2 * Advanced authorization plugin for Orthanc
3 * Copyright (C) 2017 Osimis, Belgium
4 *
5 * This program is free software: you can redistribute it and/or
6 * modify it under the terms of the GNU Affero General Public License
7 * as published by the Free Software Foundation, either version 3 of
8 * the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 **/
18
19
20 #include "Enumerations.h"
21
22 #include "../Resources/Orthanc/Core/OrthancException.h"
23 #include "../Resources/Orthanc/Core/Toolbox.h"
24
25 namespace OrthancPlugins
26 {
27 std::string EnumerationToString(AccessLevel level)
28 {
29 switch (level)
30 {
31 case AccessLevel_Patient:
32 return "patient";
33
34 case AccessLevel_Study:
35 return "study";
36
37 case AccessLevel_Series:
38 return "series";
39
40 case AccessLevel_Instance:
41 return "instance";
42
43 case AccessLevel_System:
44 return "system";
45
46 default:
47 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
48 }
49 }
50
51
52 AccessLevel StringToAccessLevel(const std::string& level)
53 {
54 std::string tmp;
55 Orthanc::Toolbox::ToLowerCase(tmp, level);
56
57 if (tmp == "patient" ||
58 tmp == "patients")
59 {
60 return AccessLevel_Patient;
61 }
62 else if (tmp == "study" ||
63 tmp == "studies")
64 {
65 return AccessLevel_Study;
66 }
67 else if (tmp == "series")
68 {
69 return AccessLevel_Series;
70 }
71 else if (tmp == "instance" ||
72 tmp == "instances")
73 {
74 return AccessLevel_Instance;
75 }
76 else if (tmp == "system")
77 {
78 return AccessLevel_System;
79 }
80 else
81 {
82 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
83 }
84 }
85 }