FLEXTRADE_CSYMMETHOD(addclient) { CSymConnection *csym = NULL; CMySymListener *pListener = NULL; char *symbol; int symbol_len; int err = 0; long flags = 0; char resolved_path[MAXPATHLEN + 1]; zval *msym_obj = getThis(); zval *csym_obj = getThis(); ze_csymconnection_object *ze_obj = NULL; ze_cmysymlistener_object *ze_msym = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &msym_obj) == FAILURE) { return; } if (msym_obj){ ze_msym = (ze_cmysymlistener_object*) zend_object_store_get_object(msym_obj TSRMLS_CC); } if (csym_obj) { ze_obj = (ze_csymconnection_object*) zend_object_store_get_object(csym_obj TSRMLS_CC); } pListener = ze_msym->msym; csym = ze_obj->csym; if (!csym) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create bbox object"); RETURN_FALSE; } if(pListener){ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create MySymListener object"); RETURN_FALSE; } pListener = new CMySymListener(); ze_msym->msym = pListener; csym->AddClient(pListener); RETURN_TRUE; }