X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fz-server.h;h=738701c26f84b86543641eede975600c4d1d4b8e;hb=9245208f93f95246e44cb597317f9e13c8b60e67;hp=10d7523bd41ace610042483e90925cd5bbd8f6cd;hpb=ceb226cb18d96a6b3aa2dd6cff94aa27850362cf;p=yazpp-moved-to-github.git diff --git a/include/yaz++/z-server.h b/include/yaz++/z-server.h index 10d7523..738701c 100644 --- a/include/yaz++/z-server.h +++ b/include/yaz++/z-server.h @@ -1,126 +1,110 @@ /* - * Copyright (c) 2000-2001, Index Data. + * Copyright (c) 2000-2005, Index Data. * See the file LICENSE for details. * - * $Id: z-server.h,v 1.1 2002-10-09 12:50:26 adam Exp $ + * $Id: z-server.h,v 1.10 2006-03-28 19:51:38 adam Exp $ */ #include -#if HAVE_YAZ_URSULA_H -#include -#endif -class Yaz_Z_Server; +namespace yazpp_1 { -class YAZ_EXPORT Yaz_Z_ServerUtility { +class Z_Server; + +class YAZ_EXPORT Z_ServerUtility { public: void create_databaseRecord (ODR odr, Z_NamePlusRecord *rec, - const char *dbname, int format, - const void *buf, int len); + const char *dbname, int format, + const void *buf, int len); void create_surrogateDiagnostics(ODR odr, Z_NamePlusRecord *rec, - const char *dbname, int error, - char *const addinfo); + const char *dbname, int error, + char *const addinfo); Z_Records *create_nonSurrogateDiagnostics (ODR odr, int error, - const char *addinfo); + const char *addinfo); - void Yaz_Z_ServerUtility::create_diagnostics ( + void create_diagnostics ( ODR odr, int error, const char *addinfo, Z_DiagRec ***dreca, int *num); -}; -class YAZ_EXPORT IYaz_Server_Facility { - public: - virtual int init(Yaz_Z_Server *server, - Z_InitRequest *initRequest, - Z_InitResponse *initResponse) = 0; - virtual int recv(Yaz_Z_Server *server, Z_APDU *apdu) = 0; + virtual ~Z_ServerUtility() = 0; }; - -#if HAVE_YAZ_URSULA_H -class YAZ_EXPORT Yaz_Facility_Ursula : public IYaz_Server_Facility { +class YAZ_EXPORT IServer_Facility { public: -// virtual void ursula_service (Z_ExtendedServicesRequest *req, -// Z_UrsPDU *u, -// Z_ExtendedServicesResponse *res) = 0; - virtual void ursula_service (Z_ExtendedServicesRequest *req, - Z_UrsPDU *u_req, - Z_ExtendedServicesResponse *res, - Z_UrsPDU *u_res) =0; - - int init(Yaz_Z_Server *server, - Z_InitRequest *initRequest, - Z_InitResponse *initResponse); - int recv(Yaz_Z_Server *server, Z_APDU *apdu); + virtual int init(Z_Server *server, + Z_InitRequest *initRequest, + Z_InitResponse *initResponse) = 0; + virtual int recv(Z_Server *server, Z_APDU *apdu) = 0; + + virtual ~IServer_Facility() = 0; }; -#endif -class YAZ_EXPORT Yaz_Facility_ILL : public IYaz_Server_Facility { +class YAZ_EXPORT Yaz_Facility_ILL : public IServer_Facility { public: virtual void ill_service (Z_ExtendedServicesRequest *req, - Z_ItemOrder *io, - Z_ExtendedServicesResponse *res) = 0; + Z_ItemOrder *io, + Z_ExtendedServicesResponse *res) = 0; - int init(Yaz_Z_Server *server, - Z_InitRequest *initRequest, - Z_InitResponse *initResponse); - int recv(Yaz_Z_Server *server, Z_APDU *apdu); + int init(Z_Server *server, + Z_InitRequest *initRequest, + Z_InitResponse *initResponse); + int recv(Z_Server *server, Z_APDU *apdu); }; -class YAZ_EXPORT Yaz_Facility_Update : public IYaz_Server_Facility { +class YAZ_EXPORT Yaz_Facility_Update : public IServer_Facility { public: virtual void update_service (Z_ExtendedServicesRequest *req, - Z_IUUpdate *io, - Z_ExtendedServicesResponse *res) = 0; + Z_IUUpdate *io, + Z_ExtendedServicesResponse *res) = 0; virtual void update_service0 (Z_ExtendedServicesRequest *req, - Z_IU0Update *io, - Z_ExtendedServicesResponse *res) = 0; + Z_IU0Update *io, + Z_ExtendedServicesResponse *res) = 0; - int init(Yaz_Z_Server *server, - Z_InitRequest *initRequest, - Z_InitResponse *initResponse); - int recv(Yaz_Z_Server *server, Z_APDU *apdu); + int init(Z_Server *server, + Z_InitRequest *initRequest, + Z_InitResponse *initResponse); + int recv(Z_Server *server, Z_APDU *apdu); }; -class YAZ_EXPORT Yaz_Facility_Retrieval : public IYaz_Server_Facility, - public Yaz_Z_ServerUtility { +class YAZ_EXPORT Yaz_Facility_Retrieval : public IServer_Facility, + public Z_ServerUtility { public: virtual int sr_init (Z_InitRequest *initRequest, - Z_InitResponse *initResponse) = 0; + Z_InitResponse *initResponse) = 0; virtual void sr_search (Z_SearchRequest *searchRequest, - Z_SearchResponse *searchResponse) = 0; + Z_SearchResponse *searchResponse) = 0; virtual void sr_present (Z_PresentRequest *presentRequest, - Z_PresentResponse *presentResponse) = 0; + Z_PresentResponse *presentResponse) = 0; virtual void sr_record (const char *resultSetName, - int position, - int *format, - Z_RecordComposition *comp, - Z_NamePlusRecord *namePlusRecord, - Z_Records *diagnostics) = 0; - int init(Yaz_Z_Server *server, - Z_InitRequest *initRequest, - Z_InitResponse *initResponse); - int recv(Yaz_Z_Server *server, Z_APDU *apdu); + int position, + int *format, + Z_RecordComposition *comp, + Z_NamePlusRecord *namePlusRecord, + Z_Records *diagnostics) = 0; + int init(Z_Server *server, + Z_InitRequest *initRequest, + Z_InitResponse *initResponse); + int recv(Z_Server *server, Z_APDU *apdu); ODR odr_encode(); ODR odr_decode(); private: - Z_Records *pack_records (Yaz_Z_Server *s, - const char *resultSetName, - int start, int num, - Z_RecordComposition *comp, - int *next, int *pres, - int *oid); - - void fetch_via_piggyback (Yaz_Z_Server *s, - Z_SearchRequest *searchRequest, - Z_SearchResponse *searchResponse); - void fetch_via_present (Yaz_Z_Server *s, - Z_PresentRequest *req, Z_PresentResponse *res); + Z_Records *pack_records (Z_Server *s, + const char *resultSetName, + int start, int num, + Z_RecordComposition *comp, + int *next, int *pres, + int *oid); + + void fetch_via_piggyback (Z_Server *s, + Z_SearchRequest *searchRequest, + Z_SearchResponse *searchResponse); + void fetch_via_present (Z_Server *s, + Z_PresentRequest *req, Z_PresentResponse *res); int m_preferredMessageSize; int m_maximumRecordSize; @@ -128,29 +112,39 @@ class YAZ_EXPORT Yaz_Facility_Retrieval : public IYaz_Server_Facility, ODR m_odr_decode; }; -class YAZ_EXPORT Yaz_Z_Server_Facility_Info { - friend class Yaz_Z_Server; - IYaz_Server_Facility *m_facility; +class YAZ_EXPORT Z_Server_Facility_Info { + friend class Z_Server; + IServer_Facility *m_facility; char *m_name; - Yaz_Z_Server_Facility_Info *m_next; + Z_Server_Facility_Info *m_next; }; -class YAZ_EXPORT Yaz_Z_Server : public Yaz_Z_Assoc { +class YAZ_EXPORT Z_Server : public Z_Assoc { public: - Yaz_Z_Server(IYaz_PDU_Observable *the_PDU_Observable); - virtual ~Yaz_Z_Server(); - virtual void recv_Z_PDU(Z_APDU *apdu); - void facility_add(IYaz_Server_Facility *facility, const char *name); + Z_Server(IPDU_Observable *the_PDU_Observable); + virtual ~Z_Server(); + void recv_Z_PDU(Z_APDU *apdu, int len); + virtual void recv_GDU(Z_GDU *apdu, int len); + void facility_add(IServer_Facility *facility, const char *name); void facility_reset (); private: - Yaz_Z_Server_Facility_Info *m_facilities; + Z_Server_Facility_Info *m_facilities; }; class YAZ_EXPORT Yaz_USMARC { public: - const char *get_record(int position); + const char *get_record(size_t position); }; +}; +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +