public void GenerateAssemblyFile() { using (var fs = GenerateOutputFile("CefAssembly.cs")) { using (var cs = new CSharpCodeWriter(fs)) { cs.WriteDefaultUsingDirectives(); cs.BeginNamespace(_settings.Namespace); cs.BeginClass("CefAssembly", false); cs.WriteLine("public const string Name = \"libcef.dll\";"); cs.EndClass(); cs.EndNamespace(); } } }
private void ParseFile(FileSystemInfo file) { string content; using (var f = File.OpenRead(file.FullName)) { using (var sr = new StreamReader(f)) { content = sr.ReadToEnd(); } } var name = CSharpCodeConverter.ConvertFileName(file.Name); using (var fs = GenerateOutputFile(name)) { using (var cw = new CSharpCodeWriter(fs)) { cw.WriteDefaultUsingDirectives(); cw.BeginNamespace(_settings.Namespace); var methods = FindNativeMethods(content); if (methods.Count > 0) { GenerateClass(cw, methods, name, _settings.ClassNameSuffix); cw.WriteLine(string.Empty); } var structs = FindStructures(content); if (structs.Count > 0) { var prefix = DeterminePrefix(name); GenerateStruct(cw, structs, prefix, name.Split('.').First()); cw.WriteLine(string.Empty); } var enums = FindEnums(content); if (enums.Count > 0) { var prefix = DeterminePrefix(name); GenerateEnum(cw, enums, prefix); cw.WriteLine(string.Empty); } cw.EndNamespace(); } } }