Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > b7897c5360c4665ab36c879ac3a8182c > files > 21

libgxim-devel-0.3.3-3.fc12.i686.rpm

2009-04-02  Akira TAGOH  <akira@tagoh.org>

	* configure.ac: bump to 0.3.3.

	* NEWS: update.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_FORWARD_EVENT):
	Fix an error handling to avoid a freeze when any parser error happens.
	(g_xim_protocol10_closure_signal_XIM_FORWARD_EVENT): likewise.

2009-03-03  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_get_window): increase a reference count
	here to avoid destroying a window unexpectedly.
	(g_xim_get_selection_owner): hack to keep similar behavior.

	* libgxim/gximclconn.c (g_xim_client_transport_real_do_send_via_property):
	do increase/decrease a reference count appropriately
	(g_xim_client_transport_real_do_send_via_cm): likewise.

	* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_send_via_property):
	likewise.
	(g_xim_server_transport_real_do_send_via_cm): likewise.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_dispose): likewise.
	(g_xim_cl_tmpl_real_translate_events): likewise.
	(g_xim_cl_tmpl_real_selection_notify_event): likewise.

	* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): likewise.
	(g_xim_srv_tmpl_real_translate_events): likewise.
	(g_xim_srv_tmpl_real_xconnect): likewise.
	(g_xim_srv_tmpl_send_selection_notify): likewise.
	(g_xim_srv_tmpl_add_connection): likewise.

2009-03-02  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_xevent_translate_event_type): Fix dealing
	with the event type to avoid the unknown event. (Issue#5)

2009-01-13  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.[ch]: add more documents without tmpl file.

	Issue#4 - Memory leak in g_xim_attr_get_attribute_from_stream() and
	g_xim_protocol_read_vformat() (for nested lists). patched by rainy6144.

	* libgxim/gximattr.c (g_xim_attr_get_attribute_from_stream): Fix
	a memory leak.

	* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): Fix a memory
	leak in dealing with G_XIM_TYPE_NESTEDLIST

	* libgxim/gximmisc.c (g_xim_copy_by_gtype): new for helper.
	(g_xim_free_by_gtype): likewise.

2008-11-06  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximconnection.c: add more documents without tmpl file.

	* libgxim/gximmessage.[ch]: add more documents without tmpl file.

	* libgxim/gximcltmpl.[ch]: add more documents without tmpl file.

	* libgxim/gximsrvtmpl.[ch]: add more documents without tmpl file.

	* libgxim/gximcore.c: add more documents without tmpl file.

2008-10-29  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): set
	the property with the atomic operation.

	* libgxim/gximcore.c (g_xim_core_atom_init): create caches for X Atom
	here. otherwise the client applications may fails due to no Atom
	available for them.

2008-10-23  Akira TAGOH  <akira@tagoh.org>

	* docs/reference/libgxim-docs.sgml: Updated.

	* libgxim/gximmessage.c (g_xim_message_vprintf): make more simple to
	avoid % appears in the format string after decorating.

	* libgxim/gximprotocol.c (g_xim_protocol_get_queue_length): new.

2008-10-22  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximconnection.[ch]: Add documents for gtk-doc.

	* docs/reference/tmpl/gximconnection.sgml: new.

	* libgxim/gximcltmpl.[ch]: Add documents for gtk-doc.

	* docs/reference/tmpl/gximcltmpl.sgml: new.

2008-10-21  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.[ch]: Add documents for gtk-doc.

	* docs/reference/tmpl/gximsrvtmpl.sgml: new.

2008-10-17  Akira TAGOH  <akira@tagoh.org>

	* docs/reference/tmpl/gximmessage.sgml: new.

	* libgxim/gximmessage.[ch]: Add documents for gtk-doc.

	* docs/reference/tmpl/gximcore.sgml: new.

	* docs/reference/libgxim-docs.sgml: new.

	* docs/reference/version.xml.in: new.

	* libgxim/gximcore.[ch]: Add documents for gtk-doc.

2008-10-16  Akira TAGOH  <akira@tagoh.org>

	* configure.ac: gtk-doc enabled.

	* libgxim/libgxim.h: new file.

2008-10-11  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_get_window): trap X error.

2008-10-06  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_real_parser_error): 
	Use a signal instead of hardcoding the error handlers.

	* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add a new
	signal 'parser_error'.
	(g_xim_protocol_send_vformat): Fix a local scope issue.
	(g_xim_protocol_raise_parser_error): new.

2008-10-02  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.c (g_xim_protocol_send): store the packet size
	and return true to avoid an error even if the packet is queued.
	(g_xim_protocol_send_with_list): likewise.

2008-10-01  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_protocol_name): new.

	* libgxim/gximprotocol.c (_free_sendq): new.
	(g_xim_protocol_send): do not send a packet if it's in the queueing
	mode.
	(g_xim_protocol_send_with_list): likewise.
	(g_xim_protocol_start_queue): new.
	(g_xim_protocol_end_queue): new.
	(g_xim_protocol_cancel_queue): new.
	(g_xim_protocol_is_queued): new.

2008-09-29  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): set an error
	for reason.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_bad_protocol): 
	new function.
	(g_xim_protocol10_closure_XIM_CONNECT)
	(g_xim_protocol10_closure_XIM_AUTH_REQUIRED)
	(g_xim_protocol10_closure_XIM_AUTH_REPLY)
	(g_xim_protocol10_closure_XIM_AUTH_NEXT)
	(g_xim_protocol10_closure_XIM_AUTH_SETUP)
	(g_xim_protocol10_closure_XIM_OPEN)
	(g_xim_protocol10_closure_XIM_CLOSE)
	(g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY)
	(g_xim_protocol10_closure_XIM_ENCODING_NEGOTIATION)
	(g_xim_protocol10_closure_XIM_QUERY_EXTENSION)
	(g_xim_protocol10_closure_XIM_SET_IM_VALUES)
	(g_xim_protocol10_closure_XIM_GET_IM_VALUES)
	(g_xim_protocol10_closure_XIM_DESTROY_IC)
	(g_xim_protocol10_closure_XIM_SET_IC_VALUES)
	(g_xim_protocol10_closure_XIM_GET_IC_VALUES)
	(g_xim_protocol10_closure_XIM_FORWARD_EVENT)
	(g_xim_protocol10_closure_XIM_SYNC)
	(g_xim_protocol10_closure_XIM_COMMIT)
	(g_xim_protocol10_closure_XIM_RESET_IC)
	(g_xim_protocol10_closure_XIM_STR_CONVERSION)
	(g_xim_protocol10_closure_XIM_PREEDIT_START)
	(g_xim_protocol10_closure_XIM_PREEDIT_CARET): Send back an error
	message or appropreate response to not freeze the opposite party.

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_client_event): Fix
	a memory leak and output an error message if available.

	* libgxim/gximmessage.c (g_xim_message_vprintf): Display current time.

2008-09-25  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event): Fix a memory
	leak and output an error message if available.

2008-09-14  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): use macro for
	format.

2008-09-13  Akira TAGOH  <akira@tagoh.org>

	* Makefile.am (ACLOCAL_AMFLAGS): Fix an error on aclocal.

	* libgxim/gximmisc.c (g_xim_nested_list_foreach): new.

	* libgxim/gximattr.c (g_xim_ic_attr_set_attr): new.
	(g_xim_ic_attr_real_set_property): do not set a value for
	preeditAttributes and statusAttributes. set data in the nested list
	instead.
	(g_xim_ic_attr_real_get_property): do not allow getting a value for
	preeditAttributes and statusAttributes.

	* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): try to rescue
	the data as much as possible even when an error happens during reading
	NESTEDLIST.

	* libgxim/gximsrvconn.c (g_xim_server_connection_cmd_encoding_negotiation_reply):
	Fix a typo.

	* libgxim/gximattr.c (g_xim_attr_set_raw_attr): Fix a build error on
	32bit arch with gcc 4.3.1.

	* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): likewise.

	* libgxim/gximsrvconn.c (g_xim_server_connection_cmd_commit): likewise.

	* autogen.sh: Fix an error on aclocal.

	* libgxim/gximattr.c (g_xim_ic_attr_real_set_property): implemented.
	(g_xim_ic_attr_real_get_property): likewise.
	(g_xim_ic_attr_real_finalize): likewise.

2008-09-12  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximattr.c (g_xim_im_attr_new): check argument.
	(g_xim_ic_attr_new): likewise.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_COMMIT):
	Fix an invalid memory access.

2008-09-11  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.c (locales): Add missing locales.

2008-09-10  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximconnection.c: rename APIs to see the command.

	* libgxim/gximsrvconn.c: rename APIs to see the command.

	* libgxim/gximclconn.c: likewise.

2008-09-04  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.c (g_xim_protocol_process_event): Fix
	discarding the packets when reconnecting.
	(g_xim_protocol_translate): interface is changed due to the above fix.

2008-09-02  Akira TAGOH  <akira@tagoh.org>

	* libgxim/Makefile.am (gximcltmpl.c): Add to satisfy the dependency.

2008-08-29  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event): 
	Fix an invalid memory access.

2008-08-25  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_AUTH_NG):
	implemented.

	* libgxim/gximprotocol.c (g_xim_protocol_send): reflect the return
	value from the result of sending packets.
	(g_xim_protocol_send_with_list): likewise.

	* libgxim/gximconnection.c (g_xim_connection_forward_event): merged.

	* libgxim/gximsrvconn.c (g_xim_server_connection_set_im_values_reply): new.
	(g_xim_server_connection_set_im_values_reply): moved to gximconnection.c

	* libgxim/gximclconn.c (g_xim_client_connection_set_im_values): new.
	(g_xim_client_connection_forward_event): moved to gximconnection.c

	* libgxim/gximattr.c (g_xim_im_attr_real_set_property): keep a copy of
	instance.

2008-08-22  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximconnection.c (g_xim_connection_real_finalize): free
	the encodings.

	* libgxim/gximsrvconn.c (g_xim_server_connection_encoding_negotiation_reply): 
	store the encoding category and index.

	* libgxim/gximclconn.c (g_xim_client_protocol_real_XIM_ENCODING_NEGOTIATION_REPLY): 
	store the encoding category and index.
	(g_xim_client_connection_encoding_negotiation): store the encodings.

	* libgxim/gximmessage.c (_g_xim_message_dbus_message_filter): 
	Initialize a value before using it.

2008-08-21  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event): 
	process the multiple transport protocol separately as do it for
	locales.

	* libgxim/gximclient.c (g_xim_client_real_notify_transport): 
	recognize the multiple transport protocol.

	* libgxim/gximprotocol.c (g_xim_protocol_process_event): get
	the property data from own function instead of gdk_property_get
	to avoid "no data".

	* libgxim/gximconnection.c (g_xim_connection_real_finalize): 
	destroy the transport interface.
	(g_xim_connection_setup): initialize the transport interface.

	* libgxim/gximtransport.c (g_xim_transport_real_do_get_property): new.
	(g_xim_transport_init): new.
	(g_xim_transport_finalize): new.
	(g_xim_transport_destroy): removed.
	(g_xim_transport_get_private): new.
	(g_xim_transport_set_version, g_xim_transport_get_version)
	(g_xim_transport_set_transport_size)
	(g_xim_transport_get_transport_size)
	(g_xim_transport_set_transport_max)
	(g_xim_transport_get_transport_max, g_xim_transport_set_display)
	(g_xim_transport_get_display, g_xim_transport_get_atom)
	(g_xim_transport_set_client_window)
	(g_xim_transport_get_client_window, g_xim_transport_get_channel)
	(g_xim_transport_set_direction, g_xim_transport_get_direction): 
	store the value to the private structure instead of putting the data
	in GObject.
	(g_xim_transport_get_property): new.

	* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_get_property):
	new.

	* libgxim/gximclconn.c (g_xim_client_transport_real_do_get_property): 
	new.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_is_initialized): check only
	if the connection established.

	* libgxim/gximmessage.h: Fix a typo.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_signal_XIM_CONNECT):
	send better reply.
	(g_xim_protocol10_closure_signal_XIM_AUTH_REQUIRED): likewise.
	(g_xim_protocol10_closure_signal_XIM_AUTH_REPLY): likewise.
	(g_xim_protocol10_closure_signal_XIM_AUTH_NEXT): likewise.
	(g_xim_protocol10_closure_signal_XIM_AUTH_SETUP): likewise.
	(g_xim_protocol10_closure_signal_XIM_DESTROY_IC): likewise.
	(g_xim_protocol10_closure_signal_XIM_FORWARD_EVENT): likewise.
	(g_xim_protocol10_closure_signal_XIM_SYNC): likewise.
	(g_xim_protocol10_closure_signal_XIM_COMMIT): likewise.

	* libgxim/gximprotocol.c (g_xim_protocol_init): stop overriding
	the finalizer and disposer in GObject's class. this breaks multiple
	inheritance.

	* libgxim/gximconnection.c (g_xim_connection_real_dispose): new.
	(g_xim_connection_real_finalize): destroy the protocol interface
	explicitly.
	(g_xim_connection_auth_ng): new.
	(g_xim_connection_sync_reply): new.

	* libgxim/gximsrvconn.c (g_xim_server_connection_sync_reply):
	merged into g_xim_connection_sync_reply.
	(g_xim_server_protocol_real_XIM_DISCONNECT): use an API instead of
	sending directly.
	(g_xim_server_protocol_real_XIM_OPEN): likewise.
	(g_xim_server_protocol_real_XIM_CLOSE): likewise.
	(g_xim_server_protocol_real_XIM_ENCODING_NEGOTIATION): likewise.
	(g_xim_server_protocol_real_XIM_TRIGGER_NOTIFY): implemented.

	* libgxim/gximclconn.c (g_xim_client_connection_sync_reply):
	merged into g_xim_connection_sync_reply.

2008-08-18  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): Fix
	overwriting XIM_SERVERS.

	* libgxim/gximmisc.c (g_xim_gdkevent_type_name): new.
	(g_xim_value_type_to_gtype): Add more types.
	(g_xim_lookup_xim_server): Add a flag to notice an error.
	(g_xim_attribute_clear): check the type.

	* libgxim/gximserver.c (g_xim_server_real_xim_open): use an API
	instead of sending directly.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_CREATE_IC): 
	recover an error as much as possible.
	(g_xim_protocol10_closure_signal_no_impl): send imid and icid
	if available.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
	(g_xim_protocol_read_vformat): likewise.
	(g_xim_protocol_read_vformat): allow null window.

	* libgxim/gximsrvconn.c (g_xim_server_connection_sync): new.

	* libgxim/gximclconn.c (g_xim_client_connection_sync): new.

2008-08-15  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_nested_list_node_copy): Fix an error
	for non-boxed objects.
	(g_xim_nested_list_node_free): likewise.
	(g_xim_value_type_name): Add more types.
	(g_xim_nested_list_append): copy a value properly.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_REGISTER_TRIGGERKEYS):
	recover an error as much as possible.
	(g_xim_protocol10_closure_XIM_RESET_IC_REPLY): implemented.
	(g_xim_protocol10_closure_signal_XIM_ERROR): output the comfortable
	thing instead of sending an error again.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
	(g_xim_protocol_read_vformat): likewise.

	* libgxim/gximconnection.c (g_xim_connection_error): new.

	* libgxim/gximsrvconn.c (g_xim_server_connection_reset_ic_reply): new.

	* libgxim/gximclconn.c (g_xim_client_connection_reset_ic): new.

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_dispose): stop watching
	the event for the selection window.
	(g_xim_srv_tmpl_take_ownership): increment the refcount for the root
	window to give it to the event.

	* libgxim/gximcore.c (g_xim_core_real_finalize): output the debugging
	info.
	(g_xim_core_watch_event): Update for the debug.
	(g_xim_core_unwatch_event): likewise.

2008-08-14  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.h (G_XIM_GERROR_IS_RECOVERABLE): measure non-marker
	error as unrecoverable.

	* libgxim/gximmisc.c (g_xim_nested_list_node_new): new.
	(g_xim_nested_list_node_copy): new.
	(g_xim_nested_list_node_free): new.
	(g_xim_value_type_to_gtype): new.
	(g_xim_value_type_name): Add more types.
	(g_xim_get_pixmap): new.
	(g_xim_styles_insert): revert the change.
	(g_xim_nested_list_new): implemented.
	(g_xim_nested_list_copy): likewise.
	(g_xim_nested_list_free): likewise.
	(g_xim_nested_list_append): new.
	(g_xim_nested_list_put_to_stream): new.
	(g_xim_text_copy): Fix a position of the sanity check.
	(g_xim_status_draw_get_type): new.
	(g_xim_status_draw_new): new.
	(g_xim_status_draw_copy): new.
	(g_xim_status_draw_free): new.
	(g_xim_status_draw_put_to_stream): new.
	(g_xim_status_draw_get_from_stream): new.

	* libgxim/gximattr.c (g_xim_attr_put_attribute_to_stream): output
	more debugging info.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY):
	Implemented.
	(g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_QUERY_EXTENSION_REPLY): recover
	the error as much as possible.
	(g_xim_protocol10_closure_XIM_STATUS_DRAW): implemented.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
	(g_xim_protocol_read_vformat): likewise.

	* libgxim/gximtransport.c (g_xim_transport_get_native_channel_from): 
	allow GdkDrawable as argument.

	* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_get_native_channel):
	support GdkPixmap too.
	(g_xim_server_connection_status_draw): new.
	(g_xim_server_connection_status_done): new.
	(g_xim_server_connection_register_triggerkeys): new.
	(g_xim_server_connection_trigger_notify_reply): new.
	(g_xim_server_connection_set_ic_values_reply): new.

	* libgxim/gximclconn.c (g_xim_client_transport_real_do_get_native_channel):
	support GdkPixmap too.
	(g_xim_client_connection_close_im): Fix a typo.
	(g_xim_client_connection_trigger_notify): new.
	(g_xim_client_connection_set_ic_values): new.

2008-08-13  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.h (G_XIM_GERROR_IS_RECOVERABLE): new macro.
	(G_XIM_GERROR_RESET_NOTICE_FLAG): likewise.
	(G_XIM_GERROR_SET_NOTICE_FLAG): likewise.
	(G_XIM_CHECK_ALLOC_WITH_CODE): likewise.
	(G_XIM_CHECK_ALLOC): likewise.
	(G_XIM_CHECK_ALLOC_WITH_NO_RET): likewise.
	(G_XIM_GERROR_CHECK_ALLOC_WITH_CODE): likewise.
	(G_XIM_GERROR_CHECK_ALLOC): likewise.

	* libgxim/gximmessage.h (g_xim_message_gerror): new macro.

	* libgxim/gximclconn.c: better error handling.

	* libgxim/gximtransport.c: likewise.

	* libgxim/gximsrvconn.c: likewise.

	* libgxim/gximcore.c: likewise.

	* libgxim/gximclient.c: likewise.

	* libgxim/gximsrvtmpl.c: likewise.

	* libgxim/gximmisc.c: likewise.

	* libgxim/gximcltmpl.c: likewise.

	* libgxim/gximerror.c: likewise.

	* libgxim/gximattr.c: likewise.

	* libgxim/gximserver.c: likewise.

	* libgxim/gximprotocol10.c: likewise.

	* libgxim/gximprotocol.c: likewise.

	* libgxim/gximmisc.c (g_xim_value_type_name): Add more types.
	(g_xim_gstring_get_from_stream): fails immediately if any error occured.
	(g_xim_hotkey_trigger_get_type): new.
	(g_xim_hotkey_trigger_new): new.
	(g_xim_hotkey_trigger_copy): new.
	(g_xim_hotkey_trigger_free): new.
	(g_xim_hotkey_trigger_put_to_stream): new.
	(g_xim_hotkey_trigger_get_from_stream): new.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_REGISTER_TRIGGERKEYS):
	Implemented.
	(g_xim_protocol10_closure_XIM_GET_IM_VALUES_REPLY): send a null list
	if getting IM attribute is failed.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Implement
	more types.
	(g_xim_protocol_read_vformat): likewise.

	* libgxim/gximsrvconn.c (g_xim_server_connection_register_triggerkeys):
	new.

2008-08-11  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_value_type_name): Add more types.
	(g_xim_text_get_type): new.
	(g_xim_text_new): new.
	(g_xim_text_set_mbstring): new.
	(g_xim_text_set_wcstring): new.
	(g_xim_text_clear_string): new.
	(g_xim_text_set_feedback): new.
	(g_xim_text_get_feedback): new.
	(g_xim_text_copy): new.
	(g_xim_text_free): new.
	(g_xim_text_put_to_stream): new.
	(g_xim_text_get_from_stream): new.
	(g_xim_preedit_draw_get_type): new.
	(g_xim_preedit_draw_new): new.
	(g_xim_preedit_draw_copy): new.
	(g_xim_preedit_draw_free): new.
	(g_xim_preedit_draw_put_to_stream): new.
	(g_xim_preedit_draw_get_from_stream): new.

	* libgxim/gximmessage.c: a bit shut up the debugging messages.

	* libgxim/gximattr.c (g_xim_ic_attr_class_init): Add resetState
	property.
	(g_xim_ic_attr_class_init): correct the value type of cursor.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_COMMIT): 
	implemented.
	(g_xim_protocol10_closure_XIM_PREEDIT_DRAW): likewise.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): implement
	more types.
	(g_xim_protocol_send_with_list): really support the auto-padding type.
	(g_xim_protocol_read_vformat): implement more types.

	* libgxim/gximsrvconn.c (g_xim_server_connection_query_extension_reply): 
	allow the null list for extensions.
	(g_xim_server_connection_preedit_draw): new.
	(g_xim_server_connection_commit): new.
	(g_xim_server_connection_status_start): new.
	(g_xim_server_connection_status_done): new.

2008-08-08  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.c (g_xim_protocol_dispose): new. call
	g_xim_protocol_closure_finalize instead of in finalize.

	* libgxim/gximmisc.c (g_xim_gdkevent_translate_event_type): new.
	(g_xim_xevent_translate_event_type): new.
	(g_xim_styles_put_to_stream): Use GXimProtocol instead of sending
	directly.
	(g_xim_rectangle_put_to_stream): likewise.
	(g_xim_point_put_to_stream): likewise.
	(g_xim_gdkevent_get_error_quark): new.
	(g_xim_gdkevent_put_to_stream): new.
	(g_xim_gdkevent_get_from_stream): new.

	* libgxim/gximtypes.h (G_XIM_NATIVE_WINDOW_TO_POINTER):
	Moved from gximtransport.h.
	(G_XIM_POINTER_TO_NATIVE_WINDOW): likewise.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_FORWARD_EVENT):
	implemented.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat):
	get a GCancellable and a GError as arguments.
	(g_xim_protocol_send_format): likewise.

	* libgxim/gximsrvconn.c (g_xim_server_connection_forward_event): new.
	(g_xim_server_connection_sync_reply): new.

	* libgxim/gximclconn.c (g_xim_client_connection_forward_event): new.
	(g_xim_client_connection_sync_reply): new.

2008-08-07  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_preedit_caret_get_type): new.
	(g_xim_preedit_caret_new): new.
	(g_xim_preedit_caret_copy): new.
	(g_xim_preedit_caret_free): new.
	(g_xim_preedit_caret_put_to_stream): new.
	(g_xim_preedit_caret_get_from_stream): new.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_DISCONNECT):
	do not turn on the disconnect flag yet.
	(g_xim_protocol10_closure_XIM_PREEDIT_CARET): implemented.

	* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): implement
	G_XIM_TYPE_PREEDIT_CARET type.
	(g_xim_protocol_read_vformat): likewise.

	* libgxim/gximsrvconn.c (g_xim_server_connection_disconnect_reply):
	new.
	(g_xim_server_connection_preedit_start): Fix a typo.
	(g_xim_server_connection_preedit_caret): new.
	(g_xim_server_connection_preedit_done): new.

	* libgxim/gximclconn.c (g_xim_client_connection_disconnect): new.
	(g_xim_client_connection_preedit_caret_reply): new.

	* libgxim/gximmisc.c (g_xim_value_type_name): new.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_ERROR):
	implemented.
	(g_xim_protocol10_closure_XIM_SET_EVENT_MASK): likewise.
	(g_xim_protocol10_closure_XIM_SET_IM_VALUES): likewise.
	(g_xim_protocol10_closure_XIM_SET_IM_VALUES_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_DESTROY_IC): likewise.
	(g_xim_protocol10_closure_XIM_DESTROY_IC_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_SET_IC_VALUES): likewise.
	(g_xim_protocol10_closure_XIM_SET_IC_VALUES_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_GET_IC_VALUES): likewise.
	(g_xim_protocol10_closure_XIM_GET_IC_VALUES_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_SET_IC_FOCUS): likewise.
	(g_xim_protocol10_closure_XIM_UNSET_IC_FOCUS): likewise.
	(g_xim_protocol10_closure_XIM_SYNC): likewise.
	(g_xim_protocol10_closure_XIM_SYNC_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_RESET_IC): likewise.
	(g_xim_protocol10_closure_XIM_GEOMETRY): likewise.
	(g_xim_protocol10_closure_XIM_PREEDIT_START): likewise.
	(g_xim_protocol10_closure_XIM_PREEDIT_START_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_PREEDIT_CARET_REPLY): likewise.
	(g_xim_protocol10_closure_XIM_PREEDIT_DONE): likewise.
	(g_xim_protocol10_closure_XIM_STATUS_START): likewise.
	(g_xim_protocol10_closure_XIM_STATUS_DONE): likewise.

	* libgxim/gximprotocol.c (g_xim_protocol_translate): set an error
	for debugging purpose.
	(g_xim_protocol_read_vformat): support the markers for values
	as much as possible.

	* libgxim/gximsrvconn.c (g_xim_server_connection_create_ic_reply):
	new.
	(g_xim_server_connection_set_event_mask): new.
	(g_xim_server_connection_get_ic_values_reply): new.
	(g_xim_server_connection_destroy_ic_reply): new.
	(g_xim_server_connection_close_reply): new.
	(g_xim_server_connection_preedit_start): new.

	* libgxim/gximclconn.c (g_xim_client_connection_create_ic): new.
	(g_xim_client_connection_get_ic_values): new.
	(g_xim_client_connection_destroy_ic): new.
	(g_xim_client_connection_close_im): new.
	(g_xim_client_connection_set_ic_focus): new.
	(g_xim_client_connection_unset_ic_focus): new.
	(g_xim_client_connection_preedit_start_reply): new.

	* libgxim/gximprotocol.c (g_xim_protocol_add_protocol)
	(g_xim_protocol_remove_protocol_by_id)
	(g_xim_protocol_lookup_protocol_by_name): allow the case-insensitive
	search.

	* libgxim/gximprotocol10.c (g_xim_protocol10_closure_init): connect
	signals to the default behavior for the protocols.

	* libgxim/gximprotocol.c (g_xim_protocol_init): moved to
	gximprotocol10.c, anything related to the specific-protocol thing.

2008-08-06  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol10.[ch]: closure definitions.

	* libgxim/gximmisc.c (g_xim_ext_get_type): new.
	(g_xim_ext_new): new.
	(g_xim_ext_copy): new.
	(g_xim_ext_free): new.
	(g_xim_ext_put_to_stream): new.
	(g_xim_ext_get_from_stream): new.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_finalize): 
	unref the server window.

	* libgxim/gximattr.c (g_xim_attr_get_attribute_from_stream): 
	Add more debug info.

	* libgxim/gximprotocol.c (g_xim_protocol_no_impl): Fix a typo.
	(g_xim_protocol_base_class_init): removed all of GSignal related code.
	(g_xim_protocol_finalize): destroy the protocol closures.
	(g_xim_protocol_extension_closure_marshal_BOOLEAN__OBJECT_OBJECT): 
	removed.
	(g_xim_protocol_init): initialize the protocol closures and connect to
	the own closure system instead of GSignal.
	(g_xim_protocol_translate): removed the hard-coded protocol translator.
	(g_xim_protocol_read_vformat): implement more.
	(g_xim_protocol_add_protocol): new.
	(g_xim_protocol_remove_protocol): new.
	(g_xim_protocol_remove_protocol_by_id): new.
	(g_xim_protocol_lookup_protocol_by_name): new.
	(g_xim_protocol_lookup_protocol_by_id): new.
	(g_xim_protocol_connect_closure_by_id): new.
	(g_xim_protocol_connect_closure_by_name): new.
	(g_xim_protocol_closure_new): support an extension.
	(g_xim_protocol_closure_is_an_extension): new.
	(g_xim_protocol_closure_add_signal): new.
	(g_xim_protocol_closure_connect): new.
	(g_xim_protocol_closure_disconnect): new.
	(g_xim_protocol_closure_emit_signal): new.

	* libgxim/gximclconn.c (g_xim_client_connection_real_protocol_init):
	connect to the own closure system instead of GSignal.
	This will makes easier to have add-ons for newer protocol version
	in the future.

	* libgxim/gximsrvconn.c (g_xim_server_connection_real_protocol_init):
	likewise.

	* libgxim/gximconnection.c (g_xim_connection_setup): likewise.

	* libgxim/gximclient.c (g_xim_client_open_im): strip the locale code
	down to the essentials and try again to check if current locale is
	supported by the server.
	(g_xim_client_new): check the return value.

	* libgxim/gximprotocol.c (g_xim_protocol_closure_marshal_BOOLEAN__OBJECT_OBJECT_POINTER):
	new.
	(g_xim_protocol_closure_new): new.
	(g_xim_protocol_closure_free): new.
	(g_xim_protocol_closure_set_marshal): new.

2008-08-05  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_gtype_to_value_type): 
	support more types.
	(g_xim_styles_copy): Fix a invalid memory access.
	(g_xim_styles_put_attributes_to_stream): removed.
	(g_xim_styles_get_from_stream): new.
	(g_xim_fontset_put_to_stream): new.
	(g_xim_fontset_get_from_stream): new.
	(g_xim_raw_attr_get_type): new.
	(g_xim_raw_attr_new): new.
	(g_xim_raw_attr_new_with_value): new.
	(g_xim_raw_attr_set_name): new.
	(g_xim_raw_attr_clear): new.
	(g_xim_raw_attr_copy): new.
	(g_xim_raw_attr_free): new.
	(g_xim_raw_attr_put_to_stream): new.
	(g_xim_raw_attr_get_from_stream): new.
	(g_xim_attribute_get_type): new.
	(g_xim_attribute_new): new.
	(g_xim_attribute_new_with_value): new.
	(g_xim_attribute_set): new.
	(g_xim_attribute_clear): new.
	(g_xim_attribute_copy): new.
	(g_xim_attribute_free): new.
	(g_xim_attribute_put_to_stream): new.
	(g_xim_sep_nested_list_get_type): new.
	(g_xim_sep_nested_list_new): new.
	(g_xim_sep_nested_list_copy): new.
	(g_xim_sep_nested_list_free): new.

	* libgxim/gximattr.c (g_xim_attr_real_put_attrlist_to_stream)
	(g_xim_attr_real_get_attrlist_from_stream)
	(g_xim_attr_put_attrlist_to_stream)
	(g_xim_attr_get_attrlist_from_stream)
	(g_xim_im_attr_get_attrlist_from_stream)
	(g_xim_ic_attr_get_attrlist_from_stream): removed.
	(g_xim_ic_attr_class_init): correct wrong value type.
	(g_xim_attr_get_n_supported_attributes): Fix a memory leak.
	(g_xim_attr_set_raw_attr): new.
	(g_xim_attr_put_attribute_to_stream): new.
	(g_xim_attr_get_attribute_from_stream): new.

	* libgxim/gximserver.c (g_xim_server_real_xim_open): update.
	(g_xim_server_real_xim_get_im_values): update.

	* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add missing
	signals.
	(g_xim_protocol_find_marker): new.
	(g_xim_protocol_translate): implement and improve a procedure. now
	prefer using a helper function but not access the stream directly.
	(g_xim_protocol_send_vformat): support more types.
	(g_xim_protocol_read_vformat): new.
	(g_xim_protocol_read_format): new.

	* libgxim/gximsrvconn.c (g_xim_server_connection_open_reply): 
	take a list as arguments instead of object to keep a consistency to
	other API.
	(g_xim_server_connection_encoding_negotiation_reply): new.
	(g_xim_server_connection_get_im_values_reply): new.

2008-08-04  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_styles_insert): new.

	* libgxim/gximconnection.c (g_xim_connection_real_finalize): unref
	attrubites.

	* libgxim/gximclconn.c (g_xim_client_connection_encoding_negotiation):
	new.
	(g_xim_client_connection_get_im_values): new.

	* libgxim/gximprotocol.c (g_xim_protocol_extension_free): ifdef'd to
	unref the closure.

2008-08-03  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
	null-terminate the property.

	* libgxim/gximmisc.c (g_xim_gtype_to_value_type): implement more.
	(g_xim_rectangle_get_type): new.
	(g_xim_rectangle_new): new.
	(g_xim_rectangle_copy): new.
	(g_xim_rectangle_free): new.
	(g_xim_rectangle_put_to_stream): new.
	(g_xim_rectangle_get_from_stream): new.
	(g_xim_point_get_type): new.
	(g_xim_point_new): new.
	(g_xim_point_copy): new.
	(g_xim_point_free): new.
	(g_xim_point_put_to_stream): new.
	(g_xim_point_get_from_stream): new.
	(g_xim_fontset_get_type): new.
	(g_xim_fontset_copy): new.
	(g_xim_fontset_free): new.
	(g_xim_gstring_put_to_stream): new.
	(g_xim_gstring_get_from_stream): new.
	(g_xim_string_copy): Exactly copy all of values.
	(g_xim_str_copy): likewise.
	(g_xim_encodinginfo_copy): likewise.
	(g_xim_nested_list_get_type): new.

	* libgxim/gximattr.c (g_xim_attr_real_get_attrlist_from_stream): new.
	(g_xim_attr_get_attrlist_from_stream): new.
	(g_xim_im_attr_get_attrlist_from_stream): new.
	(g_xim_ic_attr_get_attrlist_from_stream): new.

	* libgxim/gximprotocol.c (g_xim_protocol_real_open_reply):
	Fix a missing argument.
	(g_xim_protocol_base_class_init): Add missing signals.
	(g_xim_protocol_translate): Implement more.
	(g_xim_protocol_send_vformat): implement more.
	(g_xim_protocol_extension_new): set handler if available.
	(g_xim_protocol_extension_set_handler): new.
	(g_xim_protocol_extension_get_from_stream): new.

	* libgxim/gximsrvconn.c (g_xim_server_connection_open_reply): new.
	(g_xim_server_connection_query_extension_reply): new.

	* libgxim/gximclient.c (g_xim_client_open_im): fail on precheck
	if the initialization process isn't yet finished.

	* libgxim/gximclconn.c (g_xim_client_connection_real_finalize): 
	destroy IM/IC ATTR objects.
	(g_xim_client_protocol_real_open_reply): store the im id and IM/IC
	attrs.
	(g_xim_client_connection_open_im): Use GXimStr instead of gchar * as
	argument.
	(g_xim_client_connection_query_extension): new.

2008-07-31  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_str_put_to_stream): Fix a typo.

	* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add
	a missing signal.

	* libgxim/gximconnection.c (g_xim_connection_setup): connect to
	the signals for GXimProtocol.

	* libgxim/gximsrvconn.c (g_xim_server_connection_connect_reply): new.

	* libgxim/gximcore.c (g_xim_core_real_set_property): Do nothing
	if the value of "proto_signals" is null.

	* libgxim/gximclconn.c (g_xim_client_protocol_real_connect_reply): new.
	(g_xim_client_connection_connect)
	(g_xim_client_connection_open_im): Add an async flag.

	* libgxim/gximmisc.c (g_xim_get_byte_order): new.
	(g_xim_str_append): new.
	(g_xim_str_append_len): new.
	(g_xim_str_put_to_stream): send the length of string within a byte but
	not a word.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event): 
	get rid of @locale= from the property.

	* libgxim/gximprotocol.c (g_xim_protocol_translate): check if there
	are any request to sync up the protocol.
	(g_xim_protocol_send_vformat): implement for GXimStr.
	(g_xim_protocol_wait_for_reply): new.

	* libgxim/gximconnection.c (g_xim_connection_setup): 
	Initialize GXimProtocol before initializing the child interface.

	* libgxim/gximtransport.c (g_xim_transport_set_direction): new for
	debugging purpose only.
	(g_xim_transport_get_direction): likewise.
	(g_xim_transport_dump): show appropriate direction of arrow for server
	and client.

	* libgxim/gximclient.c (g_xim_client_open_im): implemented.

	* libgxim/gximclconn.c (g_xim_client_connection_real_protocol_init):
	Initialize the byte order.
	(g_xim_client_connection_connect): new.
	(g_xim_client_connection_open_im): new.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
	make more controllable to do something outside of class.
	i.e. emit a signal to do so.

	* libgxim/gximclient.c (g_xim_client_real_notify_locales): new.
	(g_xim_client_real_notify_transport): new.

2008-07-30  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_xconnect)
	(g_xim_cl_tmpl_connect_to_server): remove the unnecessary event watch
	and watch the event before sending XIM_XCONNECT.

	* libgxim/gximcore.c (g_xim_core_watch_event): more debugging message.
	(g_xim_core_unwatch_event): likewise.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event):
	get a return value as boolean.
	(g_xim_cl_tmpl_class_init): do not marshal a signal if callback
	returns TRUE.
	(g_xim_cl_tmpl_connect_to_server): watch the event on the comm window.

	* libgxim/gximprotocol.c (g_xim_protocol_translate): 
	get rid of GXimTransport from the signal arguments.

	* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): unwatch the event
	for unnecessary connection.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_constructor): 
	watch the event for the selection window here.
	(g_xim_cl_tmpl_real_dispose): new to unwatch the event.

	* libgxim/gximmessage.c (g_xim_message_real_dispose): new to
	disconnect signals.

	* libgxim/gximconnection.c (g_xim_connection_real_finalize):
	destroy the transport variables.

	* libgxim/gximcore.c (g_xim_core_real_finalize): destroy the allocated
	variables.
	(g_xim_core_watch_event): renamed from g_xim_core_run.
	(g_xim_core_unwatch_event): new.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
	send XIM_XCONNECT after getting the supported transport.
	(g_xim_cl_tmpl_real_client_event, g_xim_cl_tmpl_real_xconnect):
	not deal with GXimConnection here.
	(g_xim_cl_tmpl_init): Add a selection window to the event listener.
	(g_xim_cl_tmpl_connect_to_server): new.
	(g_xim_cl_tmpl_real_xconnect): Update status.
	(g_xim_cl_tmpl_connect_to_server): Update status.

	* libgxim/gximprotocol.c: get rid of GXimTransport from callbacks.
	(g_xim_protocol_send_header, g_xim_protocol_send_fixate_size)
	(g_xim_protocol_send_terminate)
	(g_xim_protocol_extension_closure_marshal_BOOLEAN__OBJECT_OBJECT)
	(g_xim_protocol_process_event, g_xim_protocol_translate)
	(g_xim_protocol_send_packets, g_xim_protocol_send_vformat)
	(g_xim_protocol_send_format, g_xim_protocol_send)
	(g_xim_protocol_send_with_list): get rid of GXimTransport from
	arguments.
	(g_xim_protocol_get_type): Add prerequisite of GXimTransport.
	(g_xim_protocol_init): do not update a finalizer if it's already done.

	* libgxim/gximconnection.c: change the order of registration for
	the interface.

	* libgxim/gximsrvconn.c: get rid of GXimTransport from callbacks.

	* libgxim/gximclient.c (g_xim_client_real_setup_connection):
	new to shut up an warning.

2008-07-26  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_client_event): 
	Fix a typo.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event):
	Fix a typo.

	* libgxim/gximserver.c (g_xim_server_real_setup_connection):
	Fix a typo.

	* libgxim/gximprotocol.c (g_xim_protocol_base_class_init):
	Fix a typo.
	(g_xim_protocol_translate): give a GXimTransport as first argument
	for signal right.

	* libgxim/gximconnection.c (g_xim_connection_protocol_init)
	(g_xim_connection_transport_init): do not initialize the interface
	here.
	(g_xim_connection_setup): new.

	* libgxim/gximtransport.c (g_xim_transport_base_class_init):
	Fix a typo.

	* libgxim/gximcore.c (g_xim_core_setup_connection): lazy-initialization
	for the interface.

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_class_init): Fix a typo.

	* libgxim/gximserver.c (g_xim_server_new): Fix a typo.

	* libgxim/gximconnection.h (struct _GXimConnectionClass): Fix a typo.

	* libgxim/gximclient.c (g_xim_client_new): Fix a typo.

	* libgxim/mkacc.rb (param2typeval): get rid of const from GObject.

	* libgxim/gximserver.c (g_xim_server_real_setup_connection):
	renamed from g_xim_server_real_setup_proc.

	* libgxim/gximconnection.[ch]: connection management class.

	* libgxim/gximcore.c (_weak_notify_proc_cb): removed.
	(g_xim_core_real_setup_connection): renamed from
	g_xim_core_real_setup_proc.
	(g_xim_core_dispatch_events): just emit a client event signal.
	(g_xim_core_real_constructor): create a selection window here.
	(g_xim_core_get_proc): removed.
	(g_xim_core_add_proc): removed.
	(g_xim_core_remove_proc): removed.
	(g_xim_core_get_selection_window): new.
	(g_xim_core_get_connection_gtype): new.
	(g_xim_core_get_protocol_signal_connector): new.
	(g_xim_core_setup_connection): new.

	* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): renamed from
	_weak_notify_proc_cb.
	(g_xim_srv_tmpl_real_setup_proc): obsolete callback. removed.
	(g_xim_srv_tmpl_real_client_event): implemented. now core class
	doesn't take care of this event.
	(g_xim_srv_tmpl_real_xconnect): new handler.
	(g_xim_srv_tmpl_add_connection): new.
	(g_xim_srv_tmpl_remove_connection): new.
	(g_xim_srv_tmpl_lookup_connection): new.
	(g_xim_srv_tmpl_lookup_connection_with_native_window): new.

	* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_setup_proc):
	obsolete callback. removed.
	(g_xim_cl_tmpl_real_client_event): implemented. now core class
	doesn't take care of this event.
	(g_xim_cl_tmpl_real_xconnect): new handler.
	(g_xim_cl_tmpl_start_negotiation): new.

	* libgxim/gximclient.c (g_xim_client_real_selection_notify_event):
	moved to gximcltmpl.c. we don't need to have a special case here.
	(g_xim_client_new): give a connection type instead of protocol type.

	* libgxim/gximclconn.[ch]: client protocol/transport implementation.
	gximclientproto.[ch] would be deprecated by this.

	* libgxim/gximattr.c (g_xim_attr_real_put_attrlist_to_stream):
	Use a macro from gximprotocol.h

	* libgxim/gximprotocol.c (g_xim_protocol_process_event): Fix a typo.

	* libgxim/gximmisc.c (g_xim_string_get_from_stream): Fix a memory leak.
	(g_xim_str_get_from_stream): likewise.
	(g_xim_encodinginfo_get_from_stream): likewise.

	* libgxim/gximtransport.c (g_xim_transport_base_class_init):
	own atoms in the interface for usability reason.

	* libgxim/gximsrvconn.[ch]: server protocol/transport implementation.
	gximserverproto.[ch] would be deprecated by this.

2008-07-25  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximprotocol.[ch]: new interface to deal with the protocol.

	* libgxim/gximtransport.c (g_xim_transport_real_do_create_channel):
	set a default function.
	(g_xim_transport_real_do_get_native_channel): likewise.
	(g_xim_transport_real_do_destroy_channel): likewise.
	(g_xim_transport_real_do_send_via_property): likewise.
	(g_xim_transport_real_do_send_via_cm): likewise.
	(g_xim_transport_real_do_send_via_property_notify): likewise.
	(g_xim_transport_base_class_init): create a messaging class once.
	otherwise just increment a refcount.
	(g_xim_transport_get_native_channel_from): new.

2008-07-24  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): likewise.

	* libgxim/gximcltmpl.c (g_xim_client_real_setup_proc):
	Get the proper root window instead of using the default root window.

	* libgxim/gximmisc.c (g_xim_get_selection_owner): new.
	(g_xim_lookup_xim_server): new.
	(g_xim_lookup_xim_server_from_string): new.
	(g_xim_get_server_atom): new.

	* libgxim/gximcore.c (g_xim_core_real_set_property):
	Create a selection window when the display is set. this fixes
	the incorrect linkage of GdkWindow to GdkDisplay.

	* Makefile.am: Update libgxim-uninstalled.pc as needed.

	* libgxim-uninstalled.pc.in: Require gdk-2.0

	* libgxim.pc.in: likewise.

2008-07-18  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximclient.[ch]: simple client class.

	* libgxim/gximcltmpl.[ch]: client side template class.

	* libgxim/gximclientproto.[ch]: client protocol class.

	* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_send_selection_notify):
	exported.

	* libgxim/gximserver.c (g_xim_server_init): set the callbacks for
	protocol instead of doing that in _new.

	* libgxim/gximmisc.c (g_xim_gtype_to_value_type): support GdkWindow.

	* libgxim/gximprotoproc.c (g_xim_protocol_processor_send_vformat):
	Pass GdkWindow instead of Window.

	* libgxim/gximcore.c (g_xim_core_init): initialize the selection window
	instead of in constructor.
	(g_xim_core_add_proc): exported.

2008-07-13  Akira TAGOH  <akira@tagoh.org>

	* Makefile.am (AUTOMAKE_OPTIONS): Add dist-bzip2.

2008-07-12  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximserver.[ch]: simple server class.

	* libgxim/gximconnection.[ch]: client connection management class.

	* libgxim/gximserverproto.[ch]: server protocol class.

	* libgxim/gximsrvtmpl.[ch]: server side template class.

	* libgxim/gximattr.[ch]: IM/IC attributes class.

	* libgxim/gximprotoproc.[ch]: a class deal with the protocol layer.

2008-07-11  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximtransport.c (g_xim_transport_destroy): clear the data
	in GObject too.

	* libgxim/gximmisc.c (g_xim_get_window): do not increment a reference
	counter here.

	* libgxim/gximcore.c (g_xim_core_class_init): prefer GBoxed instead of
	gpointer.
	(g_xim_core_add_proc): setup to watch the events.

	* libgxim/gximmessage.c (g_xim_message_real_finalize):
	Add more debugging message.

2008-07-10  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximcore.c (g_xim_core_real_set_property): allow one-shot
	update.

	* configure.ac: requires gdk instead of x11.

	* libgxim/gximtransport.[ch]: Too much changes. get rid of X deps to
	be comfortable with Gdk.

	* libgxim/gximmisc.c (g_xim_get_window): new to get GdkWindow from
	GdkNativeWindow.
	(g_xim_styles_get_type): renamed.
	(g_xim_styles_get_error_quark): likewise.
	(g_xim_styles_new): likewise.
	(g_xim_styles_append): likewise.
	(g_xim_styles_copy): likewise.
	(g_xim_styles_free): likewise.
	(g_xim_styles_put_to_stream): likewise.
	(g_xim_styles_put_attributes_to_stream): new.
	(g_xim_string_get_type): new.
	(g_xim_string_new): new.
	(g_xim_string_copy): new.
	(g_xim_string_free): new.
	(g_xim_string_get_string): new.
	(g_xim_string_get_length): new.
	(g_xim_string_put_to_stream): new.
	(g_xim_string_get_from_stream): new.
	(g_xim_str_get_type): new.
	(g_xim_str_new): new.
	(g_xim_str_copy): new.
	(g_xim_str_free): new.
	(g_xim_str_get_string): new.
	(g_xim_str_get_length): new.
	(g_xim_str_put_to_stream): new.
	(g_xim_str_get_from_stream): new.
	(g_xim_encodinginfo_get_type): new.
	(g_xim_encodinginfo_new): new.
	(g_xim_encodinginfo_copy): new.
	(g_xim_encodinginfo_free): new.
	(g_xim_encodinginfo_get_string): new.
	(g_xim_encodinginfo_get_length): new.
	(g_xim_encodinginfo_put_to_stream): new.
	(g_xim_encodinginfo_get_from_stream): new.

	* libgxim/gximcore.[ch]: Too much changes. get rid of X deps to be
	comfortable with Gdk.

2008-07-08  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximtypes.h (enum _GXimValueType): Add internal value type.

	* libgxim/gximcore.[ch]: core class for XIM event handling.

	* libgxim/gximtransport.c (g_xim_transport_destroy): new to destroy
	objects stored in the GObject.

2008-07-07  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximtransport.c (g_xim_transport_dump): show visible chars.

	* libgxim/gximmisc.c (g_xim_init): activate the messaging facility
	if LIBGXIM_DEBUG env is given.
	(g_xim_gtype_to_value_type): new.
	(g_xim_ximstyles_get_type): new.
	(g_xim_ximstyles_get_error_quark): new.
	(g_xim_ximstyles_new): new.
	(g_xim_ximstyles_append): new.
	(g_xim_ximstyles_copy): new.
	(g_xim_ximstyles_free): new.
	(g_xim_ximstyles_put_to_stream): new.

2008-07-01  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximtransport.[ch]: transport layer class.

2008-06-26  Akira TAGOH  <akira@tagoh.org>

	* tests/gximmisc.c (test_g_xim_init): unref the main loop.

	* tests/gximmessage.c (test_g_xim_message_bug): new testcase.

	* libgxim/gximmessage.h (g_xim_message_bug): new macro.

	* libgxim/gximmessage.c (g_xim_message_real_set_property): Fix a typo.
	(g_xim_message_vprintf): output the log anyway if no filters given.
	(g_xim_message_printf): output the priority logs even if the service
	isn't activated.

	* configure.ac: Add a dbus-glib-1 required.

	* tests/main.[ch]: common utility for unit testing.

	* tests/gximmessage.c: testcase for GXimMessage.

	* tests/gximmisc.c: testcase for gximmisc.c

	* libgxim/gximmisc.c (g_xim_init): new function to setup the master
	messaging facility.
	(g_xim_finalize): new to finalize.

	* libgxim/gximmessage.c: Update a lot to have a better machanism to
	sync up among objects and allow to update the state via D-Bus.
	(g_xim_message_sync): removed.

2008-06-19  Akira TAGOH  <akira@tagoh.org>

	* libgxim/mkacc.rb: helper tool to generate accumulator.

	* libgxim/gximmessage.[ch]: new class to deal with the message handling.

2008-06-09  Akira TAGOH  <akira@tagoh.org>

	* libgxim/gximmisc.c (g_xim_str_conv_set_feedback): new function.
	(g_xim_str_conv_get_feedback): likewise.

2008-06-06  Akira TAGOH  <akira@tagoh.org>

	* Makefile.am (ACLOCAL_AMFLAGS): Add aclocal option.

	* configure.ac (AX_CFLAGS_GCC_OPTION): Add -fdiagnostics-show-option
	checking for debugging purpose.

	* libgxim/gximmisc.[ch]: miscellaneous functions.

	* libgxim/gximerror.c (g_xim_error_pop): Fix a typo.

	* libgxim/gximtypes.h: type definitions.

	* libgxim/gximtransport.[ch]: transport layer interface class.

	* configure.ac (AX_CFLAGS_GCC_OPTION): check -fno-strict-aliasing to
	avoid an error for G_LOCK when --enable-compile-warnings=error is given.

	* m4macros/ax_cflags_gcc_option.m4: new from
	http://ac-archive.sourceforge.net/guidod/ax_cflags_gcc_option.html

2008-05-02  Akira TAGOH  <akira@tagoh.org>

	* requires (GTHREAD_REQUIRED): Add gthread requirement.

	* configure.ac: Add --{enable,disable}-rebuilds option.

	* libgxim/gximerror.[ch]: error handling functions.