static void __mqb_set_metadata(MidgardMetadata *mdata, GdaDataModel *model, gint i) { guint col = 0; const GValue *gvalue; GValue mt = {0, }; /* creator */ gvalue = midgard_data_model_get_value_at(model, ++col, i); midgard_core_metadata_set_creator (mdata, gvalue); /* created */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(created); /* revisor */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_STRING (gvalue)) midgard_core_metadata_set_revisor (mdata, gvalue); /* revised */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(revised); /* revision */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->revision = 0; _SET_METADATA_UINT(mdata->priv->revision, gvalue); /* locker */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_STRING (gvalue)) midgard_core_metadata_set_locker (mdata, gvalue); /* locked */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(locked); /* approver */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_STRING (gvalue)) midgard_core_metadata_set_approver (mdata, gvalue); /* approved */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(approved); /* authors */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_STRING (gvalue)) midgard_core_metadata_set_authors (mdata, gvalue); /* owner */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_STRING (gvalue)) midgard_core_metadata_set_owner (mdata, gvalue); /* schedule_start */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP (schedule_start); /* schedule_end */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP (schedule_end); /* hidden */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->hidden = FALSE; if(G_VALUE_HOLDS_BOOLEAN(gvalue)) { mdata->priv->hidden = g_value_get_boolean(gvalue); } /* nav_noentry */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->nav_noentry = FALSE; if(G_VALUE_HOLDS_BOOLEAN(gvalue)) { mdata->priv->nav_noentry = g_value_get_boolean(gvalue); } /* size */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->size = 0; if(G_VALUE_HOLDS_INT(gvalue)) { mdata->priv->size = (guint) g_value_get_int(gvalue); } /* published */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP (published); /* exported */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(exported); /* imported */ gvalue = midgard_data_model_get_value_at(model, ++col, i); _SET_METADATA_TIMESTAMP(imported); /* deleted */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->deleted = FALSE; if(G_VALUE_HOLDS_BOOLEAN(gvalue)) { mdata->priv->deleted = g_value_get_boolean(gvalue); } /* score */ gvalue = midgard_data_model_get_value_at(model, ++col, i); mdata->priv->score = 0; if(G_VALUE_HOLDS_INT(gvalue)) { mdata->priv->score = g_value_get_int(gvalue); } /* islocked */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_BOOLEAN(gvalue)) { mdata->priv->is_locked = g_value_get_boolean(gvalue); } /* isapproved */ gvalue = midgard_data_model_get_value_at(model, ++col, i); if(G_VALUE_HOLDS_BOOLEAN(gvalue)) { mdata->priv->is_approved = g_value_get_boolean(gvalue); } return; }
void _midgard_metadata_set_from_data_model (MidgardDBObject *self, GdaDataModel *model, gint row, guint column_id) { g_return_if_fail (self != NULL); g_return_if_fail (model != NULL); g_return_if_fail (row > -1); MidgardDBObject *dbobject = MIDGARD_DBOBJECT (MIDGARD_METADATA (self)->priv->object); MgdSchemaTypeAttr *type_attr = MIDGARD_DBOBJECT_GET_CLASS (dbobject)->dbpriv->storage_data; MidgardMetadata *metadata = MIDGARD_METADATA (self); /* creator */ const GValue *val = gda_data_model_get_value_at (model, column_id, row, NULL); midgard_core_metadata_set_creator (metadata, (GValue *) val); /* created */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_created (metadata, val); /* revisor */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_revisor (metadata, val); /* revised */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_revised (metadata, val); /* revision */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_revision (metadata, val); /* locker */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_locker (metadata, val); /* locked */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_locked (metadata, val); /* approver */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_approver (metadata, val); /* approved */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_approved (metadata, val); /* authors */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_authors (metadata, val); /* owner */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_owner (metadata, val); /* schedule_start */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_schedule_start (metadata, val); /* schedule_end */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_schedule_end (metadata, val); /* hidden */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_hidden (metadata, val); /* navnoentry */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_navnoentry (metadata, val); /* size */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_size (metadata, val); /* published */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_published (metadata, val); /* score */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_score (metadata, val); /* imported */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_imported (metadata, val); /* exported */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_exported (metadata, val); /* deleted */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_deleted (metadata, val); /* isapproved */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_isapproved (metadata, val); /* islocked */ val = gda_data_model_get_value_at (model, ++column_id, row, NULL); midgard_core_metadata_set_islocked (metadata, val); }