* Sebastian Hammer, Adam Dickmeiss
*
* $Log: client.c,v $
- * Revision 1.88 1999-10-11 10:00:29 adam
+ * Revision 1.90 1999-11-30 13:47:11 adam
+ * Improved installation. Moved header files to include/yaz.
+ *
+ * Revision 1.89 1999/11/04 14:58:44 adam
+ * Added status elements for backend delete result set handler.
+ * Updated delete result result set command for client.
+ *
+ * Revision 1.88 1999/10/11 10:00:29 adam
* Modified printing of records.
*
* Revision 1.87 1999/08/27 09:40:32 adam
#include <time.h>
#include <assert.h>
-#include <yaz-util.h>
+#include <yaz/yaz-util.h>
-#include <tcpip.h>
+#include <yaz/tcpip.h>
#ifdef USE_XTIMOSI
-#include <xmosi.h>
+#include <yaz/xmosi.h>
#endif
-#include <proto.h>
-#include <marcdisp.h>
-#include <diagbib1.h>
+#include <yaz/proto.h>
+#include <yaz/marcdisp.h>
+#include <yaz/diagbib1.h>
-#include <pquery.h>
+#include <yaz/pquery.h>
#if CCL2RPN
-#include <yaz-ccl.h>
+#include <yaz/yaz-ccl.h>
#endif
#if HAVE_READLINE_READLINE_H
static int send_deleteResultSetRequest(char *arg)
{
+ char names[8][32];
+ int i;
+
Z_APDU *apdu = zget_APDU(out, Z_APDU_deleteResultSetRequest);
Z_DeleteResultSetRequest *req = apdu->u.deleteResultSetRequest;
req->referenceId = set_refid (out);
- req->num_resultSetList = 1;
- req->resultSetList = (char **)
- odr_malloc (out, sizeof(*req->resultSetList));
- *req->resultSetList = arg;
+ req->num_resultSetList =
+ sscanf (arg, "%30s %30s %30s %30s %30s %30s %30s %30s",
+ names[0], names[1], names[2], names[3],
+ names[4], names[5], names[6], names[7]);
+
req->deleteFunction = (int *)
odr_malloc (out, sizeof(*req->deleteFunction));
- *req->deleteFunction = Z_DeleteRequest_list;
+ if (req->num_resultSetList > 0)
+ {
+ *req->deleteFunction = Z_DeleteRequest_list;
+ req->resultSetList = (char **)
+ odr_malloc (out, sizeof(*req->resultSetList)*
+ req->num_resultSetList);
+ for (i = 0; i<req->num_resultSetList; i++)
+ req->resultSetList[i] = names[i];
+ }
+ else
+ {
+ *req->deleteFunction = Z_DeleteRequest_all;
+ req->resultSetList = 0;
+ }
send_apdu(apdu);
printf("Sent deleteResultSetRequest.\n");
static int cmd_delete(char *arg)
{
- if (!*arg)
- {
- printf("Delete what?\n");
- return 0;
- }
if (!conn)
{
printf("Not connected yet\n");
#endif
}
+void process_deleteResultSetResponse (Z_DeleteResultSetResponse *res)
+{
+ printf("Got deleteResultSetResponse status=%d\n",
+ *res->deleteOperationStatus);
+ if (res->deleteListStatuses)
+ {
+ int i;
+ for (i = 0; i < res->deleteListStatuses->num; i++)
+ {
+ printf ("%s status=%d\n", res->deleteListStatuses->elements[i]->id,
+ *res->deleteListStatuses->elements[i]->status);
+ }
+ }
+}
+
int cmd_sort_generic(char *arg, int newset)
{
if (!conn)
(apdu->u.resourceControlRequest);
break;
case Z_APDU_deleteResultSetResponse:
- printf("Got deleteResultSetResponse status=%d\n",
- *apdu->u.deleteResultSetResponse->
- deleteOperationStatus);
+ process_deleteResultSetResponse(apdu->u.
+ deleteResultSetResponse);
break;
default:
printf("Received unknown APDU type (%d).\n",