summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-05-12 15:18:48 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-05-12 15:18:48 +0800
commitc25a24ae2e40a39db61fcd6f80d76469daa49a28 (patch)
tree8e9640375fcaf1778c264a5609bc94d499f240cc /doc
downloadibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.tar.gz
ibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.tar.xz
ibus-c25a24ae2e40a39db61fcd6f80d76469daa49a28.zip
import ibus
Diffstat (limited to 'doc')
-rw-r--r--doc/interfaces63
-rw-r--r--doc/specification19
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.
+