internal void writeJson(Newtonsoft.Json.JsonTextWriter writer)
{
writer.WriteStartObject();
JsonHelper.writeIfNotNullOrEmpty(writer, "namespace", this.Namespace);
JsonHelper.writeIfNotNullOrEmpty(writer, "doc", this.Doc);
JsonHelper.writeIfNotNullOrEmpty(writer, "protocol", this.Name);
writer.WritePropertyName("types");
writer.WriteStartArray();
foreach (Schema type in this.Types)
{
type.writeJson(writer);
}
writer.WriteEndArray();
writer.WritePropertyName("messages");
writer.WriteStartObject();
foreach (Message message in this.Messages)
{
writer.WritePropertyName(message.Name);
message.writeJson(writer);
}
writer.WriteEndObject();
writer.WriteEndObject();
}