[openi18n-im:01519] Re: CommonAux framework design/implementation
AShiZaWa KaZuNoRi <[email protected]> Wed, 24 Aug 2005 20:16:37 +0900
| Newsgroups | gmane.comp.internationalization.input-methods |
|---|---|
| Message-ID | <[email protected]> |
Hi, Phill, Would you draw a picture to illustrate how each IIIMF components and iiimd internal threads interacts each other? The picture will greatly help me and possibly others to understand your design and concerns. Anyway, my comments below. Date: Wed, 24 Aug 2005 17:48:24 +0800 From: Phill Zhang <[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); Would you explain why iml_make_aux_draw_inst() is not enough? Or do I misunderstand? > > and define a new type of IMevent for IME's call-back function. This IME means LE? > > 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. If CommonAuxManager is implemented as a aux.so, then iiim-xbe can be the manager. > 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. This is the expected behavior for aux.so. > > But currently, maybe some CommonAuxObj.so is needed, which is > responsible for: > 1) locat/start (if not started yet) CommonAuxManager on client desktop. Only when aux.so is loaded by iiim-xbe. > 2) forward commonAux messages from client to CommonAuxManager > 3) receive messages from CommonAux and send it back to client. I've heard that the implementation will use IM_AUX_DRAW without changes. Then, I think that using the existing framework has no problem and less risky. So I'd suggest you to follow aux.so style for this feature. If you want other style, that may break current IM_AUX_DRAW semantics. > > We have to make sure that the starter client is of the same user who > start the X server. Strongly agree. Any other aux processes also need to be own by the desktop owner. -- kasha > > 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