static PHP_METHOD(midgard_query_constraint, set_storage) { zval *z_storage = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &z_storage, php_midgard_query_storage_class) == FAILURE) { return; } MidgardQueryConstraint *constraint = MIDGARD_QUERY_CONSTRAINT(__php_gobject_ptr(getThis())); MidgardQueryStorage *storage = MIDGARD_QUERY_STORAGE(__php_gobject_ptr(z_storage)); zend_bool result = midgard_query_constraint_set_storage(constraint, storage); RETURN_BOOL(result); }
/** * midgard_query_constraint_set_property: * @self: #MidgardQueryConstraint instance * @property: #MidgardQueryProperty to associate with @self constraint * * Returns: %TRUE on success, %FALSE otherwise * Since: 10.05 */ gboolean midgard_query_constraint_set_property (MidgardQueryConstraint *self, MidgardQueryProperty *property) { g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (MIDGARD_IS_QUERY_PROPERTY (property), FALSE); if (self->priv->property_value) g_object_unref (self->priv->property_value); self->priv->property_value = g_object_ref (property); /* set default storage */ if (!self->priv->storage) { MidgardQueryProperty *_p = self->priv->property_value; midgard_query_constraint_set_storage (self, _p->priv->storage); } return TRUE; }
/** * midgard_query_constraint_new: * @property: #MidgardQueryProperty instance * @op: constraint operator * @holder: #MidgardQueryHolder instance * @storage: (allow-none): optional #MidgardQueryStorage to use with constraint * * Valid @op operators are: '=', '<', '>', '!=', '<>', '<=', '>=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN' * * Returns: new #MidgardQueryConstraint instance, or %NULL on failure * Since: 10.05 */ MidgardQueryConstraint * midgard_query_constraint_new (MidgardQueryProperty *property, const gchar *op, MidgardQueryHolder *holder, MidgardQueryStorage *storage) { g_return_val_if_fail (property != NULL, NULL); g_return_val_if_fail (op != NULL, NULL); g_return_val_if_fail (holder != NULL, NULL); GdaSqlOperatorType op_type; if (!__query_constraint_operator_is_valid (op, &op_type)) return NULL; MidgardQueryConstraint *self = g_object_new (MIDGARD_TYPE_QUERY_CONSTRAINT, "property", property, "operator", op, "holder", holder, NULL); /* Allow NULL storage */ if (storage) midgard_query_constraint_set_storage (self, storage); return self; }
static void __midgard_query_constraint_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { MidgardQueryConstraint *self = (MidgardQueryConstraint *) (object); GdaSqlOperatorType op_type; gchar *op; switch (property_id) { case MIDGARD_QUERY_CONSTRAINT_PROPERTY: midgard_query_constraint_set_property (self, g_value_get_object (value)); break; case MIDGARD_QUERY_CONSTRAINT_OP: op = (gchar *)g_value_get_string (value); if (__query_constraint_operator_is_valid (op, &op_type)) { g_free (self->priv->op); self->priv->op = g_strdup (op); self->priv->op_type = op_type; } break; case MIDGARD_QUERY_CONSTRAINT_HOLDER: if (self->priv->holder) g_object_unref (self->priv->holder); self->priv->holder = g_value_dup_object (value); break; case MIDGARD_QUERY_CONSTRAINT_STORAGE: midgard_query_constraint_set_storage (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec); break; } }