* Copyright (c) 1998-2001, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-my-server.cpp,v 1.8 2001-11-04 22:36:21 adam Exp $
+ * $Id: yaz-my-server.cpp,v 1.15 2005-01-17 09:55:58 adam Exp $
*/
+#include <stdlib.h>
#include <yaz/log.h>
#include <yaz/options.h>
-#include <yaz++/yaz-z-server.h>
-#include <yaz++/yaz-pdu-assoc.h>
-#include <yaz++/yaz-socket-manager.h>
+#include <yaz++/z-server.h>
+#include <yaz++/pdu-assoc.h>
+#include <yaz++/socket-manager.h>
class MyILL : public Yaz_Facility_ILL {
public:
Z_Records *records);
};
-#if HAVE_YAZ_URSULA_H
-class MyUrsula : public Yaz_Facility_Ursula {
-public:
- void ursula_service (Z_ExtendedServicesRequest *req,
- Z_UrsPDU *u,
- Z_ExtendedServicesResponse *res);
-};
-#endif
-
class MyServer : public Yaz_Z_Server {
public:
~MyServer();
MyRetrieval m_retrieval;
MyILL m_ill;
MyUpdate m_update;
-#if HAVE_YAZ_URSULA_H
- MyUrsula m_ursula;
-#endif
int m_no;
};
Z_ItemOrder *io,
Z_ExtendedServicesResponse *res)
{
- yaz_log (LOG_LOG, "MyServer::ill_service");
+ yaz_log (YLOG_LOG, "MyServer::ill_service");
}
void MyUpdate::update_service (Z_ExtendedServicesRequest *req,
Z_IUUpdate *io,
Z_ExtendedServicesResponse *res)
{
- yaz_log (LOG_LOG, "MyServer::update_service (v1.1)");
+ yaz_log (YLOG_LOG, "MyServer::update_service (v1.1)");
}
void MyUpdate::update_service0 (Z_ExtendedServicesRequest *req,
Z_IU0Update *io,
Z_ExtendedServicesResponse *res)
{
- yaz_log (LOG_LOG, "MyServer::update_service (v1.0)");
+ yaz_log (YLOG_LOG, "MyServer::update_service (v1.0)");
}
-#if HAVE_YAZ_URSULA_H
-void MyUrsula::ursula_service (Z_ExtendedServicesRequest *req,
- Z_UrsPDU *u,
- Z_ExtendedServicesResponse *res)
-{
- yaz_log (LOG_LOG, "MyServer::ursula_service");
- switch (u->which)
- {
- case Z_UrsPDU_request:
- yaz_log(LOG_LOG, "request");
- if (u->u.request->libraryNo)
- yaz_log (LOG_LOG, "libraryNo: %s", u->u.request->libraryNo);
- break;
- case Z_UrsPDU_update:
- yaz_log(LOG_LOG, "request");
- break;
- case Z_UrsPDU_reservation:
- yaz_log(LOG_LOG, "request");
- break;
- case Z_UrsPDU_renewal:
- yaz_log(LOG_LOG, "request");
- break;
- default:
- yaz_log(LOG_LOG, "unknown");
- break;
- }
-}
-#endif
-
int MyRetrieval::sr_init (Z_InitRequest *initRequest,
Z_InitResponse *initResponse)
{
- yaz_log (LOG_LOG, "MyServer::sr_init");
+ yaz_log (YLOG_LOG, "MyServer::sr_init");
return 1;
}
void MyRetrieval::sr_search (Z_SearchRequest *searchRequest,
Z_SearchResponse *searchResponse)
{
- yaz_log (LOG_LOG, "MyServer::recv_Z_search");
+ 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;
void MyRetrieval::sr_present (Z_PresentRequest *presentRequest,
Z_PresentResponse *presentResponse)
{
- yaz_log (LOG_LOG, "MyServer::recv_Z_present");
+ yaz_log (YLOG_LOG, "MyServer::recv_Z_present");
}
void MyRetrieval::sr_record (const char *resultSetName,
Z_NamePlusRecord *namePlusRecord,
Z_Records *records)
{
- yaz_log (LOG_LOG, "MyServer::recv_Z_record");
+ yaz_log (YLOG_LOG, "MyServer::recv_Z_record");
const char *rec = get_record(position);
create_databaseRecord (odr_encode(), namePlusRecord, 0, VAL_USMARC, rec,
strlen(rec));
new_server->facility_add(&new_server->m_retrieval, "my sr");
new_server->facility_add(&new_server->m_ill, "my ill");
new_server->facility_add(&new_server->m_update, "my update");
-#if HAVE_YAZ_URSULA_H
- new_server->facility_add(&new_server->m_ursula, "my ursula");
-#endif
-
new_server->set_APDU_log(get_APDU_log());
return new_server;
void MyServer::timeoutNotify()
{
- yaz_log (LOG_LOG, "connection timed out");
+ yaz_log (YLOG_LOG, "connection timed out");
delete this;
}
void MyServer::failNotify()
{
- yaz_log (LOG_LOG, "connection closed by client");
+ yaz_log (YLOG_LOG, "connection closed by client");
delete this;
}
{
}
-void usage(char *prog)
+void usage(const char *prog)
{
fprintf (stderr, "%s: [-a log] [-v level] [-T] @:port\n", prog);
exit (1);
int thread_flag = 0;
char *arg;
char *prog = *argv;
- char *addr = "tcp:@:9999";
+ const char *addr = "tcp:@:9999";
char *apdu_log = 0;
Yaz_SocketManager mySocketManager;
return 1;
}
}
+#if YAZ_POSIX_THREADS
if (thread_flag)
my_PDU_Assoc = new Yaz_PDU_AssocThread(&mySocketManager);
else
my_PDU_Assoc = new Yaz_PDU_Assoc(&mySocketManager);
+#else
+ my_PDU_Assoc = new Yaz_PDU_Assoc(&mySocketManager);
+#endif
z = new MyServer(my_PDU_Assoc);
z->server(addr);
if (apdu_log)
{
- yaz_log (LOG_LOG, "set_APDU_log %s", apdu_log);
+ yaz_log (YLOG_LOG, "set_APDU_log %s", apdu_log);
z->set_APDU_log(apdu_log);
}