Botan 3.3.0
Crypto and TLS for C&
oids.h
Go to the documentation of this file.
1/*
2* OID Registry
3* (C) 1999-2007 Jack Lloyd
4*
5* Botan is released under the Simplified BSD License (see license.txt)
6*/
7
8#ifndef BOTAN_OIDS_H_
9#define BOTAN_OIDS_H_
10
11#include <botan/asn1_obj.h>
12
14
15namespace Botan::OIDS {
16
17/**
18* Register an OID to string mapping.
19* @param oid the oid to register
20* @param name the name to be associated with the oid
21*/
22BOTAN_DEPRECATED("Use OID::register_oid")
23
24inline void add_oid(const OID& oid, std::string_view name) {
25 OID::register_oid(oid, name);
26}
27
28BOTAN_DEPRECATED("Use OID::register_oid")
30void add_oid2str(const OID& oid, std::string_view name);
31
32BOTAN_DEPRECATED("Use OID::register_oid")
34void add_str2oid(const OID& oid, std::string_view name);
35
36BOTAN_DEPRECATED("Use OID::register_oid")
37
38inline void add_oidstr(const char* oidstr, const char* name) {
39 OID::register_oid(OID(oidstr), name);
40}
41
42/**
43* Resolve an OID
44* @param oid the OID to look up
45* @return name associated with this OID, or an empty string
46*/
47BOTAN_DEPRECATED("Use OID::human_name_or_empty")
48
49inline std::string oid2str_or_empty(const OID& oid) {
50 return oid.human_name_or_empty();
51}
52
53/**
54* Find the OID to a name. The lookup will be performed in the
55* general OID section of the configuration.
56* @param name the name to resolve
57* @return OID associated with the specified name
58*/
59BOTAN_DEPRECATED("Use OID::from_name")
60
61inline OID str2oid_or_empty(std::string_view name) {
62 return OID::from_name(name).value_or(OID());
63}
64
65BOTAN_DEPRECATED("Use OID::human_name_or_empty")
66
67inline std::string oid2str_or_throw(const OID& oid) {
68 std::string s = oid.human_name_or_empty();
69 if(s.empty()) {
70 throw Lookup_Error("No name associated with OID " + oid.to_string());
71 }
72 return s;
73}
74
75BOTAN_DEPRECATED("Use OID::human_name_or_empty")
76
77inline std::string lookup(const OID& oid) {
78 return oid.human_name_or_empty();
79}
80
81BOTAN_DEPRECATED("Use OID::from_name")
82
83inline OID lookup(std::string_view name) {
84 return OID::from_name(name).value_or(OID());
85}
86
87} // namespace Botan::OIDS
88
89#endif
std::string human_name_or_empty() const
Definition asn1_oid.cpp:122
std::string name
#define BOTAN_DEPRECATED_HEADER(hdr)
Definition compiler.h:146
#define BOTAN_UNSTABLE_API
Definition compiler.h:44
#define BOTAN_DEPRECATED(msg)
Definition compiler.h:125