Botan 3.5.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") inline void add_oid(const OID& oid, std::string_view name) {
23 OID::register_oid(oid, name);
24}
25
26BOTAN_DEPRECATED("Use OID::register_oid") BOTAN_UNSTABLE_API void add_oid2str(const OID& oid, std::string_view name);
27
28BOTAN_DEPRECATED("Use OID::register_oid") BOTAN_UNSTABLE_API void add_str2oid(const OID& oid, std::string_view name);
29
30BOTAN_DEPRECATED("Use OID::register_oid") inline void add_oidstr(const char* oidstr, const char* name) {
31 OID::register_oid(OID(oidstr), name);
32}
33
34/**
35* Resolve an OID
36* @param oid the OID to look up
37* @return name associated with this OID, or an empty string
38*/
39BOTAN_DEPRECATED("Use OID::human_name_or_empty") inline std::string oid2str_or_empty(const OID& oid) {
40 return oid.human_name_or_empty();
41}
42
43/**
44* Find the OID to a name. The lookup will be performed in the
45* general OID section of the configuration.
46* @param name the name to resolve
47* @return OID associated with the specified name
48*/
49BOTAN_DEPRECATED("Use OID::from_name") inline OID str2oid_or_empty(std::string_view name) {
50 return OID::from_name(name).value_or(OID());
51}
52
53BOTAN_DEPRECATED("Use OID::human_name_or_empty") inline std::string oid2str_or_throw(const OID& oid) {
54 std::string s = oid.human_name_or_empty();
55 if(s.empty()) {
56 throw Lookup_Error("No name associated with OID " + oid.to_string());
57 }
58 return s;
59}
60
61BOTAN_DEPRECATED("Use OID::human_name_or_empty") inline std::string lookup(const OID& oid) {
62 return oid.human_name_or_empty();
63}
64
65BOTAN_DEPRECATED("Use OID::from_name") inline OID lookup(std::string_view name) {
66 return OID::from_name(name).value_or(OID());
67}
68
69} // namespace Botan::OIDS
70
71#endif
std::string human_name_or_empty() const
Definition asn1_oid.cpp:147
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