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

#include <IccMpeXml.h>

+ Inheritance diagram for CIccMpeXmlBAcs:
+ Collaboration diagram for CIccMpeXmlBAcs:

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 ~CIccMpeXmlBAcs ()
 
- Public Member Functions inherited from CIccMpeBAcs
 CIccMpeBAcs (const CIccMpeBAcs &elemAcs)
 Name: CIccMpeBeginAcs::CIccMpeBeginAcs.
 
 CIccMpeBAcs (icUInt16Number nChannels=0, icAcsSignature sig=0)
 Name: CIccMpeBeginAcs::CIccMpeBeginAcs.
 
virtual icAcsSignature GetBAcsSig ()
 
virtual icElemTypeSignature GetType () const
 
virtual CIccMultiProcessElementNewCopy () const
 
CIccMpeBAcsoperator= (const CIccMpeBAcs &elemAcs)
 Name: &CIccMpeBeginAcs::operator=.
 
virtual ~CIccMpeBAcs ()
 Name: CIccMpeBeginAcs::~CIccMpeBeginAcs.
 
- 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 GetEAcsSig ()
 
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 205 of file IccMpeXml.h.

Constructor & Destructor Documentation

◆ ~CIccMpeXmlBAcs()

virtual CIccMpeXmlBAcs::~CIccMpeXmlBAcs ( )
inlinevirtual

Definition at line 208 of file IccMpeXml.h.

208{}

Member Function Documentation

◆ GetClassName()

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

Reimplemented from CIccMpeBAcs.

Definition at line 210 of file IccMpeXml.h.

210{ return "CIccMpeXmlBAcs"; }

◆ GetExtension()

virtual IIccExtensionMpe * CIccMpeXmlBAcs::GetExtension ( )
inlinevirtual

Reimplemented from CIccMultiProcessElement.

Definition at line 212 of file IccMpeXml.h.

212{ return this; }

◆ ParseXml()

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

Implements CIccMpeXml.

Definition at line 1976 of file IccMpeXml.cpp.

1977{
1978 m_nInputChannels = atoi(icXmlAttrValue(pNode, "InputChannels"));
1979 m_nOutputChannels = atoi(icXmlAttrValue(pNode, "OutputChannels"));
1980
1982 parseStr += "Invalid InputChannels or OutputChannels In BAcsElement\n";
1983 return false;
1984 }
1985
1986 m_signature = icXmlStrToSig(icXmlAttrValue(pNode, "Signature"));
1987
1988 if (pNode->children && pNode->children->type == XML_TEXT_NODE && pNode->children->content) {
1989 icUInt32Number nSize = icXmlGetHexDataSize((const char*)pNode->children->content);
1990
1991 if (nSize) {
1992 if (!AllocData(nSize))
1993 return false;
1994 icXmlGetHexData(m_pData, (const char *)pNode->children->content, nSize);
1995 }
1996 }
1997 return true;
1998}
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 CIccMpeXmlBAcs::ToXml ( std::string & xml,
std::string blanks = "" )
virtual

Implements CIccMpeXml.

Definition at line 1945 of file IccMpeXml.cpp.

1946{
1947 char line[256];
1948 char buf[256], fix[256];
1949
1950 sprintf(line, "<BAcsElement InputChannels=\"%d\" OutputChannels=\"%d\" Signature=\"%s\"", NumInputChannels(), NumOutputChannels(),
1951 icFixXml(fix, icGetSigStr(buf, m_signature)));
1952 xml += blanks + line;
1953
1954 if (m_nReserved) {
1955 sprintf(line, " Reserved=\"%u\"", m_nReserved);
1956 xml += line;
1957 }
1958
1959 if (m_pData && m_nDataSize) {
1960 icUInt8Number *m_ptr = m_pData;
1961
1962 xml += ">\n";
1963
1964 icXmlDumpHexData(xml, blanks+" ", m_pData, m_nDataSize);
1965
1966 xml += blanks + "</BAcsElement>\n";
1967 }
1968 else {
1969 xml += "/>\n";
1970 }
1971
1972 return true;
1973}
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: