+}
+
+void Yaz_Z_Assoc::set_otherInformationString (
+ Z_APDU *apdu,
+ int oidval, int categoryValue,
+ const char *str)
+{
+ Z_OtherInformation **otherInformation;
+ get_otherInfoAPDU(apdu, &otherInformation);
+ if (!otherInformation)
+ return;
+ set_otherInformationString(otherInformation, oidval, categoryValue, str);
+}
+
+void Yaz_Z_Assoc::set_otherInformationString (
+ Z_OtherInformation **otherInformation,
+ int oidval, int categoryValue,
+ const char *str)
+{
+ int oid[OID_SIZE];
+ struct oident ent;
+ ent.proto = PROTO_Z3950;
+ ent.oclass = CLASS_USERINFO;
+ ent.value = (oid_value) oidval;
+ if (!oid_ent_to_oid (&ent, oid))
+ return ;
+ set_otherInformationString(otherInformation, oid, categoryValue, str);
+}
+
+void Yaz_Z_Assoc::set_otherInformationString (
+ Z_OtherInformation **otherInformation,
+ int *oid, int categoryValue, const char *str)
+{
+ Z_OtherInformationUnit *oi =
+ update_otherInformation(otherInformation, 1, oid, categoryValue, 0);
+ if (!oi)
+ return;
+ oi->information.characterInfo = odr_strdup (odr_encode(), str);
+}
+
+Z_OtherInformationUnit *Yaz_Z_Assoc::update_otherInformation (
+ Z_OtherInformation **otherInformationP, int createFlag,
+ int *oid, int categoryValue, int deleteFlag)
+{
+ return yaz_oi_update (otherInformationP,
+ (createFlag ? odr_encode() : 0),
+ oid, categoryValue, deleteFlag);
+}
+
+Z_ReferenceId* Yaz_Z_Assoc::getRefID(char* str)
+{
+ Z_ReferenceId* id = NULL;
+
+ if ( str )