Esempio n. 1
0
        public static void SafeReconnect(IPhysicalConnection conn)
        {
            IAsyncResult res = conn.BeginInvoke((Action)conn.Reconnect, null);

            Async.WaitFor(res);
            conn.EndInvoke(res);
        }
Esempio n. 2
0
        //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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public IAsyncResult BeginGetRowFormat(AsyncCallback callback)
 {
     return(m_conn.BeginInvoke((Func <ITableStructure>)DoGetRowFormat, null));
 }
Esempio n. 6
0
 public void RefreshTables()
 {
     Connection.BeginInvoke((Action)DoRefreshTables, m_invoker.CreateInvokeCallback(RefreshedTables));
 }