public bool GetStronglyTypedClassCode(CodeLanguage lang, string filePath, string classNamespace) { base.Get(); ManagementClassGenerator managementClassGenerator = new ManagementClassGenerator(this); return(managementClassGenerator.GenerateCode(lang, filePath, classNamespace)); }
public CodeTypeDeclaration GetStronglyTypedClassCode(bool includeSystemClassInClassDef, bool systemPropertyClass) { base.Get(); ManagementClassGenerator managementClassGenerator = new ManagementClassGenerator(this); return(managementClassGenerator.GenerateCode(includeSystemClassInClassDef, systemPropertyClass)); }
public static int Main(String[] args) { Console.WriteLine("GenWMIClass : Generate managed code wrapper for a WMI Class."); if (args.Length < 2) { Console.WriteLine("Invalid Arguments !!!"); return(GenWMIClass.ShowUsage()); } String machineName = String.Empty; String nameSpace = "root\\CimV2"; String className = String.Empty; String language = "CS"; String filePath = String.Empty; for (int i = 0; i < args.Length; i++) { if (args[i].ToUpper() == "-L") { if ((args[i + 1].ToUpper() == "JS") || (args[i + 1].ToUpper() == "VB")) { language = args[i + 1]; } } else if (args[i].ToUpper() == "-C") { className = args[i + 1]; } else if (args[i].ToUpper() == "-N") { nameSpace = args[i + 1]; } else if (args[i].ToUpper() == "-M") { machineName = args[i + 1]; } else if (args[i].ToUpper() == "-P") { filePath = args[i + 1]; } } if (className == string.Empty) { Console.WriteLine("Error!!!!. You should specify the class name."); return(GenWMIClass.ShowUsage()); } Console.WriteLine("Generating Code for WMI Class {0}...", className); try { ManagementClassGenerator mcg = new ManagementClassGenerator(); if (mcg.GenerateCode(machineName, nameSpace, className, language, filePath) == true) { Console.WriteLine("Code Generated Successfully!!!!"); } else { Console.WriteLine("Code Generation Failed."); } } catch (Exception e) { Console.WriteLine("Exception Occured!!!! Reason : {0}\n\nStack Trace : \n{1}.", e.Message, e.StackTrace); } #if PAUSE Console.WriteLine("Press a Key...!"); Console.Read(); #endif return(0); }
public override byte[] GenerateCode(string inputFileName, string inputFileContent) { // Validate parameters. if (inputFileContent == null || inputFileContent.Length == 0) { string errorMessage = "WMICodeGenerator - Input file content is null or empty."; GeneratorErrorCallback(false, 1, errorMessage, 0, 0); // Should I throw an exception? // throw new ArgumentException(inputFileContent); return(null); } //Here parse the input file and get all the necessary info // Set generator progress to 0 out of 100. IVsGeneratorProgress progress = CodeGeneratorProgress; if (progress != null) { progress.Progress(0, 100); } StreamWriter writer = new StreamWriter(new MemoryStream(), Encoding.UTF8); //writer.Write((char) 0xFEFF); /* * tw = new StreamWriter(new FileStream (genFileName, * FileMode.Create)); */ ICodeGenerator codeGenerator = CodeGenerator; if (codeGenerator == null) { string errorMessage = "WMICodeGenerator - No code generator available for this language."; GeneratorErrorCallback(false, 1, errorMessage, 0, 0); Debug.Fail(errorMessage); return(null); } try { ManagementClassGenerator mcg = new ManagementClassGenerator(); string language = "CS"; switch (GetDefaultExtension().ToUpper()) { case ".VB": language = "VB"; break; case ".JScript": language = "JS"; break; default: language = "CS"; break; } if (!mcg.GenerateCode(inputFileContent, codeGenerator, writer, language)) { throw new Exception("GenerateCode() failed"); } } catch (Exception e) { string errorMessage = "Code generator: " + codeGenerator.GetType().Name + " failed. Exception = " + e.Message; GeneratorErrorCallback(false, 1, errorMessage, 0, 0); Debug.Fail(errorMessage); return(null); } // Set generator progress to 0 out of 100. if (progress != null) { progress.Progress(100, 100); } writer.Flush(); return(StreamToBytes(writer.BaseStream)); }