Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccMpeXmlFactory.h
Go to the documentation of this file.
1
/** @file
2
File: IccMpeXmlFactory.h
3
4
Contains: Header for implementation of CIccMpeXmlFactory class and
5
creation factories
6
7
Version: V1
8
9
Copyright: (c) see ICC Software License
10
*/
11
12
/*
13
* The ICC Software License, Version 0.2
14
*
15
*
16
* Copyright (c) 2003-2012 The International Color Consortium. All rights
17
* reserved.
18
*
19
* Redistribution and use in source and binary forms, with or without
20
* modification, are permitted provided that the following conditions
21
* are met:
22
*
23
* 1. Redistributions of source code must retain the above copyright
24
* notice, this list of conditions and the following disclaimer.
25
*
26
* 2. Redistributions in binary form must reproduce the above copyright
27
* notice, this list of conditions and the following disclaimer in
28
* the documentation and/or other materials provided with the
29
* distribution.
30
*
31
* 3. In the absence of prior written permission, the names "ICC" and "The
32
* International Color Consortium" must not be used to imply that the
33
* ICC organization endorses or promotes products derived from this
34
* software.
35
*
36
*
37
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40
* DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
41
* ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48
* SUCH DAMAGE.
49
* ====================================================================
50
*
51
* This software consists of voluntary contributions made by many
52
* individuals on behalf of the The International Color Consortium.
53
*
54
*
55
* Membership in the ICC is encouraged when this software is used for
56
* commercial purposes.
57
*
58
*
59
* For more information on The International Color Consortium, please
60
* see <http://www.color.org/>.
61
*
62
*
63
*/
64
65
//////////////////////////////////////////////////////////////////////
66
// HISTORY:
67
//
68
// -Feb 4, 2006
69
// A CIccMpeCreator singleton class has been added to provide general
70
// support for dynamically creating element classes using a element signature.
71
// Prototype and private element type support can be added to the system
72
// by pushing additional IIccMpeFactory based objects to the
73
// singleton CIccMpeCreator object.
74
//
75
// -Nov 6, 2006
76
// Merged into release
77
//
78
//////////////////////////////////////////////////////////////////////
79
80
#ifndef _ICCMPEXMLFACTORY_H
81
#define _ICCMPEXMLFACTORY_H
82
83
#include "
IccMpeFactory.h
"
84
#include "
IccDefs.h
"
85
#include <memory>
86
#include <list>
87
88
//CIccProcessElement factory support
89
#ifdef USEREFICCMAXNAMESPACE
90
namespace
refIccMAX {
91
#endif
92
93
94
95
/**
96
***********************************************************************
97
* Class: CIccMpeXmlFactory
98
*
99
* Purpose:
100
* CIccMpeXmlFactory provides creation of CIccProcessElement's
101
* defined by the ICC profile specification. The CIccMpeCreator always
102
* creates a CIccBasicElemFactory.
103
***********************************************************************
104
*/
105
class
CIccMpeXmlFactory
:
public
IIccMpeFactory
106
{
107
public
:
108
/**
109
* Function: CreateElement(elemTypeSig)
110
* Create a element of type elemTypeSig.
111
*
112
* Parameter(s):
113
* elemTypeSig = signature of the ICC element type for the element to be created
114
*
115
* Returns a new CIccProcessElement object of the given signature type.
116
* Unrecognized elemTypeSig's will be created as a CIccProcessElementUnknown object.
117
*/
118
virtual
CIccMultiProcessElement
* CreateElement(
icElemTypeSignature
elementSig);
119
120
/**
121
* Function: GetElementSigName(elemTypeSig)
122
* Get display name of elemTypeSig.
123
*
124
* Parameter(s):
125
* elemName = string to put element name into,
126
* elemTypeSig = signature of the ICC element type to get a name for
127
*
128
* Returns true if element type is recognized by the factory, false if the
129
* factory doesn't create elemTypeSig elements.
130
*/
131
virtual
bool
GetElementSigName(std::string &elemName,
icElemTypeSignature
elemTypeSig);
132
};
133
134
135
#ifdef USEREFICCMAXNAMESPACE
136
}
//namespace refIccMAX
137
#endif
138
139
#endif
//_ICCMPEXMLFACTORY_H
IccDefs.h
File: IccDefs.h
IccMpeFactory.h
File: IccMpeFactory.h.
CIccMpeXmlFactory
Class: CIccMpeXmlFactory.
Definition
IccMpeXmlFactory.h:106
CIccMultiProcessElement
Class: CIccMultiProcessElement.
Definition
IccTagMPE.h:146
IIccMpeFactory
Class: IIccMpeFactory.
Definition
IccMpeFactory.h:105
icElemTypeSignature
icElemTypeSignature
Multi-Processing Element type signatures.
Definition
icProfileHeader.h:641
IccXML
IccLibXML
IccMpeXmlFactory.h
Generated on Sun Jun 2 2024 07:46:00 for Hoyt's FORK of DemoIccMAX by
1.11.0