Purpose: Formulate a textual representation of the atom value
| Return Type | Function name | Arguments |
|---|---|---|
| const char* | hzAtom::Show | (void) |
Declared in file: hzDatabase.h
Defined in file : hzAtom.cpp
Function Logic:
Function body:
const char* hzAtom::Show (void)
{
// Purpose: Formulate a textual representation of the atom value
//
// Arguments: 1) eFmt Format (optional)
//
// Returns: Instance of hzString by value being atom value in text form.
_hzfunc("hzAtom::Show") ;
const char* ptr ; // From string-like entities
char* pBuf ; // Scratch pad buffer
hzMD5* pMd5 ; // Digest
hzXDate xd ; // Recepticle for hzXDate data
hzDomain dom ; // Domain
hzEmaddr ema ; // Recepticle for hzEmaddr data
hzUrl url ; // Recepticle for hzUrl data
hzIpaddr ipa ; // Recepticle for hzIpaddr data
hzSDate sd ; // Recepticle for hzSDate data
hzTime ti ; // Recepticle for hzTime data
hzString str ; // Temp str
// threadLog("status %d type %d val %x\n", m_eStatus, m_eType, m_Data.m_uInt64) ;
if (m_eStatus == ATOM_CLEAR) return 0;
if (m_eStatus == ATOM_ERROR) return s_atom_error ;
if (m_eStatus != ATOM_SET) return s_atom_state ;
switch (m_eType)
{
case BASETYPE_UNDEF: return 0;
case BASETYPE_CPP_UNDEF: return *s_cpp_undef ;
case BASETYPE_DIGEST: pMd5 = (hzMD5*) m_Data.m_pVoid ;
if (pMd5)
return pMd5->Txt() ;
return 0;
case BASETYPE_DOUBLE: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%f", m_Data.m_Double) ; return pBuf ;
case BASETYPE_INT64: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%ld", m_Data.m_sInt64) ; return pBuf ;
case BASETYPE_INT32: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%d", m_Data.m_sInt32) ; return pBuf ;
case BASETYPE_INT16: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%d", m_Data.m_sInt16) ; return pBuf ;
case BASETYPE_BYTE: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%d", m_Data.m_sByte) ; return pBuf ;
case BASETYPE_UINT64: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%lu", m_Data.m_uInt64) ; return pBuf ;
case BASETYPE_UINT32: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%u", m_Data.m_uInt32) ; return pBuf ;
case BASETYPE_UINT16: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%u", m_Data.m_uInt16) ; return pBuf ;
case BASETYPE_UBYTE: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%u", m_Data.m_uByte) ; return pBuf ;
case BASETYPE_BOOL: return m_Data.m_Bool ? *s_bool_true : *s_bool_false ;
case BASETYPE_HZO_UNDEF: return *s_hzo_undef ;
case BASETYPE_STRING: str._int_set(m_Data.m_uInt32) ; ptr = (const char*) str ; str._int_clr() ; return ptr ;
case BASETYPE_DOMAIN: dom._int_set(m_Data.m_uInt32) ; ptr = (const char*) dom ; dom._int_clr() ; return ptr ;
case BASETYPE_EMADDR: ema._int_set(m_Data.m_uInt32) ; ptr = (const char*) ema ; ema._int_clr() ; return ptr ;
case BASETYPE_URL: return *Url() ;
case BASETYPE_IPADDR: return *Ipaddr() ;
case BASETYPE_TIME: return *Time() ;
case BASETYPE_SDATE: return *SDate() ;
case BASETYPE_XDATE: xd.SetDate(m_Data.m_uInt64) ;
return xd.Txt() ;
case BASETYPE_TEXT: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "TXT ref=%x", m_Data.m_uInt32) ; return pBuf ;
case BASETYPE_BINARY: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "BIN ref=%x", m_Data.m_uInt32) ; return pBuf ;
case BASETYPE_TXTDOC: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "DOC ref=%x", m_Data.m_uInt32) ; return pBuf ;
case BASETYPE_ENUM: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "%u", m_Data.m_sInt32) ; return pBuf ;
case BASETYPE_APPDEF: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "APP ref=%x", m_Data.m_uInt32) ; return pBuf ;
case BASETYPE_CLASS: pBuf = _thisfn.ScratchPad(24); sprintf(pBuf, "OBJ ref=%x", m_Data.m_uInt32) ; return pBuf ;
}
return 0;
}