2006-10-17 Miguel de Icaza <miguel@novell.com>
[mono.git] / eglib / TODO
index 417cf80b7b786585b772073e103e0fb084d5c597..76ac0da7d5346292f460f29ed22e6c99f61ef4ef 100644 (file)
+* Missing code
 
-* Code that we will drop from Mono, because we do not really need this:
+       * Process launching
+             3 g_shell_quote
+             1 g_shell_unquote
 
-  Directory, File manipulation:
+---------------------------------------------------------------------- 
 
-       g_dir_open, g_dir_close, g_dir_read_name,
-       G_FILE_ERROR_*
+* Should implement, for better performance:
+Macros:
+      6 G_UNLIKELY
+      4 G_LIKELY
 
-       These will be replaced in io-layer with direct Unix calls.
+* Unimplemented, not supported currently:
 
-       These will be replaced in metadata with two code paths, native
-       Unix and native Windows.
+               g_unichar_tolower       Used for deprecated unmanaged string collation
+               g_unichar_type          Used for deprecated unmanaged string collation
 
-  g_unichar_
+* Dead Code
 
-       We probably do not need these anymore, we should kill the unmanaged
-       string collation and just leave the unmanaged string collation in
-       place.
+       The GMainLoop code was no longer in use in Mono.
 
-Routines missing from eglib, by count number:
+* Windows implementations needed
 
-     82 g_list_prepend
-     59 g_list_free
-     36 g_ptr_array_index
-     29 g_getenv
-     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_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_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_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_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
+  Directory, File manipulation:
 
-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
-     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
+       g_dir_open, g_dir_close, g_dir_read_name
 
-Unlikely that we will implement:
+  We're missing a native windows implementation. The unix one is in place.
 
-      2 g_unichar_type
-      2 g_unichar_tolower
+     * Information retrieval
+      1 g_win32_getlocale
+