/// <summary> /// Generates the class code for a service. /// </summary> /// <param name="service">The service to generate for.</param> /// <param name="codeGenProvider">The code generator provider to use.</param> /// <param name="className">The class name of the service or null to use the service type.</param> /// <param name="namespaceName">The namespace for the class.</param> /// <param name="classScope">The scope for the class.</param> /// <param name="partial">True to make the class partial, false otherwise.</param> /// <param name="testStateVars"> /// True to test each state variable to ensure it is /// usuable for accessing as property, false to include /// all state variables as properties.</param> /// <returns>The string representing the code for the class.</returns> public static string GenerateClassFor( this Service service, ICodeGenProvider codeGenProvider, string className, string namespaceName, ClassScope classScope, bool partial, bool testStateVars) { ServiceGen ldgGenerator = new ServiceGen(codeGenProvider); return(ldgGenerator.GenerateClassFor( service, className, namespaceName, classScope, partial, testStateVars)); }
/// <summary> /// Generates the class code for a service. /// </summary> /// <param name="service">The service to generate for.</param> /// <param name="codeGenProvider">The code generator provider to use.</param> /// <param name="className">The class name of the service or null to use the service type.</param> /// <param name="namespaceName">The namespace for the class.</param> /// <param name="classScope">The scope for the class.</param> /// <param name="partial">True to make the class partial, false otherwise.</param> /// <param name="testStateVars"> /// True to test each state variable to ensure it is /// usuable for accessing as property, false to include /// all state variables as properties.</param> /// <returns>The string representing the code for the class.</returns> public static string GenerateClassFor( this Service service, ICodeGenProvider codeGenProvider, string className, string namespaceName, ClassScope classScope, bool partial, bool testStateVars) { ServiceGen ldgGenerator = new ServiceGen(codeGenProvider); return ldgGenerator.GenerateClassFor( service, className, namespaceName, classScope, partial, testStateVars); }
/// <summary> /// Generates the class code for a device. /// </summary> /// <param name="device">The device to generate code for.</param> /// <param name="codeGenProvider">The code generator provider to use.</param> /// <param name="className">The class name of the device class or null to use friendly name.</param> /// <param name="namespaceName">The namespace for the class.</param> /// <param name="classScope">The scope of the class.</param> /// <param name="partial">True to make the class partial, false otherwise.</param> /// <param name="specificDevices">True if generating properties for device specific class types, false to use device non-specific class types.</param> /// <param name="specificServiceNamespace">The name of the service namespace if using specific service class types, null to use service non-specific class types.</param> /// <param name="specificDeviceClasses">The dictionary of UDNs, ClassNames for the devices or null for default / none.</param> /// <param name="specificServiceClasses">The dictionary of IDs, ClassNames for the services or null for default / none.</param> /// <returns>The string representing the code for the class.</returns> public static string GenerateClassFor( this Device device, ICodeGenProvider codeGenProvider, string className, string namespaceName, ClassScope classScope, bool partial, bool specificDevices, string specificServiceNamespace, Dictionary<string, string> specificDeviceClasses = null, Dictionary<string, string> specificServiceClasses = null) { DeviceGen ldgGenerator = new DeviceGen(codeGenProvider); return ldgGenerator.GenerateClassFor( device, className, namespaceName, classScope, partial, specificDevices, specificServiceNamespace, specificDeviceClasses, specificServiceClasses); }
/// <summary> /// Generates the class code for a device. /// </summary> /// <param name="device">The device to generate code for.</param> /// <param name="codeGenProvider">The code generator provider to use.</param> /// <param name="className">The class name of the device class or null to use friendly name.</param> /// <param name="namespaceName">The namespace for the class.</param> /// <param name="classScope">The scope of the class.</param> /// <param name="partial">True to make the class partial, false otherwise.</param> /// <param name="specificDevices">True if generating properties for device specific class types, false to use device non-specific class types.</param> /// <param name="specificServiceNamespace">The name of the service namespace if using specific service class types, null to use service non-specific class types.</param> /// <param name="specificDeviceClasses">The dictionary of UDNs, ClassNames for the devices or null for default / none.</param> /// <param name="specificServiceClasses">The dictionary of IDs, ClassNames for the services or null for default / none.</param> /// <returns>The string representing the code for the class.</returns> public static string GenerateClassFor( this Device device, ICodeGenProvider codeGenProvider, string className, string namespaceName, ClassScope classScope, bool partial, bool specificDevices, string specificServiceNamespace, Dictionary <string, string> specificDeviceClasses = null, Dictionary <string, string> specificServiceClasses = null) { DeviceGen ldgGenerator = new DeviceGen(codeGenProvider); return(ldgGenerator.GenerateClassFor( device, className, namespaceName, classScope, partial, specificDevices, specificServiceNamespace, specificDeviceClasses, specificServiceClasses)); }
public string ServiceCodeGen(CodeGenArgs args) { ICodeGenFactory codeGenfactory = ServiceContainer.CodeGenFactory; try { ICodeGenProvider codeGen = codeGenfactory.GetCodeGen(this, args.lang); return(codeGen.GenerateScript(args.comment, args.isDraft)); } catch (Exception ex) { _OnError(ex); throw; } }
/// <summary> /// Adds the selection items to the combo box /// </summary> protected void AddSelectionItems() { this.BeginUpdate(); try { ICodeGenProvider lcgOldProvider = CodeGenProvider; this.Items.Clear(); foreach (ICodeGenProvider lcgCodeGenProvider in mcgCodeGenProviders) { this.Items.Add(lcgCodeGenProvider); } CodeGenProvider = lcgOldProvider; } finally { this.EndUpdate(); } }
/// <summary> /// Creates a new device class code generator. /// </summary> /// <param name="codeGenProvider">The provider to use when generating the code.</param> public StringConstants(ICodeGenProvider codeGenProvider) { mcgCodeGenProvider = codeGenProvider; }
/// <summary> /// Gets the default code generation class name for a service. /// </summary> /// <param name="service">The service to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(Service service, ICodeGenProvider codeGenProvider) { return codeGenProvider.CodeFriendlyIdentifier(service.FriendlyServiceTypeIdentifier, false); }
/// <summary> /// Creates a new service class code generator. /// </summary> /// <param name="codeGenProvider">The provider to use when generating the code.</param> public ServiceGen(ICodeGenProvider codeGenProvider) { mcgCodeGenProvider = codeGenProvider; }
/// <summary> /// Gets the default code generation class name for a service. /// </summary> /// <param name="service">The service to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(this Service service, ICodeGenProvider codeGenProvider) { return ServiceGen.DefaultCodeGenClassName(service, codeGenProvider); }
/// <summary> /// Gets the default code generation class name for a device. /// </summary> /// <param name="device">The device to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(Device device, ICodeGenProvider codeGenProvider) { return codeGenProvider.CodeFriendlyIdentifier(device.FriendlyName, false); }
/// <summary> /// Gets the default code generation class name for a service. /// </summary> /// <param name="service">The service to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(this Service service, ICodeGenProvider codeGenProvider) { return(ServiceGen.DefaultCodeGenClassName(service, codeGenProvider)); }
/// <summary> /// Gets the default code generation class name for a device. /// </summary> /// <param name="device">The device to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(this Device device, ICodeGenProvider codeGenProvider) { return DeviceGen.DefaultCodeGenClassName(device, codeGenProvider); }
/// <summary> /// Gets the default code generation class name for a device. /// </summary> /// <param name="device">The device to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(this Device device, ICodeGenProvider codeGenProvider) { return(DeviceGen.DefaultCodeGenClassName(device, codeGenProvider)); }
/// <summary> /// Gets the default code generation class name for a service. /// </summary> /// <param name="service">The service to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(Service service, ICodeGenProvider codeGenProvider) { return(codeGenProvider.CodeFriendlyIdentifier(service.FriendlyServiceTypeIdentifier, false)); }
/// <summary> /// Gets the default code generation class name for a device. /// </summary> /// <param name="device">The device to get the class name for.</param> /// <param name="codeGenProvider">The code generation provider to use.</param> /// <returns>A string.</returns> public static string DefaultCodeGenClassName(Device device, ICodeGenProvider codeGenProvider) { return(codeGenProvider.CodeFriendlyIdentifier(device.FriendlyName, false)); }