Changeset 20361
- Timestamp:
- 02/06/09 09:59:12 (2 years ago)
- Files:
-
- trunk/midgard/apis/php5/php_midgard_gobject_generic.c (modified) (2 diffs)
- trunk/midgard/apis/php5/php_midgard_timestamp.c (modified) (1 diff)
- trunk/midgard/apis/php5/php_midgard_timestamp.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/midgard/apis/php5/php_midgard_gobject_generic.c
r20336 r20361 240 240 241 241 case G_TYPE_BOXED: 242 array_init(zvalue); 243 244 if(G_VALUE_TYPE(gvalue) == G_TYPE_VALUE_ARRAY) { 242 243 if (G_VALUE_TYPE(gvalue) == G_TYPE_VALUE_ARRAY) { 244 245 array_init(zvalue); 245 246 246 247 array = (GValueArray *) g_value_get_boxed(gvalue); … … 256 257 add_index_zval(zvalue, i, zarr_val); 257 258 } 259 } 260 261 if (G_VALUE_TYPE(gvalue) == MGD_TYPE_TIMESTAMP) { 262 263 php_midgard_datetime_from_gvalue(gvalue, zvalue); 264 return TRUE; 258 265 } 266 259 267 break; 260 268 trunk/midgard/apis/php5/php_midgard_timestamp.c
r20336 r20361 251 251 } 252 252 253 void php_midgard_datetime_from_gvalue(const GValue *gval, zval *zvalue) 254 { 255 g_assert(gval != NULL); 256 g_assert(zvalue != NULL); 257 g_return_if_fail(G_VALUE_HOLDS(gval, MGD_TYPE_TIMESTAMP)); 258 259 GValue str_val = {0, }; 260 g_value_init(&str_val, G_TYPE_STRING); 261 g_value_transform(gval, &str_val); 262 const gchar *timestamp = g_value_get_string(&str_val); 263 264 if (timestamp == NULL) 265 timestamp = g_strdup(MIDGARD_DEFAULT_DATETIME); 266 267 zval *date; 268 MAKE_STD_ZVAL(date); 269 ZVAL_STRING(date, (gchar *)timestamp, 1); 270 271 g_value_unset(&str_val); 272 273 if (zvalue == NULL) 274 MAKE_STD_ZVAL(zvalue); 275 276 object_init_ex(zvalue, php_midgard_datetime_class); 277 278 zend_call_method_with_1_params(&zvalue, php_midgard_datetime_class, NULL, "__construct", NULL, date); 279 280 return; 281 } 282 253 283 zval *php_midgard_datetime_object_from_property(zval *object, const gchar *property) 254 284 { trunk/midgard/apis/php5/php_midgard_timestamp.h
r20229 r20361 28 28 /* ROUTINES */ 29 29 gboolean php_midgard_is_property_timestamp(MidgardDBObjectClass *klass, const gchar *property); 30 30 31 zend_class_entry *php_midgard_get_datetime_class_ptr(void); 31 32 zend_class_entry *php_midgard_get_date_timezone_class_ptr(void); 33 34 void php_midgard_datetime_from_gvalue(const GValue *gval, zval *zvalue); 35 32 36 zval *php_midgard_datetime_object_from_property(zval *object, const gchar *property); 33 37 zval *php_midgard_datetime_get_timestamp(zval *object); 38 34 39 void php_midgard_datetime_object_from_string(const gchar *date, zval *zvalue); 35 40 zval *php_midgard_string_from_datetime_object(zval *object);
