internal virtual void GenerateFinalClientClasses(protozbuffType node)
 {
     foreach (var message in node.Items.OfType <messageType>())
     {
         GenerateFinalClientClass(message);
     }
 }
Example #2
0
        public void EmptyFilePath()
        {
            protozbuffType protoTree = null;

            Assert.DoesNotThrow(() => protoTree = ProtozbuffLoader.Load(""));
            Assert.That(protoTree, Is.Null);
        }
 internal virtual void GenerateAbstractBaseClasses(protozbuffType node)
 {
     foreach (var message in node.Items.OfType <messageType>())
     {
         GenerateAbstractBaseClass(message);
     }
 }
 internal virtual void GenerateHeaderOrBuilderInterfaces(protozbuffType node)
 {
     foreach (var message in node.Items.OfType <messageType>())
     {
         GenerateHeaderOrBuilderInterface(message);
     }
 }
        protected virtual bool GenerateLazyImplementation(protozbuffType p)
        {
            // in generated namespace
            GenerateProtoOrBuilderInterface();
            GenerateToStringFormatters();
            GenerateHeaderOrBuilderInterfaces(p);
            GenerateAbstractBaseClasses(p);

            // in client namespace
            GenerateFinalClientClasses(p);
            return(true);
        }
Example #6
0
        internal override void GenerateFinalClientClasses(protozbuffType node)
        {
            // close file .lazy.h
            IncludeWriter.WriteLine(GetNamespaceEnd(GeneratedNamespace));
            IncludeWriter.Dispose();
            IncludeWriter = null;

            // close file .lazy.cpp
            CppWriter.WriteLine(GetNamespaceEnd(GeneratedNamespace));
            CppWriter.Dispose();
            CppWriter = null;

            base.GenerateFinalClientClasses(node);
        }
Example #7
0
        public void InvalidProtoZBufferFile()
        {
            CreateFile(@"<?xml version=""1.0"" encoding=""utf-8"" ?>
<protozbuff xmlns=""http://tempuri.org/protoZ.xsd"">
  <message name=""Folder"" description=""Document definition"">
    <field id=""1"" modifier=""required"" name=""name"" type=""string""
           description=""Folder Name."" />
    </message>
  </message>
</protozbuff>");

            protozbuffType protoTree = null;

            Assert.DoesNotThrow(() => protoTree = ProtozbuffLoader.Load(_tempFilePath));
            Assert.That(protoTree, Is.Null);
        }
Example #8
0
        protected override bool GenerateLazyImplementation(protozbuffType p)
        {
            var baseName = DocumentName + ".lazy";

            IncludeWriter = GetStream(IncludesFolder, baseName + ".h", GeneratedNamespace);
            CppWriter     = GetStream(CppFolder, baseName + ".cpp", GeneratedNamespace);

            WriteAutoGenerationWarning(IncludeWriter);
            WriteAutoGenerationWarning(CppWriter);

            IncludeWriter.WriteLine(@"
#pragma once
#include <memory>
#include <sstream>
#include <string>
#include ""{1}.pb.h""
#include ""{0}/ArrayList.h""
", GetNamespacePathSlash(ResourceNamespace), DocumentName);

            // forward declaration for final client classes
            IncludeWriter.WriteLine(GetNamespaceBegin(Namespace));
            foreach (var message in p.Items.OfType <messageType>())
            {
                IncludeWriter.WriteLine(@"class {0};", message.name.Capitalize());
            }
            IncludeWriter.WriteLine(GetNamespaceEnd(Namespace));
            IncludeWriter.WriteLine();
            IncludeWriter.WriteLine(GetNamespaceBegin(GeneratedNamespace));

            CppWriter.WriteLine(@"#include ""stdafx.h""");
            CppWriter.WriteLine("#include <sstream>");
            CppWriter.WriteLine("#include <{0}/{1}.h>", GetNamespacePathSlash(GeneratedNamespace), baseName);
            CppWriter.WriteLine("#include <{0}/Util.inc>", GetNamespacePathSlash(ResourceNamespace));
            foreach (var message in p.Items.OfType <messageType>())
            {
                CppWriter.WriteLine(@"#include <{0}/{1}.h>", GetNamespacePathSlash(Namespace), message.name.Capitalize());
            }

            CppWriter.WriteLine(@"using namespace {0};", ResourceNamespace);
            CppWriter.WriteLine(GetNamespaceBegin(GeneratedNamespace));

            return(base.GenerateLazyImplementation(p));
        }
        protected override bool GenerateLazyImplementation(protozbuffType p)
        {
            using (Writer = GetStream(OutputFolder, DocumentName + ".lazy.cs", GeneratedNamespace))
            {
                WriteAutoGenerationWarning(Writer);
                WriteUsings();

                Writer.WriteLine(
                    @"namespace {0}
{{
", Namespace);

                base.GenerateLazyImplementation(p);

                Writer.WriteLine("}");
            }

            return(true);
        }
        protected override bool GenerateLazyImplementation(protozbuffType p)
        {
            using (Writer = GetStream(OutputFolder, DocumentName + ".lazy.cs", GeneratedNamespace))
            {
                WriteAutoGenerationWarning(Writer);
                WriteUsings();

                Writer.WriteLine(
                    @"namespace {0}
{{
", Namespace);

                base.GenerateLazyImplementation(p);

                Writer.WriteLine("}");
            }

            return true;
        }
        internal override void GenerateFinalClientClasses(protozbuffType node)
        {
            // close file .lazy.h
            IncludeWriter.WriteLine(GetNamespaceEnd(GeneratedNamespace));
            IncludeWriter.Dispose();
            IncludeWriter = null;

            // close file .lazy.cpp
            CppWriter.WriteLine(GetNamespaceEnd(GeneratedNamespace));
            CppWriter.Dispose();
            CppWriter = null;

            base.GenerateFinalClientClasses(node);
        }
        protected override bool GenerateLazyImplementation(protozbuffType p)
        {
            var baseName = DocumentName + ".lazy";
            IncludeWriter = GetStream(IncludesFolder, baseName + ".h", GeneratedNamespace);
            CppWriter = GetStream(CppFolder, baseName + ".cpp", GeneratedNamespace);

            WriteAutoGenerationWarning(IncludeWriter);
            WriteAutoGenerationWarning(CppWriter);

            IncludeWriter.WriteLine(@"
#pragma once
#include <memory>
#include <sstream>
#include <string>
#include ""{1}.pb.h""
#include ""{0}/ArrayList.h""
", GetNamespacePathSlash(ResourceNamespace), DocumentName);

            // forward declaration for final client classes
            IncludeWriter.WriteLine(GetNamespaceBegin(Namespace));
            foreach (var message in p.Items.OfType<messageType>())
            {
                IncludeWriter.WriteLine(@"class {0};", message.name.Capitalize());
            }
            IncludeWriter.WriteLine(GetNamespaceEnd(Namespace));
            IncludeWriter.WriteLine();
            IncludeWriter.WriteLine(GetNamespaceBegin(GeneratedNamespace));

            CppWriter.WriteLine(@"#include ""stdafx.h""");
            CppWriter.WriteLine("#include <sstream>");
            CppWriter.WriteLine("#include <{0}/{1}.h>", GetNamespacePathSlash(GeneratedNamespace), baseName);
            CppWriter.WriteLine("#include <{0}/Util.inc>", GetNamespacePathSlash(ResourceNamespace));
            foreach (var message in p.Items.OfType<messageType>())
            {
                CppWriter.WriteLine(@"#include <{0}/{1}.h>", GetNamespacePathSlash(Namespace), message.name.Capitalize());
            }

            CppWriter.WriteLine(@"using namespace {0};", ResourceNamespace);
            CppWriter.WriteLine(GetNamespaceBegin(GeneratedNamespace));

            return base.GenerateLazyImplementation(p);
        }
 internal virtual void GenerateFinalClientClasses(protozbuffType node)
 {
     foreach (var message in node.Items.OfType<messageType>())
     {
         GenerateFinalClientClass(message);
     }
 }
 internal virtual void GenerateAbstractBaseClasses(protozbuffType node)
 {
     foreach (var message in node.Items.OfType<messageType>())
     {
         GenerateAbstractBaseClass(message);
     }
 }
 internal virtual void GenerateHeaderOrBuilderInterfaces(protozbuffType node)
 {
     foreach (var message in node.Items.OfType<messageType>())
     {
         GenerateHeaderOrBuilderInterface(message);
     }
 }
        protected virtual bool GenerateLazyImplementation(protozbuffType p)
        {
            // in generated namespace
            GenerateProtoOrBuilderInterface();
            GenerateToStringFormatters();
            GenerateHeaderOrBuilderInterfaces(p);
            GenerateAbstractBaseClasses(p);

            // in client namespace
            GenerateFinalClientClasses(p);
            return true;
        }