Directory, File manipulation:
- g_dir_open, g_dir_close, g_dir_read_name,
- G_FILE_ERROR_*
-
- These will be replaced in io-layer with direct Unix calls.
-
- These will be replaced in metadata with two code paths, native
- Unix and native Windows.
-
- g_unichar_
-
- We probably do not need these anymore, we should kill the unmanaged
- string collation and just leave the unmanaged string collation in
- place.
-
-Routines missing from eglib, by count number:
-
- 82 g_list_prepend
- 59 g_list_free
- 36 g_ptr_array_index
- 29 g_getenv
- 28 g_module_symbol
- 28 g_list_append
- 27 g_build_filename
- 25 g_slist_free
- 24 g_utf16_to_utf8
- 22 g_strsplit
- 22 g_list_length
- 21 g_snprintf
- 21 g_slist_prepend
- 21 g_ptr_array_free
- 21 g_ptr_array_add
- 20 g_utf8_to_utf16
- 17 g_ptr_array_new
- 16 g_list_delete_link
- 15 g_list_remove
- 14 g_list_find
- 13 g_error_free
- 12 g_build_path
- 11 g_module_open
- 11 g_file_test
- 10 g_strlcpy
- 10 g_slist_append
- 10 g_path_get_dirname
- 10 g_ascii_xdigit_value
- 10 g_ascii_isspace
- 10 g_array_index
- 9 g_path_get_basename
- 8 g_module_error
- 8 g_get_home_dir
- 8 g_ascii_strncasecmp
- 7 g_strcasecmp
- 7 g_slist_remove
- 7 g_slist_next
- 7 g_list_reverse
- 6 g_strstrip
- 6 g_slist_find
- 6 g_io_channel_unix_get_fd
- 5 g_timer_elapsed
- 5 g_ptr_array_sort
- 5 g_path_is_absolute
- 5 g_newa
- 5 g_module_build_path
- 5 g_list_first
- 5 g_get_current_dir
- 5 g_file_get_contents
- 5 g_ascii_strcasecmp
- 4 g_unsetenv
- 4 g_strdown
- 4 g_slist_length
- 4 g_get_tmp_dir
- 3 g_utf8_validate
- 3 g_thread_supported
- 3 g_thread_init
- 3 g_spaced_primes_closest
- 3 g_slist_insert_sorted
- 3 g_shell_quote
- 3 g_setenv
- 3 g_locale_to_utf8
- 3 g_list_prepend_mempool
- 3 g_list_next
- 3 g_list_insert_sorted
- 3 g_list_insert_before
- 3 g_list_foreach
- 3 g_file_open_tmp
- 3 g_convert
- 3 g_array_new
- 3 g_array_free
- 2 g_timer_stop
- 2 g_timer_start
- 2 g_timer_new
- 2 g_strreverse
- 2 g_string_append_len
- 2 g_strdelimit
- 2 g_slist_remove_link
- 2 g_slist_append_mempool
- 2 g_slist_alloc
- 2 g_shell_parse_argv
- 2 g_set_prgname
- 2 g_queue_pop_head
- 2 g_queue_is_empty
- 2 g_ptr_array_set_size
- 2 g_ptr_array_remove
- 2 g_printerr
- 2 g_pattern_spec_new
- 2 g_pattern_spec_free
- 2 g_pattern_match_string
- 2 g_markup_parse_context_parse
- 2 g_markup_parse_context_new
- 2 g_markup_parse_context_free
- 2 g_markup_parse_context_end_parse
- 2 g_list_sort
- 2 g_list_index
- 2 g_get_current_time
- 2 g_find_program_in_path
- 2 g_filename_to_uri
- 2 g_filename_from_uri
- 2 g_concat_dir_and_file
- 2 g_ascii_isalpha
- 2 g_array_insert_val
- 2 g_array_append_val
- 1 g_win32_getlocale
- 1 g_timer_destroy
- 1 g_strjoin
- 1 g_string_truncate
- 1 g_string_prepend
- 1 g_strescape
- 1 g_strchug
- 1 g_spawn_command_line_sync
- 1 g_spawn_async_with_pipes
- 1 g_source_unref
- 1 g_source_set_callback
- 1 g_source_remove
- 1 g_source_attach
- 1 g_slist_reverse
- 1 g_slist_free_1
- 1 g_slist_delete_link
- 1 g_shell_unquote
- 1 g_queue_push_head
- 1 g_queue_new
- 1 g_queue_free
- 1 g_module_close
- 1 g_mem_set_vtable
- 1 g_main_loop_run
- 1 g_main_context_new
- 1 g_main_context_iteration
- 1 g_log_set_handler
- 1 g_locale_from_utf8
- 1 g_list_remove_link
- 1 g_list_nth
- 1 g_list_copy
- 1 g_io_create_watch
- 1 g_io_channel_unref
- 1 g_io_channel_unix_new
- 1 g_io_channel_shutdown
- 1 g_io_channel_set_encoding
- 1 g_io_channel_set_buffered
- 1 g_io_channel_get_buffer_condition
- 1 g_io_add_watch
- 1 g_get_user_name
- 1 g_get_prgname
- 1 g_get_charset
- 1 g_filename_from_utf8
- 1 g_bit_nth_msf
- 1 g_ascii_strdown
- 1 g_ascii_isprint
- 1 g_array_remove_index
+ g_dir_open, g_dir_close, g_dir_read_name
+
+ We're missing a native windows implementation. The unix one is in place.
+
+ Locking:
+
+ 5 G_LOCK
+ 5 G_UNLOCK
+
+ These are currently only used for the GC-safe hash table, and
+ we will be replacing that with a copy of our own hashtable.
+
+Important Groups:
+
+ * Markup, used to load config files.
+ 2 g_markup_parse_context_parse
+ 2 g_markup_parse_context_new
+ 2 g_markup_parse_context_free
+ 2 g_markup_parse_context_end_parse
+
+ * Process launching
+ 1 g_spawn_async_with_pipes
+ 3 g_shell_quote
+ 1 g_shell_unquote
+
+ * Thread enabling, these might be just no-ops, check with Paolo/Zoltan
+ 3 g_thread_supported
+ 3 g_thread_init
+
+ * Path string manipulation and utilities.
+ 2 g_filename_to_uri
+ 2 g_filename_from_uri
+
+ * Information retrieval
+ 1 g_get_charset
+ 1 g_win32_getlocale
+
+ * String manipulation
+ 1 g_filename_from_utf8
+ 1 g_ascii_strdown
+ 4 g_strdown
+ 10 g_strlcpy
+ 2 g_strdelimit
+ 1 g_strescape
+
+ * Character encoding
+ 24 g_utf16_to_utf8
+ 20 g_utf8_to_utf16
+ 3 g_utf8_validate
+ 3 g_locale_to_utf8
+ 3 g_convert
+ 1 g_locale_from_utf8
+
+ * Miscelaneous
+ 5 g_newa
+ 3 g_spaced_primes_closest
+ 2 g_set_prgname
+ 2 g_printerr
+ 1 g_mem_set_vtable
+ 1 g_log_set_handler
Macros:
- 124 G_GNUC_PRETTY_FUNCTION
- 40 G_GSIZE_FORMAT
- 40 G_GNUC_UNUSED
- 20 G_LITTLE_ENDIAN
- 16 G_DIR_SEPARATOR_S
- 12 G_BREAKPOINT
- 11 G_MODULE_BIND_LAZY
- 10 G_STMT_START
- 10 G_STMT_END
- 9 G_GUINT64_FORMAT
- 7 G_FILE_TEST_IS_DIR
6 G_UNLIKELY
- 6 G_HASH_TABLE_RESIZE
- 6 G_DIR_SEPARATOR
- 5 G_UNLOCK
- 5 G_LOCK
4 G_LIKELY
- 4 G_GNUC_NORETURN
- 4 G_FILE_TEST_IS_REGULAR
- 3 G_SEARCHPATH_SEPARATOR_S
2 G_USEC_PER_SEC
2 G_STRLOC
- 2 G_IO_NVAL
- 2 G_BIG_ENDIAN
1 G_SPAWN_SEARCH_PATH
- 1 G_IO_PRI
1 G_ALLOC_ONLY
-Unlikely that we will implement:
+* Dead Code
- 2 g_unichar_type
- 2 g_unichar_tolower
+ The GMainLoop code was no longer in use in Mono.