Lines Matching refs:proxy

57 	php_com_saproxy *proxy;  member
90 php_com_saproxy *proxy = SA_FETCH(object); in saproxy_read_dimension() local
98 if (V_VT(&proxy->obj->v) == VT_DISPATCH) { in saproxy_read_dimension()
105 args = safe_emalloc(proxy->dimensions + 1, sizeof(zval), 0); in saproxy_read_dimension()
107 for (i = 1; i < (UINT) proxy->dimensions; i++) { in saproxy_read_dimension()
108 args[i-1] = proxy->indices[i]; in saproxy_read_dimension()
112 convert_to_string(&proxy->indices[0]); in saproxy_read_dimension()
115 res = php_com_do_invoke(proxy->obj, Z_STRVAL(proxy->indices[0]), in saproxy_read_dimension()
116 Z_STRLEN(proxy->indices[0]), DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, in saproxy_read_dimension()
117 proxy->dimensions, args, 0); in saproxy_read_dimension()
120 php_com_zval_from_variant(rv, &v, proxy->obj->code_page); in saproxy_read_dimension()
129 } else if (!V_ISARRAY(&proxy->obj->v)) { in saproxy_read_dimension()
139 sa = V_ARRAY(&proxy->obj->v); in saproxy_read_dimension()
142 if ((UINT) proxy->dimensions >= dims) { in saproxy_read_dimension()
149 SafeArrayGetLBound(sa, proxy->dimensions, &lbound); in saproxy_read_dimension()
150 SafeArrayGetUBound(sa, proxy->dimensions, &ubound); in saproxy_read_dimension()
157 if (dims - 1 == proxy->dimensions) { in saproxy_read_dimension()
169 convert_to_long(&proxy->indices[i]); in saproxy_read_dimension()
170 indices[i] = (LONG)Z_LVAL(proxy->indices[i]); in saproxy_read_dimension()
178 vt = V_VT(&proxy->obj->v) & ~VT_ARRAY; in saproxy_read_dimension()
191 php_com_wrap_variant(rv, &v, proxy->obj->code_page); in saproxy_read_dimension()
208 php_com_saproxy *proxy = SA_FETCH(object); in saproxy_write_dimension() local
213 if (V_VT(&proxy->obj->v) == VT_DISPATCH) { in saproxy_write_dimension()
217 zval *args = safe_emalloc(proxy->dimensions + 2, sizeof(zval), 0); in saproxy_write_dimension()
219 for (i = 1; i < (UINT) proxy->dimensions; i++) { in saproxy_write_dimension()
220 ZVAL_COPY_VALUE(&args[i-1], &proxy->indices[i]); in saproxy_write_dimension()
225 convert_to_string(&proxy->indices[0]); in saproxy_write_dimension()
227 if (SUCCESS == php_com_do_invoke(proxy->obj, Z_STRVAL(proxy->indices[0]), in saproxy_write_dimension()
228 Z_STRLEN(proxy->indices[0]), DISPATCH_PROPERTYPUT, &v, proxy->dimensions + 1, in saproxy_write_dimension()
235 } else if (V_ISARRAY(&proxy->obj->v)) { in saproxy_write_dimension()
239 dims = SafeArrayGetDim(V_ARRAY(&proxy->obj->v)); in saproxy_write_dimension()
243 convert_to_long(&proxy->indices[i]); in saproxy_write_dimension()
244 indices[i] = (LONG)Z_LVAL(proxy->indices[i]); in saproxy_write_dimension()
251 if (FAILED(SafeArrayGetVartype(V_ARRAY(&proxy->obj->v), &vt)) || vt == VT_EMPTY) { in saproxy_write_dimension()
252 vt = V_VT(&proxy->obj->v) & ~VT_ARRAY; in saproxy_write_dimension()
256 php_com_variant_from_zval(&v, value, proxy->obj->code_page); in saproxy_write_dimension()
263 res = SafeArrayPutElement(V_ARRAY(&proxy->obj->v), indices, &v); in saproxy_write_dimension()
265 res = SafeArrayPutElement(V_ARRAY(&proxy->obj->v), indices, &v.lVal); in saproxy_write_dimension()
353 php_com_saproxy *proxy = SA_FETCH(object); in saproxy_count_elements() local
356 if (!V_ISARRAY(&proxy->obj->v)) { in saproxy_count_elements()
360 SafeArrayGetLBound(V_ARRAY(&proxy->obj->v), proxy->dimensions, &lbound); in saproxy_count_elements()
361 SafeArrayGetUBound(V_ARRAY(&proxy->obj->v), proxy->dimensions, &ubound); in saproxy_count_elements()
370 php_com_saproxy *proxy = (php_com_saproxy *)object; in saproxy_free_storage() local
379 zval_ptr_dtor(proxy->zobj); in saproxy_free_storage()
380 efree(proxy->indices); in saproxy_free_storage()
385 php_com_saproxy *proxy = (php_com_saproxy *)Z_OBJ_P(object); in saproxy_clone() local
389 memcpy(cloneproxy, proxy, sizeof(*cloneproxy)); in saproxy_clone()
393 clone_indices(cloneproxy, proxy, proxy->dimensions); in saproxy_clone()
426 php_com_saproxy *proxy, *rel = NULL; in php_com_saproxy_create() local
428 proxy = ecalloc(1, sizeof(*proxy)); in php_com_saproxy_create()
429 proxy->dimensions = 1; in php_com_saproxy_create()
433 proxy->obj = rel->obj; in php_com_saproxy_create()
434 proxy->zobj = rel->zobj; in php_com_saproxy_create()
435 proxy->dimensions += rel->dimensions; in php_com_saproxy_create()
437 proxy->obj = CDNO_FETCH(com_object); in php_com_saproxy_create()
438 proxy->zobj = com_object; in php_com_saproxy_create()
441 Z_ADDREF_P(proxy->zobj); in php_com_saproxy_create()
442 proxy->indices = safe_emalloc(proxy->dimensions, sizeof(zval *), 0); in php_com_saproxy_create()
445 clone_indices(proxy, rel, rel->dimensions); in php_com_saproxy_create()
448 ZVAL_DUP(&proxy->indices[proxy->dimensions-1], index); in php_com_saproxy_create()
450 zend_object_std_init(&proxy->std, php_com_saproxy_class_entry); in php_com_saproxy_create()
451 proxy->std.handlers = &php_com_saproxy_handlers; in php_com_saproxy_create()
452 ZVAL_OBJ(proxy_out, &proxy->std); in php_com_saproxy_create()
483 I->indices[I->proxy->dimensions-1] = I->key; in saproxy_iter_get_data()
485 sa = V_ARRAY(&I->proxy->obj->v); in saproxy_iter_get_data()
488 vt = V_VT(&I->proxy->obj->v) & ~VT_ARRAY; in saproxy_iter_get_data()
500 php_com_wrap_variant(&I->data, &v, I->proxy->obj->code_page); in saproxy_iter_get_data()
538 php_com_saproxy *proxy = SA_FETCH(object); in php_com_saproxy_iter_get() local
550 I->proxy = proxy; in php_com_saproxy_iter_get()
553 I->indices = safe_emalloc(proxy->dimensions + 1, sizeof(LONG), 0); in php_com_saproxy_iter_get()
554 for (i = 0; i < proxy->dimensions; i++) { in php_com_saproxy_iter_get()
555 convert_to_long(&proxy->indices[i]); in php_com_saproxy_iter_get()
556 I->indices[i] = (LONG)Z_LVAL(proxy->indices[i]); in php_com_saproxy_iter_get()
559 SafeArrayGetLBound(V_ARRAY(&proxy->obj->v), proxy->dimensions, &I->imin); in php_com_saproxy_iter_get()
560 SafeArrayGetUBound(V_ARRAY(&proxy->obj->v), proxy->dimensions, &I->imax); in php_com_saproxy_iter_get()