diff options
Diffstat (limited to 'ext/hwapi/hwapi.cpp')
| -rw-r--r-- | ext/hwapi/hwapi.cpp | 5023 | 
1 files changed, 0 insertions, 5023 deletions
diff --git a/ext/hwapi/hwapi.cpp b/ext/hwapi/hwapi.cpp deleted file mode 100644 index b595b9b6d2..0000000000 --- a/ext/hwapi/hwapi.cpp +++ /dev/null @@ -1,5023 +0,0 @@ -/* -   +----------------------------------------------------------------------+ -   | PHP Version 5                                                        | -   +----------------------------------------------------------------------+ -   | Copyright (c) 1997-2006 The PHP Group                                | -   +----------------------------------------------------------------------+ -   | This source file is subject to version 3.01 of the PHP license,      | -   | that is bundled with this package in the file LICENSE, and is        | -   | available through the world-wide-web at the following url:           | -   | http://www.php.net/license/3_01.txt                                  | -   | If you did not receive a copy of the PHP license and are unable to   | -   | obtain it through the world-wide-web, please send a note to          | -   | license@php.net so we can mail you a copy immediately.               | -   +----------------------------------------------------------------------+ -   | Authors: Uwe Steinmann                                               | -   +----------------------------------------------------------------------+ - */ - -/* $Id$ */ - -#include <stdlib.h> -#include <errno.h> - -extern "C" -{ -#include "php.h" -#include "php_globals.h" -#include "ext/standard/head.h" -#include "ext/standard/info.h" -#if 0 -#include "ext/standard/php_standard.h" -#include "fopen-wrappers.h" -#endif -#include "SAPI.h" -} - -#ifdef PHP_WIN32 -#include <winsock.h> -#endif -#ifdef HAVE_MMAP  -#include <sys/mman.h> -#endif - -#if HAVE_HWAPI - -static int le_hwapip; -static int le_hwapi_objectp; -static int le_hwapi_attributep; -static int le_hwapi_errorp; -static int le_hwapi_contentp; -static int le_hwapi_reasonp; - -static zend_class_entry *hw_api_class_entry_ptr; -static zend_class_entry *hw_api_object_class_entry_ptr; -static zend_class_entry *hw_api_attribute_class_entry_ptr; -static zend_class_entry *hw_api_error_class_entry_ptr; -static zend_class_entry *hw_api_content_class_entry_ptr; -static zend_class_entry *hw_api_reason_class_entry_ptr; - -#include "php_ini.h" -#include "php_hwapi.h" - -//#ifdef __cplusplus -//extern "C" { -#include <sdk/api/api.h> -#include <sdk/hgcsp/apihgcsp.h> -//} -//#endif - -zend_function_entry hwapi_functions[] = { -	PHP_FE(hwapi_dummy,								NULL) -	PHP_FE(hwapi_init,								NULL) -	PHP_FE(hwapi_hgcsp,								NULL) -	PHP_FE(hwapi_object,								NULL) -	PHP_FE(hwapi_children,								NULL) -	PHP_FE(hwapi_parents,								NULL) -	PHP_FE(hwapi_find,								NULL) -	PHP_FE(hwapi_identify,								NULL) -	PHP_FE(hwapi_remove,								NULL) -	PHP_FE(hwapi_content,								NULL) -	PHP_FE(hwapi_copy,								NULL) -	PHP_FE(hwapi_link,								NULL) -	PHP_FE(hwapi_move,								NULL) -	PHP_FE(hwapi_lock,								NULL) -	PHP_FE(hwapi_unlock,								NULL) -	PHP_FE(hwapi_replace,								NULL) -	PHP_FE(hwapi_object_new,								NULL) -	PHP_FE(hwapi_object_count,								NULL) -	PHP_FE(hwapi_object_title,								NULL) -	PHP_FE(hwapi_object_attreditable,								NULL) -	PHP_FE(hwapi_object_assign,								NULL) -	PHP_FE(hwapi_object_attribute,								NULL) -	PHP_FE(hwapi_object_insert,								NULL) -	PHP_FE(hwapi_object_remove,								NULL) -	PHP_FE(hwapi_object_value,								NULL) -	PHP_FE(hwapi_attribute_new,								NULL) -	PHP_FE(hwapi_attribute_key,								NULL) -	PHP_FE(hwapi_attribute_value,								NULL) -	PHP_FE(hwapi_attribute_values,								NULL) -	PHP_FE(hwapi_attribute_langdepvalue,								NULL) -	PHP_FE(hwapi_content_new,								NULL) -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_functions[] = { -	{"hgcsp", PHP_FN(hwapi_hgcsp), NULL}, -	{"object", PHP_FN(hwapi_object), NULL}, -	{"children", PHP_FN(hwapi_children), NULL}, -	{"mychildren", PHP_FN(hwapi_mychildren), NULL}, -	{"parents", PHP_FN(hwapi_parents), NULL}, -	{"find", PHP_FN(hwapi_find), NULL}, -	{"identify", PHP_FN(hwapi_identify), NULL}, -	{"remove", PHP_FN(hwapi_remove), NULL}, -	{"content", PHP_FN(hwapi_content), NULL}, -	{"copy", PHP_FN(hwapi_copy), NULL}, -	{"link", PHP_FN(hwapi_link), NULL}, -	{"move", PHP_FN(hwapi_move), NULL}, -	{"lock", PHP_FN(hwapi_lock),	NULL}, -	{"unlock", PHP_FN(hwapi_unlock), NULL}, -	{"replace", PHP_FN(hwapi_replace), NULL}, -	{"insert", PHP_FN(hwapi_insert), NULL}, -	{"insertdocument", PHP_FN(hwapi_insertdocument), NULL}, -	{"insertcollection", PHP_FN(hwapi_insertcollection), NULL}, -	{"srcanchors", PHP_FN(hwapi_srcanchors), NULL}, -	{"dstanchors", PHP_FN(hwapi_dstanchors), NULL}, -	{"objectbyanchor", PHP_FN(hwapi_objectbyanchor), NULL}, -	{"dstofsrcanchor", PHP_FN(hwapi_dstofsrcanchor), NULL}, -	{"srcsofdst", PHP_FN(hwapi_srcsofdst), NULL}, -	{"checkin", PHP_FN(hwapi_checkin), NULL}, -	{"checkout", PHP_FN(hwapi_checkout), NULL}, -	{"setcommittedversion", PHP_FN(hwapi_setcommittedversion), NULL}, -	{"revert", PHP_FN(hwapi_revert), NULL}, -	{"history", PHP_FN(hwapi_history), NULL}, -	{"removeversion", PHP_FN(hwapi_removeversion), NULL}, -	{"freeversion", PHP_FN(hwapi_freeversion), NULL}, -	{"configurationhistory", PHP_FN(hwapi_configurationhistory), NULL}, -	{"saveconfiguration", PHP_FN(hwapi_saveconfiguration), NULL}, -	{"restoreconfiguration", PHP_FN(hwapi_restoreconfiguration), NULL}, -	{"removeconfiguration", PHP_FN(hwapi_removeconfiguration), NULL}, -	{"mergeconfiguration", PHP_FN(hwapi_mergeconfiguration), NULL}, -	{"user", PHP_FN(hwapi_user), NULL}, -	{"userlist", PHP_FN(hwapi_userlist), NULL}, -	{"hwstat", PHP_FN(hwapi_hwstat), NULL}, -	{"dcstat", PHP_FN(hwapi_dcstat), NULL}, -	{"dbstat", PHP_FN(hwapi_dbstat), NULL}, -	{"ftstat", PHP_FN(hwapi_ftstat), NULL}, -	{"info", PHP_FN(hwapi_info), NULL}, -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_object_functions[] = { -	{"hw_api_object", PHP_FN(hwapi_object_new), NULL}, -	{"count", PHP_FN(hwapi_object_count), NULL}, -	{"title", PHP_FN(hwapi_object_title), NULL}, -	{"attributeeditable", PHP_FN(hwapi_object_attreditable), NULL}, -	{"assign", PHP_FN(hwapi_object_assign), NULL}, -	{"attribute", PHP_FN(hwapi_object_attribute), NULL}, -	{"insert", PHP_FN(hwapi_object_insert), NULL}, -	{"remove", PHP_FN(hwapi_object_remove), NULL}, -	{"value", PHP_FN(hwapi_object_value), NULL}, -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_attribute_functions[] = { -	{"hw_api_attribute", PHP_FN(hwapi_attribute_new), NULL}, -	{"key", PHP_FN(hwapi_attribute_key), NULL}, -	{"value", PHP_FN(hwapi_attribute_value), NULL}, -	{"values", PHP_FN(hwapi_attribute_values), NULL}, -	{"langdepvalue", PHP_FN(hwapi_attribute_langdepvalue), NULL}, -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_error_functions[] = { -	{"count", PHP_FN(hwapi_error_count), NULL}, -	{"reason", PHP_FN(hwapi_error_reason), NULL}, -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_content_functions[] = { -	{"hw_api_content", PHP_FN(hwapi_content_new), NULL}, -	{"read", PHP_FN(hwapi_content_read), NULL}, -	{"mimetype", PHP_FN(hwapi_content_mimetype), NULL}, -	{NULL, NULL, NULL} -}; - -static zend_function_entry php_hw_api_reason_functions[] = { -	{"type", PHP_FN(hwapi_reason_type), NULL}, -	{"description", PHP_FN(hwapi_reason_description), NULL}, -	{NULL, NULL, NULL} -}; - -void hw_api_class_startup(); -void hw_api_object_class_startup(); -void hw_api_attribute_class_startup(); -void hw_api_error_class_startup(); -void hw_api_content_class_startup(); -void hw_api_reason_class_startup(); -static zval *php_hwapi_object_new(void *obj, int rsrc_type); - -zend_module_entry hwapi_module_entry = { -	STANDARD_MODULE_HEADER, -	"hwapi", -	hwapi_functions, -	PHP_MINIT(hwapi), -	NULL, -	NULL, -	NULL, -	PHP_MINFO(hwapi), -	NO_VERSION_YET, -	STANDARD_MODULE_PROPERTIES -}; - -#ifdef ZTS -int hwapi_globals_id; -#else -PHP_HWAPI_API zend_hwapi_globals hwapi_globals; -#endif - -#ifdef COMPILE_DL_HWAPI -ZEND_GET_MODULE(hwapi) -#endif - -static void print_reason(const HW_API_Reason& reason) { -	HW_API_String str_type; -	switch(reason.type()) { -		case HW_API_Reason::HW_API_ERROR: -			str_type = "Error"; -			break; -		case HW_API_Reason::HW_API_WARNING: -			str_type = "Warning"; -			break; -		case HW_API_Reason::HW_API_MESSAGE: -			str_type = "Message"; -			break; -	} -	fprintf(stderr, "%s: %s\n", str_type.string(), reason.description("en").string()); -} - -static void print_error(const HW_API_Error& error) { -	for (int i=0; i < error.count(); i++) { -		HW_API_Reason reason; -		error.reason(i, reason); -		print_reason(reason); -	} -} - -static void print_object(const HW_API_Object& object) { -	fprintf(stderr, "%s\n", object.title("en").string()); -	for (int i=0; i < object.count(); i++) { -		HW_API_Attribute attrib; -		object.attribute(i, attrib); -		fprintf(stderr, "%s=%s\n", attrib.key().string(), attrib.value().string()); -	} -} - -static void php_hwapi_init_globals(zend_hwapi_globals *hwapi_globals) { -} - -static void php_free_hwapi(zend_rsrc_list_entry *rsrc) { -	HW_API *obj; - -	obj = (HW_API *) (rsrc->ptr); -	delete obj; -} - -static void php_free_hwapi_object(zend_rsrc_list_entry *rsrc) { -	HW_API_Object *obj; - -	obj = (HW_API_Object *) (rsrc->ptr); -	delete obj; -} - -static void php_free_hwapi_attribute(zend_rsrc_list_entry *rsrc) { -	HW_API_Attribute *obj; - -	obj = (HW_API_Attribute *) (rsrc->ptr); -	if(obj) -		delete obj; -} - -static void php_free_hwapi_error(zend_rsrc_list_entry *rsrc) { -	HW_API_Error *obj; - -	obj = (HW_API_Error *) (rsrc->ptr); -	if(obj) -		delete obj; -} - -static void php_free_hwapi_content(zend_rsrc_list_entry *rsrc) { -	HW_API_Content *obj; - -	obj = (HW_API_Content *) (rsrc->ptr); -	if(obj) -		delete obj; -} - -static void php_free_hwapi_reason(zend_rsrc_list_entry *rsrc) { -	HW_API_Reason *obj; - -	obj = (HW_API_Reason *) (rsrc->ptr); -	if(obj) -		delete obj; -} - -static void print_hwapi_stringarray(const HW_API_StringArray& strings) { -	for(int i=0; i<strings.count(); i++) { -		HW_API_String str; -		strings.string(i, str); -		fprintf(stderr, "%s\n", str.string()); -	} -} - -static int stringArray2indexArray(zval **return_value, HW_API_StringArray *values) { -	array_init(*return_value); -	for (int i=0; i<values->count(); i++) { -		HW_API_String str; -		values->string(i, str); -		str.string(); -		add_next_index_string(*return_value, (char *) str.string(), 1); -	} -	return 1; -} - -static int objectArray2indexArray(zval **return_value, HW_API_ObjectArray *objarr) { -	array_init(*return_value); - -	for(int i=0; i<objarr->count(); i++) { -		zval *child; -		HW_API_Object obj, *objp; -		objarr->object(i, obj); -		objp = new HW_API_Object(obj); -		child = php_hwapi_object_new(objp, le_hwapi_objectp); -		add_next_index_zval(*return_value, child); -	} -	return 1; -} - -static void *php_hwapi_get_object(zval *wrapper, int rsrc_type1) { -	void *obj; -	zval **handle; -	int type; - -	if (Z_TYPE_P(wrapper) != IS_OBJECT) { -		php_error_docref(NULL TSRMLS_CC, E_ERROR, "Wrapper is not an object"); -	} -	if (zend_hash_find(Z_OBJPROP_P(wrapper), "this", sizeof("this"), (void **)&handle) == FAILURE) { -		php_error_docref(NULL TSRMLS_CC, E_ERROR, "Underlying object missing"); -	} - -	obj = zend_list_find(Z_LVAL_PP(handle), &type); -	if (!obj || (type != rsrc_type1)) { -		php_error_docref(NULL TSRMLS_CC, E_ERROR, "Underlying object missing or of invalid type"); -	} -	return obj; -} - -static zval *php_hwapi_object_new(void *obj, int rsrc_type) { -	zval *wrapper, *handle; -	int ret; - -	MAKE_STD_ZVAL(wrapper); -	if (!obj) { -		ZVAL_NULL(wrapper); -		return wrapper; -	} - -	/* construct an object with some methods */ -	if(rsrc_type == le_hwapi_attributep) -		object_init_ex(wrapper, hw_api_attribute_class_entry_ptr); -	else if(rsrc_type == le_hwapi_objectp) -		object_init_ex(wrapper, hw_api_object_class_entry_ptr); -	else if(rsrc_type == le_hwapip) -		object_init_ex(wrapper, hw_api_class_entry_ptr); -	else if(rsrc_type == le_hwapi_errorp) -		object_init_ex(wrapper, hw_api_error_class_entry_ptr); -	else if(rsrc_type == le_hwapi_contentp) -		object_init_ex(wrapper, hw_api_content_class_entry_ptr); -	else if(rsrc_type == le_hwapi_reasonp) -		object_init_ex(wrapper, hw_api_reason_class_entry_ptr); - -	MAKE_STD_ZVAL(handle); -	ZEND_REGISTER_RESOURCE(handle, obj, rsrc_type); -	zend_hash_update(Z_OBJPROP_P(wrapper), "this", sizeof("this"), &handle, sizeof(zval *), NULL); -	return(wrapper); -} - -static HW_API_StringArray *make_HW_API_StringArray(HashTable *lht) { -	int count, j; -	HW_API_StringArray *sarr; - -	sarr = new HW_API_StringArray(); - -	count = zend_hash_num_elements(lht); -	zend_hash_internal_pointer_reset(lht); -	for(j=0; j<count; j++) { -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		switch((*keydata)->type) { -			case IS_STRING: -				sarr->insert((HW_API_String) (*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return sarr; -} - -static HW_API_object_In *make_HW_API_object_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_object_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_object_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_children_In *make_HW_API_children_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_children_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_children_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_parents_In *make_HW_API_parents_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_parents_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_parents_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_find_In *make_HW_API_find_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_find_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_find_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "keyQuery")) -					in->setKeyQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "fullTextQuery")) -					in->setFullTextQuery((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "startIndex")) -					in->setStartIndex((*keydata)->value.lval); -				else if(!strcmp(key, "numberOfObjectsToGet")) -					in->setNumberOfObjectsToGet((*keydata)->value.lval); -				else if(!strcmp(key, "exactMatchLimit")) -					in->setExactMatchLimit((*keydata)->value.lval); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} else if(!strcmp(key, "languages")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setLanguages(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} else if(!strcmp(key, "scope")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setScope(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} - -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_identify_In *make_HW_API_identify_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_identify_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_identify_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "username")) -					in->setUsername((*keydata)->value.str.val); -				else if(!strcmp(key, "password")) -					in->setPassword((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_remove_In *make_HW_API_remove_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_remove_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_remove_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "parentIdentifier")) -					in->setParentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_content_In *make_HW_API_content_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_content_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_content_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_copy_In *make_HW_API_copy_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_copy_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_copy_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "destinationParentIdentifier")) -					in->setDestinationParentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_link_In *make_HW_API_link_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_link_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_link_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "destinationParentIdentifier")) -					in->setDestinationParentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_move_In *make_HW_API_move_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_move_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_move_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "destinationParentIdentifier")) -					in->setDestinationParentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "sourceParentIdentifier")) -					in->setSourceParentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_lock_In *make_HW_API_lock_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_lock_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_lock_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_unlock_In *make_HW_API_unlock_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_unlock_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_unlock_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_replace_In *make_HW_API_replace_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_replace_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_replace_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_OBJECT: { -				zend_class_entry *ce; -				ce = zend_get_class_entry(*keydata); -				if(!strcmp(key, "object")) { -//					if(!((*keydata)->value.obj.ce->name, "hw_api_object")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setObject(*obj); -					} -				} else if(!strcmp(key, "parameters")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setParameters(*obj); -					} -				} else if(!strcmp(key, "content")) { -					if(!strcmp(ce->name, "hw_api_content")) { -						HW_API_Content *obj; -						obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); -						in->setContent(*obj); -					} -				} -				/* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ -				break; -				} -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_insert_In *make_HW_API_insert_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_insert_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_insert_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_OBJECT: { -				zend_class_entry *ce; -				ce = zend_get_class_entry(*keydata); -				if(!strcmp(key, "object")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setObject(*obj); -					} -				} else if(!strcmp(key, "parameters")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setParameters(*obj); -					} -				} else if(!strcmp(key, "content")) { -					if(!strcmp(ce->name, "hw_api_content")) { -						HW_API_Content *obj; -						obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); -						in->setContent(*obj); -					} -				} -				/* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ -				break; -				} -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_insertDocument_In *make_HW_API_insertDocument_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_insertDocument_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_insertDocument_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_OBJECT: { -				zend_class_entry *ce; -				ce = zend_get_class_entry(*keydata); -				if(!strcmp(key, "object")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setObject(*obj); -					} -				} else if(!strcmp(key, "parameters")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setParameters(*obj); -					} -				} else if(!strcmp(key, "content")) { -					if(!strcmp(ce->name, "hw_api_content")) { -						HW_API_Content *obj; -						obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); -						in->setContent(*obj); -					} -				} -				/* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ -				break; -				} -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -				} -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -			case IS_STRING: -				if(!strcmp(key, "parentIdentifier")) -					in->setParentIdentifier((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_insertCollection_In *make_HW_API_insertCollection_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_insertCollection_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_insertCollection_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "parentIdentifier")) -					in->setParentIdentifier((*keydata)->value.str.val); -				break; -			case IS_OBJECT: { -				zend_class_entry *ce; -				ce = zend_get_class_entry(*keydata); -				if(!strcmp(key, "object")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setObject(*obj); -					} -				} else if(!strcmp(key, "parameters")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setParameters(*obj); -					} -				} -				/* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ -				break; -				} -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_insertAnchor_In *make_HW_API_insertAnchor_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_insertAnchor_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_insertAnchor_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "documentIdentifier")) -					in->setDocumentIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "destinationIdentifier")) -					in->setDestinationIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "hint")) -					in->setHint((*keydata)->value.str.val); -				break; -			case IS_OBJECT: { -				zend_class_entry *ce; -				ce = zend_get_class_entry(*keydata); -				if(!strcmp(key, "object")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setObject(*obj); -					} -				} else if(!strcmp(key, "parameters")) { -					if(!strcmp(ce->name, "hw_api_object")) { -						HW_API_Object *obj; -						obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); -						in->setParameters(*obj); -					} -				} -				/* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ -				break; -				} -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_srcAnchors_In *make_HW_API_srcAnchors_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_srcAnchors_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_srcAnchors_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_dstAnchors_In *make_HW_API_dstAnchors_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_dstAnchors_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_dstAnchors_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_dstOfSrcAnchor_In *make_HW_API_dstOfSrcAnchor_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_dstOfSrcAnchor_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_dstOfSrcAnchor_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_objectByAnchor_In *make_HW_API_objectByAnchor_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_objectByAnchor_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_objectByAnchor_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_srcsOfDst_In *make_HW_API_srcsOfDst_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_srcsOfDst_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_srcsOfDst_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly by freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_checkIn_In *make_HW_API_checkIn_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_checkIn_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_checkIn_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				else if(!strcmp(key, "comment")) -					in->setComment((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_checkOut_In *make_HW_API_checkOut_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_checkOut_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_checkOut_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_setCommittedVersion_In *make_HW_API_setCommittedVersion_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_setCommittedVersion_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_setCommittedVersion_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_revert_In *make_HW_API_revert_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_revert_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_revert_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "objectQuery")) -					in->setObjectQuery((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_history_In *make_HW_API_history(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_history_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_history_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -/*				else if(!strcmp(key, "objectQuery")) -					in->objectQuery((*keydata)->value.str.val);*/ -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_removeVersion_In *make_HW_API_removeVersion_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_removeVersion_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_removeVersion_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_freeVersion_In *make_HW_API_freeVersion_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_freeVersion_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_freeVersion_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_configurationHistory_In *make_HW_API_configurationHistory_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_configurationHistory_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_configurationHistory_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_saveConfiguration_In *make_HW_API_saveConfiguration_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_saveConfiguration_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_saveConfiguration_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				else if(!strcmp(key, "comment")) -					in->setComment((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_restoreConfiguration_In *make_HW_API_restoreConfiguration_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_restoreConfiguration_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_restoreConfiguration_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_removeConfiguration_In *make_HW_API_removeConfiguration_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_removeConfiguration_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_removeConfiguration_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_mergeConfiguration_In *make_HW_API_mergeConfiguration_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_mergeConfiguration_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_mergeConfiguration_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_STRING: -				if(!strcmp(key, "objectIdentifier")) -					in->setObjectIdentifier((*keydata)->value.str.val); -				else if(!strcmp(key, "version")) -					in->setVersion((*keydata)->value.str.val); -				break; -			case IS_LONG: -				if(!strcmp(key, "mode")) -					in->setMode((*keydata)->value.lval); -				break; -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_user_In *make_HW_API_user_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_user_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_user_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_userlist_In *make_HW_API_userlist_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_userlist_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_userlist_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_hwStat_In *make_HW_API_hwStat_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_hwStat_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_hwStat_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_dcStat_In *make_HW_API_dcStat_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_dcStat_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_dcStat_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_dbStat_In *make_HW_API_dbStat_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_dbStat_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_dbStat_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_ftStat_In *make_HW_API_ftStat_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_ftStat_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_ftStat_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -static HW_API_info_In *make_HW_API_info_In(zval *arg1) { -	int count, i; -	HashTable *lht; -	HW_API_info_In *in; - -	lht = arg1->value.ht; - -	if(0 == (count = zend_hash_num_elements(lht))) { -		return NULL; -	} - -	in = new HW_API_info_In(); - -	zend_hash_internal_pointer_reset(lht); -	for(i=0; i<count; i++) { -		ulong ind; -		char *key; -		zval **keydata; -		zend_hash_get_current_data(lht, (void **) &keydata); -		zend_hash_get_current_key(lht, &key, &ind, 0); -		switch((*keydata)->type) { -			case IS_ARRAY: { -				HW_API_StringArray *sarr; - -				if(!strcmp(key, "attributeSelector")) { -					sarr = make_HW_API_StringArray((*keydata)->value.ht); -					in->setAttributeSelector(*sarr); -					/* FIXME: sarr can be propperly be freed now */ -				} -				break; -			} -		} -		zend_hash_move_forward(lht); -	} -	return(in); -} - -PHP_INI_BEGIN() -//	STD_PHP_INI_ENTRY("hwapi.allow_persistent", "0", PHP_INI_SYSTEM, OnUpdateLong, allow_persistent, zend_hwapi_globals, hwapi_globals) -PHP_INI_END() - -PHP_MINIT_FUNCTION(hwapi) { -	ZEND_INIT_MODULE_GLOBALS(hwapi, php_hwapi_init_globals, NULL); - -	le_hwapip = zend_register_list_destructors_ex(php_free_hwapi, NULL, "hw_api", module_number); -	le_hwapi_attributep = zend_register_list_destructors_ex(php_free_hwapi_attribute, NULL, "hw_api_attribute", module_number); -	le_hwapi_objectp = zend_register_list_destructors_ex(php_free_hwapi_object, NULL, "hw_api_object", module_number); -	le_hwapi_errorp = zend_register_list_destructors_ex(php_free_hwapi_error, NULL, "hw_api_error", module_number); -	le_hwapi_contentp = zend_register_list_destructors_ex(php_free_hwapi_content, NULL, "hw_api_content", module_number); -	le_hwapi_reasonp = zend_register_list_destructors_ex(php_free_hwapi_reason, NULL, "hw_api_reason", module_number); -	hw_api_class_startup(); -	hw_api_object_class_startup(); -	hw_api_attribute_class_startup(); -	hw_api_error_class_startup(); -	hw_api_content_class_startup(); -	hw_api_reason_class_startup(); - -	REGISTER_LONG_CONSTANT("HW_API_REMOVE_NORMAL", HW_API_remove_In::NORMAL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REMOVE_PHYSICAL", HW_API_remove_In::PHYSICAL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REMOVE_REMOVELINKS", HW_API_remove_In::REMOVELINKS, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REMOVE_NONRECURSIVE", HW_API_remove_In::NONRECURSIVE, CONST_CS | CONST_PERSISTENT); - -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_NORMAL", HW_API_replace_In::NORMAL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_FORCE_VERSION_CONTROL", HW_API_replace_In::FORCE_VERSION_CONTROL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_AUTOMATIC_CHECKOUT", HW_API_replace_In::AUTOMATIC_CHECKOUT, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_AUTOMATIC_CHECKIN", HW_API_replace_In::AUTOMATIC_CHECKIN, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_PLAIN", HW_API_replace_In::PLAIN, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_REVERT_IF_NOT_CHANGED", HW_API_replace_In::REVERT_IF_NOT_CHANGED, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REPLACE_KEEP_TIME_MODIFIED", HW_API_replace_In::KEEP_TIME_MODIFIED, CONST_CS | CONST_PERSISTENT); - -	REGISTER_LONG_CONSTANT("HW_API_INSERT_NORMAL", HW_API_insert_In::NORMAL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_INSERT_FORCE_VERSION_CONTROL", HW_API_insert_In::FORCE_VERSION_CONTROL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_INSERT_AUTOMATIC_CHECKOUT", HW_API_insert_In::AUTOMATIC_CHECKOUT, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_INSERT_PLAIN", HW_API_insert_In::PLAIN, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_INSERT_KEEP_TIME_MODIFIED", HW_API_insert_In::KEEP_TIME_MODIFIED, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_INSERT_DELAY_INDEXING", HW_API_insert_In::DELAY_INDEXING, CONST_CS | CONST_PERSISTENT); - -	REGISTER_LONG_CONSTANT("HW_API_LOCK_NORMAL", HW_API_lock_In::NORMAL, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_LOCK_RECURSIVE", HW_API_lock_In::RECURSIVE, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_LOCK_SESSION", HW_API_lock_In::SESSION, CONST_CS | CONST_PERSISTENT); - -	REGISTER_LONG_CONSTANT("HW_API_CONTENT_ALLLINKS", HW_API_content_In::ALLLINKS, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_CONTENT_REACHABLELINKS", HW_API_content_In::REACHABLELINKS, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_CONTENT_PLAIN", HW_API_content_In::PLAIN, CONST_CS | CONST_PERSISTENT); - -	REGISTER_LONG_CONSTANT("HW_API_REASON_ERROR", HW_API_Reason::HW_API_ERROR, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REASON_WARNING", HW_API_Reason::HW_API_WARNING, CONST_CS | CONST_PERSISTENT); -	REGISTER_LONG_CONSTANT("HW_API_REASON_MESSAGE", HW_API_Reason::HW_API_MESSAGE, CONST_CS | CONST_PERSISTENT); - -	/* Make sure there are at least default values, though the MessageFilePath -	 * is bogus. If it isn't set at all the web server dies. -	 */ -	HW_API_init_In initargs; -	initargs.setArgv0("PHP HWAPI"); -	initargs.setMessageFilePath(""); -	HW_API::init(initargs); - -	return SUCCESS; -} - -PHP_MINFO_FUNCTION(hwapi) { -	php_info_print_table_start(); -	php_info_print_table_row(2, "Hyperwave API Support", "enabled"); -	php_info_print_table_end(); -} - -/* {{{ proto bool hwapi_dummy(int link, int id, int msgid) -   Hyperwave dummy function */ -PHP_FUNCTION(hwapi_dummy) { -	zval **arg1, **arg2, **arg3; -	int link, id, type, msgid; - -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_init(string hostname, int port) -   Hyperwave initialisation */ -PHP_FUNCTION(hwapi_init) { -	zval **argv[2], *id; -	HW_API_init_In initargs; -	HW_API_init_Out out; -	int ret; -	HW_API_HGCSP *db; -	zval *rv; -	int argc = ZEND_NUM_ARGS(); - -	if (((argc < 1) || (argc > 2)) || zend_get_parameters_array_ex(argc, argv) == FAILURE) { -		WRONG_PARAM_COUNT; -	} - -	id = getThis(); - -	convert_to_string_ex(argv[0]); -	initargs.setArgv0("PHP HWAPI"); -	initargs.setMessageFilePath(Z_STRVAL_PP(argv[0])); -	if(argc == 2) { -		convert_to_string_ex(argv[1]); -		initargs.setWhatString(Z_STRVAL_PP(argv[1])) ; -	} -	if(id) { -		db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); -		if(!db) { -			RETURN_FALSE; -		} -		out = db->init(initargs); -	} else { -		out = HW_API::init(initargs); -	} - -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto string hwapi_hgcsp(string hostname, int port) -    */ -PHP_FUNCTION(hwapi_hgcsp) { -	zval **argv[2]; -	HW_API_HGCSP *db; -	zval *rv; -	int argc = ZEND_NUM_ARGS(); - -	if (((argc < 1) || (argc > 2)) || zend_get_parameters_array_ex(argc, argv) == FAILURE) { -		WRONG_PARAM_COUNT; -	} - -	convert_to_string_ex(argv[0]); -	if(argc == 2) { -		convert_to_long_ex(argv[1]); -		db = new HW_API_HGCSP(Z_STRVAL_PP(argv[0]), Z_LVAL_PP(argv[1])); -	} else { -		db = new HW_API_HGCSP(Z_STRVAL_PP(argv[0])); -	} - -	rv = php_hwapi_object_new((HW_API_HGCSP *) db, le_hwapip); -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -//	ret = zend_list_insert(db, le_hwapip); - -	/* construct an object with some methods */ -//	object_init_ex(return_value, hw_api_class_entry_ptr); -//	add_property_resource(return_value, "this", ret); -} -/* }}} */ - -/* {{{ proto object hwapi_object(array object_in) -    */ -PHP_FUNCTION(hwapi_object) { -	zval **arg1, *rv, *id; -	HW_API_Object *newobj; -	HW_API_object_In *in; -	HW_API_object_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_object_In(*arg1); - -	out = db->object(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	//Frage: Diese Zeile erzeugt erst mit dem Konstruktor von HW_API_Object -	//eine Kopie und danach durch das assign. Wie kann man das verhindern. -	newobj = new HW_API_Object(); -	*newobj = out.object(); -//	newobj = new HW_API_Object(out.object()); - -	rv = php_hwapi_object_new(newobj, le_hwapi_objectp); -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto array hwapi_mychildren(string parameters) -    */ -PHP_FUNCTION(hwapi_mychildren) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_children_In *in; -	HW_API_children_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_string_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = new HW_API_children_In(); -	in->setObjectIdentifier(Z_STRVAL_PP(arg1)); -	out = db->children(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	array_init(return_value); - -	for(i=0; i<objarr.count(); i++) { -		zval *child; -		HW_API_Object obj, *objp; -		objarr.object(i, obj); -		objp = new HW_API_Object(obj); -		child = php_hwapi_object_new(objp, le_hwapi_objectp); -		add_next_index_zval(return_value, child); -	} -	return; -	for(i=0; i<objarr.count(); i++) { -		HW_API_Object obj; -		HW_API_Attribute attr; -		objarr.object(i, obj); -		obj.attribute("GOid", attr); -		add_next_index_string(return_value, (char *) attr.value().string(), 1); -	} -} -/* }}} */ - -/* {{{ proto object hwapi_children(array parameters) -   */ -PHP_FUNCTION(hwapi_children) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_children_In *in; -	HW_API_children_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_children_In(*arg1); - -	out = db->children(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_parents(array parameters) -    */ -PHP_FUNCTION(hwapi_parents) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_parents_In *in; -	HW_API_parents_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_parents_In(*arg1); - -	out = db->parents(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto array hwapi_find(array parameters) -   Finds objects */ -PHP_FUNCTION(hwapi_find) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_find_In *in; -	HW_API_find_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_find_In(*arg1); - -	out = db->find(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	}  -	objarr = (HW_API_ObjectArray) out.objects(); - -	/* FIXME: No a good idea to return just the objects. There is actually -	 * more to return. Changing this to an object of type hw_api_find_out would -	 * mean to change hw_api_parents() and hw_api_children() as well. */ -	array_init(return_value); - -	/* FIXME: More than just the list of objects is returned by find() */ -	if(0 == objectArray2indexArray(&rv, &objarr)) { -		RETURN_FALSE; -	} -	zend_hash_add(return_value->value.ht, "objects", 8, &rv, sizeof(zval *), NULL); -	add_assoc_long(return_value, "endIndex", out.endIndex()); -	add_assoc_bool(return_value, "haveMore", out.haveMore() ? true : false); -	add_assoc_long(return_value, "numberOfThingsFound", out.numberOfThingsFound()); -} -/* }}} */ - -/* {{{ proto bool hwapi_identify(array parameters) -   Hyperwave dummy function */ -PHP_FUNCTION(hwapi_identify) { -	zval **arg1, *id, *rv; -	HW_API_identify_In *in; -	HW_API_identify_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_identify_In(*arg1); - -	out = db->identify(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	printf("hwapi_identify\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_remove(array parameters) -   Remove an object */ -PHP_FUNCTION(hwapi_remove) { -	zval **arg1, *id, *rv; -	HW_API_remove_In *in; -	HW_API_remove_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_remove_In(*arg1); - -	out = db->remove(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	printf("hwapi_remove\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto object hwapi_content(array parameters) -   Retrieve content of object */ -PHP_FUNCTION(hwapi_content) { -	zval **arg1, *id, *rv; -	HW_API_content_In *in; -	HW_API_content_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_content_In(*arg1); - -	out = db->content(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Content *content = new HW_API_Content(out.content()); -		rv = php_hwapi_object_new(content, le_hwapi_contentp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_copy(array parameters) -    */ -PHP_FUNCTION(hwapi_copy) { -	zval **arg1, *id, *rv; -	HW_API_copy_In *in; -	HW_API_copy_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_copy_In(*arg1); - -	out = db->copy(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new((HW_API_Object*) object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_copy\n"); -} -/* }}} */ - -/* {{{ proto bool hwapi_link(array parameters) -   Hyperwave dummy function */ -PHP_FUNCTION(hwapi_link) { -	zval **arg1, *id, *rv; -	HW_API_link_In *in; -	HW_API_link_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_link_In(*arg1); - -	out = db->link(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	printf("hwapi_link\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_move(array parameters) -    */ -PHP_FUNCTION(hwapi_move) { -	zval **arg1, *id, *rv; -	HW_API_move_In *in; -	HW_API_move_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_move_In(*arg1); - -	out = db->move(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} - -	printf("hwapi_move\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_lock(array parameters) -    */ -PHP_FUNCTION(hwapi_lock) { -	zval **arg1, *id, *rv; -	HW_API_lock_In *in; -	HW_API_lock_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_lock_In(*arg1); - -	out = db->lock(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} -	 -	printf("hwapi_lock\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_unlock(array parameters) -    */ -PHP_FUNCTION(hwapi_unlock) { -	zval **arg1, *id, *rv; -	HW_API_unlock_In *in; -	HW_API_unlock_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_unlock_In(*arg1); - -	out = db->unlock(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} -	 -	printf("hwapi_unlock\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto object hwapi_replace(array parameters) -    */ -PHP_FUNCTION(hwapi_replace) { -	zval **arg1, *id, *rv; -	HW_API_replace_In *in; -	HW_API_replace_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_replace_In(*arg1); - -	out = db->replace(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_insert(array parameters) -    */ -PHP_FUNCTION(hwapi_insert) { -	zval **arg1, *id, *rv; -	HW_API_insert_In *in; -	HW_API_insert_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_insert_In(*arg1); - -	out = db->insert(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_insertdocument(array parameters) -    */ -PHP_FUNCTION(hwapi_insertdocument) { -	zval **arg1, *id, *rv; -	HW_API_insertDocument_In *in; -	HW_API_insertDocument_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_insertDocument_In(*arg1); - -	out = db->insertDocument(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -	 -	printf("hwapi_insertdocument\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_insertcollection(array parameters) -    */ -PHP_FUNCTION(hwapi_insertcollection) { -	zval **arg1, *id, *rv; -	HW_API_insertCollection_In *in; -	HW_API_insertCollection_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_insertCollection_In(*arg1); - -	out = db->insertCollection(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) &err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -	 -	printf("hwapi_insertcollection\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_insertanchor(array parameters) -    */ -PHP_FUNCTION(hwapi_insertanchor) { -	zval **arg1, *id, *rv; -	HW_API_insertAnchor_In *in; -	HW_API_insertAnchor_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_insertAnchor_In(*arg1); - -	out = db->insertAnchor(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -	 -	printf("hwapi_insertanchor\n"); -} -/* }}} */ - -/* {{{ proto array hwapi_srcanchors(array parameters) -    */ -PHP_FUNCTION(hwapi_srcanchors) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_srcAnchors_In *in; -	HW_API_srcAnchors_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_srcAnchors_In(*arg1); - -	out = db->srcAnchors(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto array hwapi_dstanchors(array parameters) -    */ -PHP_FUNCTION(hwapi_dstanchors) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_dstAnchors_In *in; -	HW_API_dstAnchors_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_dstAnchors_In(*arg1); - -	out = db->dstAnchors(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_objectbyanchor(array parameters) -    */ -PHP_FUNCTION(hwapi_objectbyanchor) { -	zval **arg1, *id, *rv; -	HW_API_objectByAnchor_In *in; -	HW_API_objectByAnchor_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_objectByAnchor_In(*arg1); -	/* FIXME: return value of any make_HW_API_xxx function should be checked -	 * for NULL -	 */ - -	out = db->objectByAnchor(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_objectbyanchor\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_dstofsrcanchor(array parameters) -    */ -PHP_FUNCTION(hwapi_dstofsrcanchor) { -	zval **arg1, *id, *rv; -	HW_API_dstOfSrcAnchor_In *in; -	HW_API_dstOfSrcAnchor_Out out; -	HW_API_HGCSP *db; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_dstOfSrcAnchor_In(*arg1); - -	out = db->dstOfSrcAnchor(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_dstofsrcanchor\n"); -} -/* }}} */ - -/* {{{ proto array hwapi_srcsofdst(array parameters) -    */ -PHP_FUNCTION(hwapi_srcsofdst) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_srcsOfDst_In *in; -	HW_API_srcsOfDst_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_srcsOfDst_In(*arg1); - -	out = db->srcsOfDst(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_checkin(array parameters) -   Checking in a document */ -PHP_FUNCTION(hwapi_checkin) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_checkIn_In *in; -	HW_API_checkIn_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_checkIn_In(*arg1); - -	out = db->checkIn(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_TRUE; -	} - -	printf("hwapi_checkin\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_checkout(array parameters) -   Checking out a document */ -PHP_FUNCTION(hwapi_checkout) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_checkOut_In *in; -	HW_API_checkOut_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_checkOut_In(*arg1); - -	out = db->checkOut(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_TRUE; -	} - -	printf("hwapi_checkout\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_setcommittedversion(array parameters) -   setcommittedversion */ -PHP_FUNCTION(hwapi_setcommittedversion) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_setCommittedVersion_In *in; -	HW_API_setCommittedVersion_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_setCommittedVersion_In(*arg1); - -	out = db->setCommittedVersion(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_setcommittedversion\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_revert(array parameters) -   Reverting to a former document */ -PHP_FUNCTION(hwapi_revert) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_revert_In *in; -	HW_API_revert_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_revert_In(*arg1); - -	out = db->revert(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_TRUE; -	} - -	printf("hwapi_revert\n"); -} -/* }}} */ - -/* {{{ proto array hwapi_history(array parameters) -   history */ -PHP_FUNCTION(hwapi_history) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_history_In *in; -	HW_API_history_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_history(*arg1); - -	out = db->history(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_removeversion(array parameters) -   Reverting to a former document */ -PHP_FUNCTION(hwapi_removeversion) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_removeVersion_In *in; -	HW_API_removeVersion_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_removeVersion_In(*arg1); - -	out = db->removeVersion(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_TRUE; -	} - -	printf("hwapi_removeversion\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_freeversion(array parameters) -   freeversion */ -PHP_FUNCTION(hwapi_freeversion) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_freeVersion_In *in; -	HW_API_freeVersion_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_freeVersion_In(*arg1); - -	out = db->freeVersion(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_freeversion\n"); -} -/* }}} */ - -/* {{{ proto array hwapi_configurationhistory(array parameters) -   Returns configuration history of object */ -PHP_FUNCTION(hwapi_configurationhistory) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_configurationHistory_In *in; -	HW_API_configurationHistory_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_configurationHistory_In(*arg1); - -	out = db->configurationHistory(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_saveconfiguration(array parameters) -   Save configuration for an object */ -PHP_FUNCTION(hwapi_saveconfiguration) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_saveConfiguration_In *in; -	HW_API_saveConfiguration_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_saveConfiguration_In(*arg1); - -	out = db->saveConfiguration(*in); -	delete in; -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_saveconfiguration\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_restoreconfiguration(array parameters) -   Restore configuration for an object */ -PHP_FUNCTION(hwapi_restoreconfiguration) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_restoreConfiguration_In *in; -	HW_API_restoreConfiguration_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_restoreConfiguration_In(*arg1); - -	out = db->restoreConfiguration(*in); -	delete in; -	if (!out.error().error()) { -		RETURN_STRING((char *) (out.progressIdentifier().string()), 1); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_restoreconfiguration\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_mergeconfiguration(array parameters) -   Merge configuration for an object */ -PHP_FUNCTION(hwapi_mergeconfiguration) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_mergeConfiguration_In *in; -	HW_API_mergeConfiguration_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_mergeConfiguration_In(*arg1); - -	out = db->mergeConfiguration(*in); -	delete in; -	if (!out.error().error()) { -		RETURN_STRING((char *) (out.progressIdentifier().string()), 1); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_mergeconfiguration\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_removeconfiguration(array parameters) -   Removes configuration */ -PHP_FUNCTION(hwapi_removeconfiguration) { -	zval **arg1, *id, *rv; -	HW_API_ObjectArray objarr; -	HW_API_removeConfiguration_In *in; -	HW_API_removeConfiguration_Out out; -	HW_API_HGCSP *db; -	int i; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_array_ex(arg1); - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	in = make_HW_API_removeConfiguration_In(*arg1); - -	out = db->removeConfiguration(*in); -	delete in; -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_TRUE; -	} - -	printf("hwapi_removeconfiguration\n"); -} -/* }}} */ - -/* {{{ proto object hwapi_user(array parameters) -   Returns information about user */ -PHP_FUNCTION(hwapi_user) { -	zval **arg1, *id, *rv; -	HW_API_user_In *in; -	HW_API_user_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->user(HW_API_user_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_user_In(*arg1); -			if(NULL == in) -				out = db->user(HW_API_user_In()); -			else -				out = db->user(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -} -/* }}} */ - -/* {{{ proto array hwapi_userlist(array parameters) -   Returns list of login in users */ -PHP_FUNCTION(hwapi_userlist) { -	zval **arg1, *id, *rv; -	HW_API_userlist_In *in; -	HW_API_userlist_Out out; -	HW_API_ObjectArray objarr; -	HW_API_HGCSP *db; -	int i; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->userlist(HW_API_userlist_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_userlist_In(*arg1); -			if(NULL == in) -				out = db->userlist(HW_API_userlist_In()); -			else -				out = db->userlist(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (out.error().error()) { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new((HW_API_Error *) err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		objarr = (HW_API_ObjectArray) out.objects(); -	} - -	objectArray2indexArray(&return_value, &objarr); -} -/* }}} */ - -/* {{{ proto object hwapi_hwstat(array parameters) -   Returns information about hgserver */ -PHP_FUNCTION(hwapi_hwstat) { -	zval **arg1, *id, *rv; -	HW_API_hwStat_In *in; -	HW_API_hwStat_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->hwStat(HW_API_hwStat_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_hwStat_In(*arg1); -			if(NULL == in) -				out = db->hwStat(HW_API_hwStat_In()); -			else -				out = db->hwStat(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_dcstat(array parameters) -   Returns information about hgserver */ -PHP_FUNCTION(hwapi_dcstat) { -	zval **arg1, *id, *rv; -	HW_API_dcStat_In *in; -	HW_API_dcStat_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->dcStat(HW_API_dcStat_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_dcStat_In(*arg1); -			if(NULL == in) -				out = db->dcStat(HW_API_dcStat_In()); -			else -				out = db->dcStat(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_dbstat(array parameters) -   Returns information about hgserver */ -PHP_FUNCTION(hwapi_dbstat) { -	zval **arg1, *id, *rv; -	HW_API_dbStat_In *in; -	HW_API_dbStat_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->dbStat(HW_API_dbStat_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_dbStat_In(*arg1); -			if(NULL == in) -				out = db->dbStat(HW_API_dbStat_In()); -			else -				out = db->dbStat(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto object hwapi_ftstat(array parameters) -   Returns information about ftserver */ -PHP_FUNCTION(hwapi_ftstat) { -	zval **arg1, *id, *rv; -	HW_API_ftStat_In *in; -	HW_API_ftStat_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->ftStat(HW_API_ftStat_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_ftStat_In(*arg1); -			if(NULL == in) -				out = db->ftStat(HW_API_ftStat_In()); -			else -				out = db->ftStat(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_Object *object = new HW_API_Object(out.object()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -	} -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto array hwapi_info(array parameters) -   Returns information about server */ -PHP_FUNCTION(hwapi_info) { -	zval **arg1, *id, *rv, *rv1, *rv2, *rv3; -	HW_API_info_In *in; -	HW_API_info_Out out; -	HW_API_HGCSP *db; -	int argc; - -	id = getThis(); -	db = (HW_API_HGCSP *) php_hwapi_get_object(id, le_hwapip); - -	if(!db) { -		RETURN_FALSE; -	} - -	argc = ZEND_NUM_ARGS(); -	switch(argc) { -		case 0: -			out = db->info(HW_API_info_In()); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_array_ex(arg1); -			in = make_HW_API_info_In(*arg1); -			if(NULL == in) -				out = db->info(HW_API_info_In()); -			else -				out = db->info(*in); -			delete in; -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	if (!out.error().error()) { -		HW_API_StringArray languages, customidx, systemidx; -		array_init(return_value); -		HW_API_Object *object = new HW_API_Object(out.typeInfo()); -		rv = php_hwapi_object_new(object, le_hwapi_objectp); -		zend_hash_add(return_value->value.ht, "typeInfo", 9, &rv, sizeof(zval *), NULL); -		languages = out.languages(); -		MAKE_STD_ZVAL(rv1); -		if(0 == stringArray2indexArray(&rv1, &languages)) -			RETURN_FALSE; -		zend_hash_add(return_value->value.ht, "languages", 10, &rv1, sizeof(zval *), NULL); -		customidx = out.customIdx(); -		MAKE_STD_ZVAL(rv2); -		if(0 == stringArray2indexArray(&rv2, &customidx)) -			RETURN_FALSE; -		zend_hash_add(return_value->value.ht, "customIdx", 10, &rv2, sizeof(zval *), NULL); -		systemidx = out.systemIdx(); -		MAKE_STD_ZVAL(rv3); -		if(0 == stringArray2indexArray(&rv3, &systemidx)) -			RETURN_FALSE; -		zend_hash_add(return_value->value.ht, "systemIdx", 10, &rv3, sizeof(zval *), NULL); -	} else { -		HW_API_Error *err = new HW_API_Error(out.error()); -		rv = php_hwapi_object_new(err, le_hwapi_errorp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -	} -} -/* }}} */ - -/* {{{ proto object hwapi_object_new() -   Creates new HW_API_Object */ -PHP_FUNCTION(hwapi_object_new) { -	zval **arg1, **arg2, *rv; -	HW_API_Object *obj; -	const HW_API_Object *srcobj; -	int ret; - -	switch(ZEND_NUM_ARGS()) { -		case 0: -			obj = new HW_API_Object(); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) -				WRONG_PARAM_COUNT; -				srcobj = (const HW_API_Object *) php_hwapi_get_object(*arg1, le_hwapi_objectp); -				obj = new HW_API_Object(*srcobj); -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	rv = php_hwapi_object_new(obj, le_hwapi_objectp); -//zend_print_zval_r(rv, 0); -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto int hwapi_object_count() -   Counts number of attributes of an HW_API_Object */ -PHP_FUNCTION(hwapi_object_count) { -	zval *id, **tmp; -	HW_API_Object *objp; -	int value; - -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); - -	if(!objp) { -		RETURN_FALSE; -	} -	value = objp->count(); - -	RETURN_LONG(value); -} -/* }}} */ - -/* {{{ proto string hwapi_object_title(string language) -   Returns title of HW_API_Object for given language */ -PHP_FUNCTION(hwapi_object_title) { -	zval **arg1, *id, **tmp; -	HW_API_Object *objp; -	char *value; - -	if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); - -	convert_to_string_ex(arg1); - -	// Warning: It is import to duplicate the string before RETURN. -	// If that is not done the HW_API_String destructor will be called -	// before RETURN_STRING can duplicate the string. -	value = (char *) estrdup(objp->title(Z_STRVAL_PP(arg1)).string()); - -	RETURN_STRING(value, 0); -} -/* }}} */ - -/* {{{ proto bool hwapi_object_attreditable(int attr, string username, bool is_system) -   Hyperwave object_attreditable function */ -PHP_FUNCTION(hwapi_object_attreditable) { -	zval *id, **arg1, **arg2, **arg3; -	HW_API_Object *objp; -	HW_API_Attribute *attrp; -	bool value; - -	if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); -	convert_to_string_ex(arg2); -	convert_to_long_ex(arg3); -	switch(Z_TYPE_PP(arg1)) { -		case IS_STRING: -			convert_to_string_ex(arg1); -			value = objp->attributeEditable((char *) Z_STRVAL_PP(arg1), (char *) Z_STRVAL_PP(arg2), (bool) Z_LVAL_PP(arg3)); -			break; -		case IS_OBJECT: -			attrp = (HW_API_Attribute *) php_hwapi_get_object(*arg1, le_hwapi_attributep); -			value = objp->attributeEditable(*attrp, (char *) Z_STRVAL_PP(arg2), (bool) Z_LVAL_PP(arg3)); -			break; -	} -	if(value) { -		RETURN_TRUE; -	} else { -		RETURN_FALSE; -	} -} -/* }}} */ - -/* {{{ proto bool hwapi_object_assign(int object) -   Hyperwave object_assign function */ -PHP_FUNCTION(hwapi_object_assign) { -	zval *id, **arg1, **arg2; - -	printf("hwapi_object_assign\n"); -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto object hwapi_object_attribute(int index, object &attribute) -   Hyperwave object_attribute function */ -PHP_FUNCTION(hwapi_object_attribute) { -	zval **arg1, *id, *rv; -	HW_API_Attribute *attrp, attr; -	HW_API_Object *objp; -	int error; - -	if ((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} - -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); -	if(!objp) { -		RETURN_FALSE; -	} - -	switch(Z_TYPE_PP(arg1)) { -		case IS_LONG: -			error = objp->attribute(Z_LVAL_PP(arg1), attr); -			break; -		case IS_STRING: -			error = objp->attribute(HW_API_String(Z_STRVAL_PP(arg1)), attr); -			break; -		default: -			php_error_docref(NULL TSRMLS_CC, E_WARNING, "HW_API_Object::attribute() needs string or long as parameter"); -			RETURN_FALSE; -	} - -	if(error) { -		attrp = new HW_API_Attribute(attr); -		rv = php_hwapi_object_new(attrp, le_hwapi_attributep); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_FALSE; -	} -} -/* }}} */ - -/* {{{ proto bool hwapi_object_insert(object attr) -   Inserts new HW_API_Attribute into HW_API_Object */ -PHP_FUNCTION(hwapi_object_insert) { -	zval **arg1, *id; -	HW_API_Object *objp; -	HW_API_Attribute *attrp; -	char *value; - -	if (ZEND_NUM_ARGS() != 1 || (zend_get_parameters_ex(1, &arg1) == FAILURE)) { -		WRONG_PARAM_COUNT; -	} -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); -	if(!objp) { -		RETURN_FALSE; -	} -	attrp = (HW_API_Attribute *) php_hwapi_get_object(*arg1, le_hwapi_attributep); - -	objp->insert(*attrp); - -	RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto bool hwapi_object_remove(string name) -   Removes HW_API_Attribute with given name from HW_API_Object */ -PHP_FUNCTION(hwapi_object_remove) { -	zval **arg1, *id, **tmp; -	HW_API_Object *objp; -	int error; - -	if ((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_string_ex(arg1); -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); -	if(!objp) { -		RETURN_FALSE; -	} - -	error = objp->remove(Z_STRVAL_PP(arg1)); - -	if(!error) { -		RETURN_TRUE; -	} else { -		RETURN_FALSE; -	} -} -/* }}} */ - -/* {{{ proto string hwapi_object_value(string name) -   Returns attribute value of given attribute */ -PHP_FUNCTION(hwapi_object_value) { -	zval **arg1, *id; -	HW_API_Object *objp; -	HW_API_Attribute *attrp; -	HW_API_String value; -	int error; - -	if ((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &arg1) == FAILURE) { -		WRONG_PARAM_COUNT; -	} -	convert_to_string_ex(arg1); -	id = getThis(); -	objp = (HW_API_Object *) php_hwapi_get_object(id, le_hwapi_objectp); -	if(!objp) { -		RETURN_FALSE; -	} - -	error = objp->value((HW_API_String) Z_STRVAL_PP(arg1), value); - -	printf("hwapi_object_value\n"); -	if(error) { -		char *str = (char *) estrdup(value.string()); -		RETURN_STRING(str, 0); -	} else { -		RETURN_FALSE; -	} -} -/* }}} */ - -/* {{{ proto object hwapi_attribute_new([string name][, string value]) -   Creates new HW_API_Attribute */ -PHP_FUNCTION(hwapi_attribute_new) { -	zval *rv, **arg1, **arg2; -	HW_API_Attribute *attrp; -	int ret; - -	/* FIXME: I'm not sure if the constructor of HW_API_Attribute takes normal C-Strings -	 * or if it has to be HW_API_String. Currently C-Strings are passed. -	 */ -	switch(ZEND_NUM_ARGS()) { -		case 0: -			break; -			attrp = new HW_API_Attribute(); -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_string_ex(arg1); -			attrp = new HW_API_Attribute(Z_STRVAL_PP(arg1)); -			break; -		case 2: //* FIXME: Second Parameter can be string or array of strings -			if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_string_ex(arg1); -			switch((*arg2)->type) { -				case IS_ARRAY: { -					HashTable *lht = (*arg2)->value.ht; -					int i, count; -					HW_API_StringArray values; -					if(NULL == lht) -						RETURN_FALSE; - -					if(0 == (count = zend_hash_num_elements(lht))) { -						attrp = new HW_API_Attribute(Z_STRVAL_PP(arg1)); -						break; -					} -					zend_hash_internal_pointer_reset(lht); -					for(i=0; i<count; i++) { -						zval *keydata, **keydataptr; -						zend_hash_get_current_data(lht, (void **) &keydataptr); -						/* FIXME: just hope this doesn't do any harm. Maybe convert_to_string -						 * changes the type of the array element */ -						convert_to_string_ex(keydataptr); -						keydata = *keydataptr; -						values.insert(keydata->value.str.val); -						zend_hash_move_forward(lht); -					} -					attrp = new HW_API_Attribute(Z_STRVAL_PP(arg1), values); -					break; -				} -				default: -					convert_to_string_ex(arg2); -					attrp = new HW_API_Attribute(Z_STRVAL_PP(arg1), Z_STRVAL_PP(arg2)); -			} -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	rv = php_hwapi_object_new(attrp, le_hwapi_attributep); -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); - -	printf("hwapi_attribute_new\n"); -} -/* }}} */ - -/* {{{ proto string hwapi_attribute_key(void) -   Returns key of an hwapi_attribute */ -PHP_FUNCTION(hwapi_attribute_key) { -	zval *id; -	HW_API_Attribute *attrp; -	char *value; - -	id = getThis(); -	attrp = (HW_API_Attribute *) php_hwapi_get_object(id, le_hwapi_attributep); -	 -	// Warning: It is import to duplicate the string before RETURN. -	// If that is not done the HW_API_String destructor will be called -	// before RETURN_STRING can duplicate the string. -	value = (char *) estrdup((attrp->key()).string()); - -	RETURN_STRING(value, 0); -} -/* }}} */ - -/* {{{ proto string hwapi_attribute_value(void) -   Returns value of hw_api_attribute */ -PHP_FUNCTION(hwapi_attribute_value) { -	zval *id; -	HW_API_Attribute *attrp; -	char *value; - -	id = getThis(); -	attrp = (HW_API_Attribute *) php_hwapi_get_object(id, le_hwapi_attributep); - -	// Warning: It is import to duplicate the string before RETURN. -	// If that is not done the HW_API_String destructor will be called -	// before RETURN_STRING can duplicate the string. -	value = (char *) estrdup(attrp->value().string()); - -	RETURN_STRING(value, 0); -} -/* }}} */ - -/* {{{ proto array hwapi_attribute_values(void) -   Returns all values of an attribute as an array */ -PHP_FUNCTION(hwapi_attribute_values) { -	zval *id, **tmp; -	HW_API_Attribute *attrp; -	HW_API_StringArray values; - -	id = getThis(); -	attrp = (HW_API_Attribute *) php_hwapi_get_object(id, le_hwapi_attributep); - -	values = attrp->values(); -	if(0 == stringArray2indexArray(&return_value, &values)) -		RETURN_FALSE; -} -/* }}} */ - -/* {{{ proto string hwapi_attribute_langdepvalue(string language) -   Returns value of attribute with givenn language */ -PHP_FUNCTION(hwapi_attribute_langdepvalue) { -	zval **arg1, *id, **tmp; -	HW_API_Attribute *attrp; -	char *value; - -	if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &arg1) == FAILURE)) { -		WRONG_PARAM_COUNT; -	} -	convert_to_string_ex(arg1); - -	id = getThis(); -	attrp = (HW_API_Attribute *) php_hwapi_get_object(id, le_hwapi_attributep); - -	value = (char *) attrp->langDepValue((*arg1)->value.str.val).string(); -	printf("hwapi_attribute_langdepvalue\n"); -	RETURN_STRING(value, 1); -} -/* }}} */ - -/* {{{ proto object hwapi_content_new([string name][, string value]) -   Creates new HW_API_Content */ -PHP_FUNCTION(hwapi_content_new) { -	zval *rv, **arg1, **arg2, **arg3; -	HW_API_Content *contp; -	int ret; - -	switch(ZEND_NUM_ARGS()) { -		case 0: -			contp = new HW_API_Content(); -			break; -		case 1: -			if (zend_get_parameters_ex(1, &arg1) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			switch((*arg1)->type) { -				case IS_OBJECT: -					break; -				default: -					convert_to_string_ex(arg1); -					contp = new HW_API_Content(Z_STRVAL_PP(arg1)); -			} -			break; -		case 2: //First Parameter is long, second the file name -			if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			convert_to_long_ex(arg1); -			convert_to_string_ex(arg2); -			contp = new HW_API_Content(HW_API_Content::File, Z_STRVAL_PP(arg2)); -			break; -		case 3: //First Parameter is long or string, second and third is string -			if (zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) { -				WRONG_PARAM_COUNT; -			} -			switch((*arg1)->type) { -				case IS_LONG: -					convert_to_string_ex(arg2); -					convert_to_string_ex(arg3); -					contp = new HW_API_Content(HW_API_Content::File, Z_STRVAL_PP(arg2), Z_STRVAL_PP(arg3)); -					break; -				default: -					convert_to_string_ex(arg1); -					convert_to_string_ex(arg2); -					convert_to_string_ex(arg3); -					contp = new HW_API_Content(Z_STRVAL_PP(arg1), Z_STRVAL_PP(arg2), Z_STRVAL_PP(arg3)); -			}  -			break; -		default: -			WRONG_PARAM_COUNT; -	} - -	rv = php_hwapi_object_new(contp, le_hwapi_contentp); -	SEPARATE_ZVAL(&rv); -	*return_value = *rv; -	FREE_ZVAL(rv); -} -/* }}} */ - -/* {{{ proto int hwapi_content_read(string buffer, int length) -   Reads length bytes from content */ -PHP_FUNCTION(hwapi_content_read) { -	zval **arg1, **arg2, *id, **tmp; -	HW_API_Content *contentp; -	char *value; -	int len; - -	if((ZEND_NUM_ARGS() != 2) || (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE)) { -		WRONG_PARAM_COUNT; -	} -	convert_to_long_ex(arg2); - -	id = getThis(); -	contentp = (HW_API_Content *) php_hwapi_get_object(id, le_hwapi_contentp); - -	zval_dtor(*arg1); -	Z_TYPE_PP(arg1) = IS_STRING; -	/* FIXME: Need to finish the new zval */ -	value = (char *) emalloc(Z_LVAL_PP(arg2)+1); - -	Z_STRVAL_PP(arg1) = value; -	len = contentp->read(value, Z_LVAL_PP(arg2)); -	value[len] = '\0'; -	Z_STRLEN_PP(arg1) = len; - -	RETURN_LONG(len); -} -/* }}} */ - -/* {{{ proto string hwapi_content_mimetype(void) -   Returns MimeType of document */ -PHP_FUNCTION(hwapi_content_mimetype) { -	zval *id; -	HW_API_Content *contentp; -	HW_API_String hwstr; - -	id = getThis(); -	contentp = (HW_API_Content *) php_hwapi_get_object(id, le_hwapi_contentp); - -	hwstr = contentp->mimetype(); - -	RETURN_STRING((char *) hwstr.string(), 1); -} -/* }}} */ - -/* {{{ proto int hwapi_error_count() -   Counts number of reasons of an HW_API_Error */ -PHP_FUNCTION(hwapi_error_count) { -	zval *id, **tmp; -	HW_API_Error *objp; -	int value; - -	id = getThis(); -	objp = (HW_API_Error *) php_hwapi_get_object(id, le_hwapi_errorp); - -	if(!objp) { -		RETURN_FALSE; -	} -	value = objp->count(); - -	RETURN_LONG(value); -} -/* }}} */ - -/* {{{ proto object hwapi_error_reason(int index) -   Returns a reason of an HW_API_Error */ -PHP_FUNCTION(hwapi_error_reason) { -	zval **arg1, *id, **tmp; -	HW_API_Error *objp; -	HW_API_Reason reason; -	bool error; - -	if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &arg1) == FAILURE)) { -		WRONG_PARAM_COUNT; -	} -	convert_to_long_ex(arg1); - -	id = getThis(); -	objp = (HW_API_Error *) php_hwapi_get_object(id, le_hwapi_errorp); - -	if(!objp) { -		RETURN_FALSE; -	} -	if(!objp->error()) -		php_error_docref(NULL TSRMLS_CC, E_WARNING, "This is not an error"); - -	error = objp->reason(Z_LVAL_PP(arg1), reason); -	if(error) { -		zval *rv; -		HW_API_Reason *reasonp = new HW_API_Reason(reason); -		rv = php_hwapi_object_new(reasonp, le_hwapi_reasonp); -		SEPARATE_ZVAL(&rv); -		*return_value = *rv; -		FREE_ZVAL(rv); -		return; -	} else { -		RETURN_FALSE; -	} -} -/* }}} */ - -/* {{{ proto int hwapi_reason_type(void) -   Returns the type of HW_API_Reason */ -PHP_FUNCTION(hwapi_reason_type) { -	zval **arg1, *id, **tmp; -	HW_API_Reason *objp; - -	id = getThis(); -	objp = (HW_API_Reason *) php_hwapi_get_object(id, le_hwapi_reasonp); - -	if(!objp) { -		RETURN_FALSE; -	} -	RETURN_LONG((long) (objp->type())); -} -/* }}} */ - -/* {{{ proto string hwapi_reason_description(string language) -   Returns description of HW_API_Reason */ -PHP_FUNCTION(hwapi_reason_description) { -	zval **arg1, *id, **tmp; -	HW_API_Reason *objp; -	HW_API_String desc; - -	if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &arg1) == FAILURE)) { -		WRONG_PARAM_COUNT; -	} -	convert_to_string_ex(arg1); - -	id = getThis(); -	objp = (HW_API_Reason *) php_hwapi_get_object(id, le_hwapi_reasonp); - -	if(!objp) { -		RETURN_FALSE; -	} -	desc = objp->description((HW_API_String) (Z_STRVAL_PP(arg1))); -	RETURN_STRING((char *) desc.string(), 1); -} -/* }}} */ - -/* hw_api_class_get_property(zend_property_reference *property_reference) {{{ - * - */ -zval hw_api_class_get_property(zend_property_reference *property_reference) { -	zval result; -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - - -	printf("Reading a property from a HW_API object:\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	Z_STRVAL(result) = estrndup("testing", 7); -	Z_STRLEN(result) = 7; -	Z_TYPE(result) = IS_STRING; -	return result; -} -/* }}} */ - -/* hw_api_class_set_property(zend_property_reference *property_reference, zval *value) {{{ - */ -int hw_api_class_set_property(zend_property_reference *property_reference, zval *value) { -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - -	printf("Writing to a property from a HW_API object:\n"); -	printf("Writing '"); -	zend_print_variable(value); -	printf("'\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	return 0; -} -/* }}} */ - -/* hw_api_class_startup() {{{ - */ -void hw_api_class_startup() { -	zend_class_entry ce; - -	INIT_OVERLOADED_CLASS_ENTRY(ce, "HW_API", php_hw_api_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_class_entry_ptr = zend_register_internal_class_ex(&ce, NULL, NULL); -} -/* }}} */ - -/* hw_api_object_class_get_property(zend_property_reference *property_reference) {{{ - */ -zval hw_api_object_class_get_property(zend_property_reference *property_reference) { -	zval result; -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - - -	printf("Reading a property from a HW_API_Object object:\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	Z_STRVAL(result) = estrndup("testing", 7); -	Z_STRLEN(result) = 7; -	Z_TYPE(result) = IS_STRING; -	return result; -} -/* }}} */ - -/* hw_api_object_class_set_property(zend_property_reference *property_reference, zval *value) {{{ - */ -int hw_api_object_class_set_property(zend_property_reference *property_reference, zval *value) { -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - -	printf("Writing to a property from a HW_API_Object object:\n"); -	printf("Writing '"); -	zend_print_variable(value); -	printf("'\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	return 0; -} -/* }}} */ - -/* {{{ hw_api_object_class_startup() - */ -void hw_api_object_class_startup() { -	zend_class_entry ce; - -	INIT_OVERLOADED_CLASS_ENTRY(ce, "hw_api_object", php_hw_api_object_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_object_class_entry_ptr = zend_register_internal_class_ex(&ce, NULL, NULL); -} -/* }}} */ - -/* hw_api_attribute_class_get_property(zend_property_reference *property_reference) {{{ - */ -zval hw_api_attribute_class_get_property(zend_property_reference *property_reference) { -	zval result; -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - -	printf("Reading a property from a HW_API_Attribute object:\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	Z_STRVAL(result) = estrndup("testing", 7); -	Z_STRLEN(result) = 7; -	Z_TYPE(result) = IS_STRING; -	return result; -} -/* }}} */ - -/* hw_api_attribute_class_set_property(zend_property_reference *property_reference, zval *value) {{{ - */ -int hw_api_attribute_class_set_property(zend_property_reference *property_reference, zval *value) { -	zend_overloaded_element *overloaded_property; -	zend_llist_element *element; - -	printf("Writing to a property from a HW_API_Attribute object:\n"); -	printf("Writing '"); -	zend_print_variable(value); -	printf("'\n"); - -	for (element=property_reference->elements_list->head; element; element=element->next) { -		overloaded_property = (zend_overloaded_element *) element->data; -		switch (Z_TYPE_P(overloaded_property)) { -			case OE_IS_ARRAY: -				printf("Array offset:  "); -				break; -			case OE_IS_OBJECT: -				printf("Object property:  "); -				break; -		} -		switch (Z_TYPE(overloaded_property->element)) { -			case IS_LONG: -				printf("%ld (numeric)\n", Z_LVAL(overloaded_property->element)); -				break; -			case IS_STRING: -				printf("'%s'\n", Z_STRVAL(overloaded_property->element)); -				break; -		} -		zval_dtor(&overloaded_property->element); -	} - -	return 0; -} -/* }}} */ - -/* hw_api_attribute_class_startup() {{{ - */ -void hw_api_attribute_class_startup() { -	zend_class_entry hw_api_attribute_class_entry; - -	INIT_OVERLOADED_CLASS_ENTRY(hw_api_attribute_class_entry, "HW_API_Attribute", php_hw_api_attribute_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_attribute_class_entry_ptr = zend_register_internal_class(&hw_api_attribute_class_entry); -} -/* }}} */ - -/* hw_api_error_class_startup() {{{ - */ -void hw_api_error_class_startup() { -	zend_class_entry hw_api_error_class_entry; - -	INIT_OVERLOADED_CLASS_ENTRY(hw_api_error_class_entry, "HW_API_Error", php_hw_api_error_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_error_class_entry_ptr = zend_register_internal_class(&hw_api_error_class_entry); -} -/* }}} */ - -/* hw_api_content_class_startup() {{{ - */ -void hw_api_content_class_startup() { -	zend_class_entry hw_api_content_class_entry; - -	INIT_OVERLOADED_CLASS_ENTRY(hw_api_content_class_entry, "HW_API_Content", php_hw_api_content_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_content_class_entry_ptr = zend_register_internal_class(&hw_api_content_class_entry); -} -/* }}} */ - -/* hw_api_reason_class_startup() {{{ - */ -void hw_api_reason_class_startup() { -	zend_class_entry hw_api_reason_class_entry; - -	INIT_OVERLOADED_CLASS_ENTRY(hw_api_reason_class_entry, "HW_API_Reason", php_hw_api_reason_functions, -								NULL, -								NULL, -								NULL); - -	hw_api_reason_class_entry_ptr = zend_register_internal_class(&hw_api_reason_class_entry); -} -/* }}} */ - -#endif - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - */  | 
