blob: 76d45f69cc8a884a65a590cacbe7efe2b5315b81 [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
Zhiyi Zhang4b118092020-10-10 10:28:38 -070026std::string
27convertJson2String(const JsonSection& json)
28{
29 std::stringstream ss;
30 boost::property_tree::write_json(ss, json);
31 return ss.str();
32}
33
34JsonSection
35convertString2Json(const std::string& jsonContent)
36{
37 std::istringstream ss(jsonContent);
38 JsonSection json;
39 boost::property_tree::json_parser::read_json(ss, json);
40 return json;
41}
42
Zhiyi Zhang48f23782020-09-28 12:11:24 -070043std::string statusToString(Status status) {
44 switch (status)
45 {
46 case Status::BEFORE_CHALLENGE:
47 return "Before challenge";
48 case Status::CHALLENGE:
49 return "In challenge";
50 case Status::PENDING:
51 return "Pending after challenge";
52 case Status::SUCCESS:
53 return "Success";
54 case Status::FAILURE:
55 return "Failure";
56 case Status::NOT_STARTED:
57 return "Not started";
58 case Status::ENDED:
59 return "Ended";
60 default:
61 return "Unrecognized status";
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 Zhang4b118092020-10-10 10:28:38 -070083std::string requestTypeToString(RequestType type)
Zhiyi Zhanga749f442020-09-29 17:19:51 -070084{
Zhiyi Zhang4b118092020-10-10 10:28:38 -070085 switch (type)
86 {
87 case RequestType::NEW:
88 return "New";
89 case RequestType::RENEW:
90 return "Renew";
91 case RequestType::REVOKE:
92 return "Revoke";
93 case RequestType::NOTINITIALIZED:
94 return "Not initalized";
95 default:
96 return "Unrecognized type";
97 }
Zhiyi Zhanga749f442020-09-29 17:19:51 -070098}
99
Zhiyi Zhange4891b72020-10-10 15:11:57 -0700100} // namespace ndncert
101} // namespace ndn