1
#ifndef SCIMBRIDGEAGENTCLIENTPEER_H_
2
#define SCIMBRIDGEAGENTCLIENTPEER_H_
4
#define Uses_SCIM_ATTRIBUTE
5
#define Uses_SCIM_HOTKEY
9
#include "scim-bridge-agent-exception.h"
11
class ScimBridgeAgentClientListener;
12
class ScimBridgeAgentIMContext;
13
class ScimBridgeAgentMessenger;
15
class ScimBridgeAgentClientPeer
20
static ScimBridgeAgentClientPeer *create (int input_fd, int output_fd, ScimBridgeAgentClientListener *kernel);
22
virtual ~ScimBridgeAgentClientPeer () {};
24
virtual void commit (const ScimBridgeAgentIMContext &ic) throw (ScimBridgeAgentException) = 0;
25
virtual void set_preedit_string (const ScimBridgeAgentIMContext &ic, const scim::WideString &string) throw (ScimBridgeAgentException) = 0;
26
virtual void set_preedit_attributes (const ScimBridgeAgentIMContext &ic, const scim::AttributeList &attributes) throw (ScimBridgeAgentException) = 0;
27
virtual void set_preedit_cursor_position (const ScimBridgeAgentIMContext &ic, int cursor_position) throw (ScimBridgeAgentException) = 0;
28
virtual void set_preedit_shown (const ScimBridgeAgentIMContext &ic, bool shown) throw (ScimBridgeAgentException) = 0;
29
virtual void update_preedit (const ScimBridgeAgentIMContext &ic) throw (ScimBridgeAgentException) = 0;
30
virtual void forward_keyevent (const ScimBridgeAgentIMContext &ic, const scim::KeyEvent &keyevent) throw (ScimBridgeAgentException) = 0;
31
virtual void beep (const ScimBridgeAgentIMContext &ic) throw (ScimBridgeAgentException) = 0;
32
virtual bool get_surrounding_string (const ScimBridgeAgentIMContext &ic, scim::WideString &surrounding, size_t max_length, int &cursor_pos) throw (ScimBridgeAgentException) = 0;
33
virtual bool delete_surrounding_string (const ScimBridgeAgentIMContext &ic, size_t offset, size_t len) throw (ScimBridgeAgentException) = 0;
37
ScimBridgeAgentClientPeer () {};
40
#endif /*SCIMBRIDGEAGENTCLIENTPEER_H_*/