Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdsFldspec::Validate | (hzLogger*,const hzString&,const char*,unsigned int,) |
Declared in file: hzDissemino.h
Defined in file : hdsConfig.cpp
Function Logic:
Function body:
hzEcode hdsFldspec::Validate (hzLogger* pLog, const hzString& cfgFname, const char* caller, unsigned int ln) { _hzfunc("hdsApp::_testFldspec") ; hzEcode rc = E_OK ; if (!cfgFname) { rc = E_ARGUMENT ; pLog->Log("No config file supplied\n") ; } if (!caller) { rc = E_ARGUMENT ; pLog->Log("No caller func supplied\n") ; } if (rc != E_OK) return rc ; if (!m_pType) { pLog->Log("(%s) File %s Line %d <fldspec> No data type established\n", caller, *cfgFname, ln) ; return E_SYNTAX ; } if (htype == HTMLTYPE_NULL) { pLog->Log("(%s) File %s Line %d <fldspec> No HTML type established\n", caller, *cfgFname, ln) ; return E_SYNTAX ; } if (!m_Refname) { pLog->Log("(%s) File %s Line %d <fldspec> No refname supplied\n", caller, *cfgFname, ln) ; return E_SYNTAX ; } switch (htype) { case HTMLTYPE_TEXT: case HTMLTYPE_PASSWORD: if (nRows) pLog->Log("(%s) File %s Line %d: Note. Rows for TEXT/PASSWORD are always 1 so not required\n", caller, *cfgFname, ln) ; if (!nCols) nCols = 1; if (!nSize) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No max size supplied\n", caller, *cfgFname, ln) ; } nRows = 1; break ; case HTMLTYPE_TEXTAREA: if (!nRows) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No row size supplied\n", caller, *cfgFname, ln) ; } if (!nCols) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No col size supplied\n", caller, *cfgFname, ln) ; } if (!nSize) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No max size supplied\n", caller, *cfgFname, ln) ; } break ; case HTMLTYPE_SELECT: if (m_pType->Basetype() == BASETYPE_ENUM || m_pType->Basetype() == BASETYPE_STRING) { if (nRows || nCols || nSize) pLog->Log("(%s) File %s Line %d: Note. For Select field dimensions are not required\n", caller, *cfgFname, ln) ; break ; } rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: <fldspec>: Data type of %s is incompatible to HTMLTYPE_SELECT\n", caller, *cfgFname, ln, m_pType->txtType()) ; break ; case HTMLTYPE_CHECKBOX: if (nSize) pLog->Log("(%s) File %s Line %d: Note. For Check-box field size is not required\n", caller, *cfgFname, ln) ; if (m_pType->Basetype() == BASETYPE_BOOL) { if (!nRows) nRows = 1; if (!nCols) nCols = 1; break ; } if (m_pType->Basetype() == BASETYPE_ENUM) { if (!nRows) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No row size supplied\n", caller, *cfgFname, ln) ; } if (!nCols) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No col size supplied\n", caller, *cfgFname, ln) ; } break ; } rc = E_SYNTAX ; pLog->Log("File %s Line %d: <fldspec>: Data type of %s is incompatible to HTMLTYPE_CHECKBOX\n", m_pType->txtType()) ; break ; case HTMLTYPE_RADIO: if (nSize) pLog->Log("(%s) File %s Line %d: Note. For Check-box/Radio field size is not required\n", caller, *cfgFname, ln) ; if (m_pType->Basetype() == BASETYPE_ENUM) { if (!nRows) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No row size supplied\n", caller, *cfgFname, ln) ; } if (!nCols) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No col size supplied\n", caller, *cfgFname, ln) ; } break ; } rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: <fldspec>: Data type of %s is incompatible to HTMLTYPE_RADIO\n", caller, m_pType->txtType()) ; break ; case HTMLTYPE_FILE: if (nRows) pLog->Log("(%s) File %s Line %d: Note. Rows for FILE are always 1 so not required\n", caller, *cfgFname, ln) ; if (!nCols) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No col size supplied\n", caller, *cfgFname, ln) ; } if (!nSize) { rc = E_SYNTAX ; pLog->Log("(%s) File %s Line %d: No max size supplied\n", caller, *cfgFname, ln) ; } nRows = 1; break ; case HTMLTYPE_HIDDEN: if (nRows || nCols || nSize) pLog->Log("(%s) File %s Line %d: Note. For Hidden field dimensions are not required\n", caller, *cfgFname, ln) ; break ; } return rc ; }