You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2010/11/17 23:04:27 UTC

svn commit: r1036248 - in /activemq/activemq-cpp/trunk/activemq-cpp/src/main: activemq/core/ActiveMQConnection.h activemq/core/ActiveMQSession.h cms/XAConnection.h cms/XASession.cpp cms/XASession.h

Author: tabish
Date: Wed Nov 17 22:04:26 2010
New Revision: 1036248

URL: http://svn.apache.org/viewvc?rev=1036248&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQCPP-329

Update the XAConnetion and XASession inheritance to allow them to act as Connection and Session instances as well.  Update ActiveMQConnection and ActiveMQSession to use virtual inheritance of Connection and Session so that the XA extensions can share the base class API impl.

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XAConnection.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.h

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h?rev=1036248&r1=1036247&r2=1036248&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h Wed Nov 17 22:04:26 2010
@@ -58,7 +58,7 @@ namespace core{
      *
      * @since 2.0
      */
-    class AMQCPP_API ActiveMQConnection : public cms::Connection,
+    class AMQCPP_API ActiveMQConnection : public virtual cms::Connection,
                                           public transport::TransportListener {
     private:
 

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h?rev=1036248&r1=1036247&r2=1036248&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h Wed Nov 17 22:04:26 2010
@@ -54,7 +54,7 @@ namespace core{
     class ActiveMQConsumer;
     class ActiveMQSessionExecutor;
 
-    class AMQCPP_API ActiveMQSession : public cms::Session, public Dispatcher {
+    class AMQCPP_API ActiveMQSession : public virtual cms::Session, public Dispatcher {
     private:
 
         typedef decaf::util::StlMap< Pointer<commands::ConsumerId>,

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XAConnection.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XAConnection.h?rev=1036248&r1=1036247&r2=1036248&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XAConnection.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XAConnection.h Wed Nov 17 22:04:26 2010
@@ -34,7 +34,7 @@ namespace cms {
      *
      * @since 2.3
      */
-    class CMS_API XAConnection {
+    class CMS_API XAConnection : public virtual cms::Connection {
     public:
 
         virtual ~XAConnection() throw();

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.cpp?rev=1036248&r1=1036247&r2=1036248&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.cpp Wed Nov 17 22:04:26 2010
@@ -20,5 +20,5 @@
 using namespace cms;
 
 ////////////////////////////////////////////////////////////////////////////////
-XASession::~XASession() {
+XASession::~XASession() throw() {
 }

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.h?rev=1036248&r1=1036247&r2=1036248&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/XASession.h Wed Nov 17 22:04:26 2010
@@ -20,6 +20,7 @@
 
 #include <cms/Config.h>
 
+#include <cms/Session.h>
 #include <cms/XAResource.h>
 
 namespace cms {
@@ -50,10 +51,10 @@ namespace cms {
      *
      * @since 2.3
      */
-    class CMS_API XASession {
+    class CMS_API XASession : public virtual cms::Session {
     public:
 
-        virtual ~XASession();
+        virtual ~XASession() throw();
 
         /**
          * Returns the XA resource associated with this Session to the caller.