Added methods create_{close,initResponse} for odr class.
[metaproxy-moved-to-github.git] / src / util.cpp
index ab2351b..479aebf 100644 (file)
@@ -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