Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccMpeXmlEAcs Class Reference

#include <IccMpeXml.h>

+ Inheritance diagram for CIccMpeXmlEAcs:
+ Collaboration diagram for CIccMpeXmlEAcs:

Public Member Functions

virtual const char * GetClassName () const
 
virtual IIccExtensionMpeGetExtension ()
 
virtual bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
virtual bool ToXml (std::string &xml, std::string blanks="")
 
virtual ~CIccMpeXmlEAcs ()
 
- Public Member Functions inherited from CIccMpeEAcs
 CIccMpeEAcs (const CIccMpeEAcs &elemAcs)
 Name: CIccMpeEndAcs::CIccMpeEndAcs.
 
 CIccMpeEAcs (icUInt16Number nChannels=0, icAcsSignature sig=0)
 Name: CIccMpeEndAcs::CIccMpeEndAcs.
 
virtual icAcsSignature GetEAcsSig ()
 
virtual icElemTypeSignature GetType () const
 
virtual CIccMultiProcessElementNewCopy () const
 
CIccMpeEAcsoperator= (const CIccMpeEAcs &elemAcs)
 Name: &CIccMpeEndAcs::operator=.
 
virtual ~CIccMpeEAcs ()
 Name: CIccMpeEndAcs::~CIccMpeEndAcs.
 
- Public Member Functions inherited from CIccMpeAcs
bool AllocData (icUInt32Number size)
 Name: CIccMpeAcs::AllocData.
 
virtual void Apply (CIccApplyMpe *pApply, icFloatNumber *dstPixel, const icFloatNumber *srcPixel) const
 Name: CIccMpeAcs::Apply.
 
virtual bool Begin (icElemInterp nInterp, CIccTagMultiProcessElement *pMPE)
 Name: CIccMpeAcs::Begin.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccMpeAcs::Describe.
 
virtual icAcsSignature GetAcsSig ()
 
icUInt8NumberGetData ()
 
icUInt32Number GetDataSize ()
 
virtual bool IsAcs ()
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccMpeAcs::Read.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const
 Name: CIccMpeAcs::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccMpeAcs::Write.
 
virtual ~CIccMpeAcs ()
 Name: CIccMpeAcs::~CIccMpeAcs.
 
- Public Member Functions inherited from CIccMultiProcessElement
 CIccMultiProcessElement ()
 
virtual icAcsSignature GetBAcsSig ()
 
virtual CIccApplyMpeGetNewApply (CIccApplyTagMpe *pApplyTag)
 Name: CIccMultiProcessElement::GetNewApply()
 
virtual bool IsLateBinding () const
 
virtual bool IsLateBindingReflectance () const
 
virtual bool IsSupported ()
 
virtual icUInt16Number NumInputChannels () const
 
virtual icUInt16Number NumOutputChannels () const
 
virtual ~CIccMultiProcessElement ()
 
- Public Member Functions inherited from CIccMpeXml
virtual const char * GetExtClassName ()
 
virtual ~CIccMpeXml (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccMultiProcessElement
static CIccMultiProcessElementCreate (icElemTypeSignature sig)
 Name: CIccMultiProcessElement::Create.
 
- Public Attributes inherited from CIccMultiProcessElement
icUInt32Number m_nReserved
 
- Protected Member Functions inherited from CIccMpeAcs
 CIccMpeAcs ()
 Name: CIccMpeAcs::CIccMpeACS.
 
- Protected Attributes inherited from CIccMpeAcs
icUInt32Number m_nDataSize
 
icUInt8Numberm_pData
 
icAcsSignature m_signature
 
- Protected Attributes inherited from CIccMultiProcessElement
icUInt16Number m_nInputChannels
 
icUInt16Number m_nOutputChannels
 

Detailed Description

Definition at line 218 of file IccMpeXml.h.

Constructor & Destructor Documentation

◆ ~CIccMpeXmlEAcs()

virtual CIccMpeXmlEAcs::~CIccMpeXmlEAcs ( )
inlinevirtual

Definition at line 221 of file IccMpeXml.h.

221{}

Member Function Documentation

◆ GetClassName()

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

Reimplemented from CIccMpeEAcs.

Definition at line 223 of file IccMpeXml.h.

223{ return "CIccMpeXmlEAcs"; }

◆ GetExtension()

virtual IIccExtensionMpe * CIccMpeXmlEAcs::GetExtension ( )
inlinevirtual

Reimplemented from CIccMultiProcessElement.

Definition at line 225 of file IccMpeXml.h.

225{ return this; }

◆ ParseXml()

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

Implements CIccMpeXml.

Definition at line 2030 of file IccMpeXml.cpp.

2031{
2032 m_nInputChannels = atoi(icXmlAttrValue(pNode, "InputChannels"));
2033 m_nOutputChannels = atoi(icXmlAttrValue(pNode, "OutputChannels"));
2034
2036 parseStr += "Invalid InputChannels or OutputChannels In EAcsElement\n";
2037 return false;
2038 }
2039
2040 m_signature = icXmlStrToSig(icXmlAttrValue(pNode, "Signature"));
2041
2042 if (pNode->children && pNode->children->type == XML_TEXT_NODE && pNode->children->content) {
2043 icUInt32Number nSize = icXmlGetHexDataSize((const char*)pNode->children->content);
2044
2045 if (nSize) {
2046 if (!AllocData(nSize))
2047 return false;
2048 icXmlGetHexData(m_pData, (const char *)pNode->children->content, nSize);
2049 }
2050 }
2051 return true;
2052}
icUInt32Number icXmlGetHexDataSize(const char *szText)
icUInt32Number icXmlGetHexData(void *pBuf, const char *szText, icUInt32Number nBufSize)
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault)
icSignature icXmlStrToSig(const char *szStr)
unsigned int icUInt32Number
bool AllocData(icUInt32Number size)
Name: CIccMpeAcs::AllocData.
icAcsSignature m_signature
Definition IccMpeACS.h:115
icUInt8Number * m_pData
Definition IccMpeACS.h:118
icUInt16Number m_nOutputChannels
Definition IccTagMPE.h:192
icUInt16Number m_nInputChannels
Definition IccTagMPE.h:191

References icXmlAttrValue(), icXmlGetHexData(), icXmlGetHexDataSize(), and icXmlStrToSig().

+ Here is the call graph for this function:

◆ ToXml()

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

Implements CIccMpeXml.

Definition at line 2001 of file IccMpeXml.cpp.

2002{
2003 char line[256];
2004 char buf[256], fix[256];
2005
2006 sprintf(line, "<EAcsElement InputChannels=\"%d\" OutputChannels=\"%d\" Signature=\"%s\"", NumInputChannels(), NumOutputChannels(),
2007 icFixXml(fix, icGetSigStr(buf, m_signature)));
2008 xml += blanks + line;
2009
2010 if (m_nReserved) {
2011 sprintf(line, " Reserved=\"%u\"", m_nReserved);
2012 xml += line;
2013 }
2014
2015 if (m_pData && m_nDataSize) {
2016 icUInt8Number *m_ptr = m_pData;
2017
2018 xml += ">\n";
2019 icXmlDumpHexData(xml, blanks+" ", m_pData, m_nDataSize);
2020 xml += blanks + "</EAcsElement>\n";
2021 }
2022 else {
2023 xml += "/>\n";
2024 }
2025
2026 return true;
2027}
const icChar * icGetSigStr(icChar *pBuf, icUInt32Number nSig)
Definition IccUtil.cpp:1056
icUInt32Number icXmlDumpHexData(std::string &xml, std::string blanks, void *pBuf, icUInt32Number nBufSize)
const char * icFixXml(std::string &buf, const char *szStr)
icUInt32Number m_nDataSize
Definition IccMpeACS.h:117
virtual icUInt16Number NumInputChannels() const
Definition IccTagMPE.h:159
virtual icUInt16Number NumOutputChannels() const
Definition IccTagMPE.h:160
icUInt32Number m_nReserved
Definition IccTagMPE.h:188
unsigned char icUInt8Number
Number definitions.

References icFixXml(), icGetSigStr(), and icXmlDumpHexData().

+ Here is the call graph for this function:

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