2008-07-26 Johan Dahlin reviewed by: * NEWS: 2008-07-26 Johan Dahlin * gobject/Makefile.am (_gobject_la_SOURCES): Build fix, remove extra \ * examples/gio/directory-async.py: * gio/Makefile.am: * gio/giomodule.c (init_gio): * glib/pyglib.c (pyglib_error_check), (pyglib_register_exception_for_domain): * glib/pyglib.h: * tests/test_gio.py: Add a new API for registering exceptions for a GError domain. Register a new exception for G_IO_ERROR, update tests and examples to use the new exception. 2008-07-26 Johan Dahlin * glib/pygoptioncontext.c (pyg_option_context_set_main_group), (pyg_option_context_add_group): Send in a PyObject instead of a PyGOptionGroup object. 2008-07-26 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyglib_register_constants), (init_glib): * glib/option.py: * glib/pyglib.c (pyglib_init), (pyglib_option_group_transfer_group), (pyglib_option_group_new), (pyglib_option_context_new): * glib/pyglib.h: * glib/pygoptioncontext.c (pyg_option_context_parse), (pyg_option_context_set_main_group), (pyg_option_context_add_group), (pyglib_option_context_register_types): * glib/pygoptioncontext.h: * glib/pygoptiongroup.c (arg_func), (pyglib_option_group_register_types): * glib/pygoptiongroup.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (init_gobject): * gobject/option.py: * gobject/pygobject-private.h: * gobject/pygoptioncontext.c: * gobject/pygoptiongroup.c: Move option over from gobject to glib. 2008-07-26 Johan Dahlin * tests/common.py: * tests/test_conversion.py: * tests/test_enum.py: * tests/test_interface.py: * tests/test_option.py: * tests/test_source.py: * tests/test_subprocess.py: * tests/test_subtype.py: * tests/test_thread.py: * tests/test_unknown.py: Run pyflakes on the testsuite, remove unused imports and reorganize others. 2008-07-26 Johan Dahlin * glib/glibmodule.c (pyglib_register_constants), (init_glib): * gobject/__init__.py: * gobject/gobjectmodule.c (init_gobject): Move over glib constants to gobject * tests/test_gio.py: * tests/test_mainloop.py: * tests/test_source.py: * tests/test_subprocess.py: * tests/test_thread.py: Update tests to refer to glib when appropriate 2008-07-26 Johan Dahlin * README: * configure.ac: Bump required glib version to 2.10 2008-07-26 Johan Dahlin * glib/glibmodule.c (child_watch_dnotify), (pyglib_child_watch_add): * glib/pygiochannel.c (pyg_iowatch_data_free), (py_io_channel_add_watch): * glib/pygspawn.c (_pyg_spawn_async_callback), (pyglib_spawn_async): Use g_slice_new instead of g_new 2008-07-25 Johan Dahlin * gobject/Makefile.am: * tests/Makefile.am: Make distcheck pass 2008-07-25 Johan Dahlin * gobject/gobjectmodule.c (init_gobject): * gobject/pygobject-private.h: Remove private structures which moved to pyglib. 2008-07-24 Johan Dahlin Bug 544600 – pygobject building failed since 839 revision, error : "Py_ssize_t" undeclared * glib/pyglib-private.h: Add backward compatibility macros for python 2.4. * gio/gfile.override: * gio/gfileenumerator.override: * gio/ginputstream.override: * gio/gio.defs: * gio/gio.override: * gio/goutputstream.override: * tests/test_gio.py: Wrap gio.File.copy, add tests and documentation. Rename PyGAsyncRequestNotify to PyGIONotify and reuse it. 2008-07-23 Johan Dahlin * glib/pyglib.c (_pyglib_destroy_notify): Rename the function too, not just the prototype! 2008-07-21 Johan Dahlin * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add), (pyglib_timeout_add_seconds), (pyglib_io_add_watch): * glib/pyglib-private.h: * glib/pyglib.c (pyglib_destroy_notify), (_pyglib_handler_marshal): * glib/pyglib.h: * glib/pygsource.c (pyg_source_set_callback): Make pyglib_destroy_notify and pyglib_handler_marshal private. Add a few public prototypes. 2008-07-21 Johan Dahlin * glib/glibmodule.c (pyglib_idle_add), (pyglib_timeout_add), (pyglib_timeout_add_seconds), (pyglib_io_add_watch), (pyglib_source_remove), (pyglib_child_watch_add), (pyglib_markup_escape_text), (pyglib_get_current_time), (pyglib_main_depth), (pyglib_filename_display_name), (pyglib_filename_display_basename), (pyglib_filename_from_utf8), (pyglib_get_application_name), (pyglib_set_application_name), (pyglib_get_prgname), (pyglib_set_prgname), (pyglib_register_api), (pyglib_register_error): Mark as static, rename from pyg_* -> pyglib_*. Fill in api struct, rename struct and remove function suffix. 2008-07-21 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyg_idle_add), (pyg_timeout_add), (pyg_timeout_add_seconds), (pyg_io_add_watch), (pyglib_register_api), (pyglib_register_error), (pyglib_register_version_tuples), (init_glib): * glib/pygiochannel.c (py_io_channel_next), (py_io_channel_shutdown), (py_io_channel_set_encoding), (py_io_channel_read_chars), (py_io_channel_write_chars), (py_io_channel_write_lines), (py_io_channel_flush), (py_io_channel_set_flags), (py_io_channel_read_line), (py_io_channel_read_lines), (py_io_channel_seek), (py_io_channel_init), (pyglib_iochannel_register_types): * glib/pygiochannel.h: * glib/pyglib-private.h: * glib/pyglib.c (pyglib_threads_enabled), (pyglib_gil_state_ensure), (pyglib_gil_state_release), (pyglib_enable_threads), (pyglib_block_threads), (pyglib_unblock_threads), (pyglib_set_thread_block_funcs), (pyglib_handler_marshal), (pyglib_destroy_notify): * glib/pyglib.h: * glib/pygsource.c (pyg_source_set_callback), (pyglib_source_register_types): * glib/pygsource.h: * glib/pygspawn.c (pyglib_spawn_register_types): * glib/pygspawn.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_set_thread_block_funcs), (init_gobject): * gobject/pygiochannel.c: * gobject/pygobject-private.h: * gobject/pygsource.c: Move over Source, IOChannel, Idle, Timeout and PollFD to glib from gobject. Clean up and add a bit of new api for glib. 2008-07-21 Johan Dahlin * configure.ac: Use yes/no instead of true/false. Avoid bashism. Fix another logic bug, and let's hope I didn't break anything 2008-07-20 Paul Pogonyshev * configure.ac (pygobject_CODEGEN_DEFINES): Fix libffi check logic. 2008-07-20 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyglib_main_context_default), (init_glib): * glib/pyglib.c (pyglib_init), (pyglib_threads_enabled), (pyglib_main_context_new): * glib/pyglib.h: * glib/pygmaincontext.c (_wrap_g_main_context_iteration), (pyglib_maincontext_register_types): * glib/pygmaincontext.h: * glib/pygmainloop.c (pyg_signal_watch_prepare), (pyg_signal_watch_check), (pyg_main_loop_new), (_wrap_g_main_loop_get_context), (_wrap_g_main_loop_run), (pyglib_mainloop_register_types): * glib/pygmainloop.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_destroy_notify), (pyobject_free), (pyg_object_set_property), (pyg_object_get_property), (_pyg_signal_accumulator), (pygobject__g_instance_init), (pyg_handler_marshal), (pygobject_gil_state_ensure), (pygobject_gil_state_release), (marshal_emission_hook), (_log_func), (init_gobject): * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_new): * gobject/pygenum.c (pyg_enum_add): * gobject/pygflags.c (pyg_flags_add): * gobject/pygiochannel.c (pyg_iowatch_marshal): * gobject/pygmaincontext.c: * gobject/pygmainloop.c: * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_data_free), (pyg_toggle_notify), (pygobject_new_with_interfaces), (pygobject_weak_ref_notify): * gobject/pygobject.h: * gobject/pygoptiongroup.c (destroy_g_group), (arg_func): * gobject/pygpointer.c (pyg_pointer_new): * gobject/pygsource.c (pyg_source_get_context), (pyg_source_prepare), (pyg_source_check), (pyg_source_dispatch), (pyg_source_finalize): * gobject/pygtype.c (pyg_closure_invalidate), (pyg_closure_marshal), (pyg_signal_class_closure_marshal): * tests/common.py: Move maincontext and mainloop over to glib. Update the threadstate api to use the variant in glib. 2008-07-20 Johan Dahlin * glib/Makefile.am: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_threads_init), (pyg_error_check), (pyg_gerror_exception_check), (init_gobject): * gobject/option.py: Install the glib module, the helper library and the headers. Use it from gobject and remove the old glib specific code from there. 2008-07-20 Johan Dahlin * configure.ac: * gobject/Makefile.am: Use pkg-config to check for libffi again. 2008-07-20 Johan Dahlin * glib/Makefile.am: * glib/glibmodule.c (pyg_main_context_default): * glib/pyglib.c (pyglib_gerror_exception_check): * glib/pyglib.h: Rename helper library to libpyglib-2.0. Move over pyg_gerror_exception_check as well. 2008-07-20 Johan Dahlin * Makefile.am: * configure.ac: * glib/Makefile.am: * glib/__init__.py: * glib/glibmodule.c (pyg_destroy_notify), (get_handler_priority), (pyg_handler_marshal), (pyg_idle_add), (pyg_timeout_add), (pyg_timeout_add_seconds), (iowatch_marshal), (pyg_io_add_watch), (pyg_source_remove), (pyg_main_context_default), (child_watch_func), (child_watch_dnotify), (pyg_child_watch_add), (pyg_markup_escape_text), (pyg_get_current_time), (pyg_main_depth), (pyg_filename_display_name), (pyg_filename_display_basename), (pyg_filename_from_utf8), (pyg_get_application_name), (pyg_set_application_name), (pyg_get_prgname), (pyg_set_prgname), (pyg_register_api), (pyg_register_error), (pyg_register_version_tuples), (init_glib): * glib/pyglib-private.h: * glib/pyglib.c (pyglib_init), (pyglib_init_internal), (pyglib_gil_state_ensure), (pyglib_gil_state_release), (pyglib_enable_threads), (pyglib_gil_state_ensure_py23), (pyglib_gil_state_release_py23), (pyglib_error_check): * glib/pyglib.h: * glib/pygspawn.c (pyg_pid_close), (pyg_pid_free), (pyg_pid_tp_init), (pyg_pid_new), (_pyg_spawn_async_callback), (pyglib_spawn_async), (pyg_spawn_register_types): * glib/pygspawn.h: Add glib bindings, currently not installed or used. Add some internal API and move over a couple of functions from the gobject module. Still very much a work in progress. 2008-07-19 Johan Dahlin * gio/gio.override: Ignore a bunch of functions which are not relevant. 2008-07-19 Johan Dahlin * gio/gfile.override: * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Bind gio.Mount.unmount, gio.File.mount_mountable, gio.File.unmount_mountable and gio.File.mount_enclosing_volume. Add documents and tests. 2008-07-19 Johan Dahlin * gio/gio.override: Set module name back to gio, as setting it to gio._gio breaks pydoc. * gio/gio.defs: Use property based constructors when possible. 2008-07-19 Johan Dahlin * examples/gio/directory-async.py: * gio/gfileenumerator.override: * gio/gio.defs: * tests/test_gio.py: Wrap gio.FileEnumerator.next_files_async/next_files_done. Update the example to use them instead of the synchronous versions, add documentation and tests. 2008-07-19 Johan Dahlin * examples/gio/directory-async.py: Only fetch name, saves a couple of syscalls. * gio/gio.override: Set name to gio._gio so pychecker/pydoc works. 2008-07-18 Johan Dahlin * examples/gio/directory-async.py: * gio/gfile.override: * gio/gfileenumerator.override: * gio/gio.defs: * tests/test_gio.py: Wrap gio.File.enumerate_children_async, add tests, docstring and an example. Also document gio.File.enumerate while we're at it. 2008-07-18 Johan Dahlin * gio/gfile.override: Use %zd instead of %d since it's a Py_ssize_t and not an int. 2008-07-18 Johan Dahlin * gio/pygio-utils.h: define NO_IMPORT_PYGOBJECT before including pygobject.h 2008-07-18 Johan Dahlin * gio/giomodule.c (init_gio): Require pygobject 2.15.2 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Add a pygio_version module attribute (DL_EXPORT): The module is called gio._gio, not just _gio. 2008-07-17 Johan Dahlin * gio/gio-types.defs: Rename gio.IOErrorEnum to gio.ErrorEnum 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Add gio.ERROR which maps to the G_IO_ERROR quark. 2008-07-17 Johan Dahlin * gio/giomodule.c (init_gio): Use the prefix G_IO_ for stripping constants instead of just G_ * gobject/gobjectmodule.c (pyg_constant_strip_prefix): Check so the fist part of name and strip_prefix are the same, if they don't, just strip of the part of strip_prefix which matches. This removes the initial IO_* prefix for some constants in gio. Eg, gio.IO_ERROR_* -> gio.ERROR_* 2008-07-16 Johan Dahlin * configure.ac: Post release version bump