diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2008-05-12 15:18:48 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-05-12 15:18:48 +0800 |
commit | c25a24ae2e40a39db61fcd6f80d76469daa49a28 (patch) | |
tree | 8e9640375fcaf1778c264a5609bc94d499f240cc /doc | |
download | ibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.tar.gz ibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.tar.xz ibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.zip |
import ibus
Diffstat (limited to 'doc')
-rw-r--r-- | doc/interfaces | 63 | ||||
-rw-r--r-- | doc/specification | 19 |
2 files changed, 82 insertions, 0 deletions
diff --git a/doc/interfaces b/doc/interfaces new file mode 100644 index 0000000..444e775 --- /dev/null +++ b/doc/interfaces @@ -0,0 +1,63 @@ + +Type Name: ObjectID +Desc: It is a String to identify a dbus object. Like: "object_path@bus_name" + +Bus Name: org.freedesktop.IM +Name: IDirectory +Path: /org/freedesktop/IM/Directory + It is responeible for maintain all object in the virtual objects tree. +Methods: + void register_object (String object_path) + void register_objects (String *object_path_array) + void deregister_object (String object_path) + void deregister_object (String object_path) + void deregisters_object (String *object_path_array) + ObjectID *list_objects (String dirname) + Return Object_ids in a folder specified by argument dirname + +Signals: + directory_changed (String dirname) + +Name: IManager +Path: /org/freedesktop/IM/Manager + Manager is responsible for managering all engines & im clients. +Methods: + void register_client (String client_name) + register the client (the caller) to the Manager, the client_name is a readable name of client. It do not specify it, manager will use caller's bus_name. + void deregister_client () + deregister the client (the caller) in the Manager. The manager should release resources hold by the client. + void set_client_name () + Set a associated name for the client (the caller). Like: gedit-pid + String *get_hotkeys () + Retrun a String array. Each string in the array is a hotkey. When user press the hotkeys, client should send the hotket's index in this array to the manager. + void focus_in () + Tell the manager the client (the caller) request focus in. The current focused client will be focus out. + void focus_out () + Tell the manager the client (the caller) request focus out. + String get_focused_client () + +Signals: + focus_changed (String client_name, String engine_path) + +Name: IFactory +Name: IEngineFactory +Name: IEngine +Methods: + boolean filter_keypress (unsigned int state, unsigned int keyval, boolean is_press) + void focus_in () + void focus_out () + void reset () +??void set_set_client_window + (int window_id) + void set_cursor_position (int x, int y) + void set_use_preedit (boolean use_preedit) + void set_surrounding (String text, int cursor_index) +Signal: + commit (String commit_string) + preedit_start () + preedit_end () + preedit_changed (String preedit_string, Attribute *attrs) + retrieve_surrounding () + delete_surrounding (int offset, int n_chars) + + diff --git a/doc/specification b/doc/specification new file mode 100644 index 0000000..f83d0c0 --- /dev/null +++ b/doc/specification @@ -0,0 +1,19 @@ +IM Specification + + Huang Peng <phuang@redhat.com> + +1. Introducation + About + Architecture + + +Chapter 1 Introducation + +About + +This document contain the specification of IM which is a software that managers all input services in the system. + +Architecture + +IM manager provides a directory service. All IM services will register themself in this directory service. All clients can enumerate serivces in a specified directoy folder and get a nodification when a specified folder's contain be changed. + |