void soap_dom_attribute::unlink() { soap_unlink(soap, this); soap_unlink(soap, nstr); soap_unlink(soap, name); soap_unlink(soap, data); soap_unlink(soap, wide); if (next) next->unlink(); }
void soap_dom_element::unlink() { soap_unlink(soap, this); soap_unlink(soap, nstr); soap_unlink(soap, name); soap_unlink(soap, data); soap_unlink(soap, wide); if (elts) elts->unlink(); if (atts) elts->unlink(); if (next) next->unlink(); node = NULL; type = 0; }
struct value& params::operator[](int n) { if (!param) { __size = n + 1; param = (struct param*)soap_malloc(soap, __size * sizeof(struct param)); for (int i = 0; i < __size; i++) soap_default_param(soap, ¶m[i]); } else if (__size <= n) { int oldsize = __size; __size = n + 1; struct param *newparam = (struct param*)soap_malloc(soap, __size * sizeof(struct param)); int i; for (i = 0; i < oldsize; i++) newparam[i] = param[i]; for (; i < __size; i++) soap_default_param(soap, &newparam[i]); soap_unlink(soap, param); free(param); param = newparam; } return param[n].value; }
struct value& _array::operator[](int n) { if (!data.value) { data.__size = n + 1; data.value = (struct value*)soap_malloc(soap, data.__size * sizeof(struct value)); for (int i = 0; i < data.__size; i++) soap_default_value(soap, &data.value[i]); } else if (data.__size <= n) { int oldsize = data.__size; data.__size = n + 1; struct value *newvalue = (struct value*)soap_malloc(soap, data.__size * sizeof(struct value)); int i; for (i = 0; i < oldsize; i++) newvalue[i] = data.value[i]; for (; i < data.__size; i++) soap_default_value(soap, &newvalue[i]); soap_unlink(soap, data.value); free(data.value); data.value = newvalue; } return data.value[n]; }
struct value& _struct::operator[](const char *s) { int i = 0; if (!member) { __size = 1; member = (struct member*)soap_malloc(soap, sizeof(struct member)); } else { for (i = 0; i < __size; i++) { if (!strcmp(member[i].name, s)) return member[i].value; } __size++; struct member *newmember = (struct member*)soap_malloc(soap, __size * sizeof(struct member)); for (i = 0; i < __size - 1; i++) newmember[i] = member[i]; soap_unlink(soap, member); free(member); member = newmember; } member[i].name = soap_strdup(soap, s); soap_default_value(soap, &member[i].value); return member[i].value; }
ns1__SOAPService::~ns1__SOAPService() { soap_unlink(soap, this); // not required, but just to make sure if someone calls delete on this }
xsd__anyType::~xsd__anyType() { soap_unlink(soap, this); // Let gSOAP not deallocate this object again if this object was explicitly removed }