X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-my-client.cpp;h=bda730ff32ed418a4ffdf42b9db116fa736080a0;hb=d4f7be0106e960c6b299338477eb5eb257f1ebea;hp=00306b2d22602696fc9c41c99b7b58d62443c961;hpb=bff45f95576c8f14cb474d2026ce4f4e7fc2e917;p=yazpp-moved-to-github.git diff --git a/src/yaz-my-client.cpp b/src/yaz-my-client.cpp index 00306b2..bda730f 100644 --- a/src/yaz-my-client.cpp +++ b/src/yaz-my-client.cpp @@ -1,95 +1,17 @@ /* - * Copyright (c) 1998-2000, Index Data. + * Copyright (c) 1998-2001, Index Data. * See the file LICENSE for details. * - * $Log: yaz-my-client.cpp,v $ - * Revision 1.7 2001-04-26 12:17:49 heikki - * Ursula stuff, mostly in the test client - * - * Revision 1.6 2001/04/17 16:21:21 heikki - * Working on UrsulaRenewal, Request, and Update - * - * Revision 1.5 2001/04/10 10:48:08 adam - * Fixed problem where proxy could cash bad result sets. - * - * Revision 1.4 2001/04/05 15:12:24 adam - * WIN32 updates. - * - * Revision 1.3 2001/04/05 13:09:44 adam - * Removed ursula dependancy. - * - * Revision 1.2 2001/04/04 14:02:49 adam - * URSULA / Z-ruth service. - * - * Revision 1.1 2001/03/27 14:47:45 adam - * New server facility scheme. - * - * Revision 1.17 2001/03/26 14:43:49 adam - * New threaded PDU association. - * - * Revision 1.16 2000/11/01 14:22:59 adam - * Added fd parameter for method IYaz_PDU_Observer::clone. - * - * Revision 1.15 2000/10/11 11:58:16 adam - * Moved header files to include/yaz++. Switched to libtool and automake. - * Configure script creates yaz++-config script. - * - * Revision 1.14 2000/09/08 10:23:42 adam - * Added skeleton of yaz-z-server. - * - * Revision 1.13 2000/09/06 14:23:45 adam - * WIN32 updates. - * - * Revision 1.12 2000/09/04 08:59:16 adam - * Changed call to logging functions (yaz_ added). - * - * Revision 1.11 2000/07/04 13:48:49 adam - * Implemented upper-limit on proxy-to-target sessions. - * - * Revision 1.10 2000/05/30 03:12:27 ian - * minor change to stop g++ 2.95.2 complaining about taking the address - * of a member function. - * - * Revision 1.9 1999/12/06 13:52:45 adam - * Modified for new location of YAZ header files. Experimental threaded - * operation. - * - * Revision 1.8 1999/11/10 10:02:34 adam - * Work on proxy. - * - * Revision 1.7 1999/04/21 12:09:01 adam - * Many improvements. Modified to proxy server to work with "sessions" - * based on cookies. - * - * Revision 1.6 1999/04/20 10:30:05 adam - * Implemented various stuff for client and proxy. Updated calls - * to ODR to reflect new name parameter. - * - * Revision 1.5 1999/04/09 11:46:57 adam - * Added object Yaz_Z_Assoc. Much more functional client. - * - * Revision 1.4 1999/03/23 14:17:57 adam - * More work on timeout handling. Work on yaz-client. - * - * Revision 1.3 1999/02/02 14:01:18 adam - * First WIN32 port of YAZ++. - * - * Revision 1.2 1999/01/28 13:08:42 adam - * Yaz_PDU_Assoc better encapsulated. Memory leak fix in - * yaz-socket-manager.cc. - * - * Revision 1.1.1.1 1999/01/28 09:41:07 adam - * First implementation of YAZ++. - * + * $Id: yaz-my-client.cpp,v 1.11 2002-10-09 12:50:26 adam Exp $ */ #include #include #include #include -#include -#include -#include +#include +#include +#include #if HAVE_YAZ_URSULA_H #include @@ -655,31 +577,42 @@ int MyClient::cmd_ursula(char *args) ext->which = Z_External_octet; ext->u.single_ASN1_type = (Odr_oct *) - odr_malloc (odr_encode(), sizeof(Odr_oct)); + odr_malloc (odr_encode(), sizeof(Odr_oct)); Z_UrsPDU *pdu = (Z_UrsPDU *) odr_malloc (odr_encode(), sizeof(*pdu)); pdu->which = Z_UrsPDU_request; pdu->u.request = (Z_UrsRequest *) - odr_malloc (odr_encode(), sizeof(*pdu->u.request)); + odr_malloc (odr_encode(), sizeof(*pdu->u.request)); pdu->u.request->libraryNo = odr_strdup(odr_encode(), "000200"); - pdu->u.request->borrowerTickerNo = 0; + pdu->u.request->borrowerTickerNo = odr_strdup(odr_encode(),"1234567973"); pdu->u.request->disposalType = 0; - pdu->u.request->lastUseDate = 0; + pdu->u.request->lastUseDate = odr_strdup(odr_encode(),"20011224"); +#ifdef SKIPTHIS pdu->u.request->num_items = 0; pdu->u.request->items = (Z_UrsRequestItem **) odr_nullval(); - pdu->u.request->counter = 0; +#else + pdu->u.request->num_items = 1; + pdu->u.request->items = (Z_UrsRequestItem **) + odr_malloc(odr_encode(), 1 * sizeof(Z_UrsRequestItem*) ); + pdu->u.request->items[0] = (Z_UrsRequestItem*) + odr_malloc(odr_encode(), sizeof(Z_UrsRequestItem) ); + pdu->u.request->items[0]->id = odr_strdup(odr_encode(),"002231336x"); + pdu->u.request->items[0]->titlePartNo=odr_strdup(odr_encode(),"31"); +#endif + + pdu->u.request->counter = odr_strdup(odr_encode(),"HB"); pdu->u.request->priority = 0; pdu->u.request->disposalNote = 0; - pdu->u.renewal->overrule=(bool_t*)odr_malloc(odr_encode(),sizeof(bool_t)); - pdu->u.request->overrule = 0; + pdu->u.request->overrule=(bool_t*)odr_malloc(odr_encode(),sizeof(bool_t)); + *pdu->u.request->overrule = false; if (!z_UrsPDU (odr_encode(), &pdu, 0, "")) { - yaz_log (LOG_LOG, "ursula encoding failed"); - return 1; + yaz_log (LOG_LOG, "ursula encoding failed"); + return 1; } char *buf = - odr_getbuf (odr_encode(), &ext->u.single_ASN1_type->len, 0); + odr_getbuf (odr_encode(), &ext->u.single_ASN1_type->len, 0); ext->u.single_ASN1_type->buf = (unsigned char*) odr_malloc (odr_encode(), ext->u.single_ASN1_type->len); @@ -706,18 +639,18 @@ int MyClient::cmd_ursula_renew(char *args) ext->which = Z_External_octet; ext->u.single_ASN1_type = (Odr_oct *) - odr_malloc (odr_encode(), sizeof(Odr_oct)); + odr_malloc (odr_encode(), sizeof(Odr_oct)); Z_UrsPDU *pdu = (Z_UrsPDU *) odr_malloc (odr_encode(), sizeof(*pdu)); pdu->which = Z_UrsPDU_renewal; pdu->u.renewal = (Z_UrsRenewal *) odr_malloc (odr_encode(), sizeof(*pdu->u.renewal)); pdu->u.renewal->libraryNo = odr_strdup(odr_encode(), "000200"); - pdu->u.renewal->borrowerTicketNo = odr_strdup(odr_encode(),"123456"); + pdu->u.renewal->borrowerTicketNo = odr_strdup(odr_encode(),"1234567973"); pdu->u.renewal->num_copies=1; pdu->u.renewal->copies = (Z_InternationalString **) odr_malloc(odr_encode(),1* sizeof(Z_InternationalString *) ); - pdu->u.renewal->copies[0]= odr_strdup(odr_encode(), "firstcopy"); + pdu->u.renewal->copies[0]= odr_strdup(odr_encode(), "000035238"); pdu->u.renewal->newReturnDate=odr_strdup(odr_encode(), "20011224"); pdu->u.renewal->overrule=(bool_t*)odr_malloc(odr_encode(),sizeof(bool_t)); *pdu->u.renewal->overrule=false;