72#include <libxml/parser.h>
73#include <libxml/tree.h>
81 virtual bool ToXml(std::string &xml, std::string blanks=
"") = 0;
82 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr) = 0;
92 virtual const char *
GetClassName()
const {
return "CIccTagXmlUnknown"; }
96 virtual bool ToXml(std::string &xml, std::string blanks=
"");
97 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
104 bool ToXml(std::string &xml, std::string blanks);
105 bool ParseXml(xmlNode *pNode, std::string &parseStr);
114 virtual const char *
GetClassName()
const {
return "CIccMpeXmlCurveSet"; }
118 virtual bool ToXml(std::string &xml, std::string blanks=
"");
119 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
130 virtual const char *
GetClassName()
const {
return "CIccMpeXmlTintArray"; }
134 virtual bool ToXml(std::string &xml, std::string blanks=
"");
135 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
145 virtual const char*
GetClassName()
const {
return "CIccXmlToneMapFunc"; }
147 virtual bool ToXml(std::string& xml, std::string blanks =
"");
148 virtual bool ParseXml(xmlNode* pNode, std::string& parseStr);
156 virtual const char*
GetClassName()
const {
return "CIccMpeXmlToneMap"; }
162 virtual bool ToXml(std::string& xml, std::string blanks =
"");
163 virtual bool ParseXml(xmlNode* pNode, std::string& parseStr);
171 virtual const char *
GetClassName()
const {
return "CIccMpeXmlMatrix"; }
175 virtual bool ToXml(std::string &xml, std::string blanks=
"");
176 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
188 virtual bool ToXml(std::string &xml, std::string blanks=
"");
189 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
197 virtual const char *
GetClassName()
const {
return "CIccMpeXmlExtCLUT"; }
201 virtual bool ToXml(std::string &xml, std::string blanks=
"");
202 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
214 virtual bool ToXml(std::string &xml, std::string blanks=
"");
215 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
227 virtual bool ToXml(std::string &xml, std::string blanks=
"");
228 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
236 virtual const char *
GetClassName()
const {
return "CIccMpeXmlJabToXYZ"; }
240 virtual bool ToXml(std::string &xml, std::string blanks=
"");
241 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
249 virtual const char *
GetClassName()
const {
return "CIccMpeXmlXYZToJab"; }
253 virtual bool ToXml(std::string &xml, std::string blanks=
"");
254 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
299typedef std::map<std::string, std::string>
MacroMap;
307 virtual const char *
GetClassName()
const {
return "CIccMpeXmlCalculator"; }
311 virtual bool ToXml(std::string &xml, std::string blanks =
"");
312 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
314 bool ParseImport(xmlNode *pNode, std::string importPath, std::string &parseStr);
319 static bool validName(
const char *saName);
320 bool ValidMacroCalls(
const char *szMacroText, std::string macroStack, std::string &parseStr)
const;
322 bool Flatten(std::string &flatStr, std::string macroName,
const char *szFunc, std::string &parseStr,
icUInt32Number nLocalsOffset=0);
323 bool UpdateLocals(std::string &func, std::string szFunc, std::string &parseStr,
int nLocalsOffset);
348 virtual const char *
GetClassName()
const {
return "CIccMpeXmlEmissionMatrix"; }
352 virtual bool ToXml(std::string &xml, std::string blanks=
"");
353 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
361 virtual const char *
GetClassName()
const {
return "CIccMpeXmlInvEmissionMatrix"; }
365 virtual bool ToXml(std::string &xml, std::string blanks=
"");
366 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
374 virtual const char *
GetClassName()
const {
return "CIccMpeXmlEmissionCLUT"; }
378 virtual bool ToXml(std::string &xml, std::string blanks=
"");
379 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
387 virtual const char *
GetClassName()
const {
return "CIccMpeXmlReflectanceCLUT"; }
391 virtual bool ToXml(std::string &xml, std::string blanks=
"");
392 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
400 virtual const char *
GetClassName()
const {
return "CIccMpeXmlEmissionObserver"; }
404 virtual bool ToXml(std::string &xml, std::string blanks=
"");
405 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
413 virtual const char *
GetClassName()
const {
return "CIccMpeXmlReflectanceObserver"; }
417 virtual bool ToXml(std::string &xml, std::string blanks=
"");
418 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
std::list< CIccMpePtr > MpePtrList
std::list< CIccTempVar > TempVarList
std::map< std::string, std::string > MacroMap
std::map< std::string, CIccTempDeclVar > TempDeclVarMap
std::pair< int, int > IndexSizePair
std::map< std::string, IndexSizePair > ChanVarMap
std::map< std::string, CIccTempVar > TempVarMap
std::map< std::string, CIccMpePtr > MpePtrMap
unsigned int icUInt32Number
Class: CIccMpeCalculator.
Class: CIccMpeEmissionCLUT.
Class: CIccMpeEmissionMatrix.
Class: CIccMpeEmissionObserver.
Class: CIccMpeInvEmissionMatrix.
CIccMultiProcessElement * m_ptr
CIccMpePtr(CIccMultiProcessElement *pMpe=NULL, int nIndex=-1)
CIccMpePtr(const CIccMpePtr &mptr)
Class: CIccMpeReflectanceCLUT.
Class: CIccMpeReflectanceObserver.
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
virtual ~CIccMpeXmlBAcs()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccMpeXmlCLUT()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
bool ParseChanMap(ChanVarMap &chanMap, const char *szNames, int nChannels)
TempDeclVarMap m_declVarMap
bool UpdateLocals(std::string &func, std::string szFunc, std::string &parseStr, int nLocalsOffset)
TempDeclVarMap m_macroLocalMap
bool Flatten(std::string &flatStr, std::string macroName, const char *szFunc, std::string &parseStr, icUInt32Number nLocalsOffset=0)
bool ParseImport(xmlNode *pNode, std::string importPath, std::string &parseStr)
virtual const char * GetClassName() const
virtual ~CIccMpeXmlCalculator()
bool ValidMacroCalls(const char *szMacroText, std::string macroStack, std::string &parseStr) const
bool ValidateMacroCalls(std::string &parseStr) const
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
static bool validNameChar(char c, bool bFirst)
static bool validName(const char *saName)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual ~CIccMpeXmlCurveSet()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual ~CIccMpeXmlEAcs()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlEmissionCLUT()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
virtual const char * GetClassName() const
virtual IIccExtensionMpe * GetExtension()
virtual ~CIccMpeXmlEmissionMatrix()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual ~CIccMpeXmlEmissionObserver()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual ~CIccMpeXmlExtCLUT()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)=0
virtual ~CIccMpeXml(void)
virtual bool ToXml(std::string &xml, std::string blanks="")=0
virtual const char * GetExtClassName()
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual ~CIccMpeXmlInvEmissionMatrix()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlJabToXYZ()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual ~CIccMpeXmlMatrix()
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlReflectanceCLUT()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual const char * GetClassName() const
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlReflectanceObserver()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
virtual ~CIccMpeXmlTintArray()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlToneMap()
virtual IIccExtensionMpe * GetExtension()
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual CIccToneMapFunc * NewToneMapFunc()
virtual const char * GetClassName() const
virtual ~CIccMpeXmlUnknown()
virtual IIccExtensionMpe * GetExtension()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccMpeXmlXYZToJab()
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
virtual const char * GetClassName() const
Class: CIccMultiProcessElement.
Class: CIccSegmentedCurve.
bool ParseXml(xmlNode *pNode, std::string &parseStr)
bool ToXml(std::string &xml, std::string blanks)
CIccTempDeclVar(std::string name="", int pos=-1, icUInt16Number size=1)
CIccTempDeclVar(const CIccTempDeclVar &temp)
CIccTempVar(std::string name="", int pos=-1, icUInt16Number size=1)
CIccTempVar(const CIccTempVar &temp)
virtual CIccToneMapFunc * NewCopy()
virtual const char * GetClassName() const
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccXmlToneMapFunc()
virtual bool ToXml(std::string &xml, std::string blanks="")