+int Z_Assoc_priv::yaz_init_flag = Z_Assoc_priv::yaz_init_func();
+
+Z_Assoc_priv::Z_Assoc_priv(IPDU_Observable *the_PDU_Observable)
+{
+ PDU_Observable = the_PDU_Observable;
+ odr_in = odr_createmem(ODR_DECODE);
+ odr_out = odr_createmem(ODR_ENCODE);
+ odr_print = odr_createmem(ODR_PRINT);
+ log = YLOG_DEBUG;
+ APDU_file = 0;
+ APDU_fname = 0;
+ hostname = 0;
+ APDU_yazlog = 0;
+}
+
+Z_Assoc_priv::~Z_Assoc_priv()
+{
+ PDU_Observable->destroy();
+ delete PDU_Observable;
+ odr_destroy(odr_print); // note: also runs fclose on APDU_file ..
+ odr_destroy(odr_out);
+ odr_destroy(odr_in);
+ delete [] APDU_fname;
+ delete [] hostname;
+}