blob: 5cfe551beb32cffbf1a9fa38691d7cd4f7783404 [file] [log] [blame]
Yingdi Yu99b2a002015-08-12 12:47:44 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
Davide Pesaventodef60f12017-09-17 17:26:07 -04002/*
3 * Copyright (c) 2013-2017 Regents of the University of California.
Yingdi Yu99b2a002015-08-12 12:47:44 -07004 *
5 * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6 *
7 * ndn-cxx library is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU Lesser General Public License as published by the Free Software
9 * Foundation, either version 3 of the License, or (at your option) any later version.
10 *
11 * ndn-cxx library 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 Lesser General Public License for more details.
14 *
15 * You should have received copies of the GNU General Public License and GNU Lesser
16 * General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17 * <http://www.gnu.org/licenses/>.
18 *
19 * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20 */
21
22#include "security-common.hpp"
Davide Pesaventodef60f12017-09-17 17:26:07 -040023
Yingdi Yu99b2a002015-08-12 12:47:44 -070024#include <ostream>
25
26namespace ndn {
27
28std::ostream&
Yingdi Yuc08d7d62015-07-16 21:05:11 -070029operator<<(std::ostream& os, KeyIdType keyIdType)
30{
31 switch (keyIdType) {
32 case KeyIdType::USER_SPECIFIED:
33 return os << "USER_SPECIFIED";
34 case KeyIdType::SHA256:
35 return os << "SHA256";
36 case KeyIdType::RANDOM:
37 return os << "RANDOM";
38 }
39 return os << static_cast<int>(keyIdType);
40}
41
42std::ostream&
Yingdi Yu99b2a002015-08-12 12:47:44 -070043operator<<(std::ostream& os, KeyType keyType)
44{
45 switch (keyType) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -070046 case KeyType::NONE:
47 return os << "NONE";
48 case KeyType::RSA:
49 return os << "RSA";
50 case KeyType::EC:
51 return os << "EC";
52 case KeyType::AES:
53 return os << "AES";
Davide Pesaventodef60f12017-09-17 17:26:07 -040054 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -070055 return os << static_cast<int>(keyType);
Yingdi Yu99b2a002015-08-12 12:47:44 -070056}
57
58std::ostream&
59operator<<(std::ostream& os, KeyClass keyClass)
60{
61 switch (keyClass) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -070062 case KeyClass::NONE:
63 return os << "NONE";
64 case KeyClass::PUBLIC:
65 return os << "PUBLIC";
66 case KeyClass::PRIVATE:
67 return os << "PRIVATE";
68 case KeyClass::SYMMETRIC:
69 return os << "SYMMETRIC";
Davide Pesaventodef60f12017-09-17 17:26:07 -040070 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -070071 return os << static_cast<int>(keyClass);
Yingdi Yu99b2a002015-08-12 12:47:44 -070072}
73
74std::ostream&
75operator<<(std::ostream& os, DigestAlgorithm algorithm)
76{
77 switch (algorithm) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -070078 case DigestAlgorithm::NONE:
79 return os << "NONE";
Davide Pesaventodef60f12017-09-17 17:26:07 -040080 case DigestAlgorithm::SHA224:
81 return os << "SHA224";
Yingdi Yuc08d7d62015-07-16 21:05:11 -070082 case DigestAlgorithm::SHA256:
83 return os << "SHA256";
Davide Pesaventodef60f12017-09-17 17:26:07 -040084 case DigestAlgorithm::SHA384:
85 return os << "SHA384";
86 case DigestAlgorithm::SHA512:
87 return os << "SHA512";
88 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -070089 return os << static_cast<int>(algorithm);
Yingdi Yu99b2a002015-08-12 12:47:44 -070090}
91
92std::ostream&
93operator<<(std::ostream& os, BlockCipherAlgorithm algorithm)
94{
95 switch (algorithm) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -070096 case BlockCipherAlgorithm::NONE:
97 return os << "NONE";
98 case BlockCipherAlgorithm::AES_CBC:
99 return os << "AES_CBC";
Davide Pesaventodef60f12017-09-17 17:26:07 -0400100 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -0700101 return os << static_cast<int>(algorithm);
Yingdi Yu99b2a002015-08-12 12:47:44 -0700102}
103
104std::ostream&
Yingdi Yu87516612015-07-10 18:03:52 -0700105operator<<(std::ostream& os, CipherOperator op)
106{
107 switch (op) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -0700108 case CipherOperator::DECRYPT:
109 return os << "DECRYPT";
110 case CipherOperator::ENCRYPT:
111 return os << "ENCRYPT";
Davide Pesaventodef60f12017-09-17 17:26:07 -0400112 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -0700113 return os << static_cast<int>(op);
Yingdi Yu87516612015-07-10 18:03:52 -0700114}
115
116std::ostream&
Yingdi Yu99b2a002015-08-12 12:47:44 -0700117operator<<(std::ostream& os, AclType aclType)
118{
119 switch (aclType) {
Yingdi Yuc08d7d62015-07-16 21:05:11 -0700120 case AclType::NONE:
121 return os << "NONE";
122 case AclType::PUBLIC:
123 return os << "PUBLIC";
124 case AclType::PRIVATE:
125 return os << "PRIVATE";
Davide Pesaventodef60f12017-09-17 17:26:07 -0400126 }
Yingdi Yuc08d7d62015-07-16 21:05:11 -0700127 return os << static_cast<int>(aclType);
Yingdi Yu99b2a002015-08-12 12:47:44 -0700128}
129
130} // namespace ndn