WinStd
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
winstd::cert_context Class Reference

PCCERT_CONTEXT wrapper class. More...

#include <WinStd/Crypt.h>

Inheritance diagram for winstd::cert_context:
winstd::dplhandle< PCCERT_CONTEXT, NULL > winstd::handle< PCCERT_CONTEXT, INVAL >

Public Member Functions

virtual ~cert_context ()
 Destroys the certificate context. More...
 
 __declspec (deprecated("Use CertCreateCertificateContext")) bool create(DWORD dwCertEncodingType
 Creates the certificate context. More...
 
 if (h !=invalid)
 
bool operator== (const handle_type &other) const noexcept
 Is certificate equal to? More...
 
bool operator!= (const handle_type &other) const noexcept
 Is certificate not equal to? More...
 
bool operator< (const handle_type &other) const noexcept
 Is certificate less than? More...
 
bool operator> (const handle_type &other) const noexcept
 Is certificate greater than? More...
 
bool operator<= (const handle_type &other) const noexcept
 Is certificate less than or equal? More...
 
bool operator>= (const handle_type &other) const noexcept
 Is certificate greater than or equal? More...
 
- Public Member Functions inherited from winstd::dplhandle< PCCERT_CONTEXT, NULL >
 dplhandle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 dplhandle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle. More...
 
 dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept
 Copy constructor. More...
 
 dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept
 Move constructor. More...
 
dplhandle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle. More...
 
dplhandle< handle_type, INVAL > & operator= (const dplhandle< handle_type, INVAL > &h) noexcept
 Duplicates the object. More...
 
dplhandle< handle_type, INVAL > & operator= (dplhandle< handle_type, INVAL > &&h) noexcept
 Moves the object. More...
 
handle_type duplicate () const
 Duplicates and returns a new object handle. More...
 
bool attach_duplicated (handle_type h)
 Duplicates an object handle and sets a new object handle. More...
 
- Public Member Functions inherited from winstd::handle< PCCERT_CONTEXT, INVAL >
 handle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 handle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle. More...
 
 handle (handle< handle_type, INVAL > &&h) noexcept
 Move constructor. More...
 
handle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle. More...
 
handle< handle_type, INVAL > & operator= (handle< handle_type, INVAL > &&h) noexcept
 Move assignment. More...
 
 operator handle_type () const
 Auto-typecasting operator. More...
 
handle_type *& operator* () const
 Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). More...
 
handle_typeoperator& ()
 Returns the object handle reference. More...
 
handle_type operator-> () const
 Provides object handle member access when the object handle is a pointer to a class or struct. More...
 
bool operator! () const
 Tests if the object handle is INVAL. More...
 
bool operator< (handle_type h) const
 Is handle less than? More...
 
bool operator<= (handle_type h) const
 Is handle less than or equal to? More...
 
bool operator>= (handle_type h) const
 Is handle greater than or equal to? More...
 
bool operator> (handle_type h) const
 Is handle greater than? More...
 
bool operator!= (handle_type h) const
 Is handle not equal to? More...
 
bool operator== (handle_type h) const
 Is handle equal to? More...
 
void attach (handle_type h) noexcept
 Sets a new object handle for the class. More...
 
handle_type detach ()
 Dismisses the object handle from this class. More...
 
void free ()
 Destroys the object.
 

Public Attributes

LPCBYTE pbCertEncoded
 
LPCBYTE DWORD cbCertEncoded noexcept
 
else return false
 

Protected Member Functions

void free_internal () noexcept override
 Destroys the certificate context. More...
 
handle_type duplicate_internal (handle_type h) const noexcept override
 Duplicates the certificate context. More...
 
virtual handle_type duplicate_internal (handle_type h) const noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object handle duplication. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

Additional Inherited Members

- Public Types inherited from winstd::handle< PCCERT_CONTEXT, INVAL >
typedef PCCERT_CONTEXT handle_type
 Datatype of the object handle this template class handles.
 
- Static Public Attributes inherited from winstd::handle< PCCERT_CONTEXT, INVAL >
static const PCCERT_CONTEXT invalid
 Invalid handle value.
 
- Protected Attributes inherited from winstd::handle< PCCERT_CONTEXT, INVAL >
handle_type m_h
 Object handle.
 

Detailed Description

PCCERT_CONTEXT wrapper class.

Constructor & Destructor Documentation

◆ ~cert_context()

virtual winstd::cert_context::~cert_context ( )
inlinevirtual

Destroys the certificate context.

See also
CertFreeCertificateContext function

Member Function Documentation

◆ __declspec()

winstd::cert_context::__declspec ( deprecated("Use CertCreateCertificateContext")  )

Creates the certificate context.

Returns
  • true when creation succeeds;
  • false when creation fails. For extended error information, call GetLastError().
See also
CertCreateCertificateContext function

◆ duplicate_internal()

handle_type winstd::cert_context::duplicate_internal ( handle_type  h) const
inlineoverrideprotectedvirtualnoexcept

Duplicates the certificate context.

Parameters
[in]hObject handle of existing certificate context
Returns
Duplicated certificate context handle
See also
CertDuplicateCertificateContext function

Implements winstd::dplhandle< PCCERT_CONTEXT, NULL >.

◆ free_internal()

void winstd::cert_context::free_internal ( )
inlineoverrideprotectedvirtualnoexcept

Destroys the certificate context.

See also
CertFreeCertificateContext function

Implements winstd::handle< PCCERT_CONTEXT, INVAL >.

◆ operator!=()

bool winstd::cert_context::operator!= ( const handle_type other) const
inlinenoexcept

Is certificate not equal to?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is not equal to other;
  • Zero otherwise.

◆ operator<()

bool winstd::cert_context::operator< ( const handle_type other) const
inlinenoexcept

Is certificate less than?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is less than other;
  • Zero otherwise.

◆ operator<=()

bool winstd::cert_context::operator<= ( const handle_type other) const
inlinenoexcept

Is certificate less than or equal?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is less than other;
  • Zero otherwise.

◆ operator==()

bool winstd::cert_context::operator== ( const handle_type other) const
inlinenoexcept

Is certificate equal to?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is equal to other;
  • Zero otherwise.

◆ operator>()

bool winstd::cert_context::operator> ( const handle_type other) const
inlinenoexcept

Is certificate greater than?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is greater than other;
  • Zero otherwise.

◆ operator>=()

bool winstd::cert_context::operator>= ( const handle_type other) const
inlinenoexcept

Is certificate greater than or equal?

Parameters
[in]otherCertificate to compare against
Returns
  • Non zero when certificate is greater than other;
  • Zero otherwise.

Member Data Documentation

◆ noexcept

LPCBYTE DWORD cbCertEncoded winstd::cert_context::noexcept
Initial value:
{
handle_type h = CertCreateCertificateContext(dwCertEncodingType, pbCertEncoded, cbCertEncoded)
PCCERT_CONTEXT handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608

The documentation for this class was generated from the following file: