presage
0.8.8
Main Page
Classes
Files
File List
File Members
src
lib
presage.h
Go to the documentation of this file.
1
2
/******************************************************
3
* Presage, an extensible predictive text entry system
4
* ---------------------------------------------------
5
*
6
* Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
7
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License along
19
with this program; if not, write to the Free Software Foundation, Inc.,
20
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
*
22
**********(*)*/
23
24
25
#ifndef PRESAGE
26
#define PRESAGE
27
28
#include "
presageException.h
"
29
#include "
presageCallback.h
"
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
/*
36
* Presage C API starts here
37
*/
38
39
typedef
struct
_presage
*
presage_t
;
40
41
presage_error_code_t
presage_new
(
_presage_callback_get_past_stream
past_stream_cb,
42
void
* past_stream_cb_arg,
43
_presage_callback_get_future_stream
future_stream_cb,
44
void
* future_stream_cb_arg,
45
presage_t* result);
46
47
presage_error_code_t
presage_new_with_config
(
_presage_callback_get_past_stream
past,
48
void
* past_stream_cb_arg,
49
_presage_callback_get_future_stream
future_stream_cb,
50
void
* future_stream_cb_arg,
51
const
char
*
config
,
52
presage_t* result);
53
54
void
presage_free
(presage_t prsg);
55
56
void
presage_free_string
(
char
* str);
57
void
presage_free_string_array
(
char
** str);
58
59
presage_error_code_t
presage_predict
(presage_t prsg,
60
char
*** result);
61
62
presage_error_code_t
presage_completion
(presage_t prsg,
63
const
char
* token,
64
char
** result);
65
66
presage_error_code_t
presage_context
(presage_t prsg,
67
char
** result);
68
69
presage_error_code_t
presage_context_change
(presage_t prsg,
70
int
* result);
71
72
presage_error_code_t
presage_prefix
(presage_t prsg,
73
char
** result);
74
75
presage_error_code_t
presage_config
(presage_t prsg,
76
const
char
* variable,
77
char
** result);
78
79
presage_error_code_t
presage_config_set
(presage_t prsg,
80
const
char
* variable,
81
const
char
* value);
82
83
presage_error_code_t
presage_save_config
(presage_t prsg);
84
85
86
/*
87
* Presage C API ends here
88
*/
89
#ifdef __cplusplus
90
}
91
#endif
92
93
94
#ifdef __cplusplus
95
#ifndef _MSC_VER
96
/*
97
* Presage C++ API starts here
98
*/
99
100
101
#include <string>
102
#include <vector>
103
#include <map>
104
105
/* Forward declarations, not part of presage C++ API */
106
class
Configuration
;
107
class
ProfileManager
;
108
class
Profile
;
109
class
ContextTracker
;
110
class
PredictorRegistry
;
111
class
PredictorActivator
;
112
class
Selector
;
113
116
class
Presage
{
117
public
:
124
Presage
(
PresageCallback
*
callback
)
throw
(
PresageException
);
125
126
134
Presage
(
PresageCallback
* callback,
const
std::string
config
)
throw
(
PresageException
);
135
136
139
~Presage
();
140
150
std::vector<std::string>
predict
()
throw
(
PresageException
);
151
165
std::multimap<double, std::string>
predict
(std::vector<std::string> filter)
throw
(
PresageException
);
166
174
PresageCallback
*
callback
(
PresageCallback
* callback)
throw
(
PresageException
);
175
188
std::string
completion
(std::string str)
throw
(
PresageException
);
189
194
std::string
context
()
const
throw
(
PresageException
);
195
201
bool
context_change
()
const
throw
(
PresageException
);
202
207
std::string
prefix
()
const
throw
(
PresageException
);
208
216
std::string
config
(
const
std::string variable)
const
throw
(
PresageException
);
217
225
void
config
(
const
std::string variable,
const
std::string value)
const
throw
(
PresageException
);
226
234
void
save_config
()
const
throw
(
PresageException
);
235
236
/*
237
* Presage public API ends here
238
*/
239
240
private
:
241
ProfileManager
*
profileManager
;
242
Configuration
*
configuration
;
243
PredictorRegistry
*
predictorRegistry
;
244
ContextTracker
*
contextTracker
;
245
PredictorActivator
*
predictorActivator
;
246
Selector
*
selector
;
247
248
};
249
250
/*
251
* Presage C++ API ends here
252
*/
253
#endif
/* _MSC_VER */
254
#endif
/* __cplusplus */
255
310
#endif
/* PRESAGE */
Generated on Thu Nov 7 2013 14:39:06 for presage by
1.8.4