#ifndef CMS_PKI_OID_H_INCLUDED
#define  CMS_PKI_OID_H_INCLUDED

#include "pki/ioid.h"
#include "../common/common.h"

#include "pki.h"

class OID : public IOID {
private:
	struct OID_st{
		std::string value;
		std::string longName;
		std::string shortName;
	};
	OID_st oid;

public:
	//Constructor
	OID();
	~OID();
	OID(const std::string& val);

	//Properties
	Handle<std::string> getLongName();
	Handle<std::string> getShortName();
	Handle<std::string> getValue();

	//Methods
	int toNid();
	Handle<std::string> toString();
};

#endif //!CMS_PKI_OID_H_INCLUDED
