X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zlint%2Fzlint.h;fp=zlint%2Fzlint.h;h=694e0e57818f2a9b2bec6b8744fc76c25c9f39fb;hb=40213edfa0408f88b008c3d1ee4a4f90dcdf2fb9;hp=0000000000000000000000000000000000000000;hpb=b1f8a12e7743258d4f9654157d212ffcd83ae241;p=yazpp-moved-to-github.git diff --git a/zlint/zlint.h b/zlint/zlint.h new file mode 100644 index 0000000..694e0e5 --- /dev/null +++ b/zlint/zlint.h @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2004, Index Data. + * See the file LICENSE for details. + * + * $Id: zlint.h,v 1.1 2004-03-25 23:14:07 adam Exp $ + */ + +#include + +enum Zlint_code { + TEST_FINISHED, + TEST_CONTINUE, + TEST_REOPEN, +}; + +class Zlint_test; +class Zlint_t; + +class Zlint : public Yaz_Z_Assoc { +public: + Zlint(IYaz_PDU_Observable *the_PDU_Observable); + ~Zlint(); + void add_test(Zlint_test *i); + void set_host(const char *cp); + int initResponseGetVersion(Z_InitResponse *init); + Z_ReferenceId *mk_refid(const char *buf, int len); + void msg_check_for(const char *fmt, ...); + void msg_check_ok(); + void msg_check_fail(const char *fmt, ...); + void msg_check_info(const char *fmt, ...); + void msg_check_notapp(); + void getDatabase(char ***db, int *num); +private: + void connectNotify(); + void timeoutNotify(); + void failNotify(); + void recv_GDU(Z_GDU *apdu, int len); + IYaz_PDU_Observable *m_PDU_Observable; + IYaz_PDU_Observer *sessionNotify( + IYaz_PDU_Observable *the_PDU_Observable, int fd); + Zlint_t *m_tests; + Zlint_t *m_cur_test; + char *m_host; + char *m_database; + void close_goto_next(); +}; + +class Zlint_test { +public: + virtual Zlint_code init(Zlint *z) = 0; + virtual Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu) = 0; + virtual Zlint_code recv_fail(Zlint *z, int reason) = 0; +}; + +class Zlint_test_simple : public Zlint_test { +public: + virtual Zlint_code init(Zlint *z) = 0; + virtual Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu) = 0; + virtual Zlint_code recv_fail(Zlint *z, int reason); +}; + +class Zlint_test_init_01 : public Zlint_test_simple { +public: + Zlint_test_init_01(); + virtual ~Zlint_test_init_01(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_02 : public Zlint_test_simple { +public: + Zlint_test_init_02(); + virtual ~Zlint_test_init_02(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_03 : public Zlint_test_simple { +public: + Zlint_test_init_03(); + virtual ~Zlint_test_init_03(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_04 : public Zlint_test_simple { +public: + Zlint_test_init_04(); + virtual ~Zlint_test_init_04(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_05 : public Zlint_test_simple { + int m_init_response_no; +public: + Zlint_test_init_05(); + virtual ~Zlint_test_init_05(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_06 : public Zlint_test_simple { +public: + Zlint_test_init_06(); + virtual ~Zlint_test_init_06(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_07 : public Zlint_test_simple { +public: + Zlint_test_init_07(); + virtual ~Zlint_test_init_07(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); +}; + +class Zlint_test_init_08 : public Zlint_test { + int m_no; +public: + Zlint_test_init_08(); + virtual ~Zlint_test_init_08(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); + Zlint_code recv_fail(Zlint *z, int reason); +}; + +class Zlint_test_search_01 : public Zlint_test { + int m_query_no; + int m_got_result_set; + int m_record_syntax_no; + int m_sort_no; + Zlint_code sendTest(Zlint *z); +public: + Zlint_test_search_01(); + virtual ~Zlint_test_search_01(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); + Zlint_code recv_fail(Zlint *z, int reason); +}; + +class Zlint_test_scan_01 : public Zlint_test { + int m_scan_no; + Zlint_code sendTest(Zlint *z); +public: + Zlint_test_scan_01(); + virtual ~Zlint_test_scan_01(); + Zlint_code init(Zlint *z); + Zlint_code recv_gdu(Zlint *z, Z_GDU *gdu); + Zlint_code recv_fail(Zlint *z, int reason); +};