Example #1
0
		public void DumpNonTagFiles()
		{
			using (var util = new TagIndexDumpUtil(this.engine, directory))
			{
				util.Setup(TagIndexDumpUtil.DumpFormat.Xml, TagIndexDumpUtil.DumpType.NonTags);

				System.IO.DirectoryInfo diri = new System.IO.DirectoryInfo(directory);

				util.NonTagsBegin();
				DumpNonTagFilesRecursive(util, diri, engine.VersionToTagCollection());
				util.NonTagsEnd();
			}
		}
Example #2
0
		void DumpNonTagFilesRecursive(TagIndexDumpUtil util, System.IO.DirectoryInfo diri, TagInterface.TagGroupCollection coll)
		{
			System.IO.FileInfo[] files = diri.GetFiles();
			System.IO.DirectoryInfo[] directories = diri.GetDirectories();
			if (files.Length == 0 && directories.Length == 0)
			{
				util.NonTagsDirectoryBegin(diri.FullName.Replace(directory, ""), true);
				util.NonTagsDirectoryEnd();
			}
			else
			{
				bool is_first = true;
				foreach (System.IO.FileInfo fi in files)
				{
					string ext;
					if (fi.Extension != "")
						ext = fi.Extension.Remove(0, 1).ToLowerInvariant(); // remove the '.'
					else continue;

					if (coll.FindGroupIndex(ext) == -1)
					{
						if (is_first)
						{
							util.NonTagsDirectoryBegin(diri.FullName.Replace(directory, ""), false);
							is_first = false;
						}

						util.NonTagsEntryAdd(fi.FullName.Replace(directory, ""));
					}
				}

				// if we wrote some entries, close the directory dump...
				if (!is_first) util.NonTagsDirectoryEnd();

				foreach (System.IO.DirectoryInfo di in directories)
					DumpNonTagFilesRecursive(util, di, coll);
			}
		}
Example #3
0
		public void PrintDatabase()
		{
			using (var util = new TagIndexDumpUtil(this.engine, directory))
			{
				util.Setup(TagIndexDumpUtil.DumpFormat.Xml, TagIndexDumpUtil.DumpType.Dependencies);

				util.TagInstancesBegin();
				foreach (TagManager tm in Array)
				{
					util.TagInstanceBegin(tm.TagIndex, refManager[tm.ReferenceName], tm.GroupTag);
					util.TagInstanceDependentsBegin();
					foreach (Blam.DatumIndex di in tm.References)
					{
						TagManager dep = Array[di];
						util.TagInstanceDependentAdd(dep.Name, dep.GroupTag);
					}
					util.TagInstanceDependentsEnd();
					util.TagInstanceEnd();
				}
				util.TagInstancesEnd();
			}
		}
Example #4
0
		public void DumpSharedReferences(TagIndex other)
		{
			List<Blam.DatumIndex> tag_indices = FindSharedReferences(other);
			if (tag_indices == null) return;

			using (var util = new TagIndexDumpUtil(this.engine, directory))
			{
				util.Setup(TagIndexDumpUtil.DumpFormat.Xml, TagIndexDumpUtil.DumpType.SharedReferences);

				//util.SharedReferencesAddLeftIndex();
				//util.SharedReferencesAddRightIndex();
				util.SharedReferencesBegin();
				foreach (Blam.DatumIndex di in tag_indices)
				{
					TagManager tm = Array[di];
					util.TagInstanceBegin(tm.TagIndex, refManager[tm.ReferenceName], tm.GroupTag);
					util.TagInstanceEnd();
				}
				util.SharedReferencesEnd();
			}
		}
Example #5
0
		public void DumpToXml()
		{
			using (var util = new TagIndexDumpUtil(this.engine, directory))
			{
				util.Setup(TagIndexDumpUtil.DumpFormat.Xml, TagIndexDumpUtil.DumpType.Memory);

				util.TagInstancesBegin();
				foreach (TagManager tm in Array)
				{
					util.TagInstanceBegin(tm.TagIndex, refManager[tm.ReferenceName], tm.GroupTag);
					util.TagInstanceMemoryUsageAdd(tm.CalculateRuntimeSize(engine, false), tm.CalculateRuntimeSize(engine, true));
					util.TagInstanceEnd();
				}
				util.TagInstancesEnd();
			}
		}