public void Dispose() { if (!_disposed) { Yaz.ZOOM_scanset_destroy(_scanSet); _connection = null; _scanSet = IntPtr.Zero; _disposed = true; } }
public IScanSet Scan(IPrefixQuery query) { EnsureConnected(); var yazScanSet = Yaz.ZOOM_connection_scan(ZConnection, query.QueryString); var errorCode = Yaz.ZOOM_connection_errcode(ZConnection); if (errorCode != Yaz.ZoomErrorNone) { Yaz.ZOOM_scanset_destroy(yazScanSet); } CheckErrorCodeAndThrow(errorCode); var scanSet = new ScanSet(yazScanSet, this); return(scanSet); }