18393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/*
28393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
3f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * (C) Copyright IBM Corp.  and others 1998-2014 - All Rights Reserved
48393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
58393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
68393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
78393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#ifndef __SINGLETABLEPROCESSOR2_H
88393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#define __SINGLETABLEPROCESSOR2_H
98393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
108393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
118393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * \file
128393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * \internal
138393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
148393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
158393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "LETypes.h"
168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "MorphTables.h"
178393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "SubtableProcessor2.h"
188393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "NonContextualGlyphSubst.h"
198393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#include "NonContextualGlyphSubstProc2.h"
208393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
218393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_BEGIN
228393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
238393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusclass LEGlyphStorage;
248393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
258393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusclass SingleTableProcessor2 : public NonContextualGlyphSubstitutionProcessor2
268393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius{
278393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliuspublic:
2859d709d503bab6e2b61931737e662dd293b40578ccornelius    virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success);
298393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
3059d709d503bab6e2b61931737e662dd293b40578ccornelius    SingleTableProcessor2(const LEReferenceTo<MorphSubtableHeader2> &morphSubtableHeader, LEErrorCode &success);
318393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
328393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    virtual ~SingleTableProcessor2();
338393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
348393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    /**
358393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     * ICU "poor man's RTTI", returns a UClassID for the actual class.
368393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     *
37f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * @deprecated ICU 54. See {@link icu::LayoutEngine}
388393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     */
398393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    virtual UClassID getDynamicClassID() const;
408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    /**
428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     * ICU "poor man's RTTI", returns a UClassID for this class.
438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     *
44f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius     * @deprecated ICU 54. See {@link icu::LayoutEngine}
458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius     */
468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    static UClassID getStaticClassID();
478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusprivate:
498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    SingleTableProcessor2();
508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusprotected:
5259d709d503bab6e2b61931737e662dd293b40578ccornelius    LEReferenceTo<SingleTableLookupTable> singleTableLookupTable;
538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
548393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius};
558393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
568393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_END
578393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#endif
58