/// <summary>
 /// used for generate resource report
 /// </summary>
 /// <param name="connection"></param>
 /// <param name="filename"></param>
 public ExportResourceReportAction(IXenConnection connection, string filename, int fileType)
     : base(connection, string.Format(Messages.ACTION_EXPORT_POOL_RESOURCE_LIST_FROM_X, Helpers.GetName(connection)),
            Messages.ACTION_EXPORT_DESCRIPTION_PREPARING)
 {
     Pool          = Helpers.GetPool(connection);
     _filename     = filename;
     _fileType     = fileType;
     MetricUpdater = new MetricUpdater();
     MetricUpdater.SetXenObjects(connection.Cache.Hosts);
     MetricUpdater.SetXenObjects(connection.Cache.VMs);
     MetricUpdater.UpdateMetricsOnce();
     itemCount = connection.Cache.Hosts.Length + connection.Cache.Networks.Length + connection.Cache.SRs.Length + connection.Cache.VMs.Length;
 }
예제 #2
0
        private void listUpdateManager_Update(object sender, EventArgs e)
        {
            GridRow            root     = new GridRow(-1);
            RowGroupAcceptor   acceptor = new RowGroupAcceptor(root);
            CollectionAcceptor ca       = new CollectionAcceptor();

            bool addedAny = search.PopulateAdapters(acceptor, ca);

            Program.Invoke(Program.MainWindow, delegate
            {
                SaveRowStates();
                Clear();

                if (!addedAny)
                {
                    AddNoResultsRow();
                }

                foreach (GridRow row in root.Rows)
                {
                    AddRow(row);
                }

                MetricUpdater.SetXenObjects(ca.XenObjects.ToArray());

                RestoreRowStates();
                Refresh();
            });
        }