X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=zlint%2Ftest-init-02.cpp;fp=zlint%2Ftest-init-02.cpp;h=bd258a8e7d502a4f66c5559425cbf57887a13a58;hp=0000000000000000000000000000000000000000;hb=40213edfa0408f88b008c3d1ee4a4f90dcdf2fb9;hpb=b1f8a12e7743258d4f9654157d212ffcd83ae241 diff --git a/zlint/test-init-02.cpp b/zlint/test-init-02.cpp new file mode 100644 index 0000000..bd258a8 --- /dev/null +++ b/zlint/test-init-02.cpp @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2004, Index Data. + * See the file LICENSE for details. + * + * $Id: test-init-02.cpp,v 1.1 2004-03-25 23:14:07 adam Exp $ + */ + +#include + +#include + +Zlint_test_init_02::Zlint_test_init_02() +{ +} + +Zlint_test_init_02::~Zlint_test_init_02() +{ +} + +Zlint_code Zlint_test_init_02::init(Zlint *z) +{ + int len; + Z_APDU *apdu = z->create_Z_PDU(Z_APDU_initRequest); + Z_InitRequest *init = apdu->u.initRequest; + + z->msg_check_for("for V2 init"); + + ODR_MASK_ZERO(init->protocolVersion); + ODR_MASK_SET(init->protocolVersion, Z_ProtocolVersion_1); + ODR_MASK_SET(init->protocolVersion, Z_ProtocolVersion_2); + + int r = z->send_Z_PDU(apdu, &len); + if (r < 0) + { + z->msg_check_fail("unable to send init request"); + return TEST_FINISHED; + } + return TEST_CONTINUE; +} + +Zlint_code Zlint_test_init_02::recv_gdu(Zlint *z, Z_GDU *gdu) +{ + if (gdu->which == Z_GDU_Z3950 && + gdu->u.z3950 && gdu->u.z3950->which == Z_APDU_initResponse) + { + Z_InitResponse *init = gdu->u.z3950->u.initResponse; + int ver = z->initResponseGetVersion(init); + int result = init->result ? *init->result : 0; + if (ver != 2) + z->msg_check_fail("got version %d, expected 2", ver); + z->msg_check_ok(); + } + else + z->msg_check_fail("did not receive init response as expected"); + return TEST_FINISHED; +} + + +