// This source code is dual-licensed under the Apache License, version // 2.0, and the Mozilla Public License, version 1.1. // // The APL v2.0: // //--------------------------------------------------------------------------- // Copyright (C) 2007-2010 LShift Ltd., Cohesive Financial // Technologies LLC., and Rabbit Technologies Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. //--------------------------------------------------------------------------- // // The MPL v1.1: // //--------------------------------------------------------------------------- // The contents of this file are subject to the Mozilla Public License // Version 1.1 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://www.rabbitmq.com/mpl.html // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations // under the License. // // The Original Code is The RabbitMQ .NET Client. // // The Initial Developers of the Original Code are LShift Ltd, // Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd. // // Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd, // Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd // are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial // Technologies LLC, and Rabbit Technologies Ltd. // // Portions created by LShift Ltd are Copyright (C) 2007-2010 LShift // Ltd. Portions created by Cohesive Financial Technologies LLC are // Copyright (C) 2007-2010 Cohesive Financial Technologies // LLC. Portions created by Rabbit Technologies Ltd are Copyright // (C) 2007-2010 Rabbit Technologies Ltd. // // All Rights Reserved. // // Contributor(s): ______________________________________. // //--------------------------------------------------------------------------- using System; using System.Xml; namespace RabbitMQ.Client.Apigen { public class AmqpEntity { public XmlNode m_node; public AmqpEntity(XmlNode n) { m_node = n; } public string GetString(string path) { return Apigen.GetString(m_node, path); } public string GetString(string path, string d) { return Apigen.GetString(m_node, path, d); } public int GetInt(string path) { return Apigen.GetInt(m_node, path); } public string Name { get { return GetString("@name"); } } public string DocumentationComment(string prefixSpaces) { return DocumentationComment(prefixSpaces, "doc"); } public string DocumentationCommentVariant(string prefixSpaces, string tagname) { return DocumentationComment(prefixSpaces, "doc", tagname); } public string DocumentationComment(string prefixSpaces, string docXpath) { return DocumentationComment(prefixSpaces, docXpath, "summary"); } public string DocumentationComment(string prefixSpaces, string docXpath, string tagname) { string docStr = GetString(docXpath, "").Trim(); if (docStr.Length > 0) { return (prefixSpaces + "/// <"+tagname+">\n" + GetString(docXpath, "") + "\n") .Replace("\n", "\n" + prefixSpaces + "/// "); } else { return prefixSpaces + "// (no documentation)"; } } } }