Pluggable module support in uim(was Re: [Uim] Will you upload daily snapshots of UIM?)

YamaKen yamaken at bp.iij4u.or.jp
Wed Jan 5 15:42:48 EET 2005


At Wed, 5 Jan 2005 20:47:11 +0900,
omote at t-base.ne.jp wrote:
> 'plugin_init' has a possiblity of confliction in namespace. If we will
> support both as pluging and statically linked with libuim like apache,
> we have to rename them. 'uim_plugin_instance_init' and
> 'uim_plugin_instance_finalize' are good.

I think that uim_plugin_instance_quit() is more suitable for
uim's naming convention and easy to understand the intention of
it by plugin developers.

> I also think of another way, that is only export one variable initialized
> by 'struct _uim_plugin_info'. In this structure, initialization and finalization
> functions' pointers are contained.
> 
> But I don't confident which way is better.

I think that we should not use static storage to interface with
plugin since it may cause platform-dependent problems.

For example, static storage is not available in some embedded
platforms such as BREW (I don't mean plugin feature of uim
should be available in such platforms. What I mean is select
safer way). Yes, libuim is using static storage in other
places. But I want to remove them. This is one of the reason why
I want to rewrite almost of libuim with Scheme.

How about following interface?

int uim_plugin_instance_query(struct _uim_plugin_info *info);

-------------------------------
YamaKen  yamaken at bp.iij4u.or.jp



More information about the uim mailing list