/* ================================================================= */ static gboolean save_job( GncSqlBackend* be, QofInstance* inst ) { g_return_val_if_fail( inst != NULL, FALSE ); g_return_val_if_fail( GNC_IS_JOB(inst), FALSE ); g_return_val_if_fail( be != NULL, FALSE ); return gnc_sql_commit_standard_item( be, inst, TABLE_NAME, GNC_ID_JOB, col_table ); }
gboolean GNC_IS_OWNER (QofInstance *ent) { if (!ent) return FALSE; return (GNC_IS_VENDOR(ent) || GNC_IS_CUSTOMER(ent) || GNC_IS_EMPLOYEE(ent) || GNC_IS_JOB(ent)); }
gboolean gncJobEqual(const GncJob * a, const GncJob *b) { if (a == NULL && b == NULL) return TRUE; if (a == NULL || b == NULL) return FALSE; g_return_val_if_fail(GNC_IS_JOB(a), FALSE); g_return_val_if_fail(GNC_IS_JOB(b), FALSE); if (g_strcmp0(a->id, b->id) != 0) { PWARN("IDs differ: %s vs %s", a->id, b->id); return FALSE; } if (g_strcmp0(a->name, b->name) != 0) { PWARN("Names differ: %s vs %s", a->name, b->name); return FALSE; } if (g_strcmp0(a->desc, b->desc) != 0) { PWARN("Descriptions differ: %s vs %s", a->desc, b->desc); return FALSE; } if (a->active != b->active) { PWARN("Active flags differ"); return FALSE; } /* FIXME: Need real tests */ #if 0 GncOwner owner; #endif return TRUE; }
static void write_single_job( QofInstance *term_p, gpointer data_p ) { write_objects_t* s = (write_objects_t*)data_p; g_return_if_fail( term_p != NULL ); g_return_if_fail( GNC_IS_JOB(term_p) ); g_return_if_fail( data_p != NULL ); if ( s->is_ok && job_should_be_saved( GNC_JOB(term_p) ) ) { s->is_ok = save_job( s->be, term_p ); } }
static void gnc_job_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GncJob *job; g_return_if_fail(GNC_IS_JOB(object)); job = GNC_JOB(object); switch (prop_id) { case PROP_NAME: g_value_set_string(value, job->name); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } }