12 #include "../GrayLibBase.h"
110 if (get_DataSize() != 0)
133 return (m_eASNTag == b.
m_eASNTag && IsEqualData(&b));
139 if (this->get_DataSize() != nSize)
165 SUPER_t::SetEmptyBlock();
171 ASSERT(get_DataSize() > 0);
172 const BYTE bVal = *get_DataBytes();
173 return (bVal == 0) ? false :
true;
196 void SetBlock(
void* pData,
size_t nSize)
IS_DELETE;
200 : m_bAllocated(false)
214 m_bAllocated =
false;
216 SUPER_t::SetEmptyBuf();
224 SUPER_t::SetEmptyBuf();
228 if (pDataNew ==
nullptr)
233 if (pData !=
nullptr)
235 ::memcpy(pDataNew, pData, nSize);
237 SUPER_t::SetBlock(pDataNew, nSize);
#define IS_DELETE
Definition: GrayCore.h:67
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
void SetEmptyBuf()
Definition: cASN.h:208
~cASNBufAlloc()
Definition: cASN.h:203
cASNBufAlloc() noexcept
Definition: cASN.h:199
bool SetAlloc(ASN_TYPE eASNTag, size_t nSize, const void *pData=nullptr)
Definition: cASN.h:219
ASN_TYPE get_ASNType() const noexcept
Definition: cASN.h:99
cASNBuf() noexcept
Definition: cASN.h:94
bool isPrintable() const noexcept
Definition: cASN.h:124
bool isEmptyBuf() const
Definition: cASN.h:106
bool get_Bool() const
Definition: cASN.h:168
bool IsEqualStr(const void *pStr, size_t nSize) const
Definition: cASN.h:136
void SetEmptyBuf()
Definition: cASN.h:162
ASN_TYPE m_eASNTag
ASN1 tag defines the data type, e.g. ASN_StringUTF8. ASN_TYPE byte mask.
Definition: cASN.h:89
bool IsEqualStr(const cASNBuf &b) const
Definition: cASN.h:150
bool isSequence() const noexcept
Definition: cASN.h:115
bool IsEqualBuf(const cASNBuf &b) const
Definition: cASN.h:130
Definition: StrBuilder.h:18
BYTE * get_DataBytes() const noexcept
Definition: cMem.h:354
size_t get_DataSize() const noexcept
Definition: cMem.h:344
ASN_TYPE
Definition: cASN.h:22
@ ASN_StringIA5
Definition: cASN.h:57
@ ASN_Bitmap
Definition: cASN.h:65
@ ASN_Unknown
AKA PRIMITIVE, UNIVERSAL (unknown type?) reserved for BER, End Of Contents or N/A.
Definition: cASN.h:35
@ ASN_ArrayBytes
OCTET STRING = Model binary data whose length is a multiple of eight.
Definition: cASN.h:39
@ ASN_TimeUTC
Definition: cASN.h:58
@ ASN_TimeGeneral
Definition: cASN.h:59
@ ASNF_MASK
Definition: cASN.h:68
@ ASNF_CONTEXT_SPECIFIC
Definition: cASN.h:71
@ ASN_StringT61
Definition: cASN.h:55
@ ASNF_CONSTRUCTED
Definition: cASN.h:69
@ ASN_INTEGER
Definition: cASN.h:37
@ ASN_NULL
Definition: cASN.h:40
@ ASN_ENUMERATED
10 = Model values of variables with at least three states
Definition: cASN.h:45
@ ASN_StringUTF8
12 = UTF8String
Definition: cASN.h:47
@ ASN_OID
Name information objects.
Definition: cASN.h:41
@ ASNF_APPLICATION
Definition: cASN.h:70
@ ASN_SET
Definition: cASN.h:52
@ ASN_SEQUENCE
Definition: cASN.h:51
@ ASN_BOOLEAN
Definition: cASN.h:36
@ ASN_REAL
Model real float variable values.
Definition: cASN.h:44
@ ASN_StringPrintable
Definition: cASN.h:54
@ ASN_StringUniversal
Definition: cASN.h:63
@ ASN_ArrayBits
BIT STRING = Model binary data of arbitrary length.
Definition: cASN.h:38
BYTE ASN_t
Definition: cASN.h:75
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
@ COMPARE_Equal
VARCMP_EQ.
Definition: cValT.h:23
static void *__stdcall ReAllocPtr(void *pData, size_t nSize)
Definition: cHeap.cpp:158
static void __stdcall FreePtr(void *pData)
Definition: cHeap.cpp:103