190 lines
5 KiB
C
190 lines
5 KiB
C
/*
|
|
* Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
/**
|
|
* @file picoknow.h
|
|
*
|
|
* Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
|
|
* All rights reserved.
|
|
*
|
|
* History:
|
|
* - 2009-04-20 -- initial version
|
|
*
|
|
*/
|
|
/**
|
|
* @addtogroup picoknow
|
|
|
|
* <b> Pico knowledge base </b>\n
|
|
*
|
|
*/
|
|
|
|
#ifndef PICOKNOW_H_
|
|
#define PICOKNOW_H_
|
|
|
|
#include "picodefs.h"
|
|
#include "picoos.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#if 0
|
|
}
|
|
#endif
|
|
|
|
|
|
typedef enum picoknow_kb_id {
|
|
PICOKNOW_KBID_NULL = 0,
|
|
/* base / tpp 1 - 7 */
|
|
PICOKNOW_KBID_TPP_MAIN = 1,
|
|
PICOKNOW_KBID_TAB_GRAPHS = 2,
|
|
PICOKNOW_KBID_TAB_PHONES = 3,
|
|
PICOKNOW_KBID_TAB_POS = 4,
|
|
PICOKNOW_KBID_FIXED_IDS = 7,
|
|
/* debug */
|
|
PICOKNOW_KBID_DBG = 8,
|
|
|
|
/* textana 9 - 32 */
|
|
PICOKNOW_KBID_LEX_MAIN = 9,
|
|
PICOKNOW_KBID_DT_POSP = 10,
|
|
PICOKNOW_KBID_DT_POSD = 11,
|
|
PICOKNOW_KBID_DT_G2P = 12,
|
|
PICOKNOW_KBID_FST_WPHO_1 = 13,
|
|
PICOKNOW_KBID_FST_WPHO_2 = 14,
|
|
PICOKNOW_KBID_FST_WPHO_3 = 15,
|
|
PICOKNOW_KBID_FST_WPHO_4 = 16,
|
|
PICOKNOW_KBID_FST_WPHO_5 = 17,
|
|
PICOKNOW_KBID_DT_PHR = 18,
|
|
PICOKNOW_KBID_DT_ACC = 19,
|
|
PICOKNOW_KBID_FST_SPHO_1 = 20,
|
|
PICOKNOW_KBID_FST_SPHO_2 = 21,
|
|
PICOKNOW_KBID_FST_SPHO_3 = 22,
|
|
PICOKNOW_KBID_FST_SPHO_4 = 23,
|
|
PICOKNOW_KBID_FST_SPHO_5 = 24,
|
|
|
|
PICOKNOW_KBID_FST_XSAMPA_PARSE = 25,
|
|
PICOKNOW_KBID_FST_SVOXPA_PARSE = 26,
|
|
PICOKNOW_KBID_FST_XSAMPA2SVOXPA = 27,
|
|
|
|
PICOKNOW_KBID_FST_SPHO_6 = 28,
|
|
PICOKNOW_KBID_FST_SPHO_7 = 29,
|
|
PICOKNOW_KBID_FST_SPHO_8 = 30,
|
|
PICOKNOW_KBID_FST_SPHO_9 = 31,
|
|
PICOKNOW_KBID_FST_SPHO_10 = 32,
|
|
|
|
|
|
/* siggen 33 - 48 */
|
|
PICOKNOW_KBID_DT_DUR = 34,
|
|
PICOKNOW_KBID_DT_LFZ1 = 35,
|
|
PICOKNOW_KBID_DT_LFZ2 = 36,
|
|
PICOKNOW_KBID_DT_LFZ3 = 37,
|
|
PICOKNOW_KBID_DT_LFZ4 = 38,
|
|
PICOKNOW_KBID_DT_LFZ5 = 39,
|
|
PICOKNOW_KBID_DT_MGC1 = 40,
|
|
PICOKNOW_KBID_DT_MGC2 = 41,
|
|
PICOKNOW_KBID_DT_MGC3 = 42,
|
|
PICOKNOW_KBID_DT_MGC4 = 43,
|
|
PICOKNOW_KBID_DT_MGC5 = 44,
|
|
PICOKNOW_KBID_PDF_DUR = 45,
|
|
PICOKNOW_KBID_PDF_LFZ = 46,
|
|
PICOKNOW_KBID_PDF_MGC = 47,
|
|
PICOKNOW_KBID_PDF_PHS = 48,
|
|
|
|
/* user tpp 49 - 56 */
|
|
PICOKNOW_KBID_TPP_USER_1 = 49,
|
|
PICOKNOW_KBID_TPP_USER_2 = 50,
|
|
|
|
/* user lex 57 - 63 */
|
|
PICOKNOW_KBID_LEX_USER_1 = 57,
|
|
PICOKNOW_KBID_LEX_USER_2 = 58,
|
|
|
|
PICOKNOW_KBID_DUMMY = 127
|
|
|
|
} picoknow_kb_id_t;
|
|
|
|
#define PICOKNOW_DEFAULT_RESOURCE_NAME (picoos_char *) "__PICO_DEF_RSRC"
|
|
|
|
#define PICOKNOW_MAX_NUM_WPHO_FSTS 5
|
|
#define PICOKNOW_MAX_NUM_SPHO_FSTS 10
|
|
#define PICOKNOW_MAX_NUM_ULEX 2
|
|
#define PICOKNOW_MAX_NUM_UTPP 2
|
|
|
|
#define PICOKNOW_KBID_WPHO_ARRAY { \
|
|
PICOKNOW_KBID_FST_WPHO_1, \
|
|
PICOKNOW_KBID_FST_WPHO_2, \
|
|
PICOKNOW_KBID_FST_WPHO_3, \
|
|
PICOKNOW_KBID_FST_WPHO_4, \
|
|
PICOKNOW_KBID_FST_WPHO_5 \
|
|
}
|
|
|
|
#define PICOKNOW_KBID_SPHO_ARRAY { \
|
|
PICOKNOW_KBID_FST_SPHO_1, \
|
|
PICOKNOW_KBID_FST_SPHO_2, \
|
|
PICOKNOW_KBID_FST_SPHO_3, \
|
|
PICOKNOW_KBID_FST_SPHO_4, \
|
|
PICOKNOW_KBID_FST_SPHO_5, \
|
|
PICOKNOW_KBID_FST_SPHO_6, \
|
|
PICOKNOW_KBID_FST_SPHO_7, \
|
|
PICOKNOW_KBID_FST_SPHO_8, \
|
|
PICOKNOW_KBID_FST_SPHO_9, \
|
|
PICOKNOW_KBID_FST_SPHO_10 \
|
|
}
|
|
|
|
#define PICOKNOW_KBID_ULEX_ARRAY { \
|
|
PICOKNOW_KBID_LEX_USER_1, \
|
|
PICOKNOW_KBID_LEX_USER_2, \
|
|
}
|
|
|
|
#define PICOKNOW_KBID_UTPP_ARRAY { \
|
|
PICOKNOW_KBID_TPP_USER_1, \
|
|
PICOKNOW_KBID_TPP_USER_2, \
|
|
}
|
|
|
|
/* max size (including NULLC) of descriptive name corresponding to KBID */
|
|
#define PICOKNOW_MAX_KB_NAME_SIZ 16
|
|
|
|
/* maximum number of kbs in one resource */
|
|
#define PICOKNOW_MAX_NUM_RESOURCE_KBS 64
|
|
|
|
|
|
/** class : KnowledgeBase
|
|
* shortcut : kb
|
|
*
|
|
*/
|
|
typedef struct picoknow_knowledge_base * picoknow_KnowledgeBase;
|
|
|
|
typedef pico_status_t (* picoknow_kbSubDeallocate) (register picoknow_KnowledgeBase this, picoos_MemoryManager mm);
|
|
|
|
typedef struct picoknow_knowledge_base {
|
|
/* public */
|
|
picoknow_KnowledgeBase next;
|
|
picoknow_kb_id_t id;
|
|
picoos_uint8 * base; /* start address */
|
|
picoos_uint32 size; /* size */
|
|
|
|
/* protected */
|
|
picoknow_kbSubDeallocate subDeallocate;
|
|
void * subObj;
|
|
} picoknow_knowledge_base_t;
|
|
|
|
extern picoknow_KnowledgeBase picoknow_newKnowledgeBase(picoos_MemoryManager mm);
|
|
|
|
extern void picoknow_disposeKnowledgeBase(picoos_MemoryManager mm, picoknow_KnowledgeBase * this);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif /*PICOKNOW_H_*/
|