]> saetta.ns0.it Git - zakaudit/libzakaudit/commitdiff
Added functions ::set_[gda_connection|cnc_string]*.
authorAndrea Zagli <azagli@libero.it>
Sun, 22 Dec 2019 10:21:46 +0000 (11:21 +0100)
committerAndrea Zagli <azagli@libero.it>
Sun, 22 Dec 2019 10:21:46 +0000 (11:21 +0100)
src/audit.c
src/libzakaudit.h
tests/test1.c

index bec95fb631176e6c8131dd9ee85fac2a80323d48..8413587c4bfd1436cb2ea55c67d3d8d49623e2ea 100644 (file)
@@ -702,10 +702,76 @@ zak_audit_get_property (GObject *object, guint property_id, GValue *value, GPara
 ZakAudit
 *zak_audit_new_with_datasources (GdaConnection *gda_connection, ...)
 {
+
        va_list ap;
 
        ZakAudit *zak_audit = ZAK_AUDIT (g_object_new (zak_audit_get_type (), NULL));
 
+       va_start (ap, gda_connection);
+
+       if (!zak_audit_set_gda_connection_with_datasources (zak_audit, gda_connection, ap))
+               {
+                       g_clear_object (&zak_audit);
+               }
+
+       return zak_audit;
+}
+
+/**
+ * zak_audit_new_from_string_with_datasources:
+ * @cnc_string: the connection string to the datasource that contains library's tables.
+ * @...: a #NULL terminated list of datasources to load.
+ *
+ * Returns: the newly #ZakAudit object.
+ */
+ZakAudit
+*zak_audit_new_from_string_with_datasources (const gchar *cnc_string, ...)
+{
+       va_list ap;
+
+       ZakAudit *zak_audit = ZAK_AUDIT (g_object_new (zak_audit_get_type (), NULL));
+
+       va_start (ap, cnc_string);
+
+       if (!zak_audit_set_cnc_string_with_datasources (zak_audit, cnc_string, ap))
+               {
+                       g_clear_object (&zak_audit);
+               }
+
+       return zak_audit;
+}
+
+/**
+ * zak_audit_new:
+ * @gda_connection: a #GdaConnection object.
+ *
+ * Returns: the newly #ZakAudit object.
+ */
+ZakAudit
+*zak_audit_new (GdaConnection *gda_connection)
+{
+       return zak_audit_new_with_datasources (gda_connection, NULL);
+}
+
+/**
+ * zak_audit_new_from_string:
+ * @cnc_string: the connection string to the datasource that contains library's tables.
+ *
+ * Returns: the newly #ZakAudit object.
+ */
+ZakAudit
+*zak_audit_new_from_string (const gchar *cnc_string)
+{
+       return zak_audit_new_from_string_with_datasources (cnc_string, NULL);
+}
+
+gboolean
+zak_audit_set_gda_connection_with_datasources (ZakAudit *zak_audit, GdaConnection *gda_connection, ...)
+{
+       va_list ap;
+
+       g_return_val_if_fail (IS_ZAK_AUDIT (zak_audit), FALSE);
+
        ZakAuditPrivate *priv = ZAK_AUDIT_GET_PRIVATE (zak_audit);
 
        priv->gdaex = gdaex_new_from_connection (gda_connection);
@@ -714,7 +780,7 @@ ZakAudit
                {
                        /* TODO */
                        g_warning (_("Error creating GdaEx object."));
-                       return NULL;
+                       return FALSE;
                }
 
        va_start (ap, gda_connection);
@@ -724,27 +790,26 @@ ZakAudit
                {
                        /* TODO */
                        g_warning (_("Error loading datasources."));
-                       return NULL;
+                       return FALSE;
                }
 
        va_end (ap);
 
-       return zak_audit;
+       return TRUE;
 }
 
-/**
- * zak_audit_new_from_string_with_datasources:
- * @cnc_string: the connection string to the datasource that contains library's tables.
- * @...: a #NULL terminated list of datasources to load.
- *
- * Returns: the newly #ZakAudit object.
- */
-ZakAudit
-*zak_audit_new_from_string_with_datasources (const gchar *cnc_string, ...)
+gboolean
+zak_audit_set_gda_connection (ZakAudit *zak_audit, GdaConnection *gda_connection)
+{
+       return zak_audit_set_gda_connection_with_datasources (zak_audit, gda_connection, NULL);
+}
+
+gboolean
+zak_audit_set_cnc_string_with_datasources (ZakAudit *zak_audit, const gchar *cnc_string, ...)
 {
        va_list ap;
 
-       ZakAudit *zak_audit = ZAK_AUDIT (g_object_new (zak_audit_get_type (), NULL));
+       g_return_val_if_fail (IS_ZAK_AUDIT (zak_audit), FALSE);
 
        ZakAuditPrivate *priv = ZAK_AUDIT_GET_PRIVATE (zak_audit);
 
@@ -754,7 +819,7 @@ ZakAudit
                {
                        /* TODO */
                        g_warning (_("Error creating GdaEx object."));
-                       return NULL;
+                       return FALSE;
                }
 
        va_start (ap, cnc_string);
@@ -764,36 +829,24 @@ ZakAudit
                {
                        /* TODO */
                        g_warning (_("Error loading datasources."));
-                       return NULL;
+                       return FALSE;
                }
 
        va_end (ap);
 
-       return zak_audit;
-}
-
-/**
- * zak_audit_new:
- * @gda_connection: a #GdaConnection object.
- *
- * Returns: the newly #ZakAudit object.
- */
-ZakAudit
-*zak_audit_new (GdaConnection *gda_connection)
-{
-       return zak_audit_new_with_datasources (gda_connection, NULL);
+       return TRUE;
 }
 
 /**
- * zak_audit_new_from_string:
+ * zak_audit_set_cnc_string:
  * @cnc_string: the connection string to the datasource that contains library's tables.
  *
- * Returns: the newly #ZakAudit object.
+ * Returns: @TRUE on newly #ZakAudit object.
  */
-ZakAudit
-*zak_audit_new_from_string (const gchar *cnc_string)
+gboolean
+zak_audit_set_cnc_string (ZakAudit *zak_audit, const gchar *cnc_string)
 {
-       return zak_audit_new_from_string_with_datasources (cnc_string, NULL);
+       return zak_audit_set_cnc_string_with_datasources (zak_audit, cnc_string, NULL);
 }
 
 /**
index 26ad18dbc2361ab249837a3455deb69d4ec787fd..05adf426fedee9dc64f600e3183ca78ac1c12e74 100644 (file)
@@ -68,6 +68,12 @@ ZakAudit *zak_audit_new_from_string_with_datasources (const gchar *cnc_string, .
 ZakAudit *zak_audit_new (GdaConnection *gda_connection);
 ZakAudit *zak_audit_new_from_string (const gchar *cnc_string);
 
+gboolean zak_audit_set_gda_connection_with_datasources (ZakAudit *zak_audit,GdaConnection *gda_connection, ...);
+gboolean zak_audit_set_gda_connection (ZakAudit *zak_audit,GdaConnection *gda_connection);
+
+gboolean zak_audit_set_cnc_string_with_datasources (ZakAudit *zak_audit,const gchar *cnc_string, ...);
+gboolean zak_audit_set_cnc_string (ZakAudit *zak_audit,const gchar *cnc_string);
+
 gboolean zak_audit_action (ZakAudit *zak_audit,
                        enum ZakAuditActions action,
                        const gchar *username,
index 505fe1524853386ed7db90b02bfb1c80c4f1d6d1..da1b2f1ffe661ab80435273084c47f38ef71841b 100644 (file)
@@ -64,11 +64,12 @@ main (int argc, char *argv[])
        gtk_init (&argc, &argv);
 
        gdaex = gdaex_new ();
+       audit = g_object_new (TYPE_ZAK_AUDIT, NULL);
 
        ctx = g_option_context_new ("");
        g_option_context_add_main_entries (ctx, entries, "audit_test1");
        g_option_context_add_group (ctx, gdaex_get_option_group (gdaex));
-       //g_option_context_add_group (ctx, zak_audit_get_option_group (g_object_new (TYPE_ZAK_AUDIT, NULL)));
+       g_option_context_add_group (ctx, zak_audit_get_option_group (audit));
        if (!g_option_context_parse (ctx, &argc, &argv, &error))
        {
                g_warning ("Errore nell'analisi della riga comandi: %s.",
@@ -87,7 +88,7 @@ main (int argc, char *argv[])
                        return 0;
                }
 
-       audit = zak_audit_new_from_string_with_datasources (cnc_zakaudit, "audit_test1", NULL);
+       zak_audit_set_cnc_string_with_datasources (audit, cnc_zakaudit, "audit_test1", NULL);
 
        if (audit == NULL)
                {