presage.h   presage.h 
skipping to change at line 36 skipping to change at line 36
#include <string> #include <string>
#include <vector> #include <vector>
#include <map> #include <map>
// Forward declarations, not part of presage API // Forward declarations, not part of presage API
class Configuration; class Configuration;
class ProfileManager; class ProfileManager;
class Profile; class Profile;
class ContextTracker; class ContextTracker;
class PluginRegistry; class PredictorRegistry;
class PredictorActivator; class PredictorActivator;
class Selector; class Selector;
/* /*
* Presage public API starts here * Presage public API starts here
*/ */
#include "presageException.h" #include "presageException.h"
#include "presageCallback.h" #include "presageCallback.h"
/** \brief Presage, the intelligent predictive text entry platform. /** \brief Presage, the intelligent predictive text entry platform.
*/ */
class Presage { class Presage {
public: public:
/** Creates and initializes presage. /** Creates and initializes presage.
* *
* \param callback is a user-supplied implementation of PresageCallback interface * \param callback is a user-supplied implementation of PresageCallback interface
* *
* Presage does not take ownership of the callback object. * Presage does not take ownership of the callback object.
*/ */
Presage(PresageCallback* callback); Presage(PresageCallback* callback);
/** Creates and initializes presage with supplied configuration. /** Creates and initializes presage with supplied configuration.
* *
skipping to change at line 177 skipping to change at line 177
* file. The configuration data will be saved to the currently * file. The configuration data will be saved to the currently
* active XML profile. * active XML profile.
* *
*/ */
void save_config() const; void save_config() const;
/* /*
* Presage public API ends here * Presage public API ends here
*/ */
private: private:
ProfileManager* profileManager; ProfileManager* profileManager;
Configuration* configuration; Configuration* configuration;
PluginRegistry* pluginRegistry; PredictorRegistry* predictorRegistry;
ContextTracker* contextTracker; ContextTracker* contextTracker;
PredictorActivator* predictorActivator; PredictorActivator* predictorActivator;
Selector* selector; Selector* selector;
}; };
/** \mainpage /** \mainpage
\section intro_section Introduction \section intro_section Introduction
Presage is an intelligent predictive text entry Presage is an intelligent predictive text entry
platform. Presage exploits <a platform. Presage exploits <a
href="http://en.wikipedia.org/wiki/Redundancy_%28information_theory%29">red href="http://en.wikipedia.org/wiki/Redundancy_%28information_theory%29"
undant >redundant
information</a> embedded in natural languages to generate information</a> embedded in natural languages to generate
predictions. Presage's modular and pluggable <a predictions. Presage's modular and pluggable <a
href="?q=node/14">architecture</a> allows its <a href="?q=node/14">architecture</a> allows its <a
href="http://en.wikipedia.org/wiki/Language_modeling">language href="http://en.wikipedia.org/wiki/Language_modeling">language
model</a> to be extended and customized to utilize statistical, model</a> to be extended and customized to utilize statistical,
syntactic, and semantic information sources. syntactic, and semantic information sources.
A predictive text entry system attempts to improve ease and speed of A predictive text entry system attempts to improve ease and speed of
textual input. Word prediction consists in computing which word tokens textual input. Word prediction consists in computing which word tokens
or word completions are most likely to be entered next. The system or word completions are most likely to be entered next. The system
analyses the text already entered and combines the information thus analyses the text already entered and combines the information thus
extracted with other information sources to calculate a set of most extracted with other information sources to calculate a set of most
probable tokens. probable tokens.
A typical presage-based application would display the set of most A typical presage-based application would display the set of most
probable tokens (i.e. a list of suggestions) to the user and probable tokens (i.e. a list of suggestions) to the user and
automatically enter the desired token after the user selects it. If automatically enter the desired token after the user selects it. If
the list of suggestions does not contain the desired word, the user the list of suggestions does not contain the desired word, the user
continues entering text until the correct suggestion is offered or continues entering text until the correct suggestion is offered or
until the user is done entering text. until the user is done entering text.
Presage is fundamentally different from predictive <a Presage is fundamentally different from predictive <a
href="http://en.wikipedia.org/wiki/T9_%28predictive_text%29">input href="http://en.wikipedia.org/wiki/T9_%28predictive_text%29">input
technologies commonly found on mobile phones</a>, which might more technologies commonly found on mobile phones</a>, which might more
accurately be described as 'disambiguating text entry' rather than accurately be described as 'disambiguating text entry' rather than
'predictive text entry' systems. Such systems do not try to guess 'predictive text entry' systems. Such systems do not try to guess
what the user intends to write in the future, only to determine what what the user intends to write in the future, only to determine what
they most-likely intend to write in the present, given their past they most-likely intend to write in the present, given their past
input. Presage, on the other hand, actively predicts the what the input. Presage, on the other hand, actively predicts the what the
user intends to write, and only reverts to <a user intends to write, and only reverts to <a
href="http://en.wikipedia.org/wiki/Word_completion">word href="http://en.wikipedia.org/wiki/Word_completion">word
completion</a> mode if the prediction did not contain the desired completion</a> mode if the prediction did not contain the desired
token. token.
Presage is <a Presage is <a
href="http://www.gnu.org/philosophy/free-sw.html">free href="http://www.gnu.org/philosophy/free-sw.html">free
software</a>. It is distributed under the term of the <a software</a>. It is distributed under the term of the <a
href="http://www.gnu.org/copyleft/gpl.html">General Public href="http://www.gnu.org/copyleft/gpl.html">General Public
License</a>. License</a>.
\author Matteo Vescovi \author Matteo Vescovi
\section getting_started_section Getting started \section getting_started_section Getting started
\include getting_started.txt \include getting_started.txt
*/ */
#endif // PRESAGE #endif // PRESAGE
 End of changes. 12 change blocks. 
47 lines changed or deleted 47 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/