ASN1C C/C++ Common Runtime
ASN1C v7.4.x
|
#include <OSRTContext.h>
Public Member Functions | |
EXTRTMETHOD | OSRTContext () |
virtual EXTRTMETHOD | ~OSRTContext () |
OSCTXT * | getPtr () |
const OSCTXT * | getPtr () const |
EXTRTMETHOD OSUINT32 | getRefCount () |
int | getStatus () const |
OSBOOL | isInitialized () |
EXTRTMETHOD void | _ref () |
EXTRTMETHOD void | _unref () |
EXTRTMETHOD char * | getErrorInfo () |
EXTRTMETHOD char * | getErrorInfo (size_t *pBufSize) |
EXTRTMETHOD char * | getErrorInfo (char *pBuf, size_t &bufSize) |
void * | memAlloc (size_t numocts) |
void * | memAllocZ (size_t numocts) |
void | memFreeAll () |
void | memFreePtr (void *ptr) |
void * | memRealloc (void *ptr, size_t numocts) |
void | memReset () |
void | printErrorInfo () |
void | resetErrorInfo () |
OSBOOL | setDiag (OSBOOL value=TRUE) |
virtual EXTRTMETHOD int | setRunTimeKey (const OSOCTET *key, size_t keylen) |
int | setStatus (int stat) |
Protected Attributes | |
OSCTXT | mCtxt |
OSUINT32 | mCount |
OSBOOL | mbInitialized |
int | mStatus |
Reference counted context class. This keeps track of all encode/decode function variables between function invocations. It is reference counted to allow a message buffer and type class to share access to it.
EXTRTMETHOD OSRTContext::OSRTContext | ( | ) |
The default constructor initializes the mCtxt member variable and sets the reference count variable (mCount) to zero.
|
virtual |
The destructor frees all memory held by the context.
EXTRTMETHOD void OSRTContext::_ref | ( | ) |
The _ref method increases the reference count by one.
Referenced by OSRTCtxtPtr::operator=(), and OSRTCtxtPtr::OSRTCtxtPtr().
EXTRTMETHOD void OSRTContext::_unref | ( | ) |
The _unref method decreases the reference count by one.
Referenced by OSRTCtxtPtr::operator=(), and OSRTCtxtPtr::~OSRTCtxtPtr().
EXTRTMETHOD char* OSRTContext::getErrorInfo | ( | ) |
Returns error text in a dynamic memory buffer. Buffer will be allocated using 'operator new []'. The calling routine is responsible for freeing the memory by using 'operator delete []'.
EXTRTMETHOD char* OSRTContext::getErrorInfo | ( | size_t * | pBufSize | ) |
Returns error text in a dynamic memory buffer. Buffer will be allocated using 'operator new []'. The calling routine is responsible for freeing the memory by using 'operator delete []'.
pBufSize | A pointer to buffer size. It will receive the size of allocated dynamic buffer, or (size_t)-1 if an error occurred. |
EXTRTMETHOD char* OSRTContext::getErrorInfo | ( | char * | pBuf, |
size_t & | bufSize | ||
) |
Returns error text in a memory buffer. If buffer pointer is specified in parameters (not NULL) then error text will be copied in the passed buffer. Otherwise, this method allocates memory using the 'operator new []' function. The calling routine is responsible to free the memory by using 'operator delete []'.
pBuf | A pointer to a destination buffer to obtain the error text. If NULL, dynamic buffer will be allocated. |
bufSize | A reference to buffer size. If pBuf is NULL it will receive the size of allocated dynamic buffer. |
|
inline |
The getPtr method returns a pointer to the mCtxt member variable. A user can use this function to get the the context pointer variable for use in a C runtime function call.
Referenced by OSRTCtxtPtr::getCtxtPtr(), and ASN1CType::getCtxtPtr().
EXTRTMETHOD OSUINT32 OSRTContext::getRefCount | ( | ) |
The getRefCount method returns the current reference count.
|
inline |
The getStatus method returns the runtime status code value.
References rtxErrGetLastError().
Referenced by ASN1CType::getStatus().
|
inline |
Returns TRUE, if initialized correctly, FALSE otherwise.
|
inline |
The memAlloc method allocates memory using the C runtime memory management functions. The memory is tracked in the underlying context structure. When both this OSXSDGlobalElement derived control class object and the message buffer object are destroyed, this memory will be freed.
numocts | - Number of bytes of memory to allocate |
References rtxMemAlloc.
Referenced by ASN1CType::memAlloc().
|
inline |
The memAllocZ method allocates and zeroes memory using the C runtime memory management functions. The memory is tracked in the underlying context structure. When both this OSXSDGlobalElement derived control class object and the message buffer object are destroyed, this memory will be freed.
numocts | - Number of bytes of memory to allocate |
References rtxMemAllocZ.
Referenced by ASN1CType::memAllocZ().
|
inline |
The memFreeAll
method will free all memory currently tracked within the context. This includes all memory allocated with the memAlloc method as well as any memory allocated using the C rtxMemAlloc
function with the context returned by the getCtxtPtr
method.
References rtxMemFree().
Referenced by ASN1CType::memFreeAll().
|
inline |
The memFreePtr method frees the memory at a specific location. This memory must have been allocated using the memAlloc method described earlier.
ptr | - Pointer to a block of memory allocated with memAlloc |
References rtxMemFreePtr.
Referenced by ASN1CType::memFreePtr().
|
inline |
The memRealloc method reallocates memory using the C runtime memory management functions.
ptr | - Original pointer containing dynamic memory to be resized. |
numocts | - Number of bytes of memory to allocate |
References rtxMemRealloc.
Referenced by ASN1CType::memRealloc().
|
inline |
The memReset method resets dynamic memory using the C runtime memory management functions.
References rtxMemReset().
Referenced by ASN1CType::memReset().
|
inline |
The printErrorInfo method prints information on errors contained within the context.
References rtxErrPrint().
Referenced by ASN1CType::printErrorInfo().
|
inline |
The resetErrorInfo method resets information on errors contained within the context.
References rtxErrReset().
Referenced by ASN1CType::resetError().
|
inline |
The setDiag method will turn diagnostic tracing on or off.
value | - Boolean value (default = TRUE = on) |
References rtxSetDiag().
|
virtual |
This method sets run-time key to the context. This method does nothing for unlimited redistribution libraries.
key | - array of octets with the key |
keylen | - number of octets in key array. |
Reimplemented in ASN1Context.
int OSRTContext::setStatus | ( | int | stat | ) |
This method sets error status in the context.
stat | Status value. |
Referenced by ASN1MessageBuffer::setStatus().
|
protected |
TRUE, if initialized correctly, FALSE otherwise
|
protected |
The mCount member variable holds the reference count of this context.
|
protected |
The mCtxt member variable is a standard C runtime context variable used in most C runtime function calls.
|
protected |
The mStatus variable holds the return status from C run-time function calls. The getStatus method will either return this status or the last status on the context error list.