diff options
Diffstat (limited to 'include/asn1_oid.h')
-rw-r--r-- | include/asn1_oid.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/asn1_oid.h b/include/asn1_oid.h new file mode 100644 index 000000000..b2bdd4867 --- /dev/null +++ b/include/asn1_oid.h @@ -0,0 +1,49 @@ +/************************************************* +* ASN.1 OID Header File * +* (C) 1999-2006 The Botan Project * +*************************************************/ + +#ifndef BOTAN_ASN1_OID_H__ +#define BOTAN_ASN1_OID_H__ + +#include <botan/asn1_int.h> +#include <string> +#include <vector> + +namespace Botan { + +/************************************************* +* ASN.1 Object Identifier * +*************************************************/ +class OID : public ASN1_Object + { + public: + void encode_into(class DER_Encoder&) const; + + bool is_empty() const { return id.size() == 0; } + std::vector<u32bit> get_id() const { return id; } + std::string as_string() const; + + bool operator==(const OID&) const; + void clear(); + + OID& operator+=(u32bit); + OID(const std::string& = ""); + private: + std::vector<u32bit> id; + }; + +/************************************************* +* Append another component onto the OID * +*************************************************/ +OID operator+(const OID&, u32bit); + +/************************************************* +* Compare two OIDs * +*************************************************/ +bool operator!=(const OID&, const OID&); +bool operator<(const OID&, const OID&); + +} + +#endif |