blob: 3e315963aefe3bc232d6944c966b1904c5cfc044 [file] [log] [blame]
Zhiyi Zhang48f23782020-09-28 12:11:24 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
3 * Copyright (c) 2017-2020, Regents of the University of California.
4 *
5 * This file is part of ndncert, a certificate management system based on NDN.
6 *
7 * ndncert is free software: you can redistribute it and/or modify it under the terms
8 * of the GNU General Public License as published by the Free Software Foundation, either
9 * version 3 of the License, or (at your option) any later version.
10 *
11 * ndncert is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 * PARTICULAR PURPOSE. See the GNU General Public License for more details.
14 *
15 * You should have received copies of the GNU General Public License along with
16 * ndncert, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * See AUTHORS.md for complete list of ndncert authors and contributors.
19 */
20
21#include "ndncert-common.hpp"
22
23namespace ndn {
24namespace ndncert {
25
26std::string statusToString(Status status) {
27 switch (status)
28 {
29 case Status::BEFORE_CHALLENGE:
30 return "Before challenge";
31 case Status::CHALLENGE:
32 return "In challenge";
33 case Status::PENDING:
34 return "Pending after challenge";
35 case Status::SUCCESS:
36 return "Success";
37 case Status::FAILURE:
38 return "Failure";
39 case Status::NOT_STARTED:
40 return "Not started";
41 case Status::ENDED:
42 return "Ended";
43 default:
44 return "Unrecognized status";
45 }
46}
47
Zhiyi Zhangc87d52b2020-09-28 22:07:18 -070048std::string requestTypeToString(RequestType type)
49{
50 switch (type)
51 {
52 case RequestType::NEW:
53 return "New";
54 case RequestType::RENEW:
55 return "Renew";
56 case RequestType::REVOKE:
57 return "Revoke";
58 case RequestType::NOTINITIALIZED:
59 return "Not initalized";
60 default:
61 return "Unrecognized type";
62 }
63}
64
tylerliu36d97f52020-09-30 22:32:54 -070065std::map<ErrorCode, std::string> errorCodeText = {
66 {ErrorCode::NO_ERROR, "NO_ERROR"},
67 {ErrorCode::BAD_INTEREST_FORMAT, "BAD_INTEREST_FORMAT"},
68 {ErrorCode::BAD_PARAMETER_FORMAT, "BAD_PARAMETER_FORMAT"},
69 {ErrorCode::BAD_SIGNATURE, "BAD_SIGNATURE"},
70 {ErrorCode::INVALID_PARAMETER, "INVALID_PARAMETER"},
71 {ErrorCode::NAME_NOT_ALLOWED, "NAME_NOT_ALLOWED"},
72 {ErrorCode::BAD_VALIDITY_PERIOD, "BAD_VALIDITY_PERIOD"},
73 {ErrorCode::OUT_OF_TRIES, "OUT_OF_TRIES"},
74 {ErrorCode::OUT_OF_TIME, "OUT_OF_TIME"},
75 {ErrorCode::NO_AVAILABLE_NAMES, "NO_AVAILABLE_NAMES"}
76};
77
78std::string errorCodeToString(ErrorCode code)
79{
80 return errorCodeText.at(code);
81}
82
Zhiyi Zhanga749f442020-09-29 17:19:51 -070083std::string
84convertJson2String(const JsonSection& json)
85{
86 std::stringstream ss;
87 boost::property_tree::write_json(ss, json);
88 return ss.str();
89}
90
91JsonSection
92convertString2Json(const std::string& jsonContent)
93{
94 std::istringstream ss(jsonContent);
95 JsonSection json;
96 boost::property_tree::json_parser::read_json(ss, json);
97 return json;
98}
99
Zhiyi Zhang48f23782020-09-28 12:11:24 -0700100} // namespace ndncert
101} // namespace ndn