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

Class: IccTagUnknown. More...

#include <IccTagBasic.h>

+ Inheritance diagram for CIccTagUnknown:
+ Collaboration diagram for CIccTagUnknown:

Public Member Functions

 CIccTagUnknown ()
 Name: CIccTagUnknown::CIccTagUnknown.
 
 CIccTagUnknown (const CIccTagUnknown &ITU)
 Name: CIccTagUnknown::CIccTagUnknown.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagUnknown::Describe.
 
virtual const icCharGetClassName () const
 
virtual const icUInt8NumberGetData () const
 
virtual icUInt32Number GetSize () const
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual bool IsSupported ()
 Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagUnknownoperator= (const CIccTagUnknown &UnknownTag)
 Name: CIccTagUnknown::operator=.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagUnknown::Read.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagUnknown::Write.
 
virtual ~CIccTagUnknown ()
 Name: CIccTagUnknown::~CIccTagUnknown.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual IIccExtensionTagGetExtension ()
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
virtual bool IsNumArrayType () const
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 Function: Read(size, pIO) - Read tag from file.
 
virtual bool ReadAll ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Function: Validate Each derived tag will implement it's own IsValid() function.
 
virtual ~CIccTag ()
 Name: CIccTag::CIccTag.
 

Protected Attributes

icUInt32Number m_nSize
 
icTagTypeSignature m_nType
 
icUInt8Numberm_pData
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 

Detailed Description

Class: IccTagUnknown.

Purpose: The general purpose I don't know tag.

Definition at line 246 of file IccTagBasic.h.

Constructor & Destructor Documentation

◆ CIccTagUnknown() [1/2]

CIccTagUnknown::CIccTagUnknown ( )

Name: CIccTagUnknown::CIccTagUnknown.

Purpose: Constructor

Definition at line 189 of file IccTagBasic.cpp.

190{
192 m_pData = NULL;
193}
icTagTypeSignature m_nType
icUInt8Number * m_pData
#define icSigUnknownType
Convenience Enum Definitions - Not defined in ICC specification.

References icSigUnknownType.

◆ CIccTagUnknown() [2/2]

CIccTagUnknown::CIccTagUnknown ( const CIccTagUnknown & ITU)

Name: CIccTagUnknown::CIccTagUnknown.

Purpose: Copy Constructor

Args: ITU = The CIccTagUnknown object to be copied

Definition at line 205 of file IccTagBasic.cpp.

206{
207 m_nSize = ITU.m_nSize;
208 m_nType = ITU.m_nType;
209
211 memcpy(m_pData, ITU.m_pData, sizeof(icUInt8Number)*m_nSize);
212}
icUInt32Number m_nSize
unsigned char icUInt8Number
Number definitions.

References m_nSize, m_nType, and m_pData.

◆ ~CIccTagUnknown()

CIccTagUnknown::~CIccTagUnknown ( )
virtual

Name: CIccTagUnknown::~CIccTagUnknown.

Purpose: Destructor

Definition at line 247 of file IccTagBasic.cpp.

248{
249 if (m_pData)
250 delete [] m_pData;
251}

Member Function Documentation

◆ Describe()

void CIccTagUnknown::Describe ( std::string & sDescription,
int nVerboseness )
virtual

Name: CIccTagUnknown::Describe.

Purpose: Dump data associated with unknown tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

Definition at line 339 of file IccTagBasic.cpp.

340{
341 icChar buf[128];
342
343 sDescription = "Unknown Tag Type of ";
344 sprintf(buf, "%u Bytes.", m_nSize-4);
345 sDescription += buf;
346
347 if (nVerboseness > 50) {
348 sDescription += "\n\nData Follows:\n";
349
350 icMemDump(sDescription, m_pData+4, m_nSize-4);
351 }
352}
char icChar
Definition IccDefs.h:109
void icMemDump(std::string &sDump, void *pBuf, icUInt32Number nNum)
Definition IccUtil.cpp:951

References icMemDump().

+ Here is the call graph for this function:

◆ GetClassName()

virtual const icChar * CIccTagUnknown::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTag.

Reimplemented in CIccTagXmlUnknown.

Definition at line 258 of file IccTagBasic.h.

258{ return "CIccTagUnknown"; }

◆ GetData()

virtual const icUInt8Number * CIccTagUnknown::GetData ( ) const
inlinevirtual

Definition at line 261 of file IccTagBasic.h.

261{ return m_pData; }

◆ GetSize()

virtual icUInt32Number CIccTagUnknown::GetSize ( ) const
inlinevirtual

Definition at line 260 of file IccTagBasic.h.

260{ return m_nSize; }

◆ GetType()

virtual icTagTypeSignature CIccTagUnknown::GetType ( ) const
inlinevirtual

Function: GetType()

Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.

Reimplemented from CIccTag.

Definition at line 257 of file IccTagBasic.h.

257{ return m_nType; }

◆ IsSupported()

virtual bool CIccTagUnknown::IsSupported ( )
inlinevirtual

Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.

By Default inherited classes are supported. Unknown tag types are not supported.

Returns true if tag type is supported.

Reimplemented from CIccTag.

Definition at line 255 of file IccTagBasic.h.

255{ return false; }

◆ NewCopy()

virtual CIccTag * CIccTagUnknown::NewCopy ( ) const
inlinevirtual

Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.

Parameter(s): none

Returns a new CIccTag object that is a copy of this object.

Reimplemented from CIccTag.

Definition at line 252 of file IccTagBasic.h.

252{return new CIccTagUnknown(*this);}
CIccTagUnknown()
Name: CIccTagUnknown::CIccTagUnknown.

◆ operator=()

CIccTagUnknown & CIccTagUnknown::operator= ( const CIccTagUnknown & UnknownTag)

Name: CIccTagUnknown::operator=.

Purpose: Copy Operator

Args: UnknownTag = The CIccTagUnknown object to be copied

Definition at line 224 of file IccTagBasic.cpp.

225{
226 if (&UnknownTag == this)
227 return *this;
228
229 m_nSize = UnknownTag.m_nSize;
230 m_nType = UnknownTag.m_nType;
231
232 if (m_pData)
233 delete [] m_pData;
235 memcpy(m_pData, UnknownTag.m_pData, sizeof(icUInt8Number)*m_nSize);
236
237 return *this;
238}

References m_nSize, m_nType, and m_pData.

◆ Read()

bool CIccTagUnknown::Read ( icUInt32Number size,
CIccIO * pIO )
virtual

Name: CIccTagUnknown::Read.

Purpose: Read in an unknown tag type into a data block

Args: size - # of bytes in tag, pIO - IO object to read tag from

Return: true = successful, false = failure

Reimplemented from CIccTag.

Definition at line 268 of file IccTagBasic.cpp.

269{
270 if (m_pData) {
271 delete [] m_pData;
272 m_pData = NULL;
273 }
274
275 if (size<sizeof(icTagTypeSignature) || !pIO) {
276 return false;
277 }
278
279 if (!pIO->Read32(&m_nType))
280 return false;
281
282 m_nSize = size - sizeof(icTagTypeSignature);
283
284 if (m_nSize > 0) { // size could be stored as smaller than expected value, therefore the size check
285
287
288 if (pIO->Read8(m_pData, m_nSize) != (icInt32Number)m_nSize) {
289 return false;
290 }
291 } else {
292 return false;
293 }
294
295 return true;
296}
icTagTypeSignature
virtual icInt32Number Read8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:104
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
long icInt32Number

References CIccIO::Read32(), and CIccIO::Read8().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagUnknown::Write ( CIccIO * pIO)
virtual

Name: CIccTagUnknown::Write.

Purpose: Write an unknown tag to a file

Args: pIO - The IO object to write tag to.

Return: true = succesful, false = failure

Reimplemented from CIccTag.

Definition at line 312 of file IccTagBasic.cpp.

313{
314 if (!pIO)
315 return false;
316
317 if (!pIO->Write32(&m_nType))
318 return false;
319
320 if (m_nSize && m_pData) {
322 return false;
323 }
324
325 return true;
326}
virtual icInt32Number Write8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:105
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152

References CIccIO::Write32(), and CIccIO::Write8().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_nSize

icUInt32Number CIccTagUnknown::m_nSize
protected

Definition at line 272 of file IccTagBasic.h.

Referenced by CIccTagUnknown(), and operator=().

◆ m_nType

icTagTypeSignature CIccTagUnknown::m_nType
protected

Definition at line 270 of file IccTagBasic.h.

Referenced by CIccTagUnknown(), CIccTagXmlUnknown::CIccTagXmlUnknown(), and operator=().

◆ m_pData

icUInt8Number* CIccTagUnknown::m_pData
protected

Definition at line 271 of file IccTagBasic.h.

Referenced by CIccTagUnknown(), and operator=().


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