public void Connect() { Yaz.ZOOM_connection_connect(_zoomConnection, _host, _port); int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); CheckErrorCodeAndThrow(errorCode); _connected = true; }
public Connection(string host, int port) { _host = host; _port = port; _options = new ConnectionOptionsCollection(); _zoomConnection = Yaz.ZOOM_connection_create(_options._zoomOptions); int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); CheckErrorCodeAndThrow(errorCode); //Yaz.yaz_log(Yaz.LogLevel.LOG, "Connection Created"); }
/* * public IResultSet Search(ICQLQuery query) * { * EnsureConnected(); * IntPtr yazQuery = Yaz.ZOOM_query_create(); * Yaz.ZOOM_query_cql(yazQuery, query.QueryString); * * IntPtr yazResultSet = Yaz.ZOOM_connection_search(_zoomConnection, yazQuery); * * int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); * if (errorCode != Yaz.ZOOM_ERROR_NONE) * { * Yaz.ZOOM_resultset_destroy(yazResultSet); * } * Yaz.ZOOM_query_destroy(yazQuery); * yazQuery = IntPtr.Zero; * CheckErrorCodeAndThrow(errorCode); * * ResultSet resultSet = new ResultSet(yazResultSet, this); * return resultSet; * } * * public IResultSet Search(IPrefixQuery query) * { * EnsureConnected(); * IntPtr yazQuery = Yaz.ZOOM_query_create(); * * Yaz.ZOOM_query_prefix(yazQuery, query.QueryString); * * IntPtr yazResultSet = Yaz.ZOOM_connection_search(_zoomConnection, yazQuery); * * int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); * if (errorCode != Yaz.ZOOM_ERROR_NONE) * { * Yaz.ZOOM_resultset_destroy(yazResultSet); * } * Yaz.ZOOM_query_destroy(yazQuery); * yazQuery = IntPtr.Zero; * CheckErrorCodeAndThrow(errorCode); * * ResultSet resultSet = new ResultSet(yazResultSet, this); * return resultSet; * } * */ public IScanSet Scan(IPrefixQuery query) { EnsureConnected(); IntPtr yazScanSet = Yaz.ZOOM_connection_scan(_zoomConnection, query.QueryString); int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); if (errorCode != Yaz.ZOOM_ERROR_NONE) { Yaz.ZOOM_scanset_destroy(yazScanSet); } CheckErrorCodeAndThrow(errorCode); ScanSet scanSet = new ScanSet(yazScanSet, this); return(scanSet); }
public IResultSet Search(IQuery query) { EnsureConnected(); IntPtr yazQuery = Yaz.ZOOM_query_create(); ResultSet resultSet = null; try { // branching out to right YAZ-C call if (query is ICQLQuery) { Yaz.ZOOM_query_cql(yazQuery, query.QueryString); } else if (query is IPrefixQuery) { Yaz.ZOOM_query_prefix(yazQuery, query.QueryString); } else { throw new NotImplementedException(); } IntPtr yazResultSet = Yaz.ZOOM_connection_search(_zoomConnection, yazQuery); // error checking C-style int errorCode = Yaz.ZOOM_connection_errcode(_zoomConnection); if (errorCode != Yaz.ZOOM_ERROR_NONE) { Yaz.ZOOM_resultset_destroy(yazResultSet); } CheckErrorCodeAndThrow(errorCode); // everything ok, create result set resultSet = new ResultSet(yazResultSet, this); } finally { // deallocate yazQuery also when exceptions Yaz.ZOOM_query_destroy(yazQuery); yazQuery = IntPtr.Zero; } return(resultSet); }