IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
CIccTagXmlProfileSeqDesc Class Reference

#include <IccTagXml.h>

+ Inheritance diagram for CIccTagXmlProfileSeqDesc:
+ Collaboration diagram for CIccTagXmlProfileSeqDesc:

Public Member Functions

virtual ~CIccTagXmlProfileSeqDesc ()
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 
virtual void DetachIO ()
 
virtual const char * GetClassName () const
 
virtual const char * GetExtClassName () const
 
virtual const char * GetExtDerivedClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual icTagTypeSignature GetType () const
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
virtual bool IsNumArrayType () const
 
virtual bool IsSupported ()
 
virtual CIccTagNewCopy () const
 
virtual bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 
virtual bool ReadAll ()
 
virtual bool ToXml (std::string &xml, std::string blanks="")
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 
virtual bool Write (CIccIO *pIO)
 

Static Public Member Functions

static CIccTagCreate (icTagTypeSignature sig)
 

Data Fields

CIccProfileSeqDescm_Descriptions
 
icUInt32Number m_nReserved
 

Detailed Description

Constructor & Destructor Documentation

◆ ~CIccTagXmlProfileSeqDesc()

virtual CIccTagXmlProfileSeqDesc::~CIccTagXmlProfileSeqDesc ( )
inlinevirtual
464{}

Member Function Documentation

◆ Create()

CIccTag * CIccTag::Create ( icTagTypeSignature  sig)
staticinherited

Name: CIccTag::Create

Purpose: This is a static tag creator based upon tag signature type

Args: sig = tag type signature

Return: Pointer to Allocated tag

144{
145 return CIccTagCreator::CreateTag(sig);
146}
static CIccTag * CreateTag(icTagTypeSignature tagTypeSig)
Definition IccTagFactory.h:279

References CIccTagCreator::CreateTag().

Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccTagStruct::LoadElem(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeTintArray::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), and CIccProfileDescText::SetType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Describe()

void CIccTagProfileSeqDesc::Describe ( std::string &  sDescription,
int  nVerboseness 
)
virtualinherited

Name: CIccTagProfileSeqDesc::Describe

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

9656{
9657 CIccProfileSeqDesc::iterator i;
9658 icChar buf[128], buf2[28];
9659 icUInt32Number count=0;
9660
9661 sprintf(buf, "Number of Profile Description Structures: %u\n", (icUInt32Number)m_Descriptions->size());
9662 sDescription += buf;
9663
9664 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
9665 sDescription += "\n";
9666
9667 sprintf(buf, "Profile Description Structure Number [%u] follows:\n", count+1);
9668 sDescription += buf;
9669
9670 sprintf(buf, "Device Manufacturer Signature: %s\n", icGetSig(buf2, i->m_deviceMfg, false));
9671 sDescription += buf;
9672
9673 sprintf(buf, "Device Model Signature: %s\n", icGetSig(buf2, i->m_deviceModel, false));
9674 sDescription += buf;
9675
9676 sprintf(buf, "Device Attributes: %08x%08x\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
9677 sDescription += buf;
9678
9679 sprintf(buf, "Device Technology Signature: %s\n", icGetSig(buf2, i->m_technology, false));
9680 sDescription += buf;
9681
9682 sprintf(buf, "Description of device manufacturer: \n");
9683 sDescription += buf;
9684 i->m_deviceMfgDesc.Describe(sDescription, nVerboseness);
9685
9686 sprintf(buf, "Description of device model: \n");
9687 sDescription += buf;
9688 i->m_deviceModelDesc.Describe(sDescription, nVerboseness);
9689 }
9690}
unsigned long icUInt32Number
Definition icProfileHeader.h:262
char icChar
Definition IccDefs.h:110
ICCPROFLIB_API const icChar * icGetSig(icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
Definition IccUtil.cpp:1028
CIccProfileSeqDesc * m_Descriptions
Definition IccTagBasic.h:1541

References CIccProfileDescText::Describe(), icGetSig(), CIccProfileDescStruct::m_attributes, CIccTagProfileSeqDesc::m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, and CIccProfileDescStruct::m_technology.

+ Here is the call graph for this function:

◆ DetachIO()

virtual void CIccTag::DetachIO ( )
inlinevirtualinherited

Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag

Returns true if ReadAll is successful.

183{}

◆ GetClassName()

virtual const char * CIccTagXmlProfileSeqDesc::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTagProfileSeqDesc.

466{return "CIccTagXmlProfileSeqDesc"; }

◆ GetExtClassName()

virtual const char * CIccTagXml::GetExtClassName ( ) const
inlinevirtualinherited

Implements IIccExtensionTag.

79{ return "CIccTagXml"; }

Referenced by icProfDescToXml(), and icXmlParseProfDesc().

+ Here is the caller graph for this function:

◆ GetExtDerivedClassName()

virtual const char * CIccTagXml::GetExtDerivedClassName ( ) const
inlinevirtualinherited

Implements IIccExtensionTag.

Reimplemented in CIccCurveXml.

80{ return ""; }

◆ GetExtension()

virtual IIccExtensionTag * CIccTagXmlProfileSeqDesc::GetExtension ( )
inlinevirtual

Reimplemented from CIccTag.

468{return this; }

◆ GetTagArrayType()

virtual icArraySignature CIccTag::GetTagArrayType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagArray.

133{ return icSigUndefinedArray; }
@ icSigUndefinedArray
Definition icProfileHeader.h:617

References icSigUndefinedArray.

Referenced by icGetTagArrayHandlerOfType(), and CIccProfileXml::ParseTag().

+ Here is the caller graph for this function:

◆ GetTagStructType()

virtual icStructSignature CIccTag::GetTagStructType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagStruct.

132{ return icSigUndefinedStruct; }
@ icSigUndefinedStruct
Definition icProfileHeader.h:606

References icSigUndefinedStruct.

Referenced by icGetTagStructHandlerOfType(), CIccArrayColorantInfo::Validate(), and CIccArrayNamedColor::Validate().

+ Here is the caller graph for this function:

◆ GetType()

virtual icTagTypeSignature CIccTagProfileSeqDesc::GetType ( ) const
inlinevirtualinherited

Function: GetType()

Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.

Reimplemented from CIccTag.

@ icSigProfileSequenceDescType
Definition icProfileHeader.h:553

References icSigProfileSequenceDescType.

Referenced by CIccTagProfileSeqDesc::Validate(), and CIccTagProfileSeqDesc::Write().

+ Here is the caller graph for this function:

◆ IsArrayType()

virtual bool CIccTag::IsArrayType ( )
inlinevirtualinherited

Reimplemented in CIccTagXYZ, CIccTagChromaticity, CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, and CIccTagData.

135{ return false; }

Referenced by MyTagDialog::MyTagDialog(), and DumpTag().

+ Here is the caller graph for this function:

◆ IsMBBType()

virtual bool CIccTag::IsMBBType ( )
inlinevirtualinherited

Reimplemented in CIccMBB.

136{ return false; } //If true then CIccTag can be cast as an CIccMBB

Referenced by CIccProfileXml::ParseTag().

+ Here is the caller graph for this function:

◆ IsNumArrayType()

virtual bool CIccTag::IsNumArrayType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, and CIccTagFloatNum< T, Tsig >.

137{ return false;} //If true then CIccTag can be cast as a CIccTagNumArray

Referenced by CIccArrayNamedColor::FindDeviceColor(), CIccArrayNamedColor::FindPcsColor(), CIccArrayNamedColor::FindSpectralColor(), CIccTagStruct::GetElemNumberValue(), CIccStructNamedColor::GetNumArray(), CIccMpeXmlTintArray::ParseXml(), and CIccMpeTintArray::Read().

+ Here is the caller graph for this function:

◆ IsSupported()

virtual bool CIccTag::IsSupported ( )
inlinevirtualinherited

Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes. By Default inherited classes are supported. Unknown tag types are not supported.

Returns true if tag type is supported.

Reimplemented in CIccTagUnknown, CIccTagEmbeddedProfile, and CIccTagMultiProcessElement.

153{ return true; }

◆ NewCopy()

virtual CIccTag * CIccTagProfileSeqDesc::NewCopy ( ) const
inlinevirtualinherited

Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.

Parameter(s): none

Returns a new CIccTag object that is a copy of this object.

Reimplemented from CIccTag.

1529{return new CIccTagProfileSeqDesc(*this);}
CIccTagProfileSeqDesc()
Definition IccTagBasic.cpp:9472

References CIccTagProfileSeqDesc::CIccTagProfileSeqDesc().

+ Here is the call graph for this function:

◆ ParseXml()

bool CIccTagXmlProfileSeqDesc::ParseXml ( xmlNode *  pNode,
std::string &  parseStr 
)
virtual

Implements CIccTagXml.

2358{
2359 pNode = icXmlFindNode(pNode, "ProfileSequence");
2360
2361 if (!m_Descriptions)
2362 return false;
2363
2364 m_Descriptions->clear();
2365
2366 if (pNode) {
2367 for (pNode = pNode->children; pNode; pNode=pNode->next) {
2368 if (pNode->type==XML_ELEMENT_NODE && !icXmlStrCmp(pNode->name, "ProfileDesc")) {
2369 CIccProfileDescStruct ProfileDescStruct;
2370
2371 if (!icXmlParseProfDesc(pNode, ProfileDescStruct, parseStr))
2372 return false;
2373
2374 m_Descriptions->push_back(ProfileDescStruct);
2375 }
2376 }
2377 }
2378 return true;
2379}
bool icXmlParseProfDesc(xmlNode *pNode, CIccProfileDescStruct &p, std::string &parseStr)
Definition IccTagXml.cpp:2257
#define icXmlStrCmp(x, y)
Definition IccUtilXml.h:134
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
Definition IccUtilXml.cpp:687
Definition IccTagBasic.h:1491

References icXmlFindNode(), icXmlParseProfDesc(), and CIccTagProfileSeqDesc::m_Descriptions.

+ Here is the call graph for this function:

◆ Read() [1/2]

bool CIccTagProfileSeqDesc::Read ( icUInt32Number  size,
CIccIO pIO 
)
virtualinherited

Name: CIccTagProfileSeqDesc::Read

Purpose: Read in the tag contents into a data block

Args: size - # of bytes in tag, pIO - IO object to read tag from

Return: true = successful, false = failure

Reimplemented from CIccTag.

9545{
9547 icUInt32Number nCount, nEnd;
9548
9549 nEnd = pIO->Tell() + size;
9550
9551 if (sizeof(icTagTypeSignature) +
9552 sizeof(icUInt32Number)*2 > size)
9553 return false;
9554
9555 if (!pIO) {
9556 return false;
9557 }
9558
9559 if (!pIO->Read32(&sig) ||
9560 !pIO->Read32(&m_nReserved) ||
9561 !pIO->Read32(&nCount))
9562 return false;
9563
9564 if (!nCount)
9565 return true;
9566
9567 if (sizeof(icTagTypeSignature) +
9568 sizeof(icUInt32Number)*2 +
9569 sizeof(CIccProfileDescStruct) > size)
9570 return false;
9571
9572 icUInt32Number i, nPos;
9573 CIccProfileDescStruct ProfileDescStruct;
9574
9575 for (i=0; i<nCount; i++) {
9576
9577 if (!pIO->Read32(&ProfileDescStruct.m_deviceMfg) ||
9578 !pIO->Read32(&ProfileDescStruct.m_deviceModel) ||
9579 !pIO->Read64(&ProfileDescStruct.m_attributes) ||
9580 !pIO->Read32(&ProfileDescStruct.m_technology))
9581 return false;
9582
9583 nPos = pIO->Tell();
9584
9585 if (!ProfileDescStruct.m_deviceMfgDesc.Read(nEnd - nPos, pIO))
9586 return false;
9587
9588 nPos = pIO->Tell();
9589 if (!ProfileDescStruct.m_deviceModelDesc.Read(nEnd - nPos, pIO))
9590 return false;
9591
9592 m_Descriptions->push_back(ProfileDescStruct);
9593 }
9594
9595 return true;
9596}
icTagTypeSignature
Definition icProfileHeader.h:526
virtual icInt32Number Tell()
Definition IccIO.h:133
icInt32Number Read64(void *pBuf64, icInt32Number nNum=1)
Definition IccIO.cpp:173
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
icUInt32Number m_nReserved
Definition IccTagBasic.h:235
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Definition IccTagBasic.cpp:9331
CIccProfileDescText m_deviceMfgDesc
Definition IccTagBasic.h:1502
icSignature m_deviceMfg
Definition IccTagBasic.h:1498
icSignature m_deviceModel
Definition IccTagBasic.h:1499
icTechnologySignature m_technology
Definition IccTagBasic.h:1501
CIccProfileDescText m_deviceModelDesc
Definition IccTagBasic.h:1503
icUInt64Number m_attributes
Definition IccTagBasic.h:1500

References CIccProfileDescStruct::m_attributes, CIccTagProfileSeqDesc::m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, CIccTag::m_nReserved, CIccProfileDescStruct::m_technology, CIccProfileDescText::Read(), CIccIO::Read32(), CIccIO::Read64(), and CIccIO::Tell().

+ Here is the call graph for this function:

◆ Read() [2/2]

virtual bool CIccTag::Read ( icUInt32Number  size,
CIccIO pIO,
CIccProfile pProfile 
)
inlinevirtualinherited

Function: Read(size, pIO) - Read tag from file. Each derived tag will implement it's own Read() function.

Parameter(s): size - number of bytes in tag including the type signature. pIO - IO object used to read in tag. The IO object should already be initialized to point to the begining of the tag.

Returns true if Read is successful.

Reimplemented in CIccTagEmbeddedProfile.

197{ return Read(size, pIO); }
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Definition IccTagBasic.h:167

References CIccTag::Read().

+ Here is the call graph for this function:

◆ ReadAll()

virtual bool CIccTag::ReadAll ( )
inlinevirtualinherited

Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag

Returns true if ReadAll is successful.

Reimplemented in CIccTagEmbeddedProfile.

175{ return true; }

◆ ToXml()

bool CIccTagXmlProfileSeqDesc::ToXml ( std::string &  xml,
std::string  blanks = "" 
)
virtual

Implements CIccTagXml.

2342{
2343 CIccProfileSeqDesc::iterator i;
2344 if (!m_Descriptions)
2345 return false;
2346
2347 xml += blanks + "<ProfileSequence>\n";
2348 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++) {
2349 if (!icProfDescToXml(xml, *i, blanks + " "))
2350 return false;
2351 }
2352 xml += blanks + "</ProfileSequence>\n";
2353 return true;
2354}
bool icProfDescToXml(std::string &xml, CIccProfileDescStruct &p, std::string blanks="")
Definition IccTagXml.cpp:2181

References icProfDescToXml(), and CIccTagProfileSeqDesc::m_Descriptions.

+ Here is the call graph for this function:

◆ Validate()

icValidateStatus CIccTagProfileSeqDesc::Validate ( std::string  sigPath,
std::string &  sReport,
const CIccProfile pProfile = NULL 
) const
virtualinherited

Name: CIccTagProfileSeqDesc::Validate

Purpose: Check tag data validity.

Args: sig = signature of tag being validated, sReport = String to add report information to

Return: icValidateStatusOK if valid, or other error status.

Reimplemented from CIccTag.

9708{
9709 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
9710
9711 CIccInfo Info;
9712 char buf[128];
9713 std::string sSigPathName = Info.GetSigPathName(sigPath);
9714
9715 CIccProfileSeqDesc::iterator i;
9716 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++) {
9717 switch(i->m_technology) {
9718 case 0x00000000: //Technology not defined
9719 case icSigFilmScanner:
9720 case icSigDigitalCamera:
9722 case icSigInkJetPrinter:
9728 case icSigFilmWriter:
9729 case icSigVideoMonitor:
9730 case icSigVideoCamera:
9732 case icSigCRTDisplay:
9733 case icSigPMDisplay:
9734 case icSigAMDisplay:
9735 case icSigPhotoCD:
9737 case icSigGravure:
9739 case icSigSilkscreen:
9740 case icSigFlexography:
9741 break;
9742
9743 default:
9744 {
9745 sReport += icMsgValidateNonCompliant;
9746 sReport += sSigPathName;
9747 sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(i->m_technology));
9748 sReport += buf;
9750 }
9751 }
9752
9753 if (i->m_deviceMfgDesc.m_bNeedsPading) {
9754 sReport += icMsgValidateNonCompliant;
9755 sReport += sSigPathName;
9756
9757 sReport += " Contains non-aligned deviceMfgDesc text tag information\n";
9758
9760 }
9761
9762 if (i->m_deviceModelDesc.m_bNeedsPading) {
9763 sReport += icMsgValidateNonCompliant;
9764 sReport += sSigPathName;
9765
9766 sReport += " Contains non-aligned deviceModelDesc text tag information\n";
9767
9769 }
9770
9771 rv = icMaxStatus(rv, i->m_deviceMfgDesc.GetTag()->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
9772 rv = icMaxStatus(rv, i->m_deviceModelDesc.GetTag()->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
9773 }
9774
9775 return rv;
9776}
@ icSigFilmWriter
Definition icProfileHeader.h:501
@ icSigCRTDisplay
Definition icProfileHeader.h:505
@ icSigOffsetLithography
Definition icProfileHeader.h:511
@ icSigFlexography
Definition icProfileHeader.h:513
@ icSigSilkscreen
Definition icProfileHeader.h:512
@ icSigPhotographicPaperPrinter
Definition icProfileHeader.h:500
@ icSigVideoMonitor
Definition icProfileHeader.h:502
@ icSigElectrostaticPrinter
Definition icProfileHeader.h:498
@ icSigPMDisplay
Definition icProfileHeader.h:506
@ icSigGravure
Definition icProfileHeader.h:510
@ icSigInkJetPrinter
Definition icProfileHeader.h:495
@ icSigReflectiveScanner
Definition icProfileHeader.h:494
@ icSigDigitalCamera
Definition icProfileHeader.h:492
@ icSigVideoCamera
Definition icProfileHeader.h:503
@ icSigDyeSublimationPrinter
Definition icProfileHeader.h:499
@ icSigThermalWaxPrinter
Definition icProfileHeader.h:496
@ icSigFilmScanner
Definition icProfileHeader.h:493
@ icSigPhotoCD
Definition icProfileHeader.h:508
@ icSigPhotoImageSetter
Definition icProfileHeader.h:509
@ icSigElectrophotographicPrinter
Definition icProfileHeader.h:497
@ icSigProjectionTelevision
Definition icProfileHeader.h:504
@ icSigAMDisplay
Definition icProfileHeader.h:507
icValidateStatus
Definition IccDefs.h:119
@ icValidateNonCompliant
Definition IccDefs.h:122
ICCPROFLIB_API std::string icGetSigPath(icUInt32Number sig)
Definition IccUtil.cpp:1191
ICCPROFLIB_API icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Definition IccUtil.cpp:244
ICCPROFLIB_API const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
Definition IccUtil.h:303
const icChar * GetSigName(icUInt32Number val)
Definition IccUtil.cpp:2000
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Definition IccTagBasic.cpp:164
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:1532

References CIccInfo::GetSigName(), CIccInfo::GetSigPathName(), CIccProfileDescText::GetTag(), CIccTagProfileSeqDesc::GetType(), icGetSigPath(), icMaxStatus(), icMsgValidateNonCompliant, icSigAMDisplay, icSigCRTDisplay, icSigDigitalCamera, icSigDyeSublimationPrinter, icSigElectrophotographicPrinter, icSigElectrostaticPrinter, icSigFilmScanner, icSigFilmWriter, icSigFlexography, icSigGravure, icSigInkJetPrinter, icSigOffsetLithography, icSigPhotoCD, icSigPhotographicPaperPrinter, icSigPhotoImageSetter, icSigPMDisplay, icSigProjectionTelevision, icSigReflectiveScanner, icSigSilkscreen, icSigThermalWaxPrinter, icSigVideoCamera, icSigVideoMonitor, icValidateNonCompliant, CIccProfileDescText::m_bNeedsPading, CIccTagProfileSeqDesc::m_Descriptions, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModelDesc, CIccProfileDescStruct::m_technology, and CIccTag::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagProfileSeqDesc::Write ( CIccIO pIO)
virtualinherited

Name: CIccTagProfileSeqDesc::Write

Purpose: Write the tag to a file

Args: pIO - The IO object to write tag to.

Return: true = succesful, false = failure

Reimplemented from CIccTag.

9613{
9616
9617 if (!pIO) {
9618 return false;
9619 }
9620
9621 if (!pIO->Write32(&sig) ||
9622 !pIO->Write32(&m_nReserved) ||
9623 !pIO->Write32(&nCount))
9624 return false;
9625
9626 CIccProfileSeqDesc::iterator i;
9627
9628 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++) {
9629
9630 if (!pIO->Write32(&i->m_deviceMfg) ||
9631 !pIO->Write32(&i->m_deviceModel) ||
9632 !pIO->Write64(&i->m_attributes) ||
9633 !pIO->Write32(&i->m_technology))
9634 return false;
9635
9636 if (!i->m_deviceMfgDesc.Write(pIO) ||
9637 !i->m_deviceModelDesc.Write(pIO))
9638 return false;
9639 }
9640
9641 return true;
9642}
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
icInt32Number Write64(void *pBuf64, icInt32Number nNum=1)
Definition IccIO.cpp:182

References CIccTagProfileSeqDesc::GetType(), CIccProfileDescStruct::m_attributes, CIccTagProfileSeqDesc::m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, CIccTag::m_nReserved, CIccProfileDescStruct::m_technology, CIccProfileDescText::Write(), CIccIO::Write32(), and CIccIO::Write64().

+ Here is the call graph for this function:

Field Documentation

◆ m_Descriptions

◆ m_nReserved

icUInt32Number CIccTag::m_nReserved
inherited

Referenced by CIccTag::CIccTag(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::operator=(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagText::Read(), CIccTagUtf8Text::Read(), CIccTagZipUtf8Text::Read(), CIccTagUtf16Text::Read(), CIccTagTextDescription::Read(), CIccTagSignature::Read(), CIccTagNamedColor2::Read(), CIccTagXYZ::Read(), CIccTagChromaticity::Read(), CIccTagCicp::Read(), CIccTagSparseMatrixArray::Read(), CIccTagFixedNum< T, Tsig >::Read(), CIccTagNum< T, Tsig >::Read(), CIccTagFloatNum< T, Tsig >::Read(), CIccTagMeasurement::Read(), CIccTagMultiLocalizedUnicode::Read(), CIccTagData::Read(), CIccTagDateTime::Read(), CIccTagColorantOrder::Read(), CIccTagColorantTable::Read(), CIccTagViewingConditions::Read(), CIccTagProfileSeqDesc::Read(), CIccTagResponseCurveSet16::Read(), CIccTagSpectralDataInfo::Read(), CIccTagSpectralViewingConditions::Read(), CIccTagEmbeddedHeightImage::Read(), CIccTagEmbeddedNormalImage::Read(), CIccTagStruct::Read(), CIccTagArray::Read(), CIccTagDict::Read(), CIccTagCurve::Read(), CIccTagParametricCurve::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagGamutBoundaryDesc::Read(), CIccTagMultiProcessElement::Read(), CIccTagProfileSequenceId::Read(), CIccTagEmbeddedProfile::Read(), CIccTag::Validate(), CIccTagText::Write(), CIccTagUtf8Text::Write(), CIccTagZipUtf8Text::Write(), CIccTagUtf16Text::Write(), CIccTagTextDescription::Write(), CIccTagSignature::Write(), CIccTagNamedColor2::Write(), CIccTagXYZ::Write(), CIccTagChromaticity::Write(), CIccTagCicp::Write(), CIccTagSparseMatrixArray::Write(), CIccTagFixedNum< T, Tsig >::Write(), CIccTagNum< T, Tsig >::Write(), CIccTagFloatNum< T, Tsig >::Write(), CIccTagMeasurement::Write(), CIccTagMultiLocalizedUnicode::Write(), CIccTagData::Write(), CIccTagDateTime::Write(), CIccTagColorantOrder::Write(), CIccTagColorantTable::Write(), CIccTagViewingConditions::Write(), CIccTagProfileSeqDesc::Write(), CIccTagResponseCurveSet16::Write(), CIccTagSpectralDataInfo::Write(), CIccTagSpectralViewingConditions::Write(), CIccTagEmbeddedHeightImage::Write(), CIccTagEmbeddedNormalImage::Write(), CIccTagStruct::Write(), CIccTagArray::Write(), CIccTagDict::Write(), CIccTagEmbeddedProfile::Write(), CIccTagCurve::Write(), CIccTagParametricCurve::Write(), CIccTagLutAtoB::Write(), CIccTagLut8::Write(), CIccTagLut16::Write(), CIccTagGamutBoundaryDesc::Write(), CIccTagMultiProcessElement::Write(), and CIccTagProfileSequenceId::Write().


The documentation for this class was generated from the following files: