Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccProfileXml.h
Go to the documentation of this file.
1/** @file
2File: IccProfileXml.h
3
4Contains: Header for implementation of the CIccProfileXml class.
5
6Version: V1
7
8Copyright: (c) see ICC Software License
9*/
10
11/*
12 * The ICC Software License, Version 0.2
13 *
14 *
15 * Copyright (c) 2003-2012 The International Color Consortium. All rights
16 * reserved.
17 *
18 * Redistribution and use in source and binary forms, with or without
19 * modification, are permitted provided that the following conditions
20 * are met:
21 *
22 * 1. Redistributions of source code must retain the above copyright
23 * notice, this list of conditions and the following disclaimer.
24 *
25 * 2. Redistributions in binary form must reproduce the above copyright
26 * notice, this list of conditions and the following disclaimer in
27 * the documentation and/or other materials provided with the
28 * distribution.
29 *
30 * 3. In the absence of prior written permission, the names "ICC" and "The
31 * International Color Consortium" must not be used to imply that the
32 * ICC organization endorses or promotes products derived from this
33 * software.
34 *
35 *
36 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39 * DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
40 * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47 * SUCH DAMAGE.
48 * ====================================================================
49 *
50 * This software consists of voluntary contributions made by many
51 * individuals on behalf of the The International Color Consortium.
52 *
53 *
54 * Membership in the ICC is encouraged when this software is used for
55 * commercial purposes.
56 *
57 *
58 * For more information on The International Color Consortium, please
59 * see <http://www.color.org/>.
60 *
61 *
62 */
63
64
65#if !defined(_ICCPROFILEXML_H)
66#define _ICCPROFILEXML_H
67
68#include "IccProfile.h"
69#include <libxml/parser.h>
70#include <libxml/tree.h>
71#include <libxml/relaxng.h>
72
73
75 public CIccProfile
76{
77public:
78 CIccProfileXml() : CIccProfile() {}
79 CIccProfileXml(const CIccProfileXml &profile) : CIccProfile(profile) {}
80 virtual CIccProfile* NewCopy() const { return new CIccProfileXml(*this); }
81 virtual CIccProfile* NewProfile() const { return new CIccProfileXml(); }
82 virtual ~CIccProfileXml() {}
83
84 virtual const char *GetClassName() const { return "CIccProfileXml"; }
85
86 bool ToXml(std::string &xmlString);
87 bool ToXmlWithBlanks(std::string &xmlString, std::string blanks);
88
89 bool ParseXml(xmlNode *pNode, std::string &parseStr);
90 bool LoadXml(const char *szFilename, const char *szRelaxNGDir, std::string *parseStr=NULL);
91
92protected:
93 bool ParseBasic(xmlNode *pNode, std::string &parseStr);
94 bool ParseTag(xmlNode *pNode, std::string &parseStr);
95};
96
97#endif /* _ICCPROFILEXML_H */
File: IccProfile.h.
bool LoadXml(const char *szFilename, const char *szRelaxNGDir, std::string *parseStr=NULL)
CIccProfileXml(const CIccProfileXml &profile)
virtual CIccProfile * NewProfile() const
bool ToXmlWithBlanks(std::string &xmlString, std::string blanks)
virtual const char * GetClassName() const
virtual CIccProfile * NewCopy() const
virtual ~CIccProfileXml()
bool ParseTag(xmlNode *pNode, std::string &parseStr)
Name: CIccProfileXml::ParseTag.
bool ParseBasic(xmlNode *pNode, std::string &parseStr)
Name: CIccProfileXml::ParseBasic.
bool ToXml(std::string &xmlString)
bool ParseXml(xmlNode *pNode, std::string &parseStr)