00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef __SR_SEMANTICPROCESSOR_H
00021 #define __SR_SEMANTICPROCESSOR_H
00022 
00023 
00024 
00025 #include "SR_SemprocPrefix.h"
00026 #include "SR_SemanticGraph.h"
00027 #include "SR_SemanticResult.h"
00028 #include "pstdio.h"
00029 #include "ptypes.h"
00030 #include "ESR_ReturnCode.h"
00031 
00032 
00033 
00034 
00038 typedef struct SR_SemanticProcessor_t
00039 {
00047   ESR_ReturnCode(*checkParse)(struct SR_SemanticProcessor_t* self, SR_SemanticGraph* semgraph, const LCHAR* transcription, SR_SemanticResult** result, size_t* resultCount);
00055   ESR_ReturnCode(*checkParseByWordID)(struct SR_SemanticProcessor_t* self, SR_SemanticGraph* semgraph, wordID* wordIDs, SR_SemanticResult** result, size_t* resultCount);
00061   ESR_ReturnCode(*destroy)(struct SR_SemanticProcessor_t* self);
00062   
00070   ESR_ReturnCode(*setParam)(struct SR_SemanticProcessor_t* self, const LCHAR* key, const LCHAR* value);
00071   
00077   ESR_ReturnCode(*flush)(struct SR_SemanticProcessor_t* self);
00078   
00079 }
00080 SR_SemanticProcessor;
00081 
00082 
00088 SREC_SEMPROC_API ESR_ReturnCode SR_SemanticProcessorCreate(SR_SemanticProcessor** self);
00094 SREC_SEMPROC_API ESR_ReturnCode SR_SemanticProcessorDestroy(SR_SemanticProcessor* self);
00102 SREC_SEMPROC_API ESR_ReturnCode SR_SemanticProcessorSetParam(SR_SemanticProcessor* self, const LCHAR* key, const LCHAR* value);
00108 SREC_SEMPROC_API ESR_ReturnCode SR_SemanticProcessorFlush(SR_SemanticProcessor* self);
00109 
00110 
00111 
00112 #endif