gchar *basedir;
} EmpathyLogManagerPriv;
-static void log_manager_finalize (GObject *object);
static const gchar * log_manager_get_basedir (EmpathyLogManager *manager);
static GList * log_manager_get_all_files (EmpathyLogManager *manager,
const gchar *dir);
G_DEFINE_TYPE (EmpathyLogManager, empathy_log_manager, G_TYPE_OBJECT);
-static void
-empathy_log_manager_class_init (EmpathyLogManagerClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = log_manager_finalize;
-
- g_type_class_add_private (object_class, sizeof (EmpathyLogManagerPriv));
-}
+static EmpathyLogManager * manager_singleton = NULL;
static void
empathy_log_manager_init (EmpathyLogManager *manager)
g_free (priv->basedir);
}
-EmpathyLogManager *
-empathy_log_manager_new (void)
+static GObject *
+log_manager_constructor (GType type,
+ guint n_props,
+ GObjectConstructParam *props)
{
- static EmpathyLogManager *manager = NULL;
+ GObject *retval;
- if (!manager) {
- manager = g_object_new (EMPATHY_TYPE_LOG_MANAGER, NULL);
- g_object_add_weak_pointer (G_OBJECT (manager), (gpointer) &manager);
+ if (manager_singleton) {
+ retval = g_object_ref (manager_singleton);
} else {
- g_object_ref (manager);
+ retval = G_OBJECT_CLASS (empathy_log_manager_parent_class)->constructor
+ (type, n_props, props);
+
+ manager_singleton = EMPATHY_LOG_MANAGER (retval);
+ g_object_add_weak_pointer (retval, (gpointer) &manager_singleton);
}
- return manager;
+ return retval;
+}
+
+static void
+empathy_log_manager_class_init (EmpathyLogManagerClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = log_manager_finalize;
+ object_class->constructor = log_manager_constructor;
+
+ g_type_class_add_private (object_class, sizeof (EmpathyLogManagerPriv));
+}
+
+EmpathyLogManager *
+empathy_log_manager_dup_singleton (void)
+{
+ return g_object_new (EMPATHY_TYPE_LOG_MANAGER, NULL);
}
void
body_str = empathy_message_get_body (message);
msg_type = empathy_message_get_tptype (message);
- if (G_STR_EMPTY (body_str)) {
+ if (EMP_STR_EMPTY (body_str)) {
return;
}
sender = empathy_contact_new_full (account, sender_id, sender_name);
empathy_contact_set_is_user (sender, is_user);
- if (!G_STR_EMPTY (sender_avatar_token)) {
+ if (!EMP_STR_EMPTY (sender_avatar_token)) {
empathy_contact_load_avatar_cache (sender,
sender_avatar_token);
}
gchar *text_casefold;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
- g_return_val_if_fail (!G_STR_EMPTY (text), NULL);
+ g_return_val_if_fail (!EMP_STR_EMPTY (text), NULL);
text_casefold = g_utf8_casefold (text, -1);