Author: tabish
Date: Tue Oct 5 21:57:24 2010
New Revision: 1004821
URL: http://svn.apache.org/viewvc?rev=1004821&view=rev
Log:
Start on some initial API definitions
Added:
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h
(with props)
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h
(with props)
Modified:
activemq/activemq-cpp/trunk/activemq-c/ (props changed)
activemq/activemq-cpp/trunk/activemq-c/src/main/c/Makefile.am
activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.c
activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.h
Propchange: activemq/activemq-cpp/trunk/activemq-c/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Oct 5 21:57:24 2010
@@ -7,3 +7,4 @@ configure
autom4te.cache
Makefile.in
config.h
+build
Added: activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h?rev=1004821&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h
(added)
+++ activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h Tue
Oct 5 21:57:24 2010
@@ -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.
+ */
+
+#ifndef _ACTIVEMQCONNECTION_H_
+#define _ACTIVEMQCONNECTION_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ACTIVEMQCONNECTION_H_ */
Propchange:
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnection.h
------------------------------------------------------------------------------
svn:eol-style = native
Added:
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h?rev=1004821&view=auto
==============================================================================
---
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h
(added)
+++
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h
Tue Oct 5 21:57:24 2010
@@ -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.
+ */
+
+#ifndef _ACTIVEMQCONNECTIONFACTORY_H_
+#define _ACTIVEMQCONNECTIONFACTORY_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ACTIVEMQCONNECTIONFACTORY_H_ */
Propchange:
activemq/activemq-cpp/trunk/activemq-c/src/main/c/ActiveMQConnectionFactory.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/activemq-cpp/trunk/activemq-c/src/main/c/Makefile.am
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-c/src/main/c/Makefile.am?rev=1004821&r1=1004820&r2=1004821&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-c/src/main/c/Makefile.am (original)
+++ activemq/activemq-cpp/trunk/activemq-c/src/main/c/Makefile.am Tue Oct 5
21:57:24 2010
@@ -16,10 +16,13 @@
# ---------------------------------------------------------------------------
cc_sources = \
+ ActiveMQConnection.c \
activemqc.c
h_sources = \
+ ActiveMQConnection.h \
+ ActiveMQConnectionFactory.h \
activemqc.h
Modified: activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.c
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.c?rev=1004821&r1=1004820&r2=1004821&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.c (original)
+++ activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.c Tue Oct 5
21:57:24 2010
@@ -17,3 +17,12 @@
#include <activemqc.h>
+////////////////////////////////////////////////////////////////////////////////
+void cms_initialize() {
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void cms_terminate() {
+
+}
Modified: activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.h
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.h?rev=1004821&r1=1004820&r2=1004821&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.h (original)
+++ activemq/activemq-cpp/trunk/activemq-c/src/main/c/activemqc.h Tue Oct 5
21:57:24 2010
@@ -22,6 +22,68 @@
extern "C" {
#endif /* __cplusplus */
+/**
+ * Types used throughout the C Wrapper lib are declared here, the actual
definition
+ * is done elsewhere.
+ */
+
+/** The Opaque Connection Factory Structure */
+typedef struct CMS_ConnectionFactory CMS_ConnectionFactory;
+
+/** The Opaque Connection Structure */
+typedef struct CMS_Connection CMS_Connection;
+
+/** The Opaque Session Structure */
+typedef struct CMS_Session CMS_Session;
+
+/** The Opaque Message Producer Structure */
+typedef struct CMS_MessageProducer CMS_MessageProducer;
+
+/** The Opaque Message Consumer Structure */
+typedef struct CMS_MessageConsumer CMS_MessageConsumer;
+
+/** The Opaque Message Structure */
+typedef struct CMS_Message CMS_Message;
+
+/** The Opaque Destination Structure */
+typedef struct CMS_Destination CMS_Destination;
+
+/**
+ * This section defines types used by the C client code to interact with the
+ * C++ library via the Wrapper functions.
+ */
+
+/** Enum that defines the various message types supported by CMS. */
+typedef enum {
+ CMS_MESSAGE,
+ CMS_BYTES_MESSAGE,
+ CMS_MAP_MESSAGE,
+ CMS_STREAM_MESSAAGE,
+ CMS_TEXT_MESSAGE
+};
+
+/** Result code returned from wrapper functions to indicate success or
failure. */
+typedef int cms_status;
+
+/**
+ * C Functions used to initialize and shutdown the ActiveMQ-C library.
+ */
+
+/**
+ * Initializes the ActiveMQ-C library and any underlying resources or attached
+ * libraries. This method must be called once before any other library
function
+ * in order to allocate the resources needed to use the ActiveMQ-CPP library.
+ */
+void cms_initialize();
+
+/**
+ * Shutdown the ActiveMQ-C library and destroy any resources that are held by
this
+ * library. This method must be called once all the CMS resources that have
been
+ * allocated are destroyed. Calling this method before destroying all CMS
resources
+ * can result in a segfault condition.
+ */
+void cms_terminate();
+
#ifdef __cplusplus
}
#endif /* __cplusplus */