Open Chinese Convert  0.4.3
A project for conversion between Traditional and Simplified Chinese
/usr/src/RPM/BUILD/opencc-0.4.3/src/dict_group.h
00001 /*
00002  * Open Chinese Convert
00003  *
00004  * Copyright 2010-2013 BYVoid <byvoid@byvoid.com>
00005  *
00006  * Licensed under the Apache License, Version 2.0 (the "License");
00007  * you may not use this file except in compliance with the License.
00008  * You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef __DICTIONARY_GROUP_H_
00020 #define __DICTIONARY_GROUP_H_
00021 
00022 #include "common.h"
00023 #include "dict.h"
00024 
00025 typedef enum {
00026   DICTIONARY_ERROR_VOID,
00027   DICTIONARY_ERROR_NODICT,
00028   DICTIONARY_ERROR_CANNOT_ACCESS_DICTFILE,
00029   DICTIONARY_ERROR_INVALID_DICT,
00030   DICTIONARY_ERROR_INVALID_INDEX,
00031 } dictionary_error;
00032 
00033 DictGroup* dict_group_new(DictChain* t_DictChain);
00034 
00035 void dict_group_delete(DictGroup* dict_group);
00036 
00037 int dict_group_load(DictGroup* dict_group,
00038                           const char* filename,
00039                           opencc_dictionary_type type);
00040 
00041 const ucs4_t* const* dict_group_match_longest(
00042     DictGroup* dict_group,
00043     const ucs4_t* word,
00044     size_t maxlen,
00045     size_t* match_length);
00046 
00047 size_t dict_group_get_all_match_lengths(DictGroup* dict_group,
00048                                               const ucs4_t* word,
00049                                               size_t* match_length);
00050 
00051 Dict* dict_group_get_dict(DictGroup* dict_group, size_t index);
00052 
00053 dictionary_error dictionary_errno(void);
00054 
00055 void dictionary_perror(const char* spec);
00056 
00057 #endif /* __DICTIONARY_GROUP_H_ */
 All Data Structures Files Functions Variables Defines