1/*
2 *
3 * (C) Copyright IBM Corp.  and others 1998-2013 - All Rights Reserved
4 *
5 */
6
7#ifndef __SUBTABLEPROCESSOR2_H
8#define __SUBTABLEPROCESSOR2_H
9
10/**
11 * \file
12 * \internal
13 */
14
15#include "LETypes.h"
16#include "MorphTables.h"
17
18U_NAMESPACE_BEGIN
19
20class LEGlyphStorage;
21
22class SubtableProcessor2 : public UMemory {
23public:
24    virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success) = 0;
25    virtual ~SubtableProcessor2();
26
27protected:
28    SubtableProcessor2(const LEReferenceTo<MorphSubtableHeader2> &morphSubtableHeader, LEErrorCode &success);
29
30    SubtableProcessor2();
31
32    le_uint32 length;
33    SubtableCoverage2 coverage;
34    FeatureFlags subtableFeatures;
35
36    const LEReferenceTo<MorphSubtableHeader2> subtableHeader;
37
38private:
39
40    SubtableProcessor2(const SubtableProcessor2 &other); // forbid copying of this class
41    SubtableProcessor2 &operator=(const SubtableProcessor2 &other); // forbid copying of this class
42};
43
44U_NAMESPACE_END
45#endif
46
47