qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stes...@apache.org
Subject svn commit: r479211 [14/15] - in /incubator/qpid/trunk/qpid/dotnet: ./ Qpid.Buffer/ Qpid.Buffer/Properties/ Qpid.Client.Tests/ Qpid.Client.Tests/Common/ Qpid.Client.Tests/HeadersExchange/ Qpid.Client.Tests/MultiConsumer/ Qpid.Client.Tests/Properties/ Q...
Date Sat, 25 Nov 2006 22:04:50 GMT
Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/log4net/log4net.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon-licence.txt
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon-licence.txt?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon-licence.txt (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon-licence.txt Sat Nov 25 14:04:39 2006
@@ -0,0 +1,471 @@
+                          MOZILLA PUBLIC LICENSE
+                                Version 1.1
+
+                              ---------------
+
+1. Definitions.
+
+     1.0.1. "Commercial Use" means distribution or otherwise making the
+     Covered Code available to a third party.
+
+     1.1. "Contributor" means each entity that creates or contributes to
+     the creation of Modifications.
+
+     1.2. "Contributor Version" means the combination of the Original
+     Code, prior Modifications used by a Contributor, and the Modifications
+     made by that particular Contributor.
+
+     1.3. "Covered Code" means the Original Code or Modifications or the
+     combination of the Original Code and Modifications, in each case
+     including portions thereof.
+
+     1.4. "Electronic Distribution Mechanism" means a mechanism generally
+     accepted in the software development community for the electronic
+     transfer of data.
+
+     1.5. "Executable" means Covered Code in any form other than Source
+     Code.
+
+     1.6. "Initial Developer" means the individual or entity identified
+     as the Initial Developer in the Source Code notice required by Exhibit
+     A.
+
+     1.7. "Larger Work" means a work which combines Covered Code or
+     portions thereof with code not governed by the terms of this License.
+
+     1.8. "License" means this document.
+
+     1.8.1. "Licensable" means having the right to grant, to the maximum
+     extent possible, whether at the time of the initial grant or
+     subsequently acquired, any and all of the rights conveyed herein.
+
+     1.9. "Modifications" means any addition to or deletion from the
+     substance or structure of either the Original Code or any previous
+     Modifications. When Covered Code is released as a series of files, a
+     Modification is:
+          A. Any addition to or deletion from the contents of a file
+          containing Original Code or previous Modifications.
+
+          B. Any new file that contains any part of the Original Code or
+          previous Modifications.
+
+     1.10. "Original Code" means Source Code of computer software code
+     which is described in the Source Code notice required by Exhibit A as
+     Original Code, and which, at the time of its release under this
+     License is not already Covered Code governed by this License.
+
+     1.10.1. "Patent Claims" means any patent claim(s), now owned or
+     hereafter acquired, including without limitation,  method, process,
+     and apparatus claims, in any patent Licensable by grantor.
+
+     1.11. "Source Code" means the preferred form of the Covered Code for
+     making modifications to it, including all modules it contains, plus
+     any associated interface definition files, scripts used to control
+     compilation and installation of an Executable, or source code
+     differential comparisons against either the Original Code or another
+     well known, available Covered Code of the Contributor's choice. The
+     Source Code can be in a compressed or archival form, provided the
+     appropriate decompression or de-archiving software is widely available
+     for no charge.
+
+     1.12. "You" (or "Your")  means an individual or a legal entity
+     exercising rights under, and complying with all of the terms of, this
+     License or a future version of this License issued under Section 6.1.
+     For legal entities, "You" includes any entity which controls, is
+     controlled by, or is under common control with You. For purposes of
+     this definition, "control" means (a) the power, direct or indirect,
+     to cause the direction or management of such entity, whether by
+     contract or otherwise, or (b) ownership of more than fifty percent
+     (50%) of the outstanding shares or beneficial ownership of such
+     entity.
+
+2. Source Code License.
+
+     2.1. The Initial Developer Grant.
+     The Initial Developer hereby grants You a world-wide, royalty-free,
+     non-exclusive license, subject to third party intellectual property
+     claims:
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Initial Developer to use, reproduce,
+          modify, display, perform, sublicense and distribute the Original
+          Code (or portions thereof) with or without Modifications, and/or
+          as part of a Larger Work; and
+
+          (b) under Patents Claims infringed by the making, using or
+          selling of Original Code, to make, have made, use, practice,
+          sell, and offer for sale, and/or otherwise dispose of the
+          Original Code (or portions thereof).
+
+          (c) the licenses granted in this Section 2.1(a) and (b) are
+          effective on the date Initial Developer first distributes
+          Original Code under the terms of this License.
+
+          (d) Notwithstanding Section 2.1(b) above, no patent license is
+          granted: 1) for code that You delete from the Original Code; 2)
+          separate from the Original Code;  or 3) for infringements caused
+          by: i) the modification of the Original Code or ii) the
+          combination of the Original Code with other software or devices.
+
+     2.2. Contributor Grant.
+     Subject to third party intellectual property claims, each Contributor
+     hereby grants You a world-wide, royalty-free, non-exclusive license
+
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Contributor, to use, reproduce, modify,
+          display, perform, sublicense and distribute the Modifications
+          created by such Contributor (or portions thereof) either on an
+          unmodified basis, with other Modifications, as Covered Code
+          and/or as part of a Larger Work; and
+
+          (b) under Patent Claims infringed by the making, using, or
+          selling of  Modifications made by that Contributor either alone
+          and/or in combination with its Contributor Version (or portions
+          of such combination), to make, use, sell, offer for sale, have
+          made, and/or otherwise dispose of: 1) Modifications made by that
+          Contributor (or portions thereof); and 2) the combination of
+          Modifications made by that Contributor with its Contributor
+          Version (or portions of such combination).
+
+          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+          effective on the date Contributor first makes Commercial Use of
+          the Covered Code.
+
+          (d)    Notwithstanding Section 2.2(b) above, no patent license is
+          granted: 1) for any code that Contributor has deleted from the
+          Contributor Version; 2)  separate from the Contributor Version;
+          3)  for infringements caused by: i) third party modifications of
+          Contributor Version or ii)  the combination of Modifications made
+          by that Contributor with other software  (except as part of the
+          Contributor Version) or other devices; or 4) under Patent Claims
+          infringed by Covered Code in the absence of Modifications made by
+          that Contributor.
+
+3. Distribution Obligations.
+
+     3.1. Application of License.
+     The Modifications which You create or to which You contribute are
+     governed by the terms of this License, including without limitation
+     Section 2.2. The Source Code version of Covered Code may be
+     distributed only under the terms of this License or a future version
+     of this License released under Section 6.1, and You must include a
+     copy of this License with every copy of the Source Code You
+     distribute. You may not offer or impose any terms on any Source Code
+     version that alters or restricts the applicable version of this
+     License or the recipients' rights hereunder. However, You may include
+     an additional document offering the additional rights described in
+     Section 3.5.
+
+     3.2. Availability of Source Code.
+     Any Modification which You create or to which You contribute must be
+     made available in Source Code form under the terms of this License
+     either on the same media as an Executable version or via an accepted
+     Electronic Distribution Mechanism to anyone to whom you made an
+     Executable version available; and if made available via Electronic
+     Distribution Mechanism, must remain available for at least twelve (12)
+     months after the date it initially became available, or at least six
+     (6) months after a subsequent version of that particular Modification
+     has been made available to such recipients. You are responsible for
+     ensuring that the Source Code version remains available even if the
+     Electronic Distribution Mechanism is maintained by a third party.
+
+     3.3. Description of Modifications.
+     You must cause all Covered Code to which You contribute to contain a
+     file documenting the changes You made to create that Covered Code and
+     the date of any change. You must include a prominent statement that
+     the Modification is derived, directly or indirectly, from Original
+     Code provided by the Initial Developer and including the name of the
+     Initial Developer in (a) the Source Code, and (b) in any notice in an
+     Executable version or related documentation in which You describe the
+     origin or ownership of the Covered Code.
+
+     3.4. Intellectual Property Matters
+          (a) Third Party Claims.
+          If Contributor has knowledge that a license under a third party's
+          intellectual property rights is required to exercise the rights
+          granted by such Contributor under Sections 2.1 or 2.2,
+          Contributor must include a text file with the Source Code
+          distribution titled "LEGAL" which describes the claim and the
+          party making the claim in sufficient detail that a recipient will
+          know whom to contact. If Contributor obtains such knowledge after
+          the Modification is made available as described in Section 3.2,
+          Contributor shall promptly modify the LEGAL file in all copies
+          Contributor makes available thereafter and shall take other steps
+          (such as notifying appropriate mailing lists or newsgroups)
+          reasonably calculated to inform those who received the Covered
+          Code that new knowledge has been obtained.
+
+          (b) Contributor APIs.
+          If Contributor's Modifications include an application programming
+          interface and Contributor has knowledge of patent licenses which
+          are reasonably necessary to implement that API, Contributor must
+          also include this information in the LEGAL file.
+
+               (c)    Representations.
+          Contributor represents that, except as disclosed pursuant to
+          Section 3.4(a) above, Contributor believes that Contributor's
+          Modifications are Contributor's original creation(s) and/or
+          Contributor has sufficient rights to grant the rights conveyed by
+          this License.
+
+     3.5. Required Notices.
+     You must duplicate the notice in Exhibit A in each file of the Source
+     Code.  If it is not possible to put such notice in a particular Source
+     Code file due to its structure, then You must include such notice in a
+     location (such as a relevant directory) where a user would be likely
+     to look for such a notice.  If You created one or more Modification(s)
+     You may add your name as a Contributor to the notice described in
+     Exhibit A.  You must also duplicate this License in any documentation
+     for the Source Code where You describe recipients' rights or ownership
+     rights relating to Covered Code.  You may choose to offer, and to
+     charge a fee for, warranty, support, indemnity or liability
+     obligations to one or more recipients of Covered Code. However, You
+     may do so only on Your own behalf, and not on behalf of the Initial
+     Developer or any Contributor. You must make it absolutely clear than
+     any such warranty, support, indemnity or liability obligation is
+     offered by You alone, and You hereby agree to indemnify the Initial
+     Developer and every Contributor for any liability incurred by the
+     Initial Developer or such Contributor as a result of warranty,
+     support, indemnity or liability terms You offer.
+
+     3.6. Distribution of Executable Versions.
+     You may distribute Covered Code in Executable form only if the
+     requirements of Section 3.1-3.5 have been met for that Covered Code,
+     and if You include a notice stating that the Source Code version of
+     the Covered Code is available under the terms of this License,
+     including a description of how and where You have fulfilled the
+     obligations of Section 3.2. The notice must be conspicuously included
+     in any notice in an Executable version, related documentation or
+     collateral in which You describe recipients' rights relating to the
+     Covered Code. You may distribute the Executable version of Covered
+     Code or ownership rights under a license of Your choice, which may
+     contain terms different from this License, provided that You are in
+     compliance with the terms of this License and that the license for the
+     Executable version does not attempt to limit or alter the recipient's
+     rights in the Source Code version from the rights set forth in this
+     License. If You distribute the Executable version under a different
+     license You must make it absolutely clear that any terms which differ
+     from this License are offered by You alone, not by the Initial
+     Developer or any Contributor. You hereby agree to indemnify the
+     Initial Developer and every Contributor for any liability incurred by
+     the Initial Developer or such Contributor as a result of any such
+     terms You offer.
+
+     3.7. Larger Works.
+     You may create a Larger Work by combining Covered Code with other code
+     not governed by the terms of this License and distribute the Larger
+     Work as a single product. In such a case, You must make sure the
+     requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+     If it is impossible for You to comply with any of the terms of this
+     License with respect to some or all of the Covered Code due to
+     statute, judicial order, or regulation then You must: (a) comply with
+     the terms of this License to the maximum extent possible; and (b)
+     describe the limitations and the code they affect. Such description
+     must be included in the LEGAL file described in Section 3.4 and must
+     be included with all distributions of the Source Code. Except to the
+     extent prohibited by statute or regulation, such description must be
+     sufficiently detailed for a recipient of ordinary skill to be able to
+     understand it.
+
+5. Application of this License.
+
+     This License applies to code to which the Initial Developer has
+     attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+     6.1. New Versions.
+     Netscape Communications Corporation ("Netscape") may publish revised
+     and/or new versions of the License from time to time. Each version
+     will be given a distinguishing version number.
+
+     6.2. Effect of New Versions.
+     Once Covered Code has been published under a particular version of the
+     License, You may always continue to use it under the terms of that
+     version. You may also choose to use such Covered Code under the terms
+     of any subsequent version of the License published by Netscape. No one
+     other than Netscape has the right to modify the terms applicable to
+     Covered Code created under this License.
+
+     6.3. Derivative Works.
+     If You create or use a modified version of this License (which you may
+     only do in order to apply it to code which is not already Covered Code
+     governed by this License), You must (a) rename Your license so that
+     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+     "MPL", "NPL" or any confusingly similar phrase do not appear in your
+     license (except to note that your license differs from this License)
+     and (b) otherwise make it clear that Your version of the license
+     contains terms which differ from the Mozilla Public License and
+     Netscape Public License. (Filling in the name of the Initial
+     Developer, Original Code or Contributor in the notice described in
+     Exhibit A shall not of themselves be deemed to be modifications of
+     this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+     8.1.  This License and the rights granted hereunder will terminate
+     automatically if You fail to comply with terms herein and fail to cure
+     such breach within 30 days of becoming aware of the breach. All
+     sublicenses to the Covered Code which are properly granted shall
+     survive any termination of this License. Provisions which, by their
+     nature, must remain in effect beyond the termination of this License
+     shall survive.
+
+     8.2.  If You initiate litigation by asserting a patent infringement
+     claim (excluding declatory judgment actions) against Initial Developer
+     or a Contributor (the Initial Developer or Contributor against whom
+     You file such action is referred to as "Participant")  alleging that:
+
+     (a)  such Participant's Contributor Version directly or indirectly
+     infringes any patent, then any and all rights granted by such
+     Participant to You under Sections 2.1 and/or 2.2 of this License
+     shall, upon 60 days notice from Participant terminate prospectively,
+     unless if within 60 days after receipt of notice You either: (i)
+     agree in writing to pay Participant a mutually agreeable reasonable
+     royalty for Your past and future use of Modifications made by such
+     Participant, or (ii) withdraw Your litigation claim with respect to
+     the Contributor Version against such Participant.  If within 60 days
+     of notice, a reasonable royalty and payment arrangement are not
+     mutually agreed upon in writing by the parties or the litigation claim
+     is not withdrawn, the rights granted by Participant to You under
+     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+     the 60 day notice period specified above.
+
+     (b)  any software, hardware, or device, other than such Participant's
+     Contributor Version, directly or indirectly infringes any patent, then
+     any rights granted to You by such Participant under Sections 2.1(b)
+     and 2.2(b) are revoked effective as of the date You first made, used,
+     sold, distributed, or had made, Modifications made by that
+     Participant.
+
+     8.3.  If You assert a patent infringement claim against Participant
+     alleging that such Participant's Contributor Version directly or
+     indirectly infringes any patent where such claim is resolved (such as
+     by license or settlement) prior to the initiation of patent
+     infringement litigation, then the reasonable value of the licenses
+     granted by such Participant under Sections 2.1 or 2.2 shall be taken
+     into account in determining the amount or value of any payment or
+     license.
+
+     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
+     all end user license agreements (excluding distributors and resellers)
+     which have been validly granted by You or any distributor hereunder
+     prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+     The Covered Code is a "commercial item," as that term is defined in
+     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+     software" and "commercial computer software documentation," as such
+     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+     all U.S. Government End Users acquire Covered Code with only those
+     rights set forth herein.
+
+11. MISCELLANEOUS.
+
+     This License represents the complete agreement concerning subject
+     matter hereof. If any provision of this License is held to be
+     unenforceable, such provision shall be reformed only to the extent
+     necessary to make it enforceable. This License shall be governed by
+     California law provisions (except to the extent applicable law, if
+     any, provides otherwise), excluding its conflict-of-law provisions.
+     With respect to disputes in which at least one party is a citizen of,
+     or an entity chartered or registered to do business in the United
+     States of America, any litigation relating to this License shall be
+     subject to the jurisdiction of the Federal Courts of the Northern
+     District of California, with venue lying in Santa Clara County,
+     California, with the losing party responsible for costs, including
+     without limitation, court costs and reasonable attorneys' fees and
+     expenses. The application of the United Nations Convention on
+     Contracts for the International Sale of Goods is expressly excluded.
+     Any law or regulation which provides that the language of a contract
+     shall be construed against the drafter shall not apply to this
+     License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+     As between Initial Developer and the Contributors, each party is
+     responsible for claims and damages arising, directly or indirectly,
+     out of its utilization of rights under this License and You agree to
+     work with Initial Developer and Contributors to distribute such
+     responsibility on an equitable basis. Nothing herein is intended or
+     shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+     Initial Developer may designate portions of the Covered Code as
+     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
+     Developer permits you to utilize portions of the Covered Code under
+     Your choice of the NPL or the alternative licenses, if any, specified
+     by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+     ``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.mozilla.org/MPL/
+
+     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 Initial Developer of the Original Code is ________________________.
+     Portions created by ______________________ are Copyright (C) ______
+     _______________________. All Rights Reserved.
+
+     Contributor(s): ______________________________________.
+
+     Alternatively, the contents of this file may be used under the terms
+     of the _____ license (the  "[___] License"), in which case the
+     provisions of [______] License are applicable instead of those
+     above.  If you wish to allow use of your version of this file only
+     under the terms of the [____] License and not to allow others to use
+     your version of this file under the MPL, indicate your decision by
+     deleting  the provisions above and replace  them with the notice and
+     other provisions required by the [___] License.  If you do not delete
+     the provisions above, a recipient may use your version of this file
+     under either the MPL or the [___] License."
+
+     [NOTE: The text of this Exhibit A may differ slightly from the text of
+     the notices in the Source Code files of the Original Code. You should
+     use the text of this Exhibit A rather than the text found in the
+     Original Code Source Code for Your Modifications.]
+
+

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon-licence.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon8.jar
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon8.jar?view=auto&rev=479211
==============================================================================
Binary file - no diff available.

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/lib/saxon/saxon8.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/resources/registry.template
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/resources/registry.template?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/resources/registry.template (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/resources/registry.template Sat Nov 25 14:04:39 2006
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<registries>
+    <registry name="MainRegistry"/>
+</registries>

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/resources/registry.template
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/csharp.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/csharp.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/csharp.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/csharp.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,230 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<!-- this class contains the templates for generating C# source code for a given framing model -->
+<xsl:import href="utils.xsl"/>
+<xsl:output method="text" indent="yes" name="textFormat"/> 
+
+<xsl:param name="registry_name"/>
+
+<xsl:template match="/"> 
+    <xsl:apply-templates mode="generate-multi" select="frames"/>
+    <xsl:apply-templates mode="generate-registry" select="frames"/>
+</xsl:template>
+
+<!-- processes all frames outputting the classes in a single stream -->
+<!-- (useful for debugging etc) -->
+<xsl:template match="frame" mode="generate-single"> 
+    <xsl:call-template name="generate-class">
+        <xsl:with-param name="f" select="."/>
+    </xsl:call-template>
+</xsl:template>
+
+<!-- generates seperate file for each class/frame -->
+<xsl:template match="frame" mode="generate-multi"> 
+    <xsl:variable name="uri" select="concat(@name, '.cs')"/> 
+    wrote <xsl:value-of select="$uri"/> 
+    <xsl:result-document href="{$uri}" format="textFormat"> 
+    <xsl:call-template name="generate-class">
+        <xsl:with-param name="f" select="."/>
+    </xsl:call-template>
+    </xsl:result-document> 
+</xsl:template> 
+
+<!-- main class generation template -->
+<xsl:template name="generate-class"> 
+    <xsl:param name="f"/>
+using Qpid.Buffer;
+using System.Text;
+
+namespace Qpid.Framing
+{
+  ///
+  /// <summary>This class is autogenerated
+  /// Do not modify.
+  ///</summary>
+  /// @author Code Generator Script by robert.j.greig@jpmorgan.com
+  public class <xsl:value-of select="$f/@name"/> : AMQMethodBody , IEncodableAMQDataBlock
+  {
+    public const int CLASS_ID = <xsl:value-of select="$f/@class-id"/>; 	
+    public const int METHOD_ID = <xsl:value-of select="$f/@method-id"/>; 	
+
+    <xsl:for-each select="$f/field"> 
+        <xsl:text>public </xsl:text><xsl:value-of select="@csharp-type"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="@name"/>;    
+    </xsl:for-each> 
+
+    protected override ushort Clazz
+    {
+        get
+        {
+            return <xsl:value-of select="$f/@class-id"/>;
+        }
+    }
+   
+    protected override ushort Method
+    {
+        get
+        {
+            return <xsl:value-of select="$f/@method-id"/>;
+        }
+    }
+
+    protected override uint BodySize
+    {
+    get
+    {
+        <xsl:choose> 
+        <xsl:when test="$f/field">
+        return (uint)
+        <xsl:for-each select="$f/field">
+            <xsl:if test="position() != 1">+
+            </xsl:if>
+            <xsl:value-of select="amq:field-length(.)"/>
+        </xsl:for-each>		 
+        ;
+        </xsl:when>
+        <xsl:otherwise>return 0;</xsl:otherwise>
+        </xsl:choose> 
+    }
+    }
+
+    protected override void WriteMethodPayload(ByteBuffer buffer)
+    {
+        <xsl:for-each select="$f/field">
+            <xsl:if test="@type != 'bit'">
+                <xsl:value-of select="amq:encoder(.)"/>;
+            </xsl:if>
+            <xsl:if test="@type = 'bit' and @boolean-index = 1">
+                <xsl:text>EncodingUtils.WriteBooleans(buffer, new bool[]{</xsl:text>
+                <xsl:value-of select="$f/field[@type='bit']/@name" separator=", "/>});
+            </xsl:if>
+        </xsl:for-each>		 
+    }
+
+    protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer)
+    {
+        <xsl:for-each select="$f/field">
+            <xsl:value-of select="amq:decoder(.)"/>;
+        </xsl:for-each>		 
+    }
+
+    public override string ToString()
+    {
+        StringBuilder buf = new StringBuilder(base.ToString());
+        <xsl:for-each select="$f/field">
+            <xsl:text>buf.Append(" </xsl:text><xsl:value-of select="@name"/>: ").Append(<xsl:value-of select="@name"/>);
+        </xsl:for-each> 
+        return buf.ToString();
+    }
+
+    public static AMQFrame CreateAMQFrame(ushort channelId<xsl:if test="$f/field">, </xsl:if><xsl:value-of select="$f/field/concat(@csharp-type, ' ', @name)" separator=", "/>)
+    {
+        <xsl:value-of select="@name"/> body = new <xsl:value-of select="@name"/>();
+        <xsl:for-each select="$f/field">
+            <xsl:value-of select="concat('body.', @name, ' = ', @name)"/>;
+        </xsl:for-each>		 
+        AMQFrame frame = new AMQFrame();
+        frame.Channel = channelId;
+        frame.BodyFrame = body;
+        return frame;
+    }
+} 
+}
+</xsl:template> 
+
+<xsl:template match="/" mode="generate-registry">
+     <xsl:text>Matching root for registry mode!</xsl:text>
+     <xsl:value-of select="."/> 
+     <xsl:apply-templates select="frames" mode="generate-registry"/>
+</xsl:template>
+
+<xsl:template match="registries" mode="generate-registry">
+Wrote MethodBodyDecoderRegistry.cs
+    <xsl:result-document href="MethodBodyDecoderRegistry.cs" format="textFormat">
+using System;
+using System.Collections;
+using log4net;
+
+namespace Qpid.Framing
+{
+
+
+  ///
+  /// <summary>This class is autogenerated
+  /// Do not modify.
+  /// </summary>
+  /// @author Code Generator Script by robert.j.greig@jpmorgan.com
+
+  public class MethodBodyDecoderRegistry
+  {
+    private static readonly ILog _log = LogManager.GetLogger(typeof(MethodBodyDecoderRegistry));
+
+    private static readonly Hashtable _classMethodProductToMethodBodyMap = new Hashtable();
+
+    static MethodBodyDecoderRegistry()
+    {
+      <xsl:for-each select="registry">
+            <xsl:value-of select="concat(@name, '.Register(_classMethodProductToMethodBodyMap)')"/>;         
+        </xsl:for-each>
+      }
+
+      public static AMQMethodBody Get(int clazz, int method) 
+      {
+      Type bodyClass = (Type) _classMethodProductToMethodBodyMap[clazz * 1000 + method];
+      if (bodyClass != null)
+      {
+        try
+        {
+          return (AMQMethodBody) Activator.CreateInstance(bodyClass);
+        }
+        catch (Exception e)
+        {
+          throw new AMQFrameDecodingException(_log, "Unable to instantiate body class for class " + clazz + " and method " + method + ": " + e, e);
+        }
+      }
+      else
+      {
+        throw new AMQFrameDecodingException(_log, "Unable to find a suitable decoder for class " + clazz + " and method " + method);
+      }
+    }
+  }
+  }
+    </xsl:result-document>
+</xsl:template>
+
+<xsl:template match="frames" mode="list-registry">	
+    <xsl:if test="$registry_name">
+
+    <xsl:variable name="file" select="concat($registry_name, '.cs')"/> 
+    wrote <xsl:value-of select="$file"/> 
+    <xsl:result-document href="{$file}" format="textFormat">
+
+using System.Collections;
+namespace Qpid.Framing
+{
+  /**
+   * This class is autogenerated, do not modify. [From <xsl:value-of select="@protocol"/>]
+   */
+  class <xsl:value-of select="$registry_name"/>
+  {
+    internal static void Register(Hashtable map)
+    {
+        <xsl:for-each select="frame">
+            <xsl:text>map[</xsl:text>
+            <xsl:value-of select="@class-id"/>         
+	    <xsl:text> * 1000 + </xsl:text> 
+            <xsl:value-of select="@method-id"/>         
+	    <xsl:text>] = typeof(</xsl:text> 
+            <xsl:value-of select="@name"/>);
+        </xsl:for-each>
+    }
+}
+}
+    </xsl:result-document>
+
+    </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/csharp.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/framing.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/framing.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/framing.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/framing.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,44 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<xsl:import href="prepare1.xsl"/>
+<xsl:import href="prepare2.xsl"/>
+<xsl:import href="prepare3.xsl"/>
+<xsl:import href="csharp.xsl"/>
+
+<xsl:output indent="yes"/> 
+<xsl:output method="text" indent="yes" name="textFormat"/> 
+
+<xsl:template match="/">
+    <xsl:variable name="prepare1">
+        <xsl:apply-templates mode="prepare1" select="."/>
+    </xsl:variable>
+
+    <xsl:variable name="prepare2">
+        <xsl:apply-templates mode="prepare2" select="$prepare1"/>
+    </xsl:variable>
+
+    <xsl:variable name="model">
+        <xsl:apply-templates mode="prepare3" select="$prepare2"/>
+    </xsl:variable>
+
+    <xsl:apply-templates mode="generate-multi" select="$model"/>
+    <xsl:apply-templates mode="list-registry" select="$model"/>
+
+    <!-- dump out the intermediary files for debugging -->
+    <!-- 
+    <xsl:result-document href="prepare1.out">
+        <xsl:copy-of select="$prepare1"/> 
+    </xsl:result-document>
+
+    <xsl:result-document href="prepare2.out">
+        <xsl:copy-of select="$prepare2"/> 
+    </xsl:result-document>
+
+    <xsl:result-document href="model.out">
+        <xsl:copy-of select="$model"/> 
+    </xsl:result-document>
+    -->
+</xsl:template>
+
+</xsl:stylesheet> 

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/framing.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/java.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/java.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/java.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/java.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,209 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<!-- this class contains the templates for generating java source code for a given framing model -->
+<xsl:import href="utils.xsl"/>
+<xsl:output method="text" indent="yes" name="textFormat"/> 
+
+<xsl:param name="registry_name"/>
+
+<xsl:template match="/"> 
+    <xsl:apply-templates mode="generate-multi" select="frames"/>
+    <xsl:apply-templates mode="generate-registry" select="frames"/>
+</xsl:template>
+
+<!-- processes all frames outputting the classes in a single stream -->
+<!-- (useful for debugging etc) -->
+<xsl:template match="frame" mode="generate-single"> 
+    <xsl:call-template name="generate-class">
+        <xsl:with-param name="f" select="."/>
+    </xsl:call-template>
+</xsl:template>
+
+<!-- generates seperate file for each class/frame -->
+<xsl:template match="frame" mode="generate-multi"> 
+    <xsl:variable name="uri" select="concat(@name, '.java')"/> 
+    wrote <xsl:value-of select="$uri"/> 
+    <xsl:result-document href="{$uri}" format="textFormat"> 
+    <xsl:call-template name="generate-class">
+        <xsl:with-param name="f" select="."/>
+    </xsl:call-template>
+    </xsl:result-document> 
+</xsl:template> 
+
+<!-- main class generation template -->
+<xsl:template name="generate-class"> 
+    <xsl:param name="f"/>
+package org.openamq.framing;
+
+import org.apache.mina.common.ByteBuffer;
+
+/**
+ * This class is autogenerated, do not modify. [From <xsl:value-of select="$f/parent::frames/@protocol"/>]
+ */
+public class <xsl:value-of select="$f/@name"/> extends AMQMethodBody implements EncodableAMQDataBlock
+{ 
+    public static final int CLASS_ID = <xsl:value-of select="$f/@class-id"/>; 	
+    public static final int METHOD_ID = <xsl:value-of select="$f/@method-id"/>; 	
+
+    <xsl:for-each select="$f/field"> 
+        <xsl:text>public </xsl:text><xsl:value-of select="@java-type"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="@name"/>;    
+    </xsl:for-each> 
+
+    protected int getClazz()
+    {
+        return <xsl:value-of select="$f/@class-id"/>;
+    }
+   
+    protected int getMethod()
+    {
+        return <xsl:value-of select="$f/@method-id"/>;
+    }
+
+    protected int getBodySize()
+    {
+        <xsl:choose> 
+        <xsl:when test="$f/field">
+        return
+        <xsl:for-each select="$f/field">
+            <xsl:if test="position() != 1">+
+            </xsl:if>
+            <xsl:value-of select="amq:field-length(.)"/>
+        </xsl:for-each>		 
+        ;
+        </xsl:when>
+        <xsl:otherwise>return 0;</xsl:otherwise>
+        </xsl:choose> 
+    }
+
+    protected void writeMethodPayload(ByteBuffer buffer)
+    {
+        <xsl:for-each select="$f/field">
+            <xsl:if test="@type != 'bit'">
+                <xsl:value-of select="amq:encoder(.)"/>;
+            </xsl:if>
+            <xsl:if test="@type = 'bit' and @boolean-index = 1">
+                <xsl:text>EncodingUtils.writeBooleans(buffer, new boolean[]{</xsl:text>
+                <xsl:value-of select="$f/field[@type='bit']/@name" separator=", "/>});
+            </xsl:if>
+        </xsl:for-each>		 
+    }
+
+    public void populateMethodBodyFromBuffer(ByteBuffer buffer) throws AMQFrameDecodingException
+    {
+        <xsl:for-each select="$f/field">
+            <xsl:value-of select="amq:decoder(.)"/>;
+        </xsl:for-each>		 
+    }
+
+    public String toString()
+    {
+        StringBuffer buf = new StringBuffer(super.toString());
+        <xsl:for-each select="$f/field">
+            <xsl:text>buf.append(" </xsl:text><xsl:value-of select="@name"/>: ").append(<xsl:value-of select="@name"/>);
+        </xsl:for-each> 
+        return buf.toString();
+    }
+
+    public static AMQFrame createAMQFrame(int channelId<xsl:if test="$f/field">, </xsl:if><xsl:value-of select="$f/field/concat(@java-type, ' ', @name)" separator=", "/>)
+    {
+        <xsl:value-of select="@name"/> body = new <xsl:value-of select="@name"/>();
+        <xsl:for-each select="$f/field">
+            <xsl:value-of select="concat('body.', @name, ' = ', @name)"/>;
+        </xsl:for-each>		 
+        AMQFrame frame = new AMQFrame();
+        frame.channel = channelId;
+        frame.bodyFrame = body;
+        return frame;
+    }
+} 
+</xsl:template> 
+
+<xsl:template match="/" mode="generate-registry">
+     <xsl:text>Matching root for registry mode!</xsl:text>
+     <xsl:value-of select="."/> 
+     <xsl:apply-templates select="frames" mode="generate-registry"/>
+</xsl:template>
+
+<xsl:template match="registries" mode="generate-registry">
+Wrote MethodBodyDecoderRegistry.java
+    <xsl:result-document href="MethodBodyDecoderRegistry.java" format="textFormat">package org.openamq.framing;
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.log4j.Logger;
+import org.openamq.AMQException;
+
+/**
+ * This class is autogenerated, do not modify.
+ */
+public final class MethodBodyDecoderRegistry
+{
+    private static final Logger _log = Logger.getLogger(MethodBodyDecoderRegistry.class);
+
+    private static final Map _classMethodProductToMethodBodyMap = new HashMap();
+
+    static
+    {
+        <xsl:for-each select="registry">
+            <xsl:value-of select="concat(@name, '.register(_classMethodProductToMethodBodyMap)')"/>;         
+        </xsl:for-each>
+    }
+
+    public static AMQMethodBody get(int clazz, int method) throws AMQFrameDecodingException
+    {
+	Class bodyClass = (Class) _classMethodProductToMethodBodyMap.get(new Integer(clazz * 1000 + method));
+	if (bodyClass != null)
+	{
+	    try
+	    {
+	        return (AMQMethodBody) bodyClass.newInstance();
+	    }
+	    catch (Exception e)
+	    {
+	    	throw new AMQFrameDecodingException(_log, "Unable to instantiate body class for class " + clazz + " and method " + method + ": " + e, e);
+	    }
+	}
+	else
+	{
+	    throw new AMQFrameDecodingException(_log, "Unable to find a suitable decoder for class " + clazz + " and method " + method);
+	}    
+    }
+}
+</xsl:result-document>
+</xsl:template>
+
+<xsl:template match="frames" mode="list-registry">	
+    <xsl:if test="$registry_name">
+
+    <xsl:variable name="file" select="concat($registry_name, '.java')"/> 
+    wrote <xsl:value-of select="$file"/> 
+    <xsl:result-document href="{$file}" format="textFormat">package org.openamq.framing;
+
+import java.util.Map;
+
+/**
+ * This class is autogenerated, do not modify. [From <xsl:value-of select="@protocol"/>]
+ */
+class <xsl:value-of select="$registry_name"/>
+{
+    static void register(Map map)
+    {
+        <xsl:for-each select="frame">
+            <xsl:text>map.put(new Integer(</xsl:text>
+            <xsl:value-of select="@class-id"/>         
+	    <xsl:text> * 1000 + </xsl:text> 
+            <xsl:value-of select="@method-id"/>         
+	    <xsl:text>), </xsl:text> 
+            <xsl:value-of select="concat(@name, '.class')"/>);         
+        </xsl:for-each>
+    }
+}
+    </xsl:result-document>
+
+    </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/java.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare1.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare1.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare1.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare1.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,88 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<xsl:import href="utils.xsl"/>
+
+<xsl:output indent="yes"/> 
+<xsl:param name="asl_base"/>
+
+<!-- pre-process, phase 1 -->
+
+<xsl:template match="/">
+    <xsl:apply-templates select="protocol" mode="prepare1"/> 
+</xsl:template> 
+
+<xsl:template match="amqp"  mode="prepare1"> 
+    <frames>
+        <xsl:attribute name="protocol">
+            <xsl:value-of select="@comment"/>
+            <xsl:text> (</xsl:text>
+                <xsl:text>major=</xsl:text><xsl:value-of select="option[@name='protocol_major']/@value"/>
+                <xsl:text>, minor=</xsl:text><xsl:value-of select="option[@name='protocol_minor']/@value"/> 
+            <xsl:text>)</xsl:text>
+        </xsl:attribute>  
+        <xsl:apply-templates mode="prepare1" select="inherit"/> 
+        <xsl:apply-templates mode="prepare1" select="include"/> 
+        <xsl:apply-templates mode="prepare1" select="domain"/> 
+        <xsl:apply-templates mode="prepare1" select="class"/> 
+    </frames> 
+</xsl:template> 
+
+<xsl:template match="include" mode="prepare1"> 
+    <xsl:if test="@filename != 'asl_constants.asl'">
+        <!-- skip asl_constants.asl, we don't need it and it is not well formed so causes error warnings -->   
+        <xsl:apply-templates select="document(@filename)" mode="prepare1"/> 
+    </xsl:if> 
+</xsl:template> 
+
+<xsl:template match="inherit" mode="prepare1"> 
+    <xsl:variable name="ibase" select="concat('file:///', $asl_base, '/', @name, '.asl')"/>
+    <xsl:choose>
+        <xsl:when test="document($ibase)">  
+            <xsl:apply-templates select="document($ibase)" mode="prepare1"/>         
+        </xsl:when> 
+        <xsl:otherwise>
+            <xsl:message>
+            Could not inherit from <xsl:value-of select="$ibase"/>; file not found.
+            </xsl:message>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template> 
+
+<xsl:template match="class[@index]" mode="prepare1"> 
+    <xsl:apply-templates select="method" mode="prepare1"/> 
+</xsl:template> 
+
+<xsl:template match="method" mode="prepare1">
+    <xsl:if test="parent::class[@index]"><!-- there is a template class that has no index, which we want to skip -->
+    <frame>
+        <xsl:attribute name="name"><xsl:value-of select="amq:class-name(parent::class/@name, @name)"/></xsl:attribute>
+        <xsl:attribute name="class-id"><xsl:value-of select="parent::class/@index"/></xsl:attribute>
+        <xsl:if test="@index">
+            <xsl:attribute name="method-id"><xsl:value-of select="@index"/></xsl:attribute>
+        </xsl:if>
+        <xsl:if test="not(@index)">
+            <xsl:attribute name="method-id"><xsl:number count="method"/></xsl:attribute>
+        </xsl:if>
+
+        <xsl:apply-templates select="field" mode="prepare1"/>
+    </frame>
+    </xsl:if>
+</xsl:template>
+
+<xsl:template match="domain" mode="prepare1"> 
+    <domain> 
+        <name><xsl:value-of select="@name"/></name> 
+        <type><xsl:value-of select="@type"/></type> 
+    </domain> 
+</xsl:template> 
+
+<xsl:template match="field" mode="prepare1">
+    <field>
+        <xsl:copy-of select="@name"/>
+        <xsl:copy-of select="@type"/>
+        <xsl:copy-of select="@domain"/>
+    </field>
+</xsl:template>
+
+</xsl:stylesheet> 

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare1.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare2.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare2.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare2.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare2.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,47 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<xsl:import href="utils.xsl"/>
+
+<xsl:output indent="yes"/> 
+
+<!-- pre-process, phase 2 -->
+
+<xsl:key name="domain-lookup" match="domain" use="name"/>
+
+<xsl:template match="/"> 
+    <xsl:apply-templates mode="prepare2" select="frames"/> 
+</xsl:template> 
+
+<xsl:template match="field[@domain]" mode="prepare2">
+     <field> 
+         <xsl:variable name="t1" select="key('domain-lookup', @domain)/type"/>
+         <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute>
+         <xsl:attribute name="type"><xsl:value-of select="$t1"/></xsl:attribute>
+     </field> 
+</xsl:template> 
+
+<xsl:template match="field[@type]" mode="prepare2">
+     <field> 
+         <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute>
+         <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
+     </field> 
+</xsl:template> 
+
+<xsl:template match="frames" mode="prepare2">
+    <frames>
+        <xsl:copy-of select="@protocol"/>
+        <xsl:apply-templates mode="prepare2"/>
+    </frames>
+</xsl:template>
+
+<xsl:template match="frame" mode="prepare2">
+    <xsl:element name="{name()}">
+        <xsl:copy-of select="@*"/>
+        <xsl:apply-templates mode="prepare2" select="field"/>  
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="domain" mode="prepare2"></xsl:template> 
+
+</xsl:stylesheet> 

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare2.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare3.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare3.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare3.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare3.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,43 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<xsl:import href="utils.xsl"/>
+
+<xsl:output indent="yes"/> 
+
+<!-- final preparation of the model -->
+
+<xsl:template match="/">
+    <xsl:apply-templates mode="prepare3"/>
+</xsl:template>
+
+<xsl:template match="frames" mode="prepare3">
+    <frames>
+        <xsl:copy-of select="@protocol"/>
+        <xsl:apply-templates mode="prepare3"/>
+    </frames>
+</xsl:template>
+
+<xsl:template match="frame" mode="prepare3">
+    <xsl:element name="frame">
+        <xsl:copy-of select="@*"/>
+	<xsl:if test="field[@type='bit']"><xsl:attribute name="has-bit-field">true</xsl:attribute></xsl:if>
+        <xsl:apply-templates mode="prepare3"/>
+    </xsl:element>
+</xsl:template>
+
+
+<xsl:template match="field" mode="prepare3">
+     <field>
+         <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
+         <!-- ensure the field name is processed to be a valid java name -->
+         <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute>
+         <!-- add some attributes to make code generation easier -->
+         <xsl:attribute name="csharp-type"><xsl:value-of select="amq:csharp-type(@type)"/></xsl:attribute>
+         <xsl:if test="@type='bit'">
+             <xsl:attribute name="boolean-index"><xsl:number count="field[@type='bit']"/></xsl:attribute>
+         </xsl:if>
+     </field>
+</xsl:template>
+
+</xsl:stylesheet> 

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/prepare3.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/readme.txt
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/readme.txt?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/readme.txt (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/readme.txt Sat Nov 25 14:04:39 2006
@@ -0,0 +1,52 @@
+This directory contains the xsl stylesheets used to generate the code from the
+OpenAMQ protocol specification. They require an XSLT2.0 processor, currently 
+Saxon 8 is used.
+
+The generation process is controlled by the framing.xsl stylesheet. This performs
+several phases of transformation, using the other stylesheets. The transformation
+in each phase is defined in a separate file, and these are designed to also allow
+then to be run individually. 
+
+The generation takes the amq.asl as input, it also requires that the path to the 
+directory where the base asl definitions reside (those definitions that the main
+amq.asl defintion inherits from) be passed in via a paramter called asl_base.
+
+The files involved are as follows:
+
+    framing.xsl    The control file for the entire generation process
+
+    prepare1.xsl   Resolves the separate files that make up the protocol 
+                   definition, building a single tree containing all the
+                   information as a set of 'frame' elements, each of which
+                   has attributes for its name, and ids for the class and
+                   method it refers to and contains zero or more field 
+                   elements. 
+
+                   A method id is generated based on the order of the 
+                   method elements within the class elements in the original
+                   specification. The class id is taken from the enclosing
+                   class element.  
+
+    prepare2.xsl   Resolves domains into their corresponding types. (This is
+                   much easier when all the information is in a single tree, 
+                   hence the separate frame). 
+
+    prepare3.xsl   Converts names into valid java names and augments the
+                   tree to include information that makes the subsequent
+                   generation phase simpler e.g. the index of boolean 
+                   fields as several boolean flags are combined into a
+                   single byte. (This is easier once the domains have been
+                   resolved, hence the separate phase).
+
+    java.xsl       Generates java classes for each frame, and a registry of 
+                   all the frames to a 'magic' number generated from their 
+                   class and method id.
+
+    utils.xsl      Contains some utility methods for e.g. producing valid
+                   java names.
+
+For debugging the framing.xsl can output the intermediary files. This can be
+enabled by uncommenting the relevant lines (a comment explaining this is
+provided inline).     
+ 
+ 
\ No newline at end of file

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/readme.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/registry.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/registry.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/registry.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/registry.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,12 @@
+<?xml version='1.0'?> 
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> 
+
+<xsl:import href="csharp.xsl"/>
+
+<xsl:output method="text" indent="yes" name="textFormat"/> 
+
+<xsl:template match="/">
+    <xsl:apply-templates mode="generate-registry" select="registries"/>
+</xsl:template>
+
+</xsl:stylesheet> 

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/registry.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/utils.xsl
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/utils.xsl?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/utils.xsl (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/utils.xsl Sat Nov 25 14:04:39 2006
@@ -0,0 +1,164 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org">
+
+<!-- This file contains functions that are used in the generation of the java classes for framing -->
+
+<!-- retrieve the java type of a given amq type -->
+<xsl:function name="amq:csharp-type">
+    <xsl:param name="t"/>
+    <xsl:choose>
+	 <xsl:when test="$t='char'">char</xsl:when> 		 		 
+	 <xsl:when test="$t='octet'">byte</xsl:when> 		 		 
+	 <xsl:when test="$t='short'">ushort</xsl:when> 		 		 
+	 <xsl:when test="$t='shortstr'">string</xsl:when> 		 		 
+	 <xsl:when test="$t='longstr'">byte[]</xsl:when> 		 		 
+	 <xsl:when test="$t='bit'">bool</xsl:when> 		 		 
+	 <xsl:when test="$t='long'">uint</xsl:when> 		 		 
+	 <xsl:when test="$t='longlong'">ulong</xsl:when> 		 		 
+	 <xsl:when test="$t='table'">FieldTable</xsl:when> 		 		 
+         <xsl:otherwise>Object /*WARNING: undefined type*/</xsl:otherwise>
+    </xsl:choose>
+</xsl:function>
+
+<!-- retrieve the code to get the field size of a given amq type -->
+<xsl:function name="amq:field-length">
+    <xsl:param name="f"/>
+    <xsl:choose>
+        <xsl:when test="$f/@type='bit' and $f/@boolean-index=1">
+            <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='bit' and $f/@boolean-index &gt; 1">
+            <xsl:value-of select="concat('0 /*', $f/@name, '*/')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='char'">
+            <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='octet'">
+            <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/>
+        </xsl:when>
+	<xsl:when test="$f/@type='short'">
+            <xsl:value-of select="concat('2 /*', $f/@name, '*/')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='long'">
+            <xsl:value-of select="concat('4 /*', $f/@name, '*/')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='longlong'">
+            <xsl:value-of select="concat('8 /*', $f/@name, '*/')"/>
+        </xsl:when>
+	<xsl:when test="$f/@type='shortstr'">
+            <xsl:value-of select="concat('(uint)EncodingUtils.EncodedShortStringLength(', $f/@name, ')')"/>
+        </xsl:when> 		 		 
+	<xsl:when test="$f/@type='longstr'">
+            <xsl:value-of select="concat('4 + (uint) (', $f/@name, ' == null ? 0 : ', $f/@name, '.Length)')"/>
+        </xsl:when> 		 		 
+	<xsl:when test="$f/@type='table'">
+            <xsl:value-of select="concat('(uint)EncodingUtils.EncodedFieldTableLength(', $f/@name, ')')"/>
+        </xsl:when> 		 		 
+        <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE FIELD SIZE */</xsl:text></xsl:otherwise>
+    </xsl:choose>    
+</xsl:function>
+
+<!-- retrieve the code to encode a field of a given amq type -->
+<!-- Note:
+     This method will not provide an encoder for a bit field. 
+     Bit fields should be encoded together separately. -->
+
+<xsl:function name="amq:encoder">
+    <xsl:param name="f"/>
+    <xsl:choose>
+        <xsl:when test="$f/@type='char'">
+            <xsl:value-of select="concat('buffer.Put(', $f/@name, ')')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='octet'">
+            <xsl:value-of select="concat('buffer.Put(', $f/@name, ')')"/>
+        </xsl:when>
+	<xsl:when test="$f/@type='short'">
+            <xsl:value-of select="concat('buffer.Put(', $f/@name, ')')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='long'">
+            <xsl:value-of select="concat('buffer.Put(', $f/@name, ')')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='longlong'">
+            <xsl:value-of select="concat('buffer.Put(', $f/@name, ')')"/>
+        </xsl:when>
+	<xsl:when test="$f/@type='shortstr'">
+            <xsl:value-of select="concat('EncodingUtils.WriteShortStringBytes(buffer, ', $f/@name, ')')"/>
+        </xsl:when> 		 		 
+	<xsl:when test="$f/@type='longstr'">
+            <xsl:value-of select="concat('EncodingUtils.WriteLongstr(buffer, ', $f/@name, ')')"/>
+        </xsl:when> 		 		 
+	<xsl:when test="$f/@type='table'">
+            <xsl:value-of select="concat('EncodingUtils.WriteFieldTableBytes(buffer, ', $f/@name, ')')"/>
+        </xsl:when> 		 		 
+        <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE ENCODER */</xsl:text></xsl:otherwise>
+    </xsl:choose>    
+</xsl:function>
+
+<!-- retrieve the code to decode a field of a given amq type -->
+<xsl:function name="amq:decoder">
+    <xsl:param name="f"/>
+    <xsl:choose>
+        <xsl:when test="$f/@type='bit'">
+            <xsl:if test="$f/@boolean-index = 1">
+                <xsl:text>bool[] bools = EncodingUtils.ReadBooleans(buffer);</xsl:text>
+            </xsl:if>
+            <xsl:value-of select="concat($f/@name, ' = bools[', $f/@boolean-index - 1 , ']')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='char'">
+            <xsl:value-of select="concat($f/@name, ' = buffer.GetChar()')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='octet'">
+            <xsl:value-of select="concat($f/@name, ' = buffer.Get()')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='short'">
+            <xsl:value-of select="concat($f/@name, ' = buffer.GetUnsignedShort()')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='long'">
+            <xsl:value-of select="concat($f/@name, ' = buffer.GetUnsignedInt()')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='longlong'">
+            <xsl:value-of select="concat($f/@name, ' = buffer.GetUnsignedLong()')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='shortstr'">
+            <xsl:value-of select="concat($f/@name, ' = EncodingUtils.ReadShortString(buffer)')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='longstr'">
+            <xsl:value-of select="concat($f/@name, ' = EncodingUtils.ReadLongstr(buffer)')"/>
+        </xsl:when>
+        <xsl:when test="$f/@type='table'">
+            <xsl:value-of select="concat($f/@name, ' = EncodingUtils.ReadFieldTable(buffer)')"/>
+        </xsl:when>
+        <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE DECODER */</xsl:text></xsl:otherwise>
+    </xsl:choose>    
+</xsl:function>
+
+<!-- create the class name for a frame, based on class and method (passed in) -->
+<xsl:function name="amq:class-name">
+    <xsl:param name="class"/>
+    <xsl:param name="method"/>
+    <xsl:value-of select="concat(amq:upper-first($class),amq:upper-first(amq:field-name($method)), 'Body')"/>
+</xsl:function>
+
+<!-- get a valid field name, processing spaces and '-'s where appropriate -->
+<xsl:function name="amq:field-name">
+    <xsl:param name="name"/>
+    <xsl:choose>
+        <xsl:when test="contains($name, ' ')">
+            <xsl:value-of select="amq:upper-first(concat(substring-before($name, ' '), amq:upper-first(substring-after($name, ' '))))"/>
+        </xsl:when>
+        <xsl:when test="contains($name, '-')">
+            <xsl:value-of select="amq:upper-first(concat(substring-before($name, '-'), amq:upper-first(substring-after($name, '-'))))"/>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:value-of select="amq:upper-first($name)"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:function>
+
+<!-- convert the first character of the input to upper-case -->
+<xsl:function name="amq:upper-first">
+    <xsl:param name="in"/>
+    <xsl:value-of select="concat(upper-case(substring($in, 1, 1)), substring($in, 2))"/>
+</xsl:function>
+
+</xsl:stylesheet>

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Common/stylesheets/utils.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/AcknowledgeMode.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/AcknowledgeMode.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/AcknowledgeMode.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/AcknowledgeMode.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,42 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public enum AcknowledgeMode
+    {
+        AutoAcknowledge,
+        ClientAcknowledge,
+        DupsOkAcknowledge,
+        SessionTransacted,
+
+        /// <summary>
+        /// Indicates that no client acknowledgements are required. Broker assumes that once it has 
+        /// delivered a message packet successfully it is acknowledged.
+        /// </summary>
+        NoAcknowledge,
+
+        /// <summary>
+        /// Pre acknowledge means that an ack is sent per message but sent before user code has processed
+        /// the message (i.e. before the onMessage() call or the receive() method has returned).
+        /// </summary>
+        PreAcknowledge
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/AcknowledgeMode.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ChannelLimitReachedException.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ChannelLimitReachedException.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ChannelLimitReachedException.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ChannelLimitReachedException.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,43 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public class ChannelLimitReachedException : ResourceAllocationException
+    {
+        private long _limit;
+
+        public ChannelLimitReachedException(long limit)
+            : base("Unable to create session since maximum number of sessions per connection is " +
+                   limit + ". Either close one or more sessions or increase the " +
+                   "maximum number of sessions per connection (or contact your OpenAMQ administrator.")
+        {            
+            _limit = limit;
+        }
+
+        public long Limit
+        {
+            get
+            {
+                return _limit;
+            }
+        }
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ChannelLimitReachedException.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/DeliveryMode.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/DeliveryMode.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/DeliveryMode.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/DeliveryMode.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,28 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public enum DeliveryMode
+    {
+        NonPersistent,
+        Persistent
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/DeliveryMode.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeClassConstants.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeClassConstants.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeClassConstants.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeClassConstants.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,29 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public class ExchangeClassConstants
+    {
+        public readonly static string TOPIC = "topic";
+        public readonly static string DIRECT = "direct";
+        public readonly static string HEADERS = "headers";
+    }
+}
\ No newline at end of file

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeClassConstants.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeNameDefaults.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeNameDefaults.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeNameDefaults.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeNameDefaults.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,29 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public class ExchangeNameDefaults
+    {
+        public readonly static string TOPIC = "amq.topic";
+        public readonly static string DIRECT = "amq.direct";
+        public readonly static string HEADERS = "amq.match";        
+    }
+}
\ No newline at end of file

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/ExchangeNameDefaults.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IBytesMessage.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IBytesMessage.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IBytesMessage.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IBytesMessage.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,63 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public interface IBytesMessage : IMessage
+    {
+        long BodyLength { get; }
+
+        bool ReadBoolean();
+        void WriteBoolean(bool value);
+        
+        byte ReadByte();
+        int ReadBytes(byte[] array);
+        int ReadBytes(byte[] array, int length);
+        void WriteByte(byte value);
+        void WriteBytes(byte[] value);
+        void WriteBytes(byte[] value, int offset, int length);
+
+        char ReadChar();
+        void WriteChar(char value);
+        
+        double ReadDouble();
+        void WriteDouble(double value);
+
+        float ReadFloat();
+        void WriteFloat(float value);
+
+        int ReadInt();
+        void WriteInt(int value);
+
+        long ReadLong();
+        void WriteLong(long value);
+
+        short ReadShort();
+        void WriteShort(short value);
+
+        short ReadSignedByte();
+        void WriteSignedByte(short value);
+
+        string ReadUTF();
+        void WriteUTF(string value);
+
+        void Reset();
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IBytesMessage.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IChannel.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IChannel.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IChannel.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IChannel.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,95 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+using System;
+
+namespace Qpid.Messaging
+{
+    public delegate void MessageReceivedDelegate(IMessage msg);
+
+    public interface IChannel : IDisposable
+    {
+        AcknowledgeMode AcknowledgeMode { get; }
+        bool Transacted { get; }
+
+        /// <summary>
+        /// Prefetch value to be used as the default for consumers created on this channel.
+        /// </summary>
+        int DefaultPrefetch
+        {
+            get;
+            set;
+        }
+
+        void DeclareExchange(string exchangeName, string exchangeClass);
+        void DeleteExchange(string exchangeName);
+
+        void DeclareQueue(string queueName, bool isDurable, bool isExclusive, bool isAutoDelete);
+        void DeleteQueue();
+
+        string GenerateUniqueName();
+        IFieldTable CreateFieldTable();
+
+        void Bind(string queueName, string exchangeName, string routingKey);
+        void Bind(string queueName, string exchangeName, string routingKey, IFieldTable args);
+
+        IMessage CreateMessage();
+        IBytesMessage CreateBytesMessage();
+        ITextMessage CreateTextMessage();
+        ITextMessage CreateTextMessage(string initialValue);
+
+        #region Consuming
+
+        MessageConsumerBuilder CreateConsumerBuilder(string queueName);
+
+        IMessageConsumer CreateConsumer(string queueName,
+                                        int prefetch,
+                                        bool noLocal,
+                                        bool exclusive,
+                                        bool durable,
+                                        string subscriptionName);
+
+        void Unsubscribe(string subscriptionName);
+
+        #endregion
+
+        #region Publishing
+
+        MessagePublisherBuilder CreatePublisherBuilder();
+
+        IMessagePublisher CreatePublisher(string exchangeName,
+                                        string routingKey,
+                                        DeliveryMode deliveryMode,
+                                        long timeToLive,
+                                        bool immediate,
+                                        bool mandatory,
+                                        int priority);
+
+        #endregion
+
+        #region Transactions
+
+        void Recover();
+        void Commit();
+        void Rollback();
+
+        #endregion
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IChannel.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnection.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnection.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnection.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnection.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,54 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+using System;
+
+namespace Qpid.Messaging
+{
+    public delegate void ExceptionListenerDelegate(Exception ex);
+
+    public interface IConnection : IDisposable
+    {
+        /// <summary>
+        /// The connection listener that has been registered with this connection.
+        /// </summary>
+        IConnectionListener ConnectionListener
+        {
+            get;
+            set;
+        }
+
+        ExceptionListenerDelegate ExceptionListener { get; set; }
+
+        string ClientID { get; set; }
+
+        /// <return>the maximum number of sessions supported by this Connection</return>     
+        int MaximumChannelCount
+        {
+            get;
+        }
+
+        IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode);
+        IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode, int prefetch);
+
+        void Start();
+        void Stop();
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnection.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnectionFactory.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnectionFactory.cs?view=auto&rev=479211
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnectionFactory.cs (added)
+++ incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnectionFactory.cs Sat Nov 25 14:04:39 2006
@@ -0,0 +1,28 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+namespace Qpid.Messaging
+{
+    public interface IConnectionFactory
+    {
+        IConnection CreateConnection();
+        IConnection CreateConnection(string userId, string password);
+    }
+}

Propchange: incubator/qpid/trunk/qpid/dotnet/Qpid.Messaging/IConnectionFactory.cs
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message