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;
}
Exemplo n.º 2
0
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;
}