X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Futil.cpp;h=479aebf624099855904ed62234c36fac9f0cd20b;hb=77dee8966dd1304a0fb8540c3fc68d02dc6ce84a;hp=ab2351b31ec135592e7798e3dea8231e2c2d4801;hpb=f26cca046b4879a78261ea436c3e21bb3b851b52;p=metaproxy-moved-to-github.git diff --git a/src/util.cpp b/src/util.cpp index ab2351b..479aebf 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,4 +1,4 @@ -/* $Id: util.cpp,v 1.2 2005-10-30 17:13:36 adam Exp $ +/* $Id: util.cpp,v 1.3 2005-10-30 18:51:21 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -48,6 +48,28 @@ yp2::odr::operator ODR() const return m_odr; } +Z_APDU *yp2::odr::create_close(int reason, const char *addinfo) +{ + Z_APDU *apdu = zget_APDU(m_odr, Z_APDU_close); + + *apdu->u.close->closeReason = reason; + if (addinfo) + apdu->u.close->diagnosticInformation = odr_strdup(m_odr, addinfo); + return apdu; +} + +Z_APDU *yp2::odr::create_initResponse(int error, const char *addinfo) +{ + Z_APDU *apdu = zget_APDU(m_odr, Z_APDU_initResponse); + if (error) + { + apdu->u.initResponse->userInformationField = + zget_init_diagnostics(m_odr, error, addinfo); + *apdu->u.initResponse->result = 0; + } + return apdu; +} + /* * Local variables: * c-basic-offset: 4