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();
                }
            }
        }