/* * Copyright (c) 2004-2005, Index Data. * See the file LICENSE for details. * * $Id: zlint.h,v 1.7 2006/03/29 13:14:20 adam Exp $ */ #include using namespace yazpp_1; enum Zlint_code { TEST_FINISHED, TEST_CONTINUE, TEST_REOPEN, }; class Zlint_test; class Zlint_t; class Zlint : public Z_Assoc { public: Zlint(IPDU_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); IPDU_Observable *m_PDU_Observable; IPDU_Observer *sessionNotify(IPDU_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; virtual ~Zlint_test(); }; 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); }; /* * Local variables: * c-basic-offset: 4 * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab */