#ifndef CPP_ENROLL_DISTINGUISHED_NAME_OBJECT_H_
#define CPP_ENROLL_DISTINGUISHED_NAME_OBJECT_H_

#include "cppcades.h"
#include "CPPEnrollEnumerations.h"

using namespace ATL;
namespace CryptoPro {
namespace PKI {
namespace Enroll {

class CPPEnrollX500DistinguishedName
{
public:
    CPPEnrollX500DistinguishedName(void);
    ~CPPEnrollX500DistinguishedName(void);
    HRESULT Encode(CAtlStringW strName,
        X500NameFlags NameFlags);

    // internal only
    BYTE* pbData();
    DWORD cbData();
private:
    DISALLOW_COPY_AND_ASSIGN(CPPEnrollX500DistinguishedName);
    CStringBlob m_encodedName;
};

} /* namespace Enroll */
} /* namespace PKI */
} /* namespace CryptoPro */

#endif // CPP_ENROLL_DISTINGUISHED_NAME_OBJECT_H_
