#include "jpis_H.h"
#include "ws_typemap.h"
-#include "ws_typeref.h"
+#include "ws_ps_typeref.h"
static void SoapToQueryOp(const enum jptype__queryOp in, glite_jp_queryop_t *out)
static void SoapToAttrOrig(struct soap *soap, const enum jptype__attrOrig *in, glite_jp_attr_orig_t *out)
{
+ assert(out);
- switch ( in )
+ // XXX: shlouldn't be ANY in WSDL??
+ if (!in) {
+ *out = GLITE_JP_ATTR_ORIG_ANY;
+ return;
+ }
+
+ switch ( *in )
{
- case NULL: *out = GLITE_JP_ATTR_ORIG_ANY; break;
+// case NULL: *out = GLITE_JP_ATTR_ORIG_ANY; break;
case SYSTEM: *out = GLITE_JP_ATTR_ORIG_SYSTEM; break;
case USER: *out = GLITE_JP_ATTR_ORIG_USER; break;
case FILE_: *out = GLITE_JP_ATTR_ORIG_FILE; break;
{
assert(in);
- if (value->string) {
+ if (in->string) {
*binary = 0;
*size = 0;
- *value = strdup(value->string);
+ *value = strdup(in->string);
return 0;
}
- else if (value->blob) {
+ else if (in->blob) {
*binary = 1;
- *size = value->blob->__size;
- memcpy(*value, value->blob->__ptr, value->blob->__size);
+ *size = in->blob->__size;
+ memcpy(*value, in->blob->__ptr, in->blob->__size);
// XXX how to handle id, type, option?
return 0;
assert(in); assert(out);
qr = calloc(in->__sizerecord, sizeof(*qr));
- for (i=0; i < __sizerecord; i++) {
+ for (i=0; i < in->__sizerecord; i++) {
qr[i].attr = strdup(in->attr);
- SoapToQueryOpTo(in->record[i]->op, &(qr[i].op));
+ SoapToQueryOp(in->record[i]->op, &(qr[i].op));
switch (qr[i].op) {
case GLITE_JP_QUERYOP_EXISTS:
break;
case GLITE_JP_QUERYOP_WITHIN:
- SoapToQueryRecordVal(in->record[i]->value2, *(qr[i].binary),
- *(qr[i].size2), *(qr[i].value2));
+ SoapToQueryRecordVal(soap, in->record[i]->value2, &(qr[i].binary),
+ &(qr[i].size2), &(qr[i].value2));
// fall through
default:
- SoapToQueryRecordVal(in->record[i]->value, *(qr[i].binary),
- *(qr[i].size), *(qr[i].value));
+ SoapToQueryRecordVal(soap, in->record[i]->value, &(qr[i].binary),
+ &(qr[i].size), &(qr[i].value));
break;
}