bool IIccStruct::Describe(std::string &sDescription) const { if (!m_pTagStruct) { return false; } else { char buf[256]; CIccInfo info; sprintf(buf, "BEGIN UNKNOWN_TAG_STRUCT "); sDescription += buf; sDescription += info.GetStructSigName(m_pTagStruct->GetTagStructType()); sDescription += "\r\n\r\n"; TagEntryList::iterator i; TagEntryList *pList = m_pTagStruct->GetElemList(); for (i=pList->begin(); i!=pList->end(); i++) { i->pTag->Describe(sDescription); } sDescription += "\r\n"; sprintf(buf, "END TAG_STRUCT\r\n"); sDescription += buf; sDescription += "\r\n"; } return true; }
bool CIccStructUnknown::Describe(std::string &sDescription) const { char buf[256]; CIccInfo info; int n; if (m_pTag) { TagEntryList *entries = m_pTag->GetElemList(); TagEntryList::iterator i; for (n=0, i=entries->begin(); i!=entries->end(); n++, i++) { if (i->pTag) { if (n) sDescription += "\r\n"; sprintf(buf, "Begin SubTag(%s)\r\n", GetElemName(i->TagInfo.sig).c_str()); sDescription += buf; i->pTag->Describe(sDescription); sprintf(buf, "End SubTag(%s)\r\n", GetElemName(i->TagInfo.sig).c_str()); sDescription += buf; } } } return true; }