You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
#ifndef __ExpatAdapter_hpp__
|
|
#define __ExpatAdapter_hpp__
|
|
|
|
// =================================================================================================
|
|
// Copyright 2005-2008 Adobe Systems Incorporated
|
|
// All Rights Reserved.
|
|
//
|
|
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
|
|
// of the Adobe license agreement accompanying it.
|
|
// =================================================================================================
|
|
|
|
#include "XMP_Environment.h" // ! Must be the first #include!
|
|
#include "XMLParserAdapter.hpp"
|
|
|
|
// =================================================================================================
|
|
// Derived XML parser adapter for Expat.
|
|
// =================================================================================================
|
|
|
|
#ifndef BanAllEntityUsage
|
|
#define BanAllEntityUsage 0
|
|
#endif
|
|
|
|
struct XML_ParserStruct; // ! Hack to avoid exposing expat.h to all clients.
|
|
typedef struct XML_ParserStruct *XML_Parser;
|
|
|
|
class ExpatAdapter : public XMLParserAdapter {
|
|
public:
|
|
|
|
XML_Parser parser;
|
|
|
|
#if BanAllEntityUsage
|
|
bool isAborted;
|
|
#endif
|
|
|
|
#if XMP_DebugBuild
|
|
size_t elemNesting;
|
|
#endif
|
|
|
|
ExpatAdapter();
|
|
virtual ~ExpatAdapter();
|
|
|
|
void ParseBuffer ( const void * buffer, size_t length, bool last = true );
|
|
|
|
};
|
|
|
|
extern "C" ExpatAdapter * XMP_NewExpatAdapter();
|
|
|
|
// =================================================================================================
|
|
|
|
#endif // __ExpatAdapter_hpp__
|