示例#1
0
		public override void FixtureSetup()
		{
			base.FixtureSetup();

			// Check our permissions. If we don't have admin privileges (e.g. on Vista with UAC
			// enabled), we redirect HKCR
			if (!MiscUtils.IsUserAdmin)
				RegistryRedirect.InitializeRegistry();

			m_dataFiles = new Unpacker.ResourceUnpacker("ECImportData", @"c:\~~asdfsdf_asdfas~");

			m_regDataSettingsDir = new RegistryData(Registry.LocalMachine,
				@"SOFTWARE\ScrChecks\1.0\Settings_Directory",
				string.Empty, m_dataFiles.UnpackedDestinationPath);
		}
示例#2
0
		/// <summary>
		/// Executes in two distinct scenarios.
		///
		/// 1. If disposing is true, the method has been called directly
		/// or indirectly by a user's code via the Dispose method.
		/// Both managed and unmanaged resources can be disposed.
		///
		/// 2. If disposing is false, the method has been called by the
		/// runtime from inside the finalizer and you should not reference (access)
		/// other managed objects, as they already have been garbage collected.
		/// Only unmanaged resources can be disposed.
		/// </summary>
		/// <param name="disposing"></param>
		/// <remarks>
		/// If any exceptions are thrown, that is fine.
		/// If the method is being done in a finalizer, it will be ignored.
		/// If it is thrown by client code calling Dispose,
		/// it needs to be handled by fixing the bug.
		///
		/// If subclasses override this method, they should call the base implementation.
		/// </remarks>
		protected override void Dispose(bool disposing)
		{
			//Debug.WriteLineIf(!disposing, "****************** " + GetType().Name + " 'disposing' is false. ******************");
			// Must not be run more than once.
			if (IsDisposed)
				return;

			if (disposing)
			{
				if (!MiscUtils.IsUserAdmin)
					RegistryRedirect.ResetRegistry();

				// Dispose managed resources here.
				if (m_dataFiles != null)
				{
					m_dataFiles.CleanUp();
					m_dataFiles = null;
				}

				if (m_regDataSettingsDir != null)
				{
					m_regDataSettingsDir.RestoreRegistryData();
					m_regDataSettingsDir = null;
				}
			}
			m_regDataSettingsDir = null;
			m_dataFiles = null;
			m_settings = null;

			// Dispose unmanaged resources here, whether disposing is true or false.

			base.Dispose(disposing);
		}
示例#3
0
		public void EnsureFilesAreClosed()
		{
			CheckDisposed();

			try
			{
				string file = Path.Combine(m_dataFiles.UnpackedDestinationPath, "01GEN.sfm");
				m_settings.AddFile(file, ImportDomain.Main, null, 0);

				ISCTextEnum textEnum = GetTextEnum(ImportDomain.Main,
					new ScrReference(1, 2, 1, Paratext.ScrVers.English), new ScrReference(1, 2, 1, Paratext.ScrVers.English));
				// we have to call close or something like that on some object - but which
				// object and which method?
				File.Delete(file);

				// do it a second time just to be sure
				m_dataFiles = new Unpacker.ResourceUnpacker( "ECImportData", @"c:\~~asdfsdf_asdfas~" );
				m_settings.AddFile(file, ImportDomain.Main, null, 0);

				textEnum = GetTextEnum(ImportDomain.Main,
					new ScrReference(1, 2, 1, Paratext.ScrVers.English), new ScrReference(1, 2, 1, Paratext.ScrVers.English));
				// we have to call close or something like that on some object - but which
				// object and which method?
				File.Delete(file);
			}
			finally
			{
				// restore files that FixtureSetUp created
				m_dataFiles = new Unpacker.ResourceUnpacker( "ECImportData", @"c:\~~asdfsdf_asdfas~" );
			}
		}