internal NewSRWizard(IXenConnection connection, SR srToReattach, IStorageLinkObject storageLinkObject, bool disasterRecoveryTask) : base(connection) { InitializeComponent(); xenTabPageSrName = new NewSrWizardNamePage(); xenTabPageCifsIso = new CIFS_ISO(); xenTabPageCslg = new CSLG(); xenTabPageVhdoNFS = new VHDoNFS(); xenTabPageNfsIso = new NFS_ISO(); xenTabPageNetApp = new NetApp(); xentabPageEqualLogic = new EqualLogic(); xenTabPageLvmoIscsi = new LVMoISCSI(); xenTabPageLvmoHba = new LVMoHBA(); xenTabPageLvmoHbaSummary = new LVMoHBASummary(); xenTabPageCslgSettings = new CslgSettings(); xenTabPageCslgLocation = new CslgLocation(); xenTabPageFilerDetails = new FilerDetails(); xenTabPageChooseSrType = new ChooseSrTypePage(); xenTabPageRbacWarning = new RBACWarningPage((srToReattach == null && !disasterRecoveryTask) ? Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_CREATE : Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_ATTACH); if (connection == null) Util.ThrowIfParameterNull(storageLinkObject, "storageLinkObject"); if (storageLinkObject == null) Util.ThrowIfParameterNull(connection, "connection"); if (storageLinkObject != null && connection != null) throw new ArgumentException("connection must be null when passing in a storageLinkObject", "connection"); //do not use virtual members in constructor var format = (srToReattach == null && !disasterRecoveryTask) ? Messages.NEWSR_TEXT : Messages.NEWSR_TEXT_ATTACH; m_text = string.Format(format, xenConnection == null ? storageLinkObject.ToString() : Helpers.GetName(xenConnection)); _srToReattach = srToReattach; xenTabPageChooseSrType.SrToReattach = srToReattach; xenTabPageChooseSrType.DisasterRecoveryTask = disasterRecoveryTask; xenTabPageCslg.SetStorageLinkObject(storageLinkObject); // Order the tab pages AddPage(xenTabPageChooseSrType); AddPage(xenTabPageSrName); AddPage(new XenTabPage {Text = Messages.NEWSR_LOCATION}); // RBAC warning page _rbac = (xenConnection != null && !xenConnection.Session.IsLocalSuperuser) && Helpers.GetMaster(xenConnection).external_auth_type != Auth.AUTH_TYPE_NONE; if (_rbac) { // if reattaching, add "Permission checks" page after "Name" page, otherwise as first page (Ref. CA-61525) if (_srToReattach != null) AddAfterPage(xenTabPageSrName, xenTabPageRbacWarning); else AddPage(xenTabPageRbacWarning, 0); ConfigureRbacPage(disasterRecoveryTask); } }
private bool SetFCDevicesOnLVMoHBAPage(LVMoHBA page) { List<FibreChannelDevice> devices; var success = page.FiberChannelScan(this, xenConnection, out devices); page.FCDevices = devices; return success; }