X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-my-server.cpp;fp=src%2Fyaz-my-server.cpp;h=86ff26e5f9aca8a3b728fc9ca9927c76c154a552;hb=7411ed6df7fc0b535f83503f73d70e80f390e295;hp=421aa4d9d56b5003dda1d436e8e3dd4582d609a8;hpb=75f7c460d6d10961f3d2ed841b757d6d6b7725d7;p=yazpp-moved-to-github.git diff --git a/src/yaz-my-server.cpp b/src/yaz-my-server.cpp index 421aa4d..86ff26e 100644 --- a/src/yaz-my-server.cpp +++ b/src/yaz-my-server.cpp @@ -2,7 +2,7 @@ * Copyright (c) 1998-2001, Index Data. * See the file LICENSE for details. * - * $Id: yaz-my-server.cpp,v 1.18 2005-06-08 13:28:06 adam Exp $ + * $Id: yaz-my-server.cpp,v 1.19 2005-06-25 15:53:19 adam Exp $ */ #include @@ -18,35 +18,35 @@ using namespace yazpp_1; class MyILL : public Yaz_Facility_ILL { public: void ill_service (Z_ExtendedServicesRequest *req, - Z_ItemOrder *io, - Z_ExtendedServicesResponse *res); + Z_ItemOrder *io, + Z_ExtendedServicesResponse *res); }; class MyUpdate : public Yaz_Facility_Update { public: void update_service (Z_ExtendedServicesRequest *req, - Z_IUUpdate *io, - Z_ExtendedServicesResponse *res); + Z_IUUpdate *io, + Z_ExtendedServicesResponse *res); void update_service0 (Z_ExtendedServicesRequest *req, - Z_IU0Update *io, - Z_ExtendedServicesResponse *res); + Z_IU0Update *io, + Z_ExtendedServicesResponse *res); }; class MyRetrieval : public Yaz_Facility_Retrieval, Yaz_USMARC { public: int sr_init (Z_InitRequest *initRequest, - Z_InitResponse *initResponse); + Z_InitResponse *initResponse); void sr_search (Z_SearchRequest *searchRequest, - Z_SearchResponse *searchResponse); + Z_SearchResponse *searchResponse); void sr_present (Z_PresentRequest *presentRequest, - Z_PresentResponse *presentResponse); + Z_PresentResponse *presentResponse); void sr_record (const char *resultSetName, - int position, - int *format, - Z_RecordComposition *comp, - Z_NamePlusRecord *namePlusRecord, - Z_Records *records); + int position, + int *format, + Z_RecordComposition *comp, + Z_NamePlusRecord *namePlusRecord, + Z_Records *records); }; class MyServer : public Z_Server { @@ -54,7 +54,7 @@ public: ~MyServer(); MyServer(IPDU_Observable *the_PDU_Observable); IPDU_Observer* sessionNotify(IPDU_Observable *the_PDU_Observable, - int fd); + int fd); void failNotify(); void timeoutNotify(); void connectNotify(); @@ -67,75 +67,75 @@ private: }; void MyILL::ill_service (Z_ExtendedServicesRequest *req, - Z_ItemOrder *io, - Z_ExtendedServicesResponse *res) + Z_ItemOrder *io, + Z_ExtendedServicesResponse *res) { yaz_log (YLOG_LOG, "MyServer::ill_service"); } void MyUpdate::update_service (Z_ExtendedServicesRequest *req, - Z_IUUpdate *io, - Z_ExtendedServicesResponse *res) + Z_IUUpdate *io, + Z_ExtendedServicesResponse *res) { yaz_log (YLOG_LOG, "MyServer::update_service (v1.1)"); } void MyUpdate::update_service0 (Z_ExtendedServicesRequest *req, - Z_IU0Update *io, - Z_ExtendedServicesResponse *res) + Z_IU0Update *io, + Z_ExtendedServicesResponse *res) { yaz_log (YLOG_LOG, "MyServer::update_service (v1.0)"); } int MyRetrieval::sr_init (Z_InitRequest *initRequest, - Z_InitResponse *initResponse) + Z_InitResponse *initResponse) { yaz_log (YLOG_LOG, "MyServer::sr_init"); return 1; } void MyRetrieval::sr_search (Z_SearchRequest *searchRequest, - Z_SearchResponse *searchResponse) + Z_SearchResponse *searchResponse) { yaz_log (YLOG_LOG, "MyServer::recv_Z_search"); if (searchRequest->query->which == Z_Query_type_1) { - Z_RPNStructure *s = searchRequest->query->u.type_1->RPNStructure; - if (s->which == Z_RPNStructure_simple && - s->u.simple->which == Z_Operand_APT && - s->u.simple->u.attributesPlusTerm->term->which == Z_Term_general) - { - Odr_oct *term = s->u.simple->u.attributesPlusTerm->term->u.general; - char *str = (char *) odr_malloc (odr_encode(), term->len+1); - if (term->len) - memcpy (str, term->buf, term->len); - str[term->len] = '\0'; - *searchResponse->resultCount = atoi(str); - } + Z_RPNStructure *s = searchRequest->query->u.type_1->RPNStructure; + if (s->which == Z_RPNStructure_simple && + s->u.simple->which == Z_Operand_APT && + s->u.simple->u.attributesPlusTerm->term->which == Z_Term_general) + { + Odr_oct *term = s->u.simple->u.attributesPlusTerm->term->u.general; + char *str = (char *) odr_malloc (odr_encode(), term->len+1); + if (term->len) + memcpy (str, term->buf, term->len); + str[term->len] = '\0'; + *searchResponse->resultCount = atoi(str); + } } } void MyRetrieval::sr_present (Z_PresentRequest *presentRequest, - Z_PresentResponse *presentResponse) + Z_PresentResponse *presentResponse) { yaz_log (YLOG_LOG, "MyServer::recv_Z_present"); } void MyRetrieval::sr_record (const char *resultSetName, - int position, - int *format, - Z_RecordComposition *comp, - Z_NamePlusRecord *namePlusRecord, - Z_Records *records) + int position, + int *format, + Z_RecordComposition *comp, + Z_NamePlusRecord *namePlusRecord, + Z_Records *records) { yaz_log (YLOG_LOG, "MyServer::recv_Z_record"); const char *rec = get_record(position); if (rec) - create_databaseRecord (odr_encode(), namePlusRecord, 0, - VAL_USMARC, rec, strlen(rec)); + create_databaseRecord (odr_encode(), namePlusRecord, 0, + VAL_USMARC, rec, strlen(rec)); else - create_surrogateDiagnostics(odr_encode(), namePlusRecord, 0, - YAZ_BIB1_PRESENT_REQUEST_OUT_OF_RANGE, 0); + create_surrogateDiagnostics(odr_encode(), namePlusRecord, 0, + YAZ_BIB1_PRESENT_REQUEST_OUT_OF_RANGE, 0); } MyServer::~MyServer() @@ -202,30 +202,30 @@ int main(int argc, char **argv) while ((ret = options("a:v:T", argv, argc, &arg)) != -2) { - switch (ret) - { - case 0: - addr = xstrdup(arg); - break; - case 'a': - apdu_log = xstrdup(arg); - break; - case 'v': - yaz_log_init_level (yaz_log_mask_str(arg)); - break; - case 'T': - thread_flag = 1; - break; - default: - usage(prog); - return 1; - } + switch (ret) + { + case 0: + addr = xstrdup(arg); + break; + case 'a': + apdu_log = xstrdup(arg); + break; + case 'v': + yaz_log_init_level (yaz_log_mask_str(arg)); + break; + case 'T': + thread_flag = 1; + break; + default: + usage(prog); + return 1; + } } #if YAZ_POSIX_THREADS if (thread_flag) - my_PDU_Assoc = new PDU_AssocThread(&mySocketManager); + my_PDU_Assoc = new PDU_AssocThread(&mySocketManager); else - my_PDU_Assoc = new PDU_Assoc(&mySocketManager); + my_PDU_Assoc = new PDU_Assoc(&mySocketManager); #else my_PDU_Assoc = new PDU_Assoc(&mySocketManager); #endif @@ -234,12 +234,20 @@ int main(int argc, char **argv) z->server(addr); if (apdu_log) { - yaz_log (YLOG_LOG, "set_APDU_log %s", apdu_log); - z->set_APDU_log(apdu_log); + yaz_log (YLOG_LOG, "set_APDU_log %s", apdu_log); + z->set_APDU_log(apdu_log); } while (mySocketManager.processEvent() > 0) - ; + ; delete z; return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +