Rename g_unix_mount_monitor_new() to _get()

This is a singleton, but we have a function called _new() to get it.
What's worse is that the documentation makes no mention of this, and
actually specifically says that a new monitor will be created each time.

https://bugzilla.gnome.org/show_bug.cgi?id=742599
This commit is contained in:
Ryan Lortie 2015-01-08 02:03:18 -05:00
parent 720274511b
commit 73d4e6f12f
5 changed files with 37 additions and 13 deletions

View File

@ -1556,6 +1556,7 @@ g_unix_mounts_get
g_unix_mount_at
g_unix_mounts_changed_since
g_unix_mount_points_changed_since
g_unix_mount_monitor_get
g_unix_mount_monitor_new
g_unix_mount_monitor_set_rate_limit
g_unix_is_mount_path_system_internal

View File

@ -109,7 +109,7 @@ g_local_directory_monitor_start (GLocalDirectoryMonitor *local_monitor)
if (mount)
g_unix_mount_free (mount);
local_monitor->mount_monitor = g_unix_mount_monitor_new ();
local_monitor->mount_monitor = g_unix_mount_monitor_get ();
g_signal_connect_object (local_monitor->mount_monitor, "mounts-changed",
G_CALLBACK (mounts_changed), local_monitor, 0);
#endif

View File

@ -1514,17 +1514,20 @@ g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor,
}
/**
* g_unix_mount_monitor_new:
* g_unix_mount_monitor_get:
*
* Gets a new #GUnixMountMonitor. The default rate limit for which the
* monitor will report consecutive changes for the mount and mount
* point entry files is the default for a #GFileMonitor. Use
* g_unix_mount_monitor_set_rate_limit() to change this.
* Gets the #GUnixMountMonitor.
*
* Returns: a #GUnixMountMonitor.
*/
* The mount monitor can be used to monitor for changes to the list of
* mounted filesystems as well as the list of mount points (ie: fstab
* entries).
*
* Returns: (transfer full): the #GUnixMountMonitor.
*
* Since: 2.44
**/
GUnixMountMonitor *
g_unix_mount_monitor_new (void)
g_unix_mount_monitor_get (void)
{
if (the_mount_monitor == NULL)
{
@ -1535,6 +1538,24 @@ g_unix_mount_monitor_new (void)
return g_object_ref (the_mount_monitor);
}
/**
* g_unix_mount_monitor_new:
*
* Deprecated alias for g_unix_mount_monitor_get().
*
* This function was never a true constructor, which is why it was
* renamed.
*
* Returns: a #GUnixMountMonitor.
*
* Deprecated:2.44:Use g_unix_mount_monitor_get() instead.
*/
GUnixMountMonitor *
g_unix_mount_monitor_new (void)
{
return g_unix_mount_monitor_get ();
}
/**
* g_unix_mount_free:
* @mount_entry: a #GUnixMountEntry.

View File

@ -126,7 +126,9 @@ gboolean g_unix_mount_points_changed_since (guint64 time);
GLIB_AVAILABLE_IN_ALL
GType g_unix_mount_monitor_get_type (void) G_GNUC_CONST;
GLIB_AVAILABLE_IN_ALL
GLIB_AVAILABLE_IN_2_44
GUnixMountMonitor *g_unix_mount_monitor_get (void);
GLIB_DEPRECATED_IN_2_44_FOR(g_unix_mount_monitor_get)
GUnixMountMonitor *g_unix_mount_monitor_new (void);
GLIB_AVAILABLE_IN_ALL
void g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor,

View File

@ -209,7 +209,7 @@ static void
g_unix_volume_monitor_init (GUnixVolumeMonitor *unix_monitor)
{
unix_monitor->mount_monitor = g_unix_mount_monitor_new ();
unix_monitor->mount_monitor = g_unix_mount_monitor_get ();
g_signal_connect (unix_monitor->mount_monitor,
"mounts-changed", G_CALLBACK (mounts_changed),