[openi18n-im:01518] CommonAux framework design/implementation

Phill Zhang <[email protected]> Wed, 24 Aug 2005 17:48:24 +0800
Newsgroups gmane.comp.internationalization.input-methods
Message-ID <[email protected]>
Hi, Famao,

Sorry for this late communication. My computer was crashed due to last
weekend's power off by the Building. I just has to set it up.

How about the Common Aux framework? Below is what I am thinking
about this issue:

1. IIIMP event content:

typedef struct {
int32 event_type
int32 param
int32 ic_id
const char* aux_name
const char* im_name
uint32 sz
uchar* buffer
} CommonAuxEvent;


2. iml api for IME developer on server side

void iml_aux_draw(session, CommonAuxEvent* e);

and define a new type of IMevent for IME's call-back function.

3. All Common Aux event comes to CommonAuxManager on the client desktop,
I hope this CommonAuxManager's functionality could be integrated into
the iiim-xbe, or another process
started with X server.
All CommonAux are started and monitored by CommonAuxManager.
CommonAuxManager forward
the message to the real CommonAux identified by the name. The
communication between them
is not iiimp related.

But currently, maybe some CommonAuxObj.so is needed, which is
responsible for:
1) locat/start (if not started yet) CommonAuxManager on client desktop.
2) forward commonAux messages from client to CommonAuxManager
3) receive messages from CommonAux and send it back to client.

We have to make sure that the starter client is of the same user who
start the X server.

Under this framework, the packed CommonAuxEvent need not to be unpacked
at CF level, neither
need not to be unpacked by CommonAuxManager.



What's your idea and progress, let's disscuss it now.

Best Regards
Phill Zhang