Ejemplo n.º 1
0
        /// <summary>
        /// Build the model of the specified type.
        /// </summary>
        /// <param name="model">The model to build.</param>
        /// <param name="output">The output type.</param>
        /// <param name="format">The format to apply.</param>
        public override void Build(Model model, string output, string format)
        {
            if (format == "single")
            {
                var template = new WinRTTemplate();
                template.Target = null;
                template.Model = model;

                if (string.IsNullOrEmpty(output))
                    output = @"WinRT";

                if (!Directory.Exists(output))
                    Directory.CreateDirectory(output);

                File.WriteAllText(Path.Combine(output, @"SpikeSdk.cs"), template.TransformText());
            }
            else
            {
                if (string.IsNullOrEmpty(output))
                    output = @"WinRT";

                if (!Directory.Exists(output))
                    Directory.CreateDirectory(output);

                var template = new WinRTTemplate();
                template.Model = model;

                // Build LZF.cs
                this.BuildTarget("LZF", output, template);

                // Build PacketReader.cs
                this.BuildTarget("PacketReader", output, template);

                // Build PacketWriter.cs
                this.BuildTarget("PacketWriter", output, template);

                // Build TcpChannelBase.cs
                this.BuildTarget("TcpChannelBase", output, template);

                // Build TcpChannel.cs
                this.BuildTarget("TcpChannel", output, template);

                //Make packets
                template.Target = "Packet";
                foreach (var receive in model.Receives)
                {
                    // Build the operation
                    this.BuildOperation(receive, output, template);
                }

                //Make CustomType
                template.Target = "ComplexType";
                foreach (var customType in model.CustomTypes)
                {
                    // Build the type
                    this.BuildType(customType, output, template);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Build the model of the specified type.
        /// </summary>
        /// <param name="model">The model to build.</param>
        /// <param name="output">The output type.</param>
        /// <param name="format">The format to apply.</param>
        public override void Build(Model model, string output, string format)
        {
            if (format == "single")
            {
                var template = new WinRTTemplate();
                template.Target = null;
                template.Model  = model;

                if (string.IsNullOrEmpty(output))
                {
                    output = @"WinRT";
                }

                if (!Directory.Exists(output))
                {
                    Directory.CreateDirectory(output);
                }

                File.WriteAllText(Path.Combine(output, @"SpikeSdk.cs"), template.TransformText());
            }
            else
            {
                if (string.IsNullOrEmpty(output))
                {
                    output = @"WinRT";
                }

                if (!Directory.Exists(output))
                {
                    Directory.CreateDirectory(output);
                }

                var template = new WinRTTemplate();
                template.Model = model;


                // Build LZF.cs
                this.BuildTarget("LZF", output, template);

                // Build PacketReader.cs
                this.BuildTarget("PacketReader", output, template);

                // Build PacketWriter.cs
                this.BuildTarget("PacketWriter", output, template);

                // Build TcpChannelBase.cs
                this.BuildTarget("TcpChannelBase", output, template);

                // Build TcpChannel.cs
                this.BuildTarget("TcpChannel", output, template);

                //Make packets
                template.Target = "Packet";
                foreach (var receive in model.Receives)
                {
                    // Build the operation
                    this.BuildOperation(receive, output, template);
                }

                //Make CustomType
                template.Target = "ComplexType";
                foreach (var customType in model.CustomTypes)
                {
                    // Build the type
                    this.BuildType(customType, output, template);
                }
            }
        }