public static void SafeReconnect(IPhysicalConnection conn) { IAsyncResult res = conn.BeginInvoke((Action)conn.Reconnect, null); Async.WaitFor(res); conn.EndInvoke(res); }
//public static List<NameWithSchema> InvokeLoadFullTableNames(this IPhysicalConnection conn, string dbname) //{ // DatabaseStructureMembers dbmem = new DatabaseStructureMembers { TableList = true }; // IDatabaseStructure dbs = conn.InvokeLoadStructure(dbname, dbmem); // return dbs.GetTableNames(); //} public static IDatabaseStructure InvokeLoadStructure(this IPhysicalConnection conn, string dbname, DatabaseStructureMembers members, IProgressInfo progress) { IAsyncResult async = conn.BeginInvoke( (Func <IDatabaseStructure>) delegate() { return(conn.Dialect.AnalyseDatabase(conn, dbname, members, progress)); }, null); Async.WaitFor(async); return((IDatabaseStructure)conn.EndInvoke(async)); }
public static ITableStructure InvokeLoadStructure(this ITableSource table, TableStructureMembers members) { IPhysicalConnection conn = table.Connection; if (conn == null) { return(table.LoadTableStructure(members)); } IAsyncResult async = conn.BeginInvoke((Func <TableStructureMembers, ITableStructure>)table.LoadTableStructure, null, members); Async.WaitFor(async); return((ITableStructure)conn.EndInvoke(async)); }
public static object CacheGet(this IPhysicalConnection conn, PriorityLevel priority, bool behaveAsStack, string key, Func <object> getFunc, Action guiCallback) { var res = (CacheGetAction)conn.Cache.Get("ccget", key); if (res != null) { return(res.GetReturnValue()); } CacheGetAction act = new CacheGetAction { GuiCallback = guiCallback, GetFunc = getFunc, Conn = conn, Key = key }; conn.BeginInvoke(priority, behaveAsStack, (Func <object>)act.Run, MainWindow.Instance.Invoker.CreateInvokeCallback(act.OnFinish)); return(null); }
public IAsyncResult BeginGetRowFormat(AsyncCallback callback) { return(m_conn.BeginInvoke((Func <ITableStructure>)DoGetRowFormat, null)); }
public void RefreshTables() { Connection.BeginInvoke((Action)DoRefreshTables, m_invoker.CreateInvokeCallback(RefreshedTables)); }