1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/*
2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
359d709d503bab6e2b61931737e662dd293b40578ccornelius * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#ifndef __ICUFEATURES_H
850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#define __ICUFEATURES_H
9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \file
12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \internal
13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "LETypes.h"
16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "OpenTypeTables.h"
17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_BEGIN
19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querustruct FeatureRecord
21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{
22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    ATag        featureTag;
23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    Offset      featureTableOffset;
24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru};
25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querustruct FeatureTable
27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{
28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    Offset      featureParamsOffset;
29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    le_uint16   lookupCount;
30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    le_uint16   lookupListIndexArray[ANY_NUMBER];
31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru};
3259d709d503bab6e2b61931737e662dd293b40578ccorneliusLE_VAR_ARRAY(FeatureTable, lookupListIndexArray)
33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querustruct FeatureListTable
35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{
36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    le_uint16           featureCount;
37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    FeatureRecord       featureRecordArray[ANY_NUMBER];
38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
3959d709d503bab6e2b61931737e662dd293b40578ccornelius  LEReferenceTo<FeatureTable>  getFeatureTable(const LETableReference &base, le_uint16 featureIndex, LETag *featureTag, LEErrorCode &success) const;
40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
4159d709d503bab6e2b61931737e662dd293b40578ccornelius#if 0
4259d709d503bab6e2b61931737e662dd293b40578ccornelius  const LEReferenceTo<FeatureTable>  getFeatureTable(const LETableReference &base, LETag featureTag, LEErrorCode &success) const;
4359d709d503bab6e2b61931737e662dd293b40578ccornelius#endif
44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru};
45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
4659d709d503bab6e2b61931737e662dd293b40578ccorneliusLE_VAR_ARRAY(FeatureListTable, featureRecordArray)
4759d709d503bab6e2b61931737e662dd293b40578ccornelius
48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_END
49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif
50