diff options
Diffstat (limited to 'cpp/bindings')
162 files changed, 0 insertions, 24315 deletions
diff --git a/cpp/bindings/qmf/Makefile.am b/cpp/bindings/qmf/Makefile.am deleted file mode 100644 index eebb4b94de..0000000000 --- a/cpp/bindings/qmf/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -# -# 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. -# - -if HAVE_SWIG - -EXTRA_DIST = qmfengine.i -SUBDIRS = tests - -if HAVE_RUBY_DEVEL -SUBDIRS += ruby -endif - -if HAVE_PYTHON_DEVEL -SUBDIRS += python -endif - -endif diff --git a/cpp/bindings/qmf/python/Makefile.am b/cpp/bindings/qmf/python/Makefile.am deleted file mode 100644 index 421590f189..0000000000 --- a/cpp/bindings/qmf/python/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -# -# 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. -# - -if HAVE_PYTHON_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src/qmf -I$(top_srcdir)/src -I$(top_builddir)/src - -generated_file_list = \ - qmfengine.cpp \ - qmfengine.py - -EXTRA_DIST = python.i -BUILT_SOURCES = $(generated_file_list) -SWIG_FLAGS = -w362,401 - -$(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmfengine.i - swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o qmfengine.cpp $(srcdir)/python.i - -pylibdir = $(PYTHON_LIB) - -lib_LTLIBRARIES = _qmfengine.la - -#_qmfengine_la_LDFLAGS = -avoid-version -module -shrext "$(PYTHON_SO)" -#_qmfengine_la_LDFLAGS = -avoid-version -module -shrext ".so" -_qmfengine_la_LDFLAGS = -avoid-version -module -shared -_qmfengine_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs -lqpidclient $(top_builddir)/src/libqmf.la -_qmfengine_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf -I$(PYTHON_INC) -fno-strict-aliasing -nodist__qmfengine_la_SOURCES = qmfengine.cpp - -CLEANFILES = $(generated_file_list) - -endif # HAVE_PYTHON_DEVEL - diff --git a/cpp/bindings/qmf/python/python.i b/cpp/bindings/qmf/python/python.i deleted file mode 100644 index 5e25d155f9..0000000000 --- a/cpp/bindings/qmf/python/python.i +++ /dev/null @@ -1,143 +0,0 @@ -/* - * 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. - */ - -%module qmfengine - - -/* unsigned32 Convert from Python --> C */ -%typemap(in) uint32_t { - if (PyInt_Check($input)) { - $1 = (uint32_t) PyInt_AsUnsignedLongMask($input); - } else if (PyLong_Check($input)) { - $1 = (uint32_t) PyLong_AsUnsignedLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* unsinged32 Convert from C --> Python */ -%typemap(out) uint32_t { - $result = PyInt_FromLong((long)$1); -} - - -/* unsigned16 Convert from Python --> C */ -%typemap(in) uint16_t { - if (PyInt_Check($input)) { - $1 = (uint16_t) PyInt_AsUnsignedLongMask($input); - } else if (PyLong_Check($input)) { - $1 = (uint16_t) PyLong_AsUnsignedLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* unsigned16 Convert from C --> Python */ -%typemap(out) uint16_t { - $result = PyInt_FromLong((long)$1); -} - - -/* signed32 Convert from Python --> C */ -%typemap(in) int32_t { - if (PyInt_Check($input)) { - $1 = (int32_t) PyInt_AsLong($input); - } else if (PyLong_Check($input)) { - $1 = (int32_t) PyLong_AsLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* signed32 Convert from C --> Python */ -%typemap(out) int32_t { - $result = PyInt_FromLong((long)$1); -} - - -/* unsigned64 Convert from Python --> C */ -%typemap(in) uint64_t { -%#ifdef HAVE_LONG_LONG - if (PyLong_Check($input)) { - $1 = (uint64_t)PyLong_AsUnsignedLongLong($input); - } else if (PyInt_Check($input)) { - $1 = (uint64_t)PyInt_AsUnsignedLongLongMask($input); - } else -%#endif - { - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - uint64_t input too large"); - } -} - -/* unsigned64 Convert from C --> Python */ -%typemap(out) uint64_t { -%#ifdef HAVE_LONG_LONG - $result = PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)$1); -%#else - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - uint64_t output too large"); -%#endif -} - -/* signed64 Convert from Python --> C */ -%typemap(in) int64_t { -%#ifdef HAVE_LONG_LONG - if (PyLong_Check($input)) { - $1 = (int64_t)PyLong_AsLongLong($input); - } else if (PyInt_Check($input)) { - $1 = (int64_t)PyInt_AsLong($input); - } else -%#endif - { - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - int64_t input too large"); - } -} - -/* signed64 Convert from C --> Python */ -%typemap(out) int64_t { -%#ifdef HAVE_LONG_LONG - $result = PyLong_FromLongLong((PY_LONG_LONG)$1); -%#else - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - int64_t output too large"); -%#endif -} - - -/* Convert from Python --> C */ -%typemap(in) void * { - $1 = (void *)$input; -} - -/* Convert from C --> Python */ -%typemap(out) void * { - $result = (PyObject *) $1; - Py_INCREF($result); -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT64) uint64_t { - $1 = PyLong_Check($input) ? 1 : 0; -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT32) uint32_t { - $1 = PyInt_Check($input) ? 1 : 0; -} - - - -%include "../qmfengine.i" - diff --git a/cpp/bindings/qmf/python/qmf.py b/cpp/bindings/qmf/python/qmf.py deleted file mode 100644 index 06d3070841..0000000000 --- a/cpp/bindings/qmf/python/qmf.py +++ /dev/null @@ -1,1680 +0,0 @@ -# -# 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. -# -import sys -import socket -import os -import logging -from threading import Thread -from threading import RLock -from threading import Condition -import qmfengine -from qmfengine import (ACCESS_READ_CREATE, ACCESS_READ_ONLY, ACCESS_READ_WRITE) -from qmfengine import (CLASS_EVENT, CLASS_OBJECT) -from qmfengine import (DIR_IN, DIR_IN_OUT, DIR_OUT) -from qmfengine import (TYPE_ABSTIME, TYPE_ARRAY, TYPE_BOOL, TYPE_DELTATIME, - TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT16, TYPE_INT32, TYPE_INT64, - TYPE_INT8, TYPE_LIST, TYPE_LSTR, TYPE_MAP, TYPE_OBJECT, - TYPE_REF, TYPE_SSTR, TYPE_UINT16, TYPE_UINT32, TYPE_UINT64, - TYPE_UINT8, TYPE_UUID) -from qmfengine import (O_EQ, O_NE, O_LT, O_LE, O_GT, O_GE, O_RE_MATCH, O_RE_NOMATCH, - E_NOT, E_AND, E_OR, E_XOR) -from qmfengine import (SEV_EMERG, SEV_ALERT, SEV_CRIT, SEV_ERROR, SEV_WARN, SEV_NOTICE, - SEV_INFORM, SEV_DEBUG) - - -def qmf_to_native(val): - typecode = val.getType() - if typecode == TYPE_UINT8: return val.asUint() - elif typecode == TYPE_UINT16: return val.asUint() - elif typecode == TYPE_UINT32: return val.asUint() - elif typecode == TYPE_UINT64: return val.asUint64() - elif typecode == TYPE_SSTR: return val.asString() - elif typecode == TYPE_LSTR: return val.asString() - elif typecode == TYPE_ABSTIME: return val.asInt64() - elif typecode == TYPE_DELTATIME: return val.asUint64() - elif typecode == TYPE_REF: return ObjectId(val.asObjectId()) - elif typecode == TYPE_BOOL: return val.asBool() - elif typecode == TYPE_FLOAT: return val.asFloat() - elif typecode == TYPE_DOUBLE: return val.asDouble() - elif typecode == TYPE_UUID: return val.asUuid() - elif typecode == TYPE_INT8: return val.asInt() - elif typecode == TYPE_INT16: return val.asInt() - elif typecode == TYPE_INT32: return val.asInt() - elif typecode == TYPE_INT64: return val.asInt64() - elif typecode == TYPE_MAP: return value_to_dict(val) - elif typecode == TYPE_LIST: return value_to_list(val) - else: - # when TYPE_OBJECT - logging.error( "Unsupported type for get_attr? '%s'" % str(val.getType()) ) - return None - - -def native_to_qmf(target, value): - val = None - typecode = None - if target.__class__ == qmfengine.Value: - val = target - typecode = val.getType() - else: - typecode = target - val = qmfengine.Value(typecode) - - if typecode == TYPE_UINT8: val.setUint(value) - elif typecode == TYPE_UINT16: val.setUint(value) - elif typecode == TYPE_UINT32: val.setUint(value) - elif typecode == TYPE_UINT64: val.setUint64(value) - elif typecode == TYPE_SSTR: - if value: val.setString(value) - else: val.setString('') - elif typecode == TYPE_LSTR: - if value: val.setString(value) - else: val.setString('') - elif typecode == TYPE_ABSTIME: val.setInt64(value) - elif typecode == TYPE_DELTATIME: val.setUint64(value) - elif typecode == TYPE_REF: val.setObjectId(value.impl) - elif typecode == TYPE_BOOL: val.setBool(value) - elif typecode == TYPE_FLOAT: val.setFloat(value) - elif typecode == TYPE_DOUBLE: val.setDouble(value) - elif typecode == TYPE_UUID: val.setUuid(value) - elif typecode == TYPE_INT8: val.setInt(value) - elif typecode == TYPE_INT16: val.setInt(value) - elif typecode == TYPE_INT32: val.setInt(value) - elif typecode == TYPE_INT64: val.setInt64(value) - elif typecode == TYPE_MAP: dict_to_value(val, value) - elif typecode == TYPE_LIST: list_to_value(val, value) - else: - # when TYPE_OBJECT - logging.error("Unsupported type for get_attr? '%s'" % str(val.getType())) - return None - return val - - -def pick_qmf_type(value): - if value.__class__ == int: - if value >= 0: - if value < 0x100000000: return TYPE_UINT32 - return TYPE_UINT64 - else: - if value > -0xffffffff: return TYPE_INT32 - return TYPE_INT64 - - if value.__class__ == long: - if value >= 0: return TYPE_UINT64 - return TYPE_INT64 - - if value.__class__ == str: - if len(value) < 256: return TYPE_SSTR - return TYPE_LSTR - - if value.__class__ == float: return TYPE_DOUBLE - if value.__class__ == bool: return TYPE_BOOL - if value == None: return TYPE_BOOL - if value.__class__ == dict: return TYPE_MAP - if value.__class__ == list: return TYPE_LIST - - raise "QMF type not known for native type %s" % value.__class__ - - -def value_to_dict(val): - if not val.isMap(): raise "value_to_dict must be given a map value" - mymap = {} - for i in range(val.keyCount()): - key = val.key(i) - mymap[key] = qmf_to_native(val.byKey(key)) - return mymap - - -def dict_to_value(val, mymap): - for key, value in mymap.items(): - if key.__class__ != str: raise "QMF map key must be a string" - typecode = pick_qmf_type(value) - val.insert(key, native_to_qmf(typecode, value)) - - -def value_to_list(val): - mylist = [] - if val.isList(): - for i in range(val.listItemCount()): - mylist.append(qmf_to_native(val.listItem(i))) - return mylist - #if val.isArray(): - # for i in range(val.arrayItemCount()): - # mylist.append(qmf_to_native(val.arrayItem(i))) - # return mylist - - raise "value_to_list must be given a list value" - - -def list_to_value(val, mylist): - for item in mylist: - typecode = pick_qmf_type(item) - val.appendToList(native_to_qmf(typecode, item)) - - - ##============================================================================== - ## CONNECTION - ##============================================================================== - -class ConnectionSettings(object): - #attr_reader :impl - def __init__(self, url=None): - if url: - self.impl = qmfengine.ConnectionSettings(url) - else: - self.impl = qmfengine.ConnectionSettings() - - - def set_attr(self, key, val): - if type(val) == str: - _v = qmfengine.Value(TYPE_LSTR) - _v.setString(val) - elif type(val) == int: - _v = qmfengine.Value(TYPE_UINT32) - _v.setUint(val) - elif type(val) == bool: - _v = qmfengine.Value(TYPE_BOOL) - _v.setBool(val) - else: - raise Exception("Argument error: value for attribute '%s' has unsupported type: %s" % ( key, type(val))) - - good = self.impl.setAttr(key, _v) - if not good: - raise Exception("Argument error: unsupported attribute '%s'" % key ) - - - def get_attr(self, key): - _v = self.impl.getAttr(key) - if _v.isString(): - return _v.asString() - elif _v.isUint(): - return _v.asUint() - elif _v.isBool(): - return _v.asBool() - else: - raise Exception("Argument error: value for attribute '%s' has unsupported type: %s" % ( key, str(_v.getType()))) - - - def __getattr__(self, name): - return self.get_attr(name) - - - def __setattr__(self, name, value): - if name == "impl": - return super.__setattr__(self, name, value) - return self.set_attr(name, value) - - - -class ConnectionHandler: - def conn_event_connected(self): None - def conn_event_disconnected(self, error): None - def conn_event_visit(self): None - def sess_event_session_closed(self, context, error): None - def sess_event_recv(self, context, message): None - - - -class Connection(Thread): - def __init__(self, settings): - Thread.__init__(self) - self._lock = RLock() - self.impl = qmfengine.ResilientConnection(settings.impl) - self._sockEngine, self._sock = socket.socketpair(socket.AF_UNIX, socket.SOCK_STREAM) - self.impl.setNotifyFd(self._sockEngine.fileno()) - self._new_conn_handlers = [] - self._conn_handlers_to_delete = [] - self._conn_handlers = [] - self._connected = False - self._operational = True - self.start() - - - def destroy(self, timeout=None): - logging.debug("Destroying Connection...") - self._operational = False - self.kick() - self.join(timeout) - logging.debug("... Conn Destroyed!" ) - if self.isAlive(): - logging.error("Error: Connection thread '%s' is hung..." % self.getName()) - - - def connected(self): - return self._connected - - - def kick(self): - self.impl.notify() - - - def add_conn_handler(self, handler): - self._lock.acquire() - try: - self._new_conn_handlers.append(handler) - finally: - self._lock.release() - self.kick() - - - def del_conn_handler(self, handler): - self._lock.acquire() - try: - self._conn_handlers_to_delete.append(handler) - finally: - self._lock.release() - self.kick() - - - def run(self): - eventImpl = qmfengine.ResilientConnectionEvent() - new_handlers = [] - del_handlers = [] - bt_count = 0 - - while self._operational: - logging.debug("Connection thread waiting for socket data...") - self._sock.recv(1) - - self._lock.acquire() - try: - new_handlers = self._new_conn_handlers - del_handlers = self._conn_handlers_to_delete - self._new_conn_handlers = [] - self._conn_handlers_to_delete = [] - finally: - self._lock.release() - - for nh in new_handlers: - self._conn_handlers.append(nh) - if self._connected: - nh.conn_event_connected() - new_handlers = [] - - for dh in del_handlers: - if dh in self._conn_handlers: - self._conn_handlers.remove(dh) - del_handlers = [] - - valid = self.impl.getEvent(eventImpl) - while valid: - try: - if eventImpl.kind == qmfengine.ResilientConnectionEvent.CONNECTED: - logging.debug("Connection thread: CONNECTED event received.") - self._connected = True - for h in self._conn_handlers: - h.conn_event_connected() - - elif eventImpl.kind == qmfengine.ResilientConnectionEvent.DISCONNECTED: - logging.debug("Connection thread: DISCONNECTED event received.") - self._connected = False - for h in self._conn_handlers: - h.conn_event_disconnected(eventImpl.errorText) - - elif eventImpl.kind == qmfengine.ResilientConnectionEvent.SESSION_CLOSED: - logging.debug("Connection thread: SESSION_CLOSED event received.") - eventImpl.sessionContext.handler.sess_event_session_closed(eventImpl.sessionContext, eventImpl.errorText) - - elif eventImpl.kind == qmfengine.ResilientConnectionEvent.RECV: - logging.debug("Connection thread: RECV event received.") - eventImpl.sessionContext.handler.sess_event_recv(eventImpl.sessionContext, eventImpl.message) - else: - logging.debug("Connection thread received unknown event: '%s'" % str(eventImpl.kind)) - - except: - import traceback - logging.error( "Exception occurred during Connection event processing:" ) - logging.error( str(sys.exc_info()) ) - if bt_count < 2: - traceback.print_exc() - traceback.print_stack() - bt_count += 1 - - self.impl.popEvent() - valid = self.impl.getEvent(eventImpl) - - for h in self._conn_handlers: - h.conn_event_visit() - - logging.debug("Shutting down Connection thread") - - - -class Session: - def __init__(self, conn, label, handler): - self._conn = conn - self._label = label - self.handler = handler - self.handle = qmfengine.SessionHandle() - result = self._conn.impl.createSession(label, self, self.handle) - - - def destroy(self): - self._conn.impl.destroySession(self.handle) - - - - ##============================================================================== - ## OBJECTS and EVENTS - ##============================================================================== - -class QmfEvent(object): - # attr_reader :impl, :event_class - def __init__(self, cls, kwargs={}): - self._allow_sets = True - if kwargs.has_key("broker"): - self._broker = kwargs["broker"] - else: - self._broker = None - if cls: - self.event_class = cls - self.impl = qmfengine.Event(self.event_class.impl) - elif kwargs.has_key("impl"): - self.impl = qmfengine.Event(kwargs["impl"]) - self.event_class = SchemaEventClass(None, None, 0, - {"impl":self.impl.getClass()}) - else: - raise Exception("Argument error: required parameter ('impl') not supplied") - - - def arguments(self): - list = [] - for arg in self.event_class.arguments: - list.append([arg, self.get_attr(arg.name())]) - return list - - - def get_attr(self, name): - val = self._value(name) - return qmf_to_native(val) - - - def set_attr(self, name, v): - val = self._value(name) - native_to_qmf(val, v) - - - def __getitem__(self, name): - return self.get_attr(name) - - - def __setitem__(self, name, value): - self.set_attr(name, value) - - - def __setattr__(self, name, value): - # - # Ignore the internal attributes, set them normally... - # - if (name[0] == '_' or - name == 'impl' or - name == 'event_class'): - return super.__setattr__(self, name, value) - - if not self._allow_sets: - raise Exception("'Set' operations not permitted on this object") - - # - # If the name matches an argument name, set the value of the argument. - # - # print "set name=%s" % str(name) - for arg in self.event_class.arguments: - if arg.name() == name: - return self.set_attr(name, value) - - # unrecognized name? should I raise an exception? - super.__setattr__(self, name, value) - - - def __getattr__(self, name, *args): - # - # If the name matches an argument name, return the value of the argument. - # - for arg in self.event_class.arguments: - if arg.name() == name: - return self.get_attr(name) - - # - # This name means nothing to us, pass it up the line to the parent - # class's handler. - # - # print "__getattr__=%s" % str(name) - super.__getattr__(self, name) - - - def _value(self, name): - val = self.impl.getValue(name) - if not val: - raise Exception("Argument error: attribute named '%s' not defined for package %s, class %s" % - (name, - self.event_class.impl.getClassKey().getPackageName(), - self.event_class.impl.getClassKey().getClassName())) - return val - - -class QmfObject(object): - # attr_reader :impl, :object_class - def __init__(self, cls, kwargs={}): - self._cv = Condition() - self._sync_count = 0 - self._sync_result = None - self._allow_sets = False - if kwargs.has_key("broker"): - self._broker = kwargs["broker"] - else: - self._broker = None - if cls: - self.object_class = cls - self.impl = qmfengine.Object(self.object_class.impl) - elif kwargs.has_key("impl"): - self.impl = qmfengine.Object(kwargs["impl"]) - self.object_class = SchemaObjectClass(None, - None, - {"impl":self.impl.getClass()}) - else: - raise Exception("Argument error: required parameter ('impl') not supplied") - - - def destroy(self): - self.impl.destroy() - - - def object_id(self): - return ObjectId(self.impl.getObjectId()) - - - def set_object_id(self, oid): - self.impl.setObjectId(oid.impl) - - - def properties(self): - list = [] - for prop in self.object_class.properties: - list.append([prop, self.get_attr(prop.name())]) - return list - - - def statistics(self): - list = [] - for stat in self.object_class.statistics: - list.append([stat, self.get_attr(stat.name())]) - return list - - - def get_attr(self, name): - val = self._value(name) - return qmf_to_native(val) - - - def set_attr(self, name, v): - val = self._value(name) - native_to_qmf(val, v) - - - def __getitem__(self, name): - return self.get_attr(name) - - - def __setitem__(self, name, value): - self.set_attr(name, value) - - - def inc_attr(self, name, by=1): - self.set_attr(name, self.get_attr(name) + by) - - - def dec_attr(self, name, by=1): - self.set_attr(name, self.get_attr(name) - by) - - - def __setattr__(self, name, value): - # - # Ignore the internal attributes, set them normally... - # - if (name[0] == '_' or - name == 'impl' or - name == 'object_class'): - return super.__setattr__(self, name, value) - - if not self._allow_sets: - raise Exception("'Set' operations not permitted on this object") - # - # If the name matches a property name, set the value of the property. - # - # print "set name=%s" % str(name) - for prop in self.object_class.properties: - if prop.name() == name: - return self.set_attr(name, value) - # - # otherwise, check for a statistic set... - # - for stat in self.object_class.statistics: - if stat.name() == name: - return self.set_attr(name, value) - - # unrecognized name? should I raise an exception? - super.__setattr__(self, name, value) - - - def __getattr__(self, name, *args): - # - # If the name matches a property name, return the value of the property. - # - for prop in self.object_class.properties: - if prop.name() == name: - return self.get_attr(name) - # - # Do the same for statistics - # - for stat in self.object_class.statistics: - if stat.name() == name: - return self.get_attr(name) - # - # If we still haven't found a match for the name, check to see if - # it matches a method name. If so, marshall up the arguments into - # a map, and invoke the method. - # - for method in self.object_class.methods: - if method.name() == name: - argMap = self._marshall(method, args) - return lambda name, argMap : self._invokeMethod(name, argMap) - - # - # This name means nothing to us, pass it up the line to the parent - # class's handler. - # - # print "__getattr__=%s" % str(name) - super.__getattr__(self, name) - - - def _invokeMethod(self, name, argMap): - """ - Private: Helper function that invokes an object's method, and waits for the result. - """ - self._cv.acquire() - try: - timeout = 30 - self._sync_count = 1 - self.impl.invokeMethod(name, argMap, self) - if self._broker: - self._broker.conn.kick() - self._cv.wait(timeout) - if self._sync_count == 1: - raise Exception("Timed out: waiting for response to method call.") - finally: - self._cv.release() - - return self._sync_result - - - def _method_result(self, result): - """ - Called to return the result of a method call on an object - """ - self._cv.acquire(); - try: - self._sync_result = result - self._sync_count -= 1 - self._cv.notify() - finally: - self._cv.release() - - - def _marshall(schema, args): - ''' - Private: Convert a list of arguments (positional) into a Value object of type "map". - Used to create the argument parameter for an object's method invokation. - ''' - # Build a map of the method's arguments - map = qmfengine.Value(TYPE_MAP) - for arg in schema.arguments: - if arg.direction == DIR_IN or arg.direction == DIR_IN_OUT: - map.insert(arg.name, qmfengine.Value(arg.typecode)) - - # install each argument's value into the map - marshalled = Arguments(map) - idx = 0 - for arg in schema.arguments: - if arg.direction == DIR_IN or arg.direction == DIR_IN_OUT: - if args[idx]: - marshalled[arg.name] = args[idx] - idx += 1 - - return marshalled.map - - - def _value(self, name): - val = self.impl.getValue(name) - if not val: - raise Exception("Argument error: attribute named '%s' not defined for package %s, class %s" % - (name, - self.object_class.impl.getClassKey().getPackageName(), - self.object_class.impl.getClassKey().getClassName())) - return val - - - -class AgentObject(QmfObject): - def __init__(self, cls, kwargs={}): - QmfObject.__init__(self, cls, kwargs) - self._allow_sets = True - - - def destroy(self): - self.impl.destroy() - - - def set_object_id(self, oid): - self.impl.setObjectId(oid.impl) - - - -class ConsoleObject(QmfObject): - # attr_reader :current_time, :create_time, :delete_time - def __init__(self, cls, kwargs={}): - QmfObject.__init__(self, cls, kwargs) - - - def update(self): - if not self._broker: - raise Exception("No linkage to broker") - newer = self._broker.console.objects(Query({"object_id":object_id})) - if newer.size != 1: - raise Exception("Expected exactly one update for this object, %d present" % int(newer.size)) - self.merge_update(newer[0]) - - - def merge_update(self, newObject): - self.impl.merge(new_object.impl) - - - def is_deleted(self): - return self.impl.isDeleted() - - - def key(self): pass - - - -class ObjectId: - def __init__(self, impl=None): - if impl: - self.impl = impl - else: - self.impl = qmfengine.ObjectId() - self.agent_key = "%d.%d" % (self.impl.getBrokerBank(), self.impl.getAgentBank()) - - - def object_num_high(self): - return self.impl.getObjectNumHi() - - - def object_num_low(self): - return self.impl.getObjectNumLo() - - - def agent_key(self): - self.agent_key - - def __eq__(self, other): - if not isinstance(other, self.__class__): return False - return self.impl == other.impl - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return self.impl.str() - - - -class Arguments(object): - def __init__(self, map): - self.map = map - self._by_hash = {} - key_count = self.map.keyCount() - a = 0 - while a < key_count: - key = self.map.key(a) - self._by_hash[key] = qmf_to_native(self.map.byKey(key)) - a += 1 - - - def __getitem__(self, key): - return self._by_hash[key] - - - def __setitem__(self, key, value): - self._by_hash[key] = value - self.set(key, value) - - - def __iter__(self): - return self._by_hash.__iter__ - - - def __getattr__(self, name): - if name in self._by_hash: - return self._by_hash[name] - return super.__getattr__(self, name) - - - def __setattr__(self, name, value): - # - # ignore local data members - # - if (name[0] == '_' or - name == 'map'): - return super.__setattr__(self, name, value) - - if name in self._by_hash: - self._by_hash[name] = value - return self.set(name, value) - - return super.__setattr__(self, name, value) - - - def set(self, key, value): - val = self.map.byKey(key) - native_to_qmf(val, value) - - - -class MethodResponse(object): - def __init__(self, impl): - self.impl = qmfengine.MethodResponse(impl) - - - def status(self): - return self.impl.getStatus() - - - def exception(self): - return self.impl.getException() - - - def text(self): - return exception().asString() - - - def args(self): - return Arguments(self.impl.getArgs()) - - - def __getattr__(self, name): - myArgs = self.args() - return myArgs.__getattr__(name) - - - def __setattr__(self, name, value): - if name == 'impl': - return super.__setattr__(self, name, value) - - myArgs = self.args() - return myArgs.__setattr__(name, value) - - - - ##============================================================================== - ## QUERY - ##============================================================================== - - -class Query: - def __init__(self, kwargs={}): - if "impl" in kwargs: - self.impl = kwargs["impl"] - else: - package = '' - if "key" in kwargs: - # construct using SchemaClassKey: - self.impl = qmfengine.Query(kwargs["key"]) - elif "object_id" in kwargs: - self.impl = qmfengine.Query(kwargs["object_id"].impl) - else: - if "package" in kwargs: - package = kwargs["package"] - if "class" in kwargs: - self.impl = qmfengine.Query(kwargs["class"], package) - else: - raise Exception("Argument error: invalid arguments, use 'key', 'object_id' or 'class'[,'package']") - - - def package_name(self): return self.impl.getPackage() - def class_name(self): return self.impl.getClass() - def object_id(self): - _objid = self.impl.getObjectId() - if _objid: - return ObjectId(_objid) - else: - return None - - - ##============================================================================== - ## SCHEMA - ##============================================================================== - - - -class SchemaArgument: - #attr_reader :impl - def __init__(self, name, typecode, kwargs={}): - if "impl" in kwargs: - self.impl = kwargs["impl"] - else: - self.impl = qmfengine.SchemaArgument(name, typecode) - if kwargs.has_key("dir"): self.impl.setDirection(kwargs["dir"]) - if kwargs.has_key("unit"): self.impl.setUnit(kwargs["unit"]) - if kwargs.has_key("desc"): self.impl.setDesc(kwargs["desc"]) - - - def name(self): - return self.impl.getName() - - - def direction(self): - return self.impl.getDirection() - - - def typecode(self): - return self.impl.getType() - - - def __repr__(self): - return self.name() - - - -class SchemaMethod: - # attr_reader :impl, arguments - def __init__(self, name, kwargs={}): - self.arguments = [] - if "impl" in kwargs: - self.impl = kwargs["impl"] - for i in range(self.impl.getArgumentCount()): - self.arguments.append(SchemaArgument(None,None,{"impl":self.impl.getArgument(i)})) - else: - self.impl = qmfengine.SchemaMethod(name) - if kwargs.has_key("desc"): self.impl.setDesc(kwargs["desc"]) - - - def add_argument(self, arg): - self.arguments.append(arg) - self.impl.addArgument(arg.impl) - - def name(self): - return self.impl.getName() - - def __repr__(self): - return self.name() - - - -class SchemaProperty: - #attr_reader :impl - def __init__(self, name, typecode, kwargs={}): - if "impl" in kwargs: - self.impl = kwargs["impl"] - else: - self.impl = qmfengine.SchemaProperty(name, typecode) - if kwargs.has_key("access"): self.impl.setAccess(kwargs["access"]) - if kwargs.has_key("index"): self.impl.setIndex(kwargs["index"]) - if kwargs.has_key("optional"): self.impl.setOptional(kwargs["optional"]) - if kwargs.has_key("unit"): self.impl.setUnit(kwargs["unit"]) - if kwargs.has_key("desc"): self.impl.setDesc(kwargs["desc"]) - - - def name(self): - return self.impl.getName() - - def __repr__(self): - return self.name() - - - -class SchemaStatistic: - # attr_reader :impl - def __init__(self, name, typecode, kwargs={}): - if "impl" in kwargs: - self.impl = kwargs["impl"] - else: - self.impl = qmfengine.SchemaStatistic(name, typecode) - if kwargs.has_key("unit"): self.impl.setUnit(kwargs["unit"]) - if kwargs.has_key("desc"): self.impl.setDesc(kwargs["desc"]) - - - def name(self): - return self.impl.getName() - - def __repr__(self): - return self.name() - - - -class SchemaClassKey: - #attr_reader :impl - def __init__(self, i): - self.impl = i - - - def package_name(self): - return self.impl.getPackageName() - - - def class_name(self): - return self.impl.getClassName() - - def __repr__(self): - return self.impl.asString() - - - -class SchemaObjectClass: - # attr_reader :impl, :properties, :statistics, :methods - def __init__(self, package, name, kwargs={}): - self.properties = [] - self.statistics = [] - self.methods = [] - if "impl" in kwargs: - self.impl = kwargs["impl"] - - for i in range(self.impl.getPropertyCount()): - self.properties.append(SchemaProperty(None, None, {"impl":self.impl.getProperty(i)})) - - for i in range(self.impl.getStatisticCount()): - self.statistics.append(SchemaStatistic(None, None, {"impl":self.impl.getStatistic(i)})) - - for i in range(self.impl.getMethodCount()): - self.methods.append(SchemaMethod(None, {"impl":self.impl.getMethod(i)})) - else: - self.impl = qmfengine.SchemaObjectClass(package, name) - - - def add_property(self, prop): - self.properties.append(prop) - self.impl.addProperty(prop.impl) - - - def add_statistic(self, stat): - self.statistics.append(stat) - self.impl.addStatistic(stat.impl) - - - def add_method(self, meth): - self.methods.append(meth) - self.impl.addMethod(meth.impl) - - - def class_key(self): - return SchemaClassKey(self.impl.getClassKey()) - - - def package_name(self): - return self.impl.getClassKey().getPackageName() - - - def class_name(self): - return self.impl.getClassKey().getClassName() - - - -class SchemaEventClass: - # attr_reader :impl :arguments - def __init__(self, package, name, sev, kwargs={}): - self.arguments = [] - if "impl" in kwargs: - self.impl = kwargs["impl"] - for i in range(self.impl.getArgumentCount()): - self.arguments.append(SchemaArgument(nil, nil, {"impl":self.impl.getArgument(i)})) - else: - self.impl = qmfengine.SchemaEventClass(package, name, sev) - if kwargs.has_key("desc"): self.impl.setDesc(kwargs["desc"]) - - - def add_argument(self, arg): - self.arguments.append(arg) - self.impl.addArgument(arg.impl) - - - def name(self): - return self.impl.getClassKey().getClassName() - - def class_key(self): - return SchemaClassKey(self.impl.getClassKey()) - - - def package_name(self): - return self.impl.getClassKey().getPackageName() - - - def class_name(self): - return self.impl.getClassKey().getClassName() - - - ##============================================================================== - ## CONSOLE - ##============================================================================== - - - -class ConsoleHandler: - def agent_added(self, agent): pass - def agent_deleted(self, agent): pass - def new_package(self, package): pass - def new_class(self, class_key): pass - def object_update(self, obj, hasProps, hasStats): pass - def event_received(self, event): pass - def agent_heartbeat(self, agent, timestamp): pass - def method_response(self, resp): pass - def broker_info(self, broker): pass - - - -class Console(Thread): - # attr_reader :impl - def __init__(self, handler=None, kwargs={}): - Thread.__init__(self) - self._handler = handler - self.impl = qmfengine.Console() - self._event = qmfengine.ConsoleEvent() - self._broker_list = [] - self._cv = Condition() - self._sync_count = 0 - self._sync_result = None - self._select = {} - self._cb_cond = Condition() - self._operational = True - self.start() - - - def destroy(self, timeout=None): - logging.debug("Destroying Console...") - self._operational = False - self.start_console_events() # wake thread up - self.join(timeout) - logging.debug("... Console Destroyed!") - if self.isAlive(): - logging.error( "Console thread '%s' is hung..." % self.getName() ) - - - def add_connection(self, conn): - broker = Broker(self, conn) - self._cv.acquire() - try: - self._broker_list.append(broker) - finally: - self._cv.release() - return broker - - - def del_connection(self, broker): - logging.debug("shutting down broker...") - broker.shutdown() - logging.debug("...broker down.") - self._cv.acquire() - try: - self._broker_list.remove(broker) - finally: - self._cv.release() - logging.debug("del_connection() finished") - - - def packages(self): - plist = [] - for i in range(self.impl.packageCount()): - plist.append(self.impl.getPackageName(i)) - return plist - - - def classes(self, package, kind=CLASS_OBJECT): - clist = [] - for i in range(self.impl.classCount(package)): - key = self.impl.getClass(package, i) - class_kind = self.impl.getClassKind(key) - if class_kind == kind: - if kind == CLASS_OBJECT: - clist.append(SchemaObjectClass(None, None, {"impl":self.impl.getObjectClass(key)})) - elif kind == CLASS_EVENT: - clist.append(SchemaEventClass(None, None, 0, {"impl":self.impl.getEventClass(key)})) - return clist - - - def bind_package(self, package): - return self.impl.bindPackage(package) - - - def bind_class(self, kwargs = {}): - if "key" in kwargs: - self.impl.bindClass(kwargs["key"]) - elif "package" in kwargs: - package = kwargs["package"] - if "class" in kwargs: - self.impl.bindClass(package, kwargs["class"]) - else: - self.impl.bindClass(package, "*") - else: - raise Exception("Argument error: invalid arguments, use 'key' or 'package'[,'class']") - - - def bind_event(self, kwargs = {}): - if "key" in kwargs: - self.impl.bindEvent(kwargs["key"]) - elif "package" in kwargs: - package = kwargs["package"] - if "event" in kwargs: - self.impl.bindEvent(package, kwargs["event"]) - else: - self.impl.bindEvent(package, "*") - else: - raise Exception("Argument error: invalid arguments, use 'key' or 'package'[,'event']") - - - def agents(self, broker=None): - blist = [] - if broker: - blist.append(broker) - else: - self._cv.acquire() - try: - # copy while holding lock - blist = self._broker_list[:] - finally: - self._cv.release() - - agents = [] - for b in blist: - for idx in range(b.impl.agentCount()): - agents.append(AgentProxy(b.impl.getAgent(idx), b)) - - return agents - - - def objects(self, query, kwargs = {}): - timeout = 30 - agent = None - temp_args = kwargs.copy() - if type(query) == type({}): - temp_args.update(query) - - if "_timeout" in temp_args: - timeout = temp_args["_timeout"] - temp_args.pop("_timeout") - - if "_agent" in temp_args: - agent = temp_args["_agent"] - temp_args.pop("_agent") - - if type(query) == type({}): - query = Query(temp_args) - - self._select = {} - for k in temp_args.iterkeys(): - if type(k) == str: - self._select[k] = temp_args[k] - - self._cv.acquire() - try: - self._sync_count = 1 - self._sync_result = [] - broker = self._broker_list[0] - broker.send_query(query.impl, None, agent) - self._cv.wait(timeout) - if self._sync_count == 1: - raise Exception("Timed out: waiting for query response") - finally: - self._cv.release() - - return self._sync_result - - - def object(self, query, kwargs = {}): - ''' - Return one and only one object or None. - ''' - objs = objects(query, kwargs) - if len(objs) == 1: - return objs[0] - else: - return None - - - def first_object(self, query, kwargs = {}): - ''' - Return the first of potentially many objects. - ''' - objs = objects(query, kwargs) - if objs: - return objs[0] - else: - return None - - - # Check the object against select to check for a match - def _select_match(self, object): - schema_props = object.properties() - for key in self._select.iterkeys(): - for prop in schema_props: - if key == p[0].name() and self._select[key] != p[1]: - return False - return True - - - def _get_result(self, list, context): - ''' - Called by Broker proxy to return the result of a query. - ''' - self._cv.acquire() - try: - for item in list: - if self._select_match(item): - self._sync_result.append(item) - self._sync_count -= 1 - self._cv.notify() - finally: - self._cv.release() - - - def start_sync(self, query): pass - - - def touch_sync(self, sync): pass - - - def end_sync(self, sync): pass - - - def run(self): - while self._operational: - self._cb_cond.acquire() - try: - self._cb_cond.wait(1) - while self._do_console_events(): - pass - finally: - self._cb_cond.release() - logging.debug("Shutting down Console thread") - - - def start_console_events(self): - self._cb_cond.acquire() - try: - self._cb_cond.notify() - finally: - self._cb_cond.release() - - - def _do_console_events(self): - ''' - Called by the Console thread to poll for events. Passes the events - onto the ConsoleHandler associated with this Console. Is called - periodically, but can also be kicked by Console.start_console_events(). - ''' - count = 0 - valid = self.impl.getEvent(self._event) - while valid: - count += 1 - try: - if self._event.kind == qmfengine.ConsoleEvent.AGENT_ADDED: - logging.debug("Console Event AGENT_ADDED received") - if self._handler: - self._handler.agent_added(AgentProxy(self._event.agent, None)) - elif self._event.kind == qmfengine.ConsoleEvent.AGENT_DELETED: - logging.debug("Console Event AGENT_DELETED received") - if self._handler: - self._handler.agent_deleted(AgentProxy(self._event.agent, None)) - elif self._event.kind == qmfengine.ConsoleEvent.NEW_PACKAGE: - logging.debug("Console Event NEW_PACKAGE received") - if self._handler: - self._handler.new_package(self._event.name) - elif self._event.kind == qmfengine.ConsoleEvent.NEW_CLASS: - logging.debug("Console Event NEW_CLASS received") - if self._handler: - self._handler.new_class(SchemaClassKey(self._event.classKey)) - elif self._event.kind == qmfengine.ConsoleEvent.OBJECT_UPDATE: - logging.debug("Console Event OBJECT_UPDATE received") - if self._handler: - self._handler.object_update(ConsoleObject(None, {"impl":self._event.object}), - self._event.hasProps, self._event.hasStats) - elif self._event.kind == qmfengine.ConsoleEvent.EVENT_RECEIVED: - logging.debug("Console Event EVENT_RECEIVED received") - elif self._event.kind == qmfengine.ConsoleEvent.AGENT_HEARTBEAT: - logging.debug("Console Event AGENT_HEARTBEAT received") - if self._handler: - self._handler.agent_heartbeat(AgentProxy(self._event.agent, None), self._event.timestamp) - elif self._event.kind == qmfengine.ConsoleEvent.METHOD_RESPONSE: - logging.debug("Console Event METHOD_RESPONSE received") - else: - logging.debug("Console thread received unknown event: '%s'" % str(self._event.kind)) - except e: - print "Exception caught in callback thread:", e - self.impl.popEvent() - valid = self.impl.getEvent(self._event) - return count - - - -class AgentProxy: - # attr_reader :broker - def __init__(self, impl, broker): - self.impl = impl - self.broker = broker - self.key = "%d.%d" % (self.impl.getBrokerBank(), self.impl.getAgentBank()) - - - def label(self): - return self.impl.getLabel() - - - def key(self): - return self.key - - -class Broker(ConnectionHandler): - # attr_reader :impl :conn, :console, :broker_bank - def __init__(self, console, conn): - self.broker_bank = 1 - self.console = console - self.conn = conn - self._session = None - self._cv = Condition() - self._stable = None - self._event = qmfengine.BrokerEvent() - self._xmtMessage = qmfengine.Message() - self.impl = qmfengine.BrokerProxy(self.console.impl) - self.console.impl.addConnection(self.impl, self) - self.conn.add_conn_handler(self) - self._operational = True - - - def shutdown(self): - logging.debug("broker.shutdown() called.") - self.console.impl.delConnection(self.impl) - self.conn.del_conn_handler(self) - if self._session: - self.impl.sessionClosed() - logging.debug("broker.shutdown() sessionClosed done.") - self._session.destroy() - logging.debug("broker.shutdown() session destroy done.") - self._session = None - self._operational = False - logging.debug("broker.shutdown() done.") - - - def wait_for_stable(self, timeout = None): - self._cv.acquire() - try: - if self._stable: - return - if timeout: - self._cv.wait(timeout) - if not self._stable: - raise Exception("Timed out: waiting for broker connection to become stable") - else: - while not self._stable: - self._cv.wait() - finally: - self._cv.release() - - - def send_query(self, query, ctx, agent): - agent_impl = None - if agent: - agent_impl = agent.impl - self.impl.sendQuery(query, ctx, agent_impl) - self.conn.kick() - - - def _do_broker_events(self): - count = 0 - valid = self.impl.getEvent(self._event) - while valid: - count += 1 - if self._event.kind == qmfengine.BrokerEvent.BROKER_INFO: - logging.debug("Broker Event BROKER_INFO received"); - elif self._event.kind == qmfengine.BrokerEvent.DECLARE_QUEUE: - logging.debug("Broker Event DECLARE_QUEUE received"); - self.conn.impl.declareQueue(self._session.handle, self._event.name) - elif self._event.kind == qmfengine.BrokerEvent.DELETE_QUEUE: - logging.debug("Broker Event DELETE_QUEUE received"); - self.conn.impl.deleteQueue(self._session.handle, self._event.name) - elif self._event.kind == qmfengine.BrokerEvent.BIND: - logging.debug("Broker Event BIND received"); - self.conn.impl.bind(self._session.handle, self._event.exchange, self._event.name, self._event.bindingKey) - elif self._event.kind == qmfengine.BrokerEvent.UNBIND: - logging.debug("Broker Event UNBIND received"); - self.conn.impl.unbind(self._session.handle, self._event.exchange, self._event.name, self._event.bindingKey) - elif self._event.kind == qmfengine.BrokerEvent.SETUP_COMPLETE: - logging.debug("Broker Event SETUP_COMPLETE received"); - self.impl.startProtocol() - elif self._event.kind == qmfengine.BrokerEvent.STABLE: - logging.debug("Broker Event STABLE received"); - self._cv.acquire() - try: - self._stable = True - self._cv.notify() - finally: - self._cv.release() - elif self._event.kind == qmfengine.BrokerEvent.QUERY_COMPLETE: - result = [] - for idx in range(self._event.queryResponse.getObjectCount()): - result.append(ConsoleObject(None, {"impl":self._event.queryResponse.getObject(idx), "broker":self})) - self.console._get_result(result, self._event.context) - elif self._event.kind == qmfengine.BrokerEvent.METHOD_RESPONSE: - obj = self._event.context - obj._method_result(MethodResponse(self._event.methodResponse())) - - self.impl.popEvent() - valid = self.impl.getEvent(self._event) - - return count - - - def _do_broker_messages(self): - count = 0 - valid = self.impl.getXmtMessage(self._xmtMessage) - while valid: - count += 1 - logging.debug("Broker: sending msg on connection") - self.conn.impl.sendMessage(self._session.handle, self._xmtMessage) - self.impl.popXmt() - valid = self.impl.getXmtMessage(self._xmtMessage) - - return count - - - def _do_events(self): - while True: - self.console.start_console_events() - bcnt = self._do_broker_events() - mcnt = self._do_broker_messages() - if bcnt == 0 and mcnt == 0: - break; - - - def conn_event_connected(self): - logging.debug("Broker: Connection event CONNECTED") - self._session = Session(self.conn, "qmfc-%s.%d" % (socket.gethostname(), os.getpid()), self) - self.impl.sessionOpened(self._session.handle) - self._do_events() - - - def conn_event_disconnected(self, error): - logging.debug("Broker: Connection event DISCONNECTED") - pass - - - def conn_event_visit(self): - self._do_events() - - - def sess_event_session_closed(self, context, error): - logging.debug("Broker: Session event CLOSED") - self.impl.sessionClosed() - - - def sess_event_recv(self, context, message): - logging.debug("Broker: Session event MSG_RECV") - if not self._operational: - logging.warning("Unexpected session event message received by Broker proxy: context='%s'" % str(context)) - self.impl.handleRcvMessage(message) - self._do_events() - - - - ##============================================================================== - ## AGENT - ##============================================================================== - - - -class AgentHandler: - def get_query(self, context, query, userId): None - def method_call(self, context, name, object_id, args, userId): None - - - -class Agent(ConnectionHandler): - def __init__(self, handler, label=""): - if label == "": - self._agentLabel = "rb-%s.%d" % (socket.gethostname(), os.getpid()) - else: - self._agentLabel = label - self._conn = None - self._handler = handler - self.impl = qmfengine.Agent(self._agentLabel) - self._event = qmfengine.AgentEvent() - self._xmtMessage = qmfengine.Message() - - - def set_connection(self, conn): - self._conn = conn - self._conn.add_conn_handler(self) - - - def register_class(self, cls): - self.impl.registerClass(cls.impl) - - - def alloc_object_id(self, low = 0, high = 0): - return ObjectId(self.impl.allocObjectId(low, high)) - - - def raise_event(self, event): - self.impl.raiseEvent(event.impl) - - def query_response(self, context, obj): - self.impl.queryResponse(context, obj.impl) - - - def query_complete(self, context): - self.impl.queryComplete(context) - - - def method_response(self, context, status, text, arguments): - self.impl.methodResponse(context, status, text, arguments.map) - - - def do_agent_events(self): - count = 0 - valid = self.impl.getEvent(self._event) - while valid: - count += 1 - if self._event.kind == qmfengine.AgentEvent.GET_QUERY: - self._handler.get_query(self._event.sequence, - Query({"impl":self._event.query}), - self._event.authUserId) - - elif self._event.kind == qmfengine.AgentEvent.START_SYNC: - pass - elif self._event.kind == qmfengine.AgentEvent.END_SYNC: - pass - elif self._event.kind == qmfengine.AgentEvent.METHOD_CALL: - args = Arguments(self._event.arguments) - self._handler.method_call(self._event.sequence, self._event.name, - ObjectId(self._event.objectId), - args, self._event.authUserId) - - elif self._event.kind == qmfengine.AgentEvent.DECLARE_QUEUE: - self._conn.impl.declareQueue(self._session.handle, self._event.name) - - elif self._event.kind == qmfengine.AgentEvent.DELETE_QUEUE: - self._conn.impl.deleteQueue(self._session.handle, self._event.name) - - elif self._event.kind == qmfengine.AgentEvent.BIND: - self._conn.impl.bind(self._session.handle, self._event.exchange, - self._event.name, self._event.bindingKey) - - elif self._event.kind == qmfengine.AgentEvent.UNBIND: - self._conn.impl.unbind(self._session.handle, self._event.exchange, - self._event.name, self._event.bindingKey) - - elif self._event.kind == qmfengine.AgentEvent.SETUP_COMPLETE: - self.impl.startProtocol() - - self.impl.popEvent() - valid = self.impl.getEvent(self._event) - return count - - - def do_agent_messages(self): - count = 0 - valid = self.impl.getXmtMessage(self._xmtMessage) - while valid: - count += 1 - self._conn.impl.sendMessage(self._session.handle, self._xmtMessage) - self.impl.popXmt() - valid = self.impl.getXmtMessage(self._xmtMessage) - return count - - - def do_events(self): - while True: - ecnt = self.do_agent_events() - mcnt = self.do_agent_messages() - if ecnt == 0 and mcnt == 0: - break - - - def conn_event_connected(self): - logging.debug("Agent Connection Established...") - self._session = Session(self._conn, - "qmfa-%s.%d" % (socket.gethostname(), os.getpid()), - self) - self.impl.newSession() - self.do_events() - - - def conn_event_disconnected(self, error): - logging.debug("Agent Connection Lost") - pass - - - def conn_event_visit(self): - self.do_events() - - - def sess_event_session_closed(self, context, error): - logging.debug("Agent Session Lost") - pass - - - def sess_event_recv(self, context, message): - self.impl.handleRcvMessage(message) - self.do_events() - - diff --git a/cpp/bindings/qmf/qmfengine.i b/cpp/bindings/qmf/qmfengine.i deleted file mode 100644 index eb350115a3..0000000000 --- a/cpp/bindings/qmf/qmfengine.i +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - */ - -%{ - -#include "qmf/engine/Agent.h" -#include "qmf/engine/Console.h" -#include "qmf/engine/ResilientConnection.h" - -%} - -%include <qmf/engine/QmfEngineImportExport.h> -%include <qmf/engine/Query.h> -%include <qmf/engine/Message.h> -%include <qmf/engine/Agent.h> -%include <qmf/engine/Console.h> -%include <qmf/engine/ConnectionSettings.h> -%include <qmf/engine/ResilientConnection.h> -%include <qmf/engine/Typecode.h> -%include <qmf/engine/Schema.h> -%include <qmf/engine/Value.h> -%include <qmf/engine/ObjectId.h> -%include <qmf/engine/Object.h> -%include <qmf/engine/Event.h> - - -%inline { - -using namespace std; -using namespace qmf::engine; - -namespace qmf { -namespace engine { - -} -} -} - - -%{ - -%}; - diff --git a/cpp/bindings/qmf/ruby/Makefile.am b/cpp/bindings/qmf/ruby/Makefile.am deleted file mode 100644 index 395d64ff90..0000000000 --- a/cpp/bindings/qmf/ruby/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -# -# 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. -# - -if HAVE_RUBY_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src - -EXTRA_DIST = ruby.i -BUILT_SOURCES = qmfengine.cpp -SWIG_FLAGS = -w362,401 - -rubylibdir = $(RUBY_LIB) - -dist_rubylib_DATA = qmf.rb - -qmfengine.cpp: $(srcdir)/ruby.i $(srcdir)/../qmfengine.i - $(SWIG) -ruby -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o qmfengine.cpp $(srcdir)/ruby.i - -rubylibarchdir = $(RUBY_LIB_ARCH) -rubylibarch_LTLIBRARIES = qmfengine.la - -qmfengine_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)" -qmfengine_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqpidclient $(top_builddir)/src/libqmfengine.la -qmfengine_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing -nodist_qmfengine_la_SOURCES = qmfengine.cpp - -CLEANFILES = qmfengine.cpp - -endif # HAVE_RUBY_DEVEL diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb deleted file mode 100644 index 34d3255d8d..0000000000 --- a/cpp/bindings/qmf/ruby/qmf.rb +++ /dev/null @@ -1,1522 +0,0 @@ -# -# 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. -# - -require 'qmfengine' -require 'thread' -require 'socket' -require 'monitor' - -module Qmf - - # Pull all the TYPE_* constants into Qmf namespace. Maybe there's an easier way? - Qmfengine.constants.each do |c| - if c.index('TYPE_') == 0 or c.index('ACCESS_') == 0 or c.index('DIR_') == 0 or - c.index('CLASS_') == 0 or c.index('SEV_') == 0 - const_set(c, Qmfengine.const_get(c)) - end - end - - class Util - def qmf_to_native(val) - case val.getType - when TYPE_UINT8, TYPE_UINT16, TYPE_UINT32 then val.asUint - when TYPE_UINT64 then val.asUint64 - when TYPE_SSTR, TYPE_LSTR then val.asString - when TYPE_ABSTIME then val.asInt64 - when TYPE_DELTATIME then val.asUint64 - when TYPE_REF then ObjectId.new(val.asObjectId) - when TYPE_BOOL then val.asBool - when TYPE_FLOAT then val.asFloat - when TYPE_DOUBLE then val.asDouble - when TYPE_UUID then val.asUuid - when TYPE_INT8, TYPE_INT16, TYPE_INT32 then val.asInt - when TYPE_INT64 then val.asInt64 - when TYPE_MAP then value_to_dict(val) - when TYPE_LIST then value_to_list(val) - when TYPE_OBJECT - when TYPE_ARRAY - end - end - - def native_to_qmf(target, value) - if target.class == Qmfengine::Value - val = target - typecode = val.getType - else - typecode = target - val = Qmfengine::Value.new(typecode) - end - - case typecode - when TYPE_UINT8, TYPE_UINT16, TYPE_UINT32 then val.setUint(value) - when TYPE_UINT64 then val.setUint64(value) - when TYPE_SSTR, TYPE_LSTR then value ? val.setString(value) : val.setString('') - when TYPE_ABSTIME then val.setInt64(value) - when TYPE_DELTATIME then val.setUint64(value) - when TYPE_REF then val.setObjectId(value.impl) - when TYPE_BOOL then value ? val.setBool(value) : val.setBool(0) - when TYPE_FLOAT then val.setFloat(value) - when TYPE_DOUBLE then val.setDouble(value) - when TYPE_UUID then val.setUuid(value) - when TYPE_INT8, TYPE_INT16, TYPE_INT32 then val.setInt(value) - when TYPE_INT64 then val.setInt64(value) - when TYPE_MAP then dict_to_value(val, value) - when TYPE_LIST then list_to_value(val, value) - when TYPE_OBJECT - when TYPE_ARRAY - end - return val - end - - def pick_qmf_type(value) - if value.class == Fixnum - if value >= 0 - return TYPE_UINT32 if value < 0x100000000 - return TYPE_UINT64 - else - return TYPE_INT32 if value > -0xffffffff - return TYPE_INT64 - end - end - - if value.class == Bignum - return TYPE_UINT64 if value >= 0 - return TYPE_INT64 - end - - if value.class == String - return TYPE_SSTR if value.length < 256 - return TYPE_LSTR - end - - return TYPE_DOUBLE if value.class == Float - - return TYPE_BOOL if value.class == TrueClass - return TYPE_BOOL if value.class == FalseClass - return TYPE_BOOL if value.class == NilClass - - return TYPE_MAP if value.class == Hash - return TYPE_LIST if value.class == Array - - raise ArgumentError, "QMF type not known for native type #{value.class}" - end - - def value_to_dict(val) - # Assume val is of type Qmfengine::Value - raise ArgumentError, "value_to_dict must be given a map value" if !val.isMap - map = {} - for i in 0...val.keyCount - key = val.key(i) - map[key] = qmf_to_native(val.byKey(key)) - end - return map - end - - def dict_to_value(val, map) - map.each do |key, value| - raise ArgumentError, "QMF map key must be a string" if key.class != String - typecode = pick_qmf_type(value) - val.insert(key, native_to_qmf(typecode, value)) - end - end - - def value_to_list(val) - # Assume val is of type Qmfengine::Value - raise ArgumentError, "value_to_dict must be given a map value" if !val.isList - list = [] - for i in 0...val.listItemCount - list.push(qmf_to_native(val.listItem(i))) - end - return list - end - - def list_to_value(val, list) - list.each do |value| - typecode = pick_qmf_type(value) - val.appendToList(native_to_qmf(typecode, value)) - end - end - end - - $util = Util.new - - ##============================================================================== - ## CONNECTION - ##============================================================================== - - class ConnectionSettings - attr_reader :impl - - def initialize(url = nil) - if url - @impl = Qmfengine::ConnectionSettings.new(url) - else - @impl = Qmfengine::ConnectionSettings.new() - end - end - - def set_attr(key, val) - if val.class == String - v = Qmfengine::Value.new(TYPE_LSTR) - v.setString(val) - elsif val.class == TrueClass or val.class == FalseClass - v = Qmfengine::Value.new(TYPE_BOOL) - v.setBool(val) - elsif val.class == Fixnum - v = Qmfengine::Value.new(TYPE_UINT32) - v.setUint(val) - else - raise ArgumentError, "Value for attribute '#{key}' has unsupported type: #{val.class}" - end - - good = @impl.setAttr(key, v) - raise "Invalid attribute '#{key}'" unless good - end - - def get_attr(key) - _v = @impl.getAttr(key) - if _v.isString() - return _v.asString() - elsif _v.isUint() - return _v.asUint() - elsif _v.isBool() - return _v.asBool() - else - raise Exception("Argument error: value for attribute '#{key}' has unsupported type: #{_v.getType()}") - end - end - - - def method_missing(name_in, *args) - name = name_in.to_s - if name[name.length - 1] == 61 - attr = name[0..name.length - 2] - set_attr(attr, args[0]) - return - else - return get_attr(name) - end - end - end - - class ConnectionHandler - def conn_event_connected(); end - def conn_event_disconnected(error); end - def conn_event_visit(); end - def sess_event_session_closed(context, error); end - def sess_event_recv(context, message); end - end - - class Connection - include MonitorMixin - - attr_reader :impl - - def initialize(settings) - super() - @impl = Qmfengine::ResilientConnection.new(settings.impl) - @sockEngine, @sock = Socket::socketpair(Socket::PF_UNIX, Socket::SOCK_STREAM, 0) - @impl.setNotifyFd(@sockEngine.fileno) - @new_conn_handlers = [] - @conn_handlers_to_delete = [] - @conn_handlers = [] - @connected = nil - - @thread = Thread.new do - run - end - end - - def connected? - @connected - end - - def kick - @impl.notify - end - - def add_conn_handler(handler) - synchronize do - @new_conn_handlers << handler - end - kick - end - - def del_conn_handler(handler) - synchronize do - @conn_handlers_to_delete << handler - end - kick - end - - def run() - eventImpl = Qmfengine::ResilientConnectionEvent.new - new_handlers = nil - del_handlers = nil - bt_count = 0 - - while :true - @sock.read(1) - - synchronize do - new_handlers = @new_conn_handlers - del_handlers = @conn_handlers_to_delete - @new_conn_handlers = [] - @conn_handlers_to_delete = [] - end - - new_handlers.each do |nh| - @conn_handlers << nh - nh.conn_event_connected() if @connected - end - new_handlers = nil - - del_handlers.each do |dh| - d = @conn_handlers.delete(dh) - end - del_handlers = nil - - valid = @impl.getEvent(eventImpl) - while valid - begin - case eventImpl.kind - when Qmfengine::ResilientConnectionEvent::CONNECTED - @connected = :true - @conn_handlers.each { |h| h.conn_event_connected() } - when Qmfengine::ResilientConnectionEvent::DISCONNECTED - @connected = nil - @conn_handlers.each { |h| h.conn_event_disconnected(eventImpl.errorText) } - when Qmfengine::ResilientConnectionEvent::SESSION_CLOSED - eventImpl.sessionContext.handler.sess_event_session_closed(eventImpl.sessionContext, eventImpl.errorText) - when Qmfengine::ResilientConnectionEvent::RECV - eventImpl.sessionContext.handler.sess_event_recv(eventImpl.sessionContext, eventImpl.message) - end - rescue Exception => ex - puts "Event Exception: #{ex}" - if bt_count < 2 - puts ex.backtrace - bt_count += 1 - end - end - @impl.popEvent - valid = @impl.getEvent(eventImpl) - end - @conn_handlers.each { |h| h.conn_event_visit } - end - end - end - - class Session - attr_reader :handle, :handler - - def initialize(conn, label, handler) - @conn = conn - @label = label - @handler = handler - @handle = Qmfengine::SessionHandle.new - result = @conn.impl.createSession(label, self, @handle) - end - - def destroy() - @conn.impl.destroySession(@handle) - end - end - - ##============================================================================== - ## OBJECTS and EVENTS - ##============================================================================== - - class QmfEvent - attr_reader :impl, :event_class - def initialize(cls, kwargs={}) - @broker = kwargs[:broker] if kwargs.include?(:broker) - @allow_sets = :true - - if cls: - @event_class = cls - @impl = Qmfengine::Event.new(@event_class.impl) - elsif kwargs.include?(:impl) - @impl = Qmfengine::Event.new(kwargs[:impl]) - @event_class = SchemaEventClass.new(nil, nil, nil, :impl => @impl.getClass) - end - end - - def arguments - list = [] - @event_class.arguments.each do |arg| - list << [arg, get_attr(arg.name)] - end - return list - end - - def get_attr(name) - val = value(name) - $util.qmf_to_native(val) - end - - def set_attr(name, v) - val = value(name) - $util.native_to_qmf(val, v) - end - - def [](name) - get_attr(name) - end - - def []=(name, value) - set_attr(name, value) - end - - def method_missing(name_in, *args) - # - # Convert the name to a string and determine if it represents an - # attribute assignment (i.e. "attr=") - # - name = name_in.to_s - attr_set = (name[name.length - 1] == 61) - name = name[0..name.length - 2] if attr_set - raise "Sets not permitted on this object" if attr_set && !@allow_sets - - # - # If the name matches an argument name, set or return the value of the argument. - # - @event_class.arguments.each do |arg| - if arg.name == name - if attr_set - return set_attr(name, args[0]) - else - return get_attr(name) - end - end - end - - # - # This name means nothing to us, pass it up the line to the parent - # class's handler. - # - super.method_missing(name_in, args) - end - - private - def value(name) - val = @impl.getValue(name.to_s) - if val.nil? - raise ArgumentError, "Attribute '#{name}' not defined for event #{@event_class.impl.getClassKey.getPackageName}:#{@object_class.impl.getClassKey.getClassName}" - end - return val - end - end - - class QmfObject - include MonitorMixin - attr_reader :impl, :object_class - def initialize(cls, kwargs={}) - super() - @cv = new_cond - @sync_count = 0 - @sync_result = nil - @allow_sets = :false - @broker = kwargs[:broker] if kwargs.include?(:broker) - - if cls: - @object_class = cls - @impl = Qmfengine::Object.new(@object_class.impl) - elsif kwargs.include?(:impl) - @impl = Qmfengine::Object.new(kwargs[:impl]) - @object_class = SchemaObjectClass.new(nil, nil, :impl => @impl.getClass) - end - end - - def object_id - return ObjectId.new(@impl.getObjectId) - end - - def properties - list = [] - @object_class.properties.each do |prop| - list << [prop, get_attr(prop.name)] - end - return list - end - - def statistics - list = [] - @object_class.statistics.each do |stat| - list << [stat, get_attr(stat.name)] - end - return list - end - - def get_attr(name) - val = value(name) - $util.qmf_to_native(val) - end - - def set_attr(name, v) - val = value(name) - $util.native_to_qmf(val, v) - end - - def [](name) - get_attr(name) - end - - def []=(name, value) - set_attr(name, value) - end - - def inc_attr(name, by=1) - set_attr(name, get_attr(name) + by) - end - - def dec_attr(name, by=1) - set_attr(name, get_attr(name) - by) - end - - def method_missing(name_in, *args) - # - # Convert the name to a string and determine if it represents an - # attribute assignment (i.e. "attr=") - # - name = name_in.to_s - attr_set = (name[name.length - 1] == 61) - name = name[0..name.length - 2] if attr_set - raise "Sets not permitted on this object" if attr_set && !@allow_sets - - # - # If the name matches a property name, set or return the value of the property. - # - @object_class.properties.each do |prop| - if prop.name == name - if attr_set - return set_attr(name, args[0]) - else - return get_attr(name) - end - end - end - - # - # Do the same for statistics - # - @object_class.statistics.each do |stat| - if stat.name == name - if attr_set - return set_attr(name, args[0]) - else - return get_attr(name) - end - end - end - - # - # If we still haven't found a match for the name, check to see if - # it matches a method name. If so, marshall the arguments and invoke - # the method. - # - @object_class.methods.each do |method| - if method.name == name - raise "Sets not permitted on methods" if attr_set - timeout = 30 - synchronize do - @sync_count = 1 - @impl.invokeMethod(name, _marshall(method, args), self) - @broker.conn.kick if @broker - unless @cv.wait(timeout) { @sync_count == 0 } - raise "Timed out waiting for response" - end - end - - return @sync_result - end - end - - # - # This name means nothing to us, pass it up the line to the parent - # class's handler. - # - super.method_missing(name_in, args) - end - - def _method_result(result) - synchronize do - @sync_result = result - @sync_count -= 1 - @cv.signal - end - end - - # - # Convert a Ruby array of arguments (positional) into a Value object of type "map". - # - private - def _marshall(schema, args) - map = Qmfengine::Value.new(TYPE_MAP) - schema.arguments.each do |arg| - if arg.direction == DIR_IN || arg.direction == DIR_IN_OUT - map.insert(arg.name, Qmfengine::Value.new(arg.typecode)) - end - end - - marshalled = Arguments.new(map) - idx = 0 - schema.arguments.each do |arg| - if arg.direction == DIR_IN || arg.direction == DIR_IN_OUT - marshalled[arg.name] = args[idx] unless args[idx] == nil - idx += 1 - end - end - - return marshalled.map - end - - private - def value(name) - val = @impl.getValue(name.to_s) - if val.nil? - raise ArgumentError, "Attribute '#{name}' not defined for class #{@object_class.impl.getClassKey.getPackageName}:#{@object_class.impl.getClassKey.getClassName}" - end - return val - end - end - - class AgentObject < QmfObject - def initialize(cls, kwargs={}) - super(cls, kwargs) - @allow_sets = :true - end - - def destroy - @impl.destroy - end - - def set_object_id(oid) - @impl.setObjectId(oid.impl) - end - end - - class ConsoleObject < QmfObject - attr_reader :current_time, :create_time, :delete_time - - def initialize(cls, kwargs={}) - super(cls, kwargs) - end - - def update() - raise "No linkage to broker" unless @broker - newer = @broker.console.objects(Query.new(:object_id => object_id)) - raise "Expected exactly one update for this object" unless newer.size == 1 - merge_update(newer[0]) - end - - def merge_update(new_object) - @impl.merge(new_object.impl) - end - - def deleted?() - @impl.isDeleted - end - - def key() - end - end - - class ObjectId - attr_reader :impl, :agent_key - def initialize(impl=nil) - if impl - @impl = Qmfengine::ObjectId.new(impl) - else - @impl = Qmfengine::ObjectId.new - end - @agent_key = "#{@impl.getBrokerBank}.#{@impl.getAgentBank}" - end - - def object_num_high - @impl.getObjectNumHi - end - - def object_num_low - @impl.getObjectNumLo - end - - def ==(other) - return @impl == other.impl - end - - def to_s - @impl.str - end - end - - class Arguments - attr_reader :map - def initialize(map) - @map = map - @by_hash = {} - key_count = @map.keyCount - a = 0 - while a < key_count - key = @map.key(a) - @by_hash[key] = $util.qmf_to_native(@map.byKey(key)) - a += 1 - end - end - - def [] (key) - return @by_hash[key] - end - - def []= (key, value) - @by_hash[key] = value - set(key, value) - end - - def each - @by_hash.each { |k, v| yield(k, v) } - end - - def method_missing(name, *args) - if @by_hash.include?(name.to_s) - return @by_hash[name.to_s] - end - - super.method_missing(name, args) - end - - def set(key, value) - val = @map.byKey(key) - $util.native_to_qmf(val, value) - end - end - - class MethodResponse - def initialize(impl) - @impl = Qmfengine::MethodResponse.new(impl) - end - - def status - @impl.getStatus - end - - def exception - @impl.getException - end - - def text - exception.asString - end - - def args - Arguments.new(@impl.getArgs) - end - - def method_missing(name, *extra_args) - args.__send__(name, extra_args) - end - end - - ##============================================================================== - ## QUERY - ##============================================================================== - - class Query - attr_reader :impl - def initialize(kwargs = {}) - if kwargs.include?(:impl) - @impl = Qmfengine::Query.new(kwargs[:impl]) - else - package = '' - if kwargs.include?(:key) - @impl = Qmfengine::Query.new(kwargs[:key]) - elsif kwargs.include?(:object_id) - @impl = Qmfengine::Query.new(kwargs[:object_id].impl) - else - package = kwargs[:package] if kwargs.include?(:package) - if kwargs.include?(:class) - @impl = Qmfengine::Query.new(kwargs[:class], package) - else - raise ArgumentError, "Invalid arguments, use :key, :object_id or :class[,:package]" - end - end - end - end - - def package_name - @impl.getPackage - end - - def class_name - @impl.getClass - end - - def object_id - objid = @impl.getObjectId - if objid.class == NilClass - return nil - end - return ObjectId.new(objid) - end - end - - ##============================================================================== - ## SCHEMA - ##============================================================================== - - class SchemaArgument - attr_reader :impl - def initialize(name, typecode, kwargs={}) - if kwargs.include?(:impl) - @impl = kwargs[:impl] - else - @impl = Qmfengine::SchemaArgument.new(name, typecode) - @impl.setDirection(kwargs[:dir]) if kwargs.include?(:dir) - @impl.setUnit(kwargs[:unit]) if kwargs.include?(:unit) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def name - @impl.getName - end - - def direction - @impl.getDirection - end - - def typecode - @impl.getType - end - - def to_s - name - end - end - - class SchemaMethod - attr_reader :impl, :arguments - def initialize(name, kwargs={}) - @arguments = [] - if kwargs.include?(:impl) - @impl = kwargs[:impl] - arg_count = @impl.getArgumentCount - for i in 0...arg_count - @arguments << SchemaArgument.new(nil, nil, :impl => @impl.getArgument(i)) - end - else - @impl = Qmfengine::SchemaMethod.new(name) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def add_argument(arg) - @arguments << arg - @impl.addArgument(arg.impl) - end - - def name - @impl.getName - end - - def to_s - name - end - end - - class SchemaProperty - attr_reader :impl - def initialize(name, typecode, kwargs={}) - if kwargs.include?(:impl) - @impl = kwargs[:impl] - else - @impl = Qmfengine::SchemaProperty.new(name, typecode) - @impl.setAccess(kwargs[:access]) if kwargs.include?(:access) - @impl.setIndex(kwargs[:index]) if kwargs.include?(:index) - @impl.setOptional(kwargs[:optional]) if kwargs.include?(:optional) - @impl.setUnit(kwargs[:unit]) if kwargs.include?(:unit) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def name - @impl.getName - end - - def to_s - name - end - end - - class SchemaStatistic - attr_reader :impl - def initialize(name, typecode, kwargs={}) - if kwargs.include?(:impl) - @impl = kwargs[:impl] - else - @impl = Qmfengine::SchemaStatistic.new(name, typecode) - @impl.setUnit(kwargs[:unit]) if kwargs.include?(:unit) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def name - @impl.getName - end - - def to_s - name - end - end - - class SchemaClassKey - attr_reader :impl - def initialize(i) - @impl = Qmfengine::SchemaClassKey.new(i) - end - - def package_name - @impl.getPackageName - end - - def class_name - @impl.getClassName - end - - def to_s - @impl.asString - end - end - - class SchemaObjectClass - attr_reader :impl, :properties, :statistics, :methods - def initialize(package, name, kwargs={}) - @properties = [] - @statistics = [] - @methods = [] - if kwargs.include?(:impl) - @impl = kwargs[:impl] - - @impl.getPropertyCount.times do |i| - @properties << SchemaProperty.new(nil, nil, :impl => @impl.getProperty(i)) - end - - @impl.getStatisticCount.times do |i| - @statistics << SchemaStatistic.new(nil, nil, :impl => @impl.getStatistic(i)) - end - - @impl.getMethodCount.times do |i| - @methods << SchemaMethod.new(nil, :impl => @impl.getMethod(i)) - end - else - @impl = Qmfengine::SchemaObjectClass.new(package, name) - end - end - - def add_property(prop) - @properties << prop - @impl.addProperty(prop.impl) - end - - def add_statistic(stat) - @statistics << stat - @impl.addStatistic(stat.impl) - end - - def add_method(meth) - @methods << meth - @impl.addMethod(meth.impl) - end - - def class_key - SchemaClassKey.new(@impl.getClassKey) - end - - def package_name - @impl.getClassKey.getPackageName - end - - def class_name - @impl.getClassKey.getClassName - end - end - - class SchemaEventClass - attr_reader :impl, :arguments - def initialize(package, name, sev, kwargs={}) - @arguments = [] - if kwargs.include?(:impl) - @impl = kwargs[:impl] - @impl.getArgumentCount.times do |i| - @arguments << SchemaArgument.new(nil, nil, :impl => @impl.getArgument(i)) - end - else - @impl = Qmfengine::SchemaEventClass.new(package, name, sev) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def add_argument(arg) - @arguments << arg - @impl.addArgument(arg.impl) - end - - def name - @impl.getClassKey.getClassName - end - - def class_key - SchemaClassKey.new(@impl.getClassKey) - end - - def package_name - @impl.getClassKey.getPackageName - end - - def class_name - @impl.getClassKey.getClassName - end - end - - ##============================================================================== - ## CONSOLE - ##============================================================================== - - class ConsoleHandler - def agent_added(agent); end - def agent_deleted(agent); end - def new_package(package); end - def new_class(class_key); end - def object_update(object, hasProps, hasStats); end - def event_received(event); end - def agent_heartbeat(agent, timestamp); end - def method_response(resp); end - def broker_info(broker); end - end - - class Console - include MonitorMixin - attr_reader :impl - - def initialize(handler = nil, kwargs={}) - super() - @handler = handler - @impl = Qmfengine::Console.new - @event = Qmfengine::ConsoleEvent.new - @broker_list = [] - @cv = new_cond - @sync_count = nil - @sync_result = nil - @select = [] - @bt_count = 0 - @cb_cond = new_cond - @cb_thread = Thread.new do - run_cb_thread - end - end - - def add_connection(conn) - broker = Broker.new(self, conn) - synchronize { @broker_list << broker } - return broker - end - - def del_connection(broker) - broker.shutdown - synchronize { @broker_list.delete(broker) } - end - - def packages() - plist = [] - count = @impl.packageCount - for i in 0...count - plist << @impl.getPackageName(i) - end - return plist - end - - def classes(package, kind=CLASS_OBJECT) - clist = [] - count = @impl.classCount(package) - for i in 0...count - key = @impl.getClass(package, i) - class_kind = @impl.getClassKind(key) - if class_kind == kind - if kind == CLASS_OBJECT - clist << SchemaObjectClass.new(nil, nil, :impl => @impl.getObjectClass(key)) - elsif kind == CLASS_EVENT - clist << SchemaEventClass.new(nil, nil, nil, :impl => @impl.getEventClass(key)) - end - end - end - - return clist - end - - def bind_package(package) - @impl.bindPackage(package) - end - - def bind_class(kwargs = {}) - if kwargs.include?(:key) - @impl.bindClass(kwargs[:key]) - elsif kwargs.include?(:package) - package = kwargs[:package] - if kwargs.include?(:class) - @impl.bindClass(package, kwargs[:class]) - else - @impl.bindClass(package) - end - else - raise ArgumentError, "Invalid arguments, use :key or :package[,:class]" - end - end - - def bind_event(kwargs = {}) - if kwargs.include?(:key) - @impl.bindEvent(kwargs[:key]) - elsif kwargs.include?(:package) - package = kwargs[:package] - if kwargs.include?(:event) - @impl.bindEvent(package, kwargs[:event]) - else - @impl.bindEvent(package, "*") - end - else - raise ArgumentError, "Invalid arguments, use :key or :package[,:event]" - end - end - - def agents(broker = nil) - blist = [] - if broker - blist << broker - else - synchronize { blist = @broker_list } - end - - agents = [] - blist.each do |b| - count = b.impl.agentCount - for idx in 0...count - agents << AgentProxy.new(b.impl.getAgent(idx), b) - end - end - - return agents - end - - def objects(query, kwargs = {}) - timeout = 30 - agent = nil - kwargs.merge!(query) if query.class == Hash - - if kwargs.include?(:timeout) - timeout = kwargs[:timeout] - kwargs.delete(:timeout) - end - - if kwargs.include?(:agent) - agent = kwargs[:agent] - kwargs.delete(:agent) - end - - query = Query.new(kwargs) if query.class == Hash - - @select = [] - kwargs.each do |k,v| - @select << [k, v] if k.is_a?(String) - end - - synchronize do - @sync_count = 1 - @sync_result = [] - broker = nil - synchronize { broker = @broker_list[0] } - broker.send_query(query.impl, nil, agent) - unless @cv.wait(timeout) { @sync_count == 0 } - raise "Timed out waiting for response" - end - - return @sync_result - end - end - - # Return one and only one object or nil. - def object(query, kwargs = {}) - objs = objects(query, kwargs) - return objs.length == 1 ? objs[0] : nil - end - - # Return the first of potentially many objects. - def first_object(query, kwargs = {}) - objs = objects(query, kwargs) - return objs.length > 0 ? objs[0] : nil - end - - # Check the object against select to check for a match - def select_match(object) - @select.each do |key, value| - object.properties.each do |prop, propval| - if key == prop.name && value != propval - return nil - end - end - end - return :true - end - - def _get_result(list, context) - synchronize do - list.each do |item| - @sync_result << item if select_match(item) - end - @sync_count -= 1 - @cv.signal - end - end - - def start_sync(query) - end - - def touch_sync(sync) - end - - def end_sync(sync) - end - - def run_cb_thread - while :true - synchronize { @cb_cond.wait(1) } - begin - count = do_console_events - end until count == 0 - end - end - - def start_console_events - synchronize { @cb_cond.signal } - end - - def do_console_events - count = 0 - valid = @impl.getEvent(@event) - while valid - count += 1 - begin - case @event.kind - when Qmfengine::ConsoleEvent::AGENT_ADDED - @handler.agent_added(AgentProxy.new(@event.agent, nil)) if @handler - when Qmfengine::ConsoleEvent::AGENT_DELETED - @handler.agent_deleted(AgentProxy.new(@event.agent, nil)) if @handler - when Qmfengine::ConsoleEvent::NEW_PACKAGE - @handler.new_package(@event.name) if @handler - when Qmfengine::ConsoleEvent::NEW_CLASS - @handler.new_class(SchemaClassKey.new(@event.classKey)) if @handler - when Qmfengine::ConsoleEvent::OBJECT_UPDATE - @handler.object_update(ConsoleObject.new(nil, :impl => @event.object), @event.hasProps, @event.hasStats) if @handler - when Qmfengine::ConsoleEvent::EVENT_RECEIVED - @handler.event_received(QmfEvent.new(nil, :impl => @event.event)) if @handler - when Qmfengine::ConsoleEvent::AGENT_HEARTBEAT - @handler.agent_heartbeat(AgentProxy.new(@event.agent, nil), @event.timestamp) if @handler - when Qmfengine::ConsoleEvent::METHOD_RESPONSE - end - rescue Exception => ex - puts "Exception caught in callback: #{ex}" - if @bt_count < 2 - puts ex.backtrace - @bt_count += 1 - end - end - @impl.popEvent - valid = @impl.getEvent(@event) - end - return count - end - end - - class AgentProxy - attr_reader :impl, :broker, :label, :key - - def initialize(impl, broker) - @impl = Qmfengine::AgentProxy.new(impl) - @broker = broker - @label = @impl.getLabel - @key = "#{@impl.getBrokerBank}.#{@impl.getAgentBank}" - end - end - - class Broker < ConnectionHandler - include MonitorMixin - attr_reader :impl, :conn, :console, :broker_bank - - def initialize(console, conn) - super() - @broker_bank = 1 - @console = console - @conn = conn - @session = nil - @cv = new_cond - @stable = nil - @event = Qmfengine::BrokerEvent.new - @xmtMessage = Qmfengine::Message.new - @impl = Qmfengine::BrokerProxy.new(@console.impl) - @console.impl.addConnection(@impl, self) - @conn.add_conn_handler(self) - @operational = :true - end - - def shutdown() - @console.impl.delConnection(@impl) - @conn.del_conn_handler(self) - @operational = :false - end - - def wait_for_stable(timeout = nil) - synchronize do - return if @stable - if timeout - unless @cv.wait(timeout) { @stable } - raise "Timed out waiting for broker connection to become stable" - end - else - while not @stable - @cv.wait - end - end - end - end - - def send_query(query, ctx, agent) - agent_impl = agent.impl if agent - @impl.sendQuery(query, ctx, agent_impl) - @conn.kick - end - - def do_broker_events() - count = 0 - valid = @impl.getEvent(@event) - while valid - count += 1 - case @event.kind - when Qmfengine::BrokerEvent::BROKER_INFO - when Qmfengine::BrokerEvent::DECLARE_QUEUE - @conn.impl.declareQueue(@session.handle, @event.name) - when Qmfengine::BrokerEvent::DELETE_QUEUE - @conn.impl.deleteQueue(@session.handle, @event.name) - when Qmfengine::BrokerEvent::BIND - @conn.impl.bind(@session.handle, @event.exchange, @event.name, @event.bindingKey) - when Qmfengine::BrokerEvent::UNBIND - @conn.impl.unbind(@session.handle, @event.exchange, @event.name, @event.bindingKey) - when Qmfengine::BrokerEvent::SETUP_COMPLETE - @impl.startProtocol - when Qmfengine::BrokerEvent::STABLE - synchronize do - @stable = :true - @cv.signal - end - when Qmfengine::BrokerEvent::QUERY_COMPLETE - result = [] - for idx in 0...@event.queryResponse.getObjectCount - result << ConsoleObject.new(nil, :impl => @event.queryResponse.getObject(idx), :broker => self) - end - @console._get_result(result, @event.context) - when Qmfengine::BrokerEvent::METHOD_RESPONSE - obj = @event.context - obj._method_result(MethodResponse.new(@event.methodResponse)) - end - @impl.popEvent - valid = @impl.getEvent(@event) - end - return count - end - - def do_broker_messages() - count = 0 - valid = @impl.getXmtMessage(@xmtMessage) - while valid - count += 1 - @conn.impl.sendMessage(@session.handle, @xmtMessage) - @impl.popXmt - valid = @impl.getXmtMessage(@xmtMessage) - end - return count - end - - def do_events() - begin - @console.start_console_events - bcnt = do_broker_events - mcnt = do_broker_messages - end until bcnt == 0 and mcnt == 0 - end - - def conn_event_connected() - puts "Console Connection Established..." - @session = Session.new(@conn, "qmfc-%s.%d" % [Socket.gethostname, Process::pid], self) - @impl.sessionOpened(@session.handle) - do_events - end - - def conn_event_disconnected(error) - puts "Console Connection Lost" - end - - def conn_event_visit - do_events - end - - def sess_event_session_closed(context, error) - puts "Console Session Lost" - @impl.sessionClosed() - end - - def sess_event_recv(context, message) - puts "Unexpected RECV Event" if not @operational - @impl.handleRcvMessage(message) - do_events - end - end - - ##============================================================================== - ## AGENT - ##============================================================================== - - class AgentHandler - def get_query(context, query, userId); end - def method_call(context, name, object_id, args, userId); end - end - - class Agent < ConnectionHandler - def initialize(handler, label="") - if label == "" - @agentLabel = "rb-%s.%d" % [Socket.gethostname, Process::pid] - else - @agentLabel = label - end - @conn = nil - @handler = handler - @impl = Qmfengine::Agent.new(@agentLabel) - @event = Qmfengine::AgentEvent.new - @xmtMessage = Qmfengine::Message.new - end - - def set_connection(conn) - @conn = conn - @conn.add_conn_handler(self) - end - - def register_class(cls) - @impl.registerClass(cls.impl) - end - - def alloc_object_id(low = 0, high = 0) - ObjectId.new(@impl.allocObjectId(low, high)) - end - - def raise_event(event) - @impl.raiseEvent(event.impl) - end - - def query_response(context, object) - @impl.queryResponse(context, object.impl) - end - - def query_complete(context) - @impl.queryComplete(context) - end - - def method_response(context, status, text, arguments) - @impl.methodResponse(context, status, text, arguments.map) - end - - def do_agent_events() - count = 0 - valid = @impl.getEvent(@event) - while valid - count += 1 - case @event.kind - when Qmfengine::AgentEvent::GET_QUERY - @handler.get_query(@event.sequence, Query.new(:impl => @event.query), @event.authUserId) - when Qmfengine::AgentEvent::START_SYNC - when Qmfengine::AgentEvent::END_SYNC - when Qmfengine::AgentEvent::METHOD_CALL - args = Arguments.new(@event.arguments) - @handler.method_call(@event.sequence, @event.name, ObjectId.new(@event.objectId), - args, @event.authUserId) - when Qmfengine::AgentEvent::DECLARE_QUEUE - @conn.impl.declareQueue(@session.handle, @event.name) - when Qmfengine::AgentEvent::DELETE_QUEUE - @conn.impl.deleteQueue(@session.handle, @event.name) - when Qmfengine::AgentEvent::BIND - @conn.impl.bind(@session.handle, @event.exchange, @event.name, @event.bindingKey) - when Qmfengine::AgentEvent::UNBIND - @conn.impl.unbind(@session.handle, @event.exchange, @event.name, @event.bindingKey) - when Qmfengine::AgentEvent::SETUP_COMPLETE - @impl.startProtocol() - end - @impl.popEvent - valid = @impl.getEvent(@event) - end - return count - end - - def do_agent_messages() - count = 0 - valid = @impl.getXmtMessage(@xmtMessage) - while valid - count += 1 - @conn.impl.sendMessage(@session.handle, @xmtMessage) - @impl.popXmt - valid = @impl.getXmtMessage(@xmtMessage) - end - return count - end - - def do_events() - begin - ecnt = do_agent_events - mcnt = do_agent_messages - end until ecnt == 0 and mcnt == 0 - end - - def conn_event_connected() - puts "Agent Connection Established..." - @session = Session.new(@conn, "qmfa-%s.%d" % [Socket.gethostname, Process::pid], self) - @impl.newSession - do_events - end - - def conn_event_disconnected(error) - puts "Agent Connection Lost" - end - - def conn_event_visit - do_events - end - - def sess_event_session_closed(context, error) - puts "Agent Session Lost" - end - - def sess_event_recv(context, message) - @impl.handleRcvMessage(message) - do_events - end - end -end diff --git a/cpp/bindings/qmf/ruby/ruby.i b/cpp/bindings/qmf/ruby/ruby.i deleted file mode 100644 index 0101861100..0000000000 --- a/cpp/bindings/qmf/ruby/ruby.i +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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. - */ - -%include stl.i - -%module qmfengine - -%typemap (in) void * -{ - $1 = (void *) $input; -} - -%typemap (out) void * -{ - $result = (VALUE) $1; -} - -%typemap (in) uint16_t -{ - $1 = NUM2UINT ($input); -} - -%typemap (out) uint16_t -{ - $result = UINT2NUM((uint16_t) $1); -} - -%typemap (in) uint32_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2UINT($input); - else - $1 = FIX2UINT($input); -} - -%typemap (out) uint32_t -{ - $result = UINT2NUM((uint32_t) $1); -} - -%typemap (in) int32_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2INT($input); - else - $1 = FIX2INT($input); -} - -%typemap (out) int32_t -{ - $result = INT2NUM((int32_t) $1); -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint32_t { - $1 = FIXNUM_P($input); -} - -%typemap (in) uint64_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2ULL($input); - else - $1 = (uint64_t) FIX2ULONG($input); -} - -%typemap (out) uint64_t -{ - $result = ULL2NUM((uint64_t) $1); -} - -%typemap (in) int64_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2LL($input); - else - $1 = (int64_t) FIX2LONG($input); -} - -%typemap (out) int64_t -{ - $result = LL2NUM((int64_t) $1); -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint64_t { - $1 = FIXNUM_P($input); -} - - -%include "../qmfengine.i" - diff --git a/cpp/bindings/qmf/tests/Makefile.am b/cpp/bindings/qmf/tests/Makefile.am deleted file mode 100644 index 182771e16b..0000000000 --- a/cpp/bindings/qmf/tests/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -# -# 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. -# - -TESTS = run_interop_tests - -EXTRA_DIST = \ - agent_ruby.rb \ - python_agent.py \ - python_console.py \ - ruby_console.rb \ - run_interop_tests diff --git a/cpp/bindings/qmf/tests/agent_ruby.rb b/cpp/bindings/qmf/tests/agent_ruby.rb deleted file mode 100755 index 5ee5e371d3..0000000000 --- a/cpp/bindings/qmf/tests/agent_ruby.rb +++ /dev/null @@ -1,279 +0,0 @@ -#!/usr/bin/ruby - -# -# 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. -# - -require 'qmf' -require 'socket' - -class Model - attr_reader :parent_class, :child_class, :event_class - - def initialize - @parent_class = Qmf::SchemaObjectClass.new("org.apache.qpid.qmf", "parent") - @parent_class.add_property(Qmf::SchemaProperty.new("name", Qmf::TYPE_SSTR, :index => true)) - @parent_class.add_property(Qmf::SchemaProperty.new("state", Qmf::TYPE_SSTR)) - - @parent_class.add_property(Qmf::SchemaProperty.new("uint64val", Qmf::TYPE_UINT64)) - @parent_class.add_property(Qmf::SchemaProperty.new("uint32val", Qmf::TYPE_UINT32)) - @parent_class.add_property(Qmf::SchemaProperty.new("uint16val", Qmf::TYPE_UINT16)) - @parent_class.add_property(Qmf::SchemaProperty.new("uint8val", Qmf::TYPE_UINT8)) - - @parent_class.add_property(Qmf::SchemaProperty.new("int64val", Qmf::TYPE_INT64)) - @parent_class.add_property(Qmf::SchemaProperty.new("int32val", Qmf::TYPE_INT32)) - @parent_class.add_property(Qmf::SchemaProperty.new("int16val", Qmf::TYPE_INT16)) - @parent_class.add_property(Qmf::SchemaProperty.new("int8val", Qmf::TYPE_INT8)) - - @parent_class.add_property(Qmf::SchemaProperty.new("sstrval", Qmf::TYPE_SSTR)) - @parent_class.add_property(Qmf::SchemaProperty.new("lstrval", Qmf::TYPE_LSTR)) - - @parent_class.add_property(Qmf::SchemaProperty.new("mapval", Qmf::TYPE_MAP)) - @parent_class.add_property(Qmf::SchemaProperty.new("listval", Qmf::TYPE_LIST)) - - @parent_class.add_statistic(Qmf::SchemaStatistic.new("queryCount", Qmf::TYPE_UINT32, :unit => "query", :desc => "Query count")) - - method = Qmf::SchemaMethod.new("echo", :desc => "Check responsiveness of the agent object") - method.add_argument(Qmf::SchemaArgument.new("sequence", Qmf::TYPE_UINT32, :dir => Qmf::DIR_IN_OUT)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("set_numerics", :desc => "Set the numeric values in the object") - method.add_argument(Qmf::SchemaArgument.new("test", Qmf::TYPE_SSTR, :dir => Qmf::DIR_IN)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("test_map_list", :desc => "A method call that accepts map and list arguments.") - method.add_argument(Qmf::SchemaArgument.new("inMap", Qmf::TYPE_MAP, :dir => Qmf::DIR_IN)) - method.add_argument(Qmf::SchemaArgument.new("inList", Qmf::TYPE_LIST, :dir => Qmf::DIR_IN)) - method.add_argument(Qmf::SchemaArgument.new("outMap", Qmf::TYPE_MAP, :dir => Qmf::DIR_OUT)) - method.add_argument(Qmf::SchemaArgument.new("outList", Qmf::TYPE_LIST, :dir => Qmf::DIR_OUT)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("set_short_string", :desc => "Set the short string value in the object") - method.add_argument(Qmf::SchemaArgument.new("value", Qmf::TYPE_SSTR, :dir => Qmf::DIR_IN_OUT)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("set_long_string", :desc => "Set the long string value in the object") - method.add_argument(Qmf::SchemaArgument.new("value", Qmf::TYPE_LSTR, :dir => Qmf::DIR_IN_OUT)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("create_child", :desc => "Create a new child object") - method.add_argument(Qmf::SchemaArgument.new("child_name", Qmf::TYPE_LSTR, :dir => Qmf::DIR_IN)) - method.add_argument(Qmf::SchemaArgument.new("child_ref", Qmf::TYPE_REF, :dir => Qmf::DIR_OUT)) - @parent_class.add_method(method) - - method = Qmf::SchemaMethod.new("probe_userid", :desc => "Return the user-id for this method call") - method.add_argument(Qmf::SchemaArgument.new("userid", Qmf::TYPE_SSTR, :dir => Qmf::DIR_OUT)) - @parent_class.add_method(method) - - @child_class = Qmf::SchemaObjectClass.new("org.apache.qpid.qmf", "child") - @child_class.add_property(Qmf::SchemaProperty.new("name", Qmf::TYPE_SSTR, :index => true)) - - @event_class = Qmf::SchemaEventClass.new("org.apache.qpid.qmf", "test_event", Qmf::SEV_INFORM) - @event_class.add_argument(Qmf::SchemaArgument.new("uint32val", Qmf::TYPE_UINT32)) - @event_class.add_argument(Qmf::SchemaArgument.new("strval", Qmf::TYPE_LSTR)) - @event_class.add_argument(Qmf::SchemaArgument.new("mapval", Qmf::TYPE_MAP)) - @event_class.add_argument(Qmf::SchemaArgument.new("listval", Qmf::TYPE_LIST)) - end - - def register(agent) - agent.register_class(@parent_class) - agent.register_class(@child_class) - agent.register_class(@event_class) - end -end - - -class App < Qmf::AgentHandler - def get_query(context, query, userId) -# puts "Query: user=#{userId} context=#{context} class=#{query.class_name} object_num=#{query.object_id if query.object_id}" - if query.class_name == 'parent' - @agent.query_response(context, @parent) - elsif query.object_id == @parent_oid - @agent.query_response(context, @parent) - end - @agent.query_complete(context) - end - - def method_call(context, name, object_id, args, userId) -# puts "Method: user=#{userId} context=#{context} method=#{name} object_num=#{object_id if object_id} args=#{args}" - - retCode = 0 - retText = "OK" - - if name == "echo" - @agent.method_response(context, 0, "OK", args) - - elsif name == "test_map_list" - # build the output map from the input map, accessing each key, - # value to ensure they are encoded/decoded - outMap = {} - args['inMap'].each do |k,v| - outMap[k] = v - end - - # same deal for the output list - outList = [] - args['inList'].each do |v| - outList << v - end - - args['outMap'] = outMap - args['outList'] = outList - - elsif name == "set_numerics" - - if args['test'] == "big" - @parent.uint64val = 0x9494949449494949 - @parent.uint32val = 0xa5a55a5a - @parent.uint16val = 0xb66b - @parent.uint8val = 0xc7 - - @parent.int64val = 1000000000000000000 - @parent.int32val = 1000000000 - @parent.int16val = 10000 - @parent.int8val = 100 - - event = Qmf::QmfEvent.new(@model.event_class) - event.uint32val = @parent.uint32val - event.strval = "Unused" - event.mapval = @parent.mapval - event.listval = @parent.listval - @agent.raise_event(event) - - elsif args['test'] == "small" - @parent.uint64val = 4 - @parent.uint32val = 5 - @parent.uint16val = 6 - @parent.uint8val = 7 - - @parent.int64val = 8 - @parent.int32val = 9 - @parent.int16val = 10 - @parent.int8val = 11 - - event = Qmf::QmfEvent.new(@model.event_class) - event.uint32val = @parent.uint32val - event.strval = "Unused" - @agent.raise_event(event) - - elsif args['test'] == "negative" - @parent.uint64val = 0 - @parent.uint32val = 0 - @parent.uint16val = 0 - @parent.uint8val = 0 - - @parent.int64val = -10000000000 - @parent.int32val = -100000 - @parent.int16val = -1000 - @parent.int8val = -100 - - event = Qmf::QmfEvent.new(@model.event_class) - event.uint32val = @parent.uint32val - event.strval = "Unused" - @agent.raise_event(event) - - else - retCode = 1 - retText = "Invalid argument value for test" - end - - elsif name == "set_short_string" - @parent.sstrval = args['value'] - - event = Qmf::QmfEvent.new(@model.event_class) - event.uint32val = 0 - event.strval = @parent.sstrval - @agent.raise_event(event) - - elsif name == "set_long_string" - @parent.lstrval = args['value'] - - event = Qmf::QmfEvent.new(@model.event_class) - event.uint32val = 0 - event.strval = @parent.lstrval - @agent.raise_event(event) - - elsif name == "create_child" - oid = @agent.alloc_object_id(2) - args['child_ref'] = oid - @child = Qmf::AgentObject.new(@model.child_class) - @child.name = args.by_key("child_name") - @child.set_object_id(oid) - - elsif name == "probe_userid" - args['userid'] = userId - - else - retCode = 1 - retText = "Unimplemented Method: #{name}" - end - - @agent.method_response(context, retCode, retText, args) - end - - def main - @settings = Qmf::ConnectionSettings.new - @settings.set_attr("host", ARGV[0]) if ARGV.size > 0 - @settings.set_attr("port", ARGV[1].to_i) if ARGV.size > 1 - @connection = Qmf::Connection.new(@settings) - @agent = Qmf::Agent.new(self, "agent_test_label") - - @model = Model.new - @model.register(@agent) - - @agent.set_connection(@connection) - - @parent = Qmf::AgentObject.new(@model.parent_class) - @parent.name = "Parent One" - @parent.state = "OPERATIONAL" - - @parent.uint64val = 0 - @parent.uint32val = 0 - @parent.uint16val = 0 - @parent.uint8val = 0 - - @parent.int64val = 0 - @parent.int32val = 0 - @parent.int16val = 0 - @parent.int8val = 0 - - # a list containing a list that contains a map (so there!) - @parent.listval = ['a', 1, 'b', -2, - ['c', true, 3.1415, - {"hi" => 10, "lo" => 5, "neg" => -3}]] - - # a default map - @parent.mapval = {'aLong' => 9999999999, - 'aInt' => 54321, - 'aSigned' => -666, - 'aString' => "A String", - 'aFloat'=> 3.1415, - 'aMap' => {"first" => 1, "second" => 2}, - 'aList' => ['x', -1, 'y', 2]} - - @parent_oid = @agent.alloc_object_id(1) - @parent.set_object_id(@parent_oid) - - sleep - end -end - -app = App.new -app.main - - diff --git a/cpp/bindings/qmf/tests/python_agent.py b/cpp/bindings/qmf/tests/python_agent.py deleted file mode 100644 index 28ba47e1bb..0000000000 --- a/cpp/bindings/qmf/tests/python_agent.py +++ /dev/null @@ -1,326 +0,0 @@ -#!/usr/bin/env python -# -# 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. -# - - -import qmf -import sys -import time - - -class Model: - # attr_reader :parent_class, :child_class - def __init__(self): - self.parent_class = qmf.SchemaObjectClass("org.apache.qpid.qmf", "parent") - self.parent_class.add_property(qmf.SchemaProperty("name", qmf.TYPE_SSTR, {"index":True})) - self.parent_class.add_property(qmf.SchemaProperty("state", qmf.TYPE_SSTR)) - - self.parent_class.add_property(qmf.SchemaProperty("uint64val", qmf.TYPE_UINT64)) - self.parent_class.add_property(qmf.SchemaProperty("uint32val", qmf.TYPE_UINT32)) - self.parent_class.add_property(qmf.SchemaProperty("uint16val", qmf.TYPE_UINT16)) - self.parent_class.add_property(qmf.SchemaProperty("uint8val", qmf.TYPE_UINT8)) - - self.parent_class.add_property(qmf.SchemaProperty("int64val", qmf.TYPE_INT64)) - self.parent_class.add_property(qmf.SchemaProperty("int32val", qmf.TYPE_INT32)) - self.parent_class.add_property(qmf.SchemaProperty("int16val", qmf.TYPE_INT16)) - self.parent_class.add_property(qmf.SchemaProperty("int8val", qmf.TYPE_INT8)) - - self.parent_class.add_property(qmf.SchemaProperty("sstrval", qmf.TYPE_SSTR)) - self.parent_class.add_property(qmf.SchemaProperty("lstrval", qmf.TYPE_LSTR)) - - self.parent_class.add_property(qmf.SchemaProperty("mapval", qmf.TYPE_MAP)) - self.parent_class.add_property(qmf.SchemaProperty("listval", qmf.TYPE_LIST)) - - - self.parent_class.add_statistic(qmf.SchemaStatistic("queryCount", qmf.TYPE_UINT32, {"unit":"query", "desc":"Query count"})) - - _method = qmf.SchemaMethod("echo", {"desc":"Check responsiveness of the agent object"}) - _method.add_argument(qmf.SchemaArgument("sequence", qmf.TYPE_UINT32, {"dir":qmf.DIR_IN_OUT})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("set_numerics", {"desc":"Set the numeric values in the object"}) - _method.add_argument(qmf.SchemaArgument("test", qmf.TYPE_SSTR, {"dir":qmf.DIR_IN})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("test_map_list", {"desc":"A method call that accepts map and list arguments."}) - _method.add_argument(qmf.SchemaArgument("inMap", qmf.TYPE_MAP, {"dir":qmf.DIR_IN})) - _method.add_argument(qmf.SchemaArgument("inList", qmf.TYPE_LIST, {"dir":qmf.DIR_IN})) - _method.add_argument(qmf.SchemaArgument("outMap", qmf.TYPE_MAP, {"dir":qmf.DIR_OUT})) - _method.add_argument(qmf.SchemaArgument("outList", qmf.TYPE_LIST, {"dir":qmf.DIR_OUT})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("set_short_string", {"desc":"Set the short string value in the object"}) - _method.add_argument(qmf.SchemaArgument("value", qmf.TYPE_SSTR, {"dir":qmf.DIR_IN_OUT})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("set_long_string", {"desc":"Set the long string value in the object"}) - _method.add_argument(qmf.SchemaArgument("value", qmf.TYPE_LSTR, {"dir":qmf.DIR_IN_OUT})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("create_child", {"desc":"Create a new child object"}) - _method.add_argument(qmf.SchemaArgument("child_name", qmf.TYPE_LSTR, {"dir":qmf.DIR_IN})) - _method.add_argument(qmf.SchemaArgument("child_ref", qmf.TYPE_REF, {"dir":qmf.DIR_OUT})) - self.parent_class.add_method(_method) - - _method = qmf.SchemaMethod("probe_userid", {"desc":"Return the user-id for this method call"}) - _method.add_argument(qmf.SchemaArgument("userid", qmf.TYPE_SSTR, {"dir":qmf.DIR_OUT})) - self.parent_class.add_method(_method) - - self.child_class = qmf.SchemaObjectClass("org.apache.qpid.qmf", "child") - self.child_class.add_property(qmf.SchemaProperty("name", qmf.TYPE_SSTR, {"index":True})) - - self.event_class = qmf.SchemaEventClass("org.apache.qpid.qmf", "test_event", qmf.SEV_NOTICE) - self.event_class.add_argument(qmf.SchemaArgument("uint32val", qmf.TYPE_UINT32)) - self.event_class.add_argument(qmf.SchemaArgument("strval", qmf.TYPE_LSTR)) - self.event_class.add_argument(qmf.SchemaArgument("mapval", qmf.TYPE_MAP)) - self.event_class.add_argument(qmf.SchemaArgument("listval", qmf.TYPE_LIST)) - - def register(self, agent): - agent.register_class(self.parent_class) - agent.register_class(self.child_class) - agent.register_class(self.event_class) - - - -class App(qmf.AgentHandler): - ''' - Object that handles events received by the Agent. - ''' - def get_query(self, context, query, userId): - ''' - Respond to a Query request from a console. - ''' - #print "Query: user=%s context=%d class=%s" % (userId, context, query.class_name()) - #if query.object_id(): - # print query.object_id().object_num_low() - self._parent.inc_attr("queryCount") - if query.class_name() == 'parent': - self._agent.query_response(context, self._parent) - elif query.object_id() == self._parent_oid: - self._agent.query_response(context, self._parent) - self._agent.query_complete(context) - - - def method_call(self, context, name, object_id, args, userId): - ''' - Invoke a method call requested by the console. - ''' - #print "Method: name=%s user=%s context=%d object_id=%s args=%s" % (name, userId, context, object_id, args) - if name == "echo": - self._agent.method_response(context, 0, "OK", args) - - elif name == "test_map_list": - # build the output map from the input map, accessing each key, - # value to ensure they are encoded/decoded - outMap = {} - for key,value in args['inMap'].items(): - outMap[key] = value - - # same deal for the output list - outList = [] - for value in args['inList']: - outList.append(value) - - args['outMap'] = outMap - args['outList'] = outList - self._agent.method_response(context, 0, "OK", args) - - elif name == "set_numerics": - _retCode = 0 - _retText = "OK" - - if args['test'] == "big": - # - # note the alternate forms for setting object attributes: - # - self._parent.set_attr("uint64val", 0x9494949449494949) - self._parent.uint32val = 0xa5a55a5a - self._parent.set_attr("uint16val", 0xb66b) - self._parent["uint8val"] = 0xc7 - - self._parent.int64val = 1000000000000000000 - self._parent.set_attr("int32val", 1000000000) - self._parent["int16val"] = 10000 - self._parent.set_attr("int8val", 100) - - event = qmf.QmfEvent(self._model.event_class) - event.uint32val = self._parent.get_attr("uint32val") - event.strval = "Unused" - event.mapval = self._parent.get_attr("mapval") - event.listval = self._parent["listval"] - - self._agent.raise_event(event) - - ## Test the __getattr__ implementation: - ## @todo: remove once python_client implements this - ## form of property access - assert self._parent["uint8val"] == 0xc7 - assert self._parent.uint64val == 0x9494949449494949 - - # note the alternative argument access syntax: - elif args.test == "small": - self._parent.set_attr("uint64val", 4) - self._parent.set_attr("uint32val", 5) - self._parent.set_attr("uint16val", 6) - self._parent.set_attr("uint8val", 7) - - self._parent.set_attr("int64val", 8) - self._parent.set_attr("int32val", 9) - self._parent.set_attr("int16val", 10) - self._parent.set_attr("int8val", 11) - - event = qmf.QmfEvent(self._model.event_class) - event.uint32val = self._parent.uint32val - event.strval = "Unused" - self._agent.raise_event(event) - - elif args['test'] == "negative": - self._parent.set_attr("uint64val", 0) - self._parent.set_attr("uint32val", 0) - self._parent.set_attr("uint16val", 0) - self._parent.set_attr("uint8val", 0) - - self._parent.set_attr("int64val", -10000000000) - self._parent.set_attr("int32val", -100000) - self._parent.set_attr("int16val", -1000) - self._parent.set_attr("int8val", -100) - - event = qmf.QmfEvent(self._model.event_class) - event.uint32val = self._parent.uint32val - event.strval = "Unused" - self._agent.raise_event(event) - - else: - _retCode = 1 - _retText = "Invalid argument value for test" - - self._agent.method_response(context, _retCode, _retText, args) - - elif name == "set_short_string": - self._parent.set_attr('sstrval', args['value']) - event = qmf.QmfEvent(self._model.event_class) - event.uint32val = 0 - event.strval = self._parent.sstrval - self._agent.raise_event(event) - - self._agent.method_response(context, 0, "OK", args) - - elif name == "set_long_string": - self._parent.set_attr('lstrval', args['value']) - event = qmf.QmfEvent(self._model.event_class) - event.uint32val = 0 - event.strval = self._parent.lstrval - self._agent.raise_event(event) - - self._agent.method_response(context, 0, "OK", args) - - elif name == "create_child": - # - # Instantiate an object based on the Child Schema Class - # - _oid = self._agent.alloc_object_id(2) - args['child_ref'] = _oid - self._child = qmf.AgentObject(self._model.child_class) - self._child.set_attr("name", args["child_name"]) - self._child.set_object_id(_oid) - self._agent.method_response(context, 0, "OK", args) - - elif name == "probe_userid": - args['userid'] = userId - self._agent.method_response(context, 0, "OK", args) - - else: - self._agent.method_response(context, 1, "Unimplemented Method: %s" % name, args) - - - def main(self): - ''' - Agent application's main processing loop. - ''' - # Connect to the broker - self._settings = qmf.ConnectionSettings() - self._settings.sendUserId = True - if len(sys.argv) > 1: - self._settings.host = str(sys.argv[1]) - if len(sys.argv) > 2: - self._settings.port = int(sys.argv[2]) - self._connection = qmf.Connection(self._settings) - - # Instantiate an Agent to serve me queries and method calls - self._agent = qmf.Agent(self, "agent_test_label") - - # Dynamically define the parent and child schemas, then - # register them with the agent - self._model = Model() - self._model.register(self._agent) - - # Tell the agent about our connection to the broker - self._agent.set_connection(self._connection) - - # Instantiate and populate an instance of the Parent - # Schema Object - self._parent = qmf.AgentObject(self._model.parent_class) - - ## @todo how do we force a test failure? - # verify the properties() and statistics() object methods: - assert len(self._parent.properties()) == 14 - assert len(self._parent.statistics()) == 1 - - self._parent.set_attr("name", "Parent One") - self._parent.set_attr("state", "OPERATIONAL") - - self._parent.set_attr("uint64val", 0) - self._parent.set_attr("uint32val", 0) - self._parent.set_attr("uint16val", 0) - self._parent.set_attr("uint8val", 0) - - self._parent.set_attr("int64val", 0) - self._parent.set_attr("int32val", 0) - self._parent.set_attr("int16val", 0) - self._parent.set_attr("int8val", 0) - - # a list containing a list that contains a map (so there!) - self._parent.set_attr("listval", ['a', 1, 'b', -2, - ['c', True, 3.1415, - {"hi": 10, "lo": 5, "neg": -3}]]) - # a default map - self._parent.set_attr("mapval", {'aLong' : long(9999999999), - 'aInt' : int(54321), - 'aSigned' : -666, - 'aString' : "A String", - 'aFloat' : 3.1415, - 'aMap' : {'first' : 1, - 'second': 2}, - 'aList' : ['x', -1, 'y', 2]}) - - - - self._parent_oid = self._agent.alloc_object_id(1) - self._parent.set_object_id(self._parent_oid) - - # Now wait for events arriving on the connection - # to the broker... - while True: - time.sleep(1000) - - - -app = App() -app.main() - diff --git a/cpp/bindings/qmf/tests/python_console.py b/cpp/bindings/qmf/tests/python_console.py deleted file mode 100755 index 1cef824fb5..0000000000 --- a/cpp/bindings/qmf/tests/python_console.py +++ /dev/null @@ -1,311 +0,0 @@ -#!/usr/bin/env python -# -# 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. -# - -import sys -from qpid.testlib import TestBase010 -from qpid.datatypes import Message -from qpid.queue import Empty -from time import sleep -import qmf.console - -class QmfInteropTests(TestBase010): - - def test_A_agent_presence(self): - self.startQmf(); - qmf = self.qmf - - agents = [] - count = 0 - while len(agents) == 0: - agents = qmf.getObjects(_class="agent") - sleep(1) - count += 1 - if count > 10: - self.fail("Timed out waiting for remote agent") - - def test_B_basic_method_invocation(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - for seq in range(10): - result = parent.echo(seq, _timeout=5) - self.assertEqual(result.status, 0) - self.assertEqual(result.text, "OK") - self.assertEqual(result.sequence, seq) - - result = parent.set_numerics("bogus") - self.assertEqual(result.status, 1) - self.assertEqual(result.text, "Invalid argument value for test") - - def test_C_basic_types_numeric_big(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - result = parent.set_numerics("big") - self.assertEqual(result.status, 0) - self.assertEqual(result.text, "OK") - - parent.update() - - self.assertEqual(parent.uint64val, 0x9494949449494949) - self.assertEqual(parent.uint32val, 0xA5A55A5A) - self.assertEqual(parent.uint16val, 0xB66B) - self.assertEqual(parent.uint8val, 0xC7) - - self.assertEqual(parent.int64val, 1000000000000000000) - self.assertEqual(parent.int32val, 1000000000) - self.assertEqual(parent.int16val, 10000) - self.assertEqual(parent.int8val, 100) - - def test_C_basic_types_numeric_small(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - result = parent.set_numerics("small") - self.assertEqual(result.status, 0) - self.assertEqual(result.text, "OK") - - parent.update() - - self.assertEqual(parent.uint64val, 4) - self.assertEqual(parent.uint32val, 5) - self.assertEqual(parent.uint16val, 6) - self.assertEqual(parent.uint8val, 7) - - self.assertEqual(parent.int64val, 8) - self.assertEqual(parent.int32val, 9) - self.assertEqual(parent.int16val, 10) - self.assertEqual(parent.int8val, 11) - - def test_C_basic_types_numeric_negative(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - result = parent.set_numerics("negative") - self.assertEqual(result.status, 0) - self.assertEqual(result.text, "OK") - - parent.update() - - self.assertEqual(parent.uint64val, 0) - self.assertEqual(parent.uint32val, 0) - self.assertEqual(parent.uint16val, 0) - self.assertEqual(parent.uint8val, 0) - - self.assertEqual(parent.int64val, -10000000000) - self.assertEqual(parent.int32val, -100000) - self.assertEqual(parent.int16val, -1000) - self.assertEqual(parent.int8val, -100) - - def disabled_test_D_userid_for_method(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - result = parent.probe_userid() - self.assertEqual(result.status, 0) - self.assertEqual(result.userid, "guest") - - def test_D_get_by_object_id(self): - self.startQmf() - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - newList = qmf.getObjects(_objectId=parent.getObjectId()) - self.assertEqual(len(newList), 1) - - def test_E_filter_by_object_id(self): - self.startQmf() - qmf = self.qmf - - list = qmf.getObjects(_class="exchange", name="qpid.management") - self.assertEqual(len(list), 1, "No Management Exchange") - mgmt_exchange = list[0] - - bindings = qmf.getObjects(_class="binding", exchangeRef=mgmt_exchange.getObjectId()) - if len(bindings) == 0: - self.fail("No bindings found on management exchange") - - for binding in bindings: - self.assertEqual(binding.exchangeRef, mgmt_exchange.getObjectId()) - - def test_F_events(self): - class Handler(qmf.console.Console): - def __init__(self): - self.queue = [] - - def event(self, broker, event): - if event.getClassKey().getClassName() == "test_event": - self.queue.append(event) - - handler = Handler() - self.startQmf(handler) - - parents = self.qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - parent.set_numerics("big") - parent.set_numerics("small") - parent.set_numerics("negative") - parent.set_short_string("TEST") - parent.set_long_string("LONG_TEST") - parent.probe_userid() - - queue = handler.queue - self.assertEqual(len(queue), 5) - self.assertEqual(queue[0].arguments["uint32val"], 0xA5A55A5A) - self.assertEqual(queue[0].arguments["strval"], "Unused") - - # verify map and list event content. - # see agent for structure of listval and mapval - listval = queue[0].arguments["listval"] - self.assertTrue(isinstance(listval, list)) - self.assertEqual(len(listval), 5) - self.assertTrue(isinstance(listval[4], list)) - self.assertEqual(len(listval[4]), 4) - self.assertTrue(isinstance(listval[4][3], dict)) - self.assertEqual(listval[4][3]["hi"], 10) - self.assertEqual(listval[4][3]["lo"], 5) - self.assertEqual(listval[4][3]["neg"], -3) - - mapval = queue[0].arguments["mapval"] - self.assertTrue(isinstance(mapval, dict)) - self.assertEqual(len(mapval), 7) - self.assertEqual(mapval['aLong'], 9999999999) - self.assertEqual(mapval['aInt'], 54321) - self.assertEqual(mapval['aSigned'], -666) - self.assertEqual(mapval['aString'], "A String"), - self.assertEqual(mapval['aFloat'], 3.1415), - self.assertTrue(isinstance(mapval['aMap'], dict)) - self.assertEqual(len(mapval['aMap']), 2) - self.assertEqual(mapval['aMap']['second'], 2) - self.assertTrue(isinstance(mapval['aList'], list)) - self.assertEqual(len(mapval['aList']), 4) - self.assertEqual(mapval['aList'][1], -1) - - self.assertEqual(queue[1].arguments["uint32val"], 5) - self.assertEqual(queue[1].arguments["strval"], "Unused") - self.assertEqual(queue[2].arguments["uint32val"], 0) - self.assertEqual(queue[2].arguments["strval"], "Unused") - self.assertEqual(queue[3].arguments["uint32val"], 0) - self.assertEqual(queue[3].arguments["strval"], "TEST") - self.assertEqual(queue[4].arguments["uint32val"], 0) - self.assertEqual(queue[4].arguments["strval"], "LONG_TEST") - - - - def test_G_basic_map_list_data(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - # see agent for structure of listval - - self.assertTrue(isinstance(parent.listval, list)) - self.assertEqual(len(parent.listval), 5) - self.assertTrue(isinstance(parent.listval[4], list)) - self.assertEqual(len(parent.listval[4]), 4) - self.assertTrue(isinstance(parent.listval[4][3], dict)) - self.assertEqual(parent.listval[4][3]["hi"], 10) - self.assertEqual(parent.listval[4][3]["lo"], 5) - self.assertEqual(parent.listval[4][3]["neg"], -3) - - # see agent for structure of mapval - - self.assertTrue(isinstance(parent.mapval, dict)) - self.assertEqual(len(parent.mapval), 7) - self.assertEqual(parent.mapval['aLong'], 9999999999) - self.assertEqual(parent.mapval['aInt'], 54321) - self.assertEqual(parent.mapval['aSigned'], -666) - self.assertEqual(parent.mapval['aString'], "A String"), - self.assertEqual(parent.mapval['aFloat'], 3.1415), - self.assertTrue(isinstance(parent.mapval['aMap'], dict)) - self.assertEqual(len(parent.mapval['aMap']), 2) - self.assertEqual(parent.mapval['aMap']['second'], 2) - self.assertTrue(isinstance(parent.mapval['aList'], list)) - self.assertEqual(len(parent.mapval['aList']), 4) - self.assertEqual(parent.mapval['aList'][1], -1) - - def test_H_map_list_method_call(self): - self.startQmf(); - qmf = self.qmf - - parents = qmf.getObjects(_class="parent") - self.assertEqual(len(parents), 1) - parent = parents[0] - - inMap = {'aLong' : long(9999999999), - 'aInt' : int(54321), - 'aSigned' : -666, - 'aString' : "A String", - 'aFloat' : 3.1415, - 'aList' : ['x', -1, 'y', 2], - 'abool' : False} - inList = ['aString', long(1), -1, 2.7182, {'aMap': -8}, True] - - result = parent.test_map_list(inMap, inList) - self.assertEqual(result.status, 0) - self.assertEqual(result.text, "OK") - - # verify returned values - self.assertEqual(len(inMap), len(result.outArgs['outMap'])) - for key,value in result.outArgs['outMap'].items(): - self.assertEqual(inMap[key], value) - - self.assertEqual(len(inList), len(result.outArgs['outList'])) - for idx in range(len(inList)): - self.assertEqual(inList[idx], result.outArgs['outList'][idx]) - - - def getProperty(self, msg, name): - for h in msg.headers: - if hasattr(h, name): return getattr(h, name) - return None - - def getAppHeader(self, msg, name): - headers = self.getProperty(msg, "application_headers") - if headers: - return headers[name] - return None diff --git a/cpp/bindings/qmf/tests/ruby_console.rb b/cpp/bindings/qmf/tests/ruby_console.rb deleted file mode 100755 index 31670312d6..0000000000 --- a/cpp/bindings/qmf/tests/ruby_console.rb +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/ruby - -# -# 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. -# - -require 'qmf' -require 'socket' - -class App < Qmf::ConsoleHandler - - def agent_added(agent) - puts "AgentAdded: label=#{agent.label} key=#{agent.key}" - end - - def agent_deleted(agent) - puts "AgentDeleted: #{agent.label}" - end - - def new_package(package) - puts "NewPackage: #{package}" - end - - def new_class(class_key) - puts "NewClass: #{class_key}" - end - - def object_update(object, hasProps, hasStats) - puts "ObjectUpdate: #{object.object_class.class_name} props=#{hasProps} stats=#{hasStats}" - puts " agent-key=#{object.object_id.agent_key}" - puts " package=#{object.object_class.package_name}" - end - - def event_received(event); end - - def agent_heartbeat(agent, timestamp) - puts "AgentHeartbeat: #{agent.label} time=#{timestamp/1000000000}" - end - - def method_response(resp); end - def broker_info(broker); end - - - def dump_schema - packages = @qmfc.packages - puts "----- Packages -----" - packages.each do |p| - puts p - puts " ----- Object Classes -----" - classes = @qmfc.classes(p) - classes.each do |c| - puts " #{c.name}" - - puts " ---- Properties ----" - props = c.properties - props.each do |prop| - puts " #{prop.name}" - end - - puts " ---- Statistics ----" - stats = c.statistics - stats.each do |stat| - puts " #{stat.name}" - end - - puts " ---- Methods ----" - methods = c.methods - methods.each do |method| - puts " #{method.name}" - puts " ---- Args ----" - args = method.arguments - args.each do |arg| - puts " #{arg.name}" - end - end - end - - puts " ----- Event Classes -----" - classes = @qmfc.classes(p, Qmf::CLASS_EVENT) - classes.each do |c| - puts " #{c.name}" - puts " ---- Args ----" - args = c.arguments - args.each do |arg| - puts " #{arg.name}" - end - end - end - puts "-----" - end - - def main - @settings = Qmf::ConnectionSettings.new - @settings.host = ARGV[0] if ARGV.size > 0 - @settings.port = ARGV[1].to_i if ARGV.size > 1 - @connection = Qmf::Connection.new(@settings) - @qmfc = Qmf::Console.new(self) - - @broker = @qmfc.add_connection(@connection) - @broker.wait_for_stable - - ##dump_schema - - agents = @qmfc.agents() - puts "---- Agents ----" - agents.each do |a| - puts " => #{a.label}" - end - puts "----" - - for idx in 0...20 - blist = @qmfc.objects(Qmf::Query.new(:class => "broker")) - puts "---- Brokers ----" - blist.each do |b| - puts " ---- Broker ----" - puts " systemRef: #{b.systemRef}" - puts " port : #{b.port}" - puts " uptime : #{b.uptime / 1000000000}" - puts " properties : #{b.properties}" - puts " statistics : #{b.statistics}" - - for rep in 0...1 - puts " Pinging..." - ret = b.echo(45, 'text string') - puts " status=#{ret.status} text=#{ret.exception.asString} seq=#{ret.args.sequence} body=#{ret.args.body}" - end - end - puts "----" - - elist = @qmfc.objects(:package => "org.apache.qpid.broker", :class => "exchange", 'durable' => true) - puts "---- Durable Exchanges ----" - elist.each do |e| - puts "Exchange: #{e.name}" - end - puts "----" - - qlist = @qmfc.objects(Qmf::Query.new(:package => "org.apache.qpid.broker", - :class => "queue")) - puts "---- Queues ----" - qlist.each do |q| - puts " ---- Queue ----" - puts " name : #{q.name}" - end - puts "----" - sleep(5) - end - - sleep(5) - puts "Deleting connection..." - @qmfc.del_connection(@broker) - puts " done" - sleep - end -end - -app = App.new -app.main - - diff --git a/cpp/bindings/qmf/tests/ruby_console_test.rb b/cpp/bindings/qmf/tests/ruby_console_test.rb deleted file mode 100755 index 972d5977b8..0000000000 --- a/cpp/bindings/qmf/tests/ruby_console_test.rb +++ /dev/null @@ -1,397 +0,0 @@ -#!/usr/bin/ruby - -# -# 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. -# - -require 'test_base' - -class ConsoleTest < ConsoleTestBase - - def test_A_agent_presence - assert(@connection.connected?, "Connection not connected") - - agents = [] - count = 0 - while agents.size == 0 - agents = @qmfc.objects(Qmf::Query.new(:class => "agent")) - sleep(1) - count += 1 - fail("Timed out waiting for remote agent") if count > 10 - end - - agentList = @qmfc.agents - assert_equal(agentList.size, 2, "Number of agents reported by Console") - end - - def test_A_connection_settings - begin - @settings.bogusAttribute = 25 - fail("Connection settings accepted bogus attribute") - rescue - end - end - - def test_B_basic_method_invocation - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of 'parent' objects") - for seq in 0...10 - result = parent.echo(seq) - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.text, "OK", "Method Response Text") - assert_equal(result.args.sequence, seq, "Echo Response Sequence") - end - - result = parent.set_numerics("bogus") - assert_equal(result.status, 1) - assert_equal(result.text, "Invalid argument value for test") - end - - def test_C_basic_types_numeric_big - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - result = parent.set_numerics("big") - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.text, "OK", "Method Response Text") - - parent.update - - assert_equal(parent.uint64val, 0x9494949449494949) - assert_equal(parent.uint32val, 0xA5A55A5A) - assert_equal(parent.uint16val, 0xB66B) - assert_equal(parent.uint8val, 0xC7) - - assert_equal(parent.int64val, 1000000000000000000) - assert_equal(parent.int32val, 1000000000) - assert_equal(parent.int16val, 10000) - assert_equal(parent.int8val, 100) - end - - def test_C_basic_types_numeric_small - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - result = parent.set_numerics("small") - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.text, "OK", "Method Response Text") - - parent.update - - assert_equal(parent.uint64val, 4) - assert_equal(parent.uint32val, 5) - assert_equal(parent.uint16val, 6) - assert_equal(parent.uint8val, 7) - - assert_equal(parent.int64val, 8) - assert_equal(parent.int32val, 9) - assert_equal(parent.int16val, 10) - assert_equal(parent.int8val, 11) - end - - def test_C_basic_types_numeric_negative - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - result = parent.set_numerics("negative") - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.text, "OK", "Method Response Text") - - parent.update - - assert_equal(parent.uint64val, 0) - assert_equal(parent.uint32val, 0) - assert_equal(parent.uint16val, 0) - assert_equal(parent.uint8val, 0) - - assert_equal(parent.int64val, -10000000000) - assert_equal(parent.int32val, -100000) - assert_equal(parent.int16val, -1000) - assert_equal(parent.int8val, -100) - end - - def test_C_basic_types_string_short - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - strings = [] - strings << "" - strings << "A" - strings << "BC" - strings << "DEF" - strings << "GHIJKLMNOPQRSTUVWXYZ" - big = "a" - for i in 0...254 - big << "X" - end - strings << big - - strings.each do |str| - result = parent.set_short_string(str) - assert_equal(result.status, 0, "Method Response Status") - compare = str - compare = compare[0..254] if compare.size > 255 - assert_equal(result.args.value, compare, "Value returned by method") - parent.update - assert_equal(parent.sstrval, compare, "Value stored in the object") - end - end - - def test_C_basic_types_string_long - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - strings = [] - strings << "" - strings << "A" - strings << "BC" - strings << "DEF" - strings << "GHIJKLMNOPQRSTUVWXYZ" - big = "a" - for i in 0...270 - big << "X" - end - strings << big - - strings.each do |str| - result = parent.set_long_string(str) - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.args.value, str, "Value returned by method") - parent.update - assert_equal(parent.lstrval, str, "Value stored in the object") - end - end - - def test_D_userid_for_method - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of parent objects") - - result = parent.probe_userid - assert_equal(result.status, 0, "Method Response Status") - assert_equal(result.args.userid, "anonymous") - end - - def test_D_get_by_object_id - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of parent objects") - - list = @qmfc.objects(:object_id => parent.object_id) - assert_equal(list.size, 1) - - bad_oid = Qmf::ObjectId.new - list = @qmfc.objects(:object_id => bad_oid) - assert_equal(list.size, 0) - - # TODO: test a bad_oid that has an agent-bank that is not associated with an attached agent. - - end - - def test_D_get_with_agent - agents = @qmfc.agents - agents.each do |agent| - if agent.label == "agent_test_label" - parent = @qmfc.object(:class => "parent", :agent => agent) - assert(parent, "Number of parent objects") - return - end - end - - fail("Didn't find a non-broker agent") - end - - def test_E_filter_by_object_id - mgmt_exchange = @qmfc.object(:class => "exchange", 'name' => "qpid.management") - assert(mgmt_exchange, "No Management Exchange") - - bindings = @qmfc.objects(:class => "binding", 'exchangeRef' => mgmt_exchange.object_id) - if bindings.size == 0 - fail("No bindings found on management exchange") - end - - bindings.each do |binding| - assert_equal(binding.exchangeRef, mgmt_exchange.object_id) - end - end - - - def test_F_events - - @event_list.clear - @store_events = :true - - parent = @qmfc.object(:class =>"parent") - assert(parent, "Number of parent objects") - - parent.set_numerics("big") - parent.set_numerics("small") - parent.set_numerics("negative") - parent.set_short_string("TEST") - parent.set_long_string("LONG_TEST") - parent.probe_userid() - - @store_events = :false - - assert_equal(@event_list.length, 5) - - assert_equal(@event_list[0].get_attr("uint32val"), 0xA5A55A5A) - assert_equal(@event_list[0].get_attr("strval"), "Unused") - - # verify map and list event content. - # see agent for structure of listval and mapval - - listval = @event_list[0].listval - assert(listval.class == Array) - assert_equal(listval.length, 5) - assert(listval[4].class == Array) - assert_equal(listval[4].length, 4) - assert(listval[4][3].class == Hash) - assert_equal(listval[4][3]["hi"], 10) - assert_equal(listval[4][3]["lo"], 5) - assert_equal(listval[4][3]["neg"], -3) - - mapval = @event_list[0].mapval - assert(mapval.class == Hash) - assert_equal(mapval.length, 7) - assert_equal(mapval['aLong'], 9999999999) - assert_equal(mapval['aInt'], 54321) - assert_equal(mapval['aSigned'], -666) - assert_equal(mapval['aString'], "A String") - assert_equal(mapval['aFloat'], 3.1415) - assert(mapval['aMap'].class == Hash) - assert_equal(mapval['aMap'].length, 2) - assert_equal(mapval['aMap']['second'], 2) - assert(mapval['aList'].class == Array) - assert_equal(mapval['aList'].length, 4) - assert_equal(mapval['aList'][1], -1) - - assert_equal(@event_list[1]["uint32val"], 5) - assert_equal(@event_list[1].get_attr("strval"), "Unused") - assert_equal(@event_list[2].get_attr("uint32val"), 0) - assert_equal(@event_list[2].get_attr("strval"), "Unused") - assert_equal(@event_list[3].get_attr("uint32val"), 0) - assert_equal(@event_list[3].get_attr("strval"), "TEST") - assert_equal(@event_list[4].get_attr("uint32val"), 0) - assert_equal(@event_list[4].get_attr("strval"), "LONG_TEST") - - @event_list.clear - - end - - def test_G_basic_map_list_data - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of 'parent' objects") - - # see agent for structure of listval - - assert(parent.listval.class == Array) - assert_equal(parent.listval.length, 5) - assert(parent.listval[4].class == Array) - assert_equal(parent.listval[4].length, 4) - assert(parent.listval[4][3].class == Hash) - assert_equal(parent.listval[4][3]["hi"], 10) - assert_equal(parent.listval[4][3]["lo"], 5) - assert_equal(parent.listval[4][3]["neg"], -3) - - # see agent for structure of mapval - - assert(parent.mapval.class == Hash) - assert_equal(parent.mapval.length, 7) - assert_equal(parent.mapval['aLong'], 9999999999) - assert_equal(parent.mapval['aInt'], 54321) - assert_equal(parent.mapval['aSigned'], -666) - assert_equal(parent.mapval['aString'], "A String") - assert_equal(parent.mapval['aFloat'], 3.1415) - assert(parent.mapval['aMap'].class == Hash) - assert_equal(parent.mapval['aMap'].length, 2) - assert_equal(parent.mapval['aMap']['second'], 2) - assert(parent.mapval['aList'].class == Array) - assert_equal(parent.mapval['aList'].length, 4) - assert_equal(parent.mapval['aList'][1], -1) - end - - def test_H_map_list_method_call - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of 'parent' objects") - - inMap = {'aLong' => 9999999999, - 'aInt' => 54321, - 'aSigned' => -666, - 'aString' => "A String", - 'aFloat' => 3.1415, - 'aList' => ['x', -1, 'y', 2], - 'abool' => false} - - inList = ['aString', 1, -1, 2.7182, {'aMap'=> -8}, true] - - result = parent.test_map_list(inMap, inList) - assert_equal(result.status, 0) - assert_equal(result.text, "OK") - - # verify returned values - assert_equal(inMap.length, result.args['outMap'].length) - result.args['outMap'].each do |k,v| - assert_equal(inMap[k], v) - end - - assert_equal(inList.length, result.args['outList'].length) - for idx in 0...inList.length - assert_equal(inList[idx], result.args['outList'][idx]) - end - end - - def test_H_map_list_method_call_big - parent = @qmfc.object(:class => "parent") - assert(parent, "Number of 'parent' objects") - - big_string = "" - segment = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - for idx in 1...1500 - big_string = big_string + segment - end - - inMap = {'aLong' => 9999999999, - 'aInt' => 54321, - 'aSigned' => -666, - 'aString' => big_string, - 'another' => big_string, - 'aFloat' => 3.1415, - 'aList' => ['x', -1, 'y', 2], - 'abool' => false} - - inList = ['aString', 1, -1, 2.7182, {'aMap'=> -8}, true] - - result = parent.test_map_list(inMap, inList) - assert_equal(result.status, 0) - assert_equal(result.text, "OK") - - # verify returned values - assert_equal(inMap.length, result.args['outMap'].length) - result.args['outMap'].each do |k,v| - assert_equal(inMap[k], v) - end - - assert_equal(inList.length, result.args['outList'].length) - for idx in 0...inList.length - assert_equal(inList[idx], result.args['outList'][idx]) - end - end - -end - -app = ConsoleTest.new - diff --git a/cpp/bindings/qmf/tests/run_interop_tests b/cpp/bindings/qmf/tests/run_interop_tests deleted file mode 100755 index 83e7f2593b..0000000000 --- a/cpp/bindings/qmf/tests/run_interop_tests +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh - -# -# 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. -# - -# Run the qmf interoperability tests. -MY_DIR=`dirname \`which $0\`` -QPID_DIR=${MY_DIR}/../../../.. -BUILD_DIR=../../.. -PYTHON_DIR=${QPID_DIR}/python -QMF_DIR=${QPID_DIR}/extras/qmf -QMF_DIR_PY=${QMF_DIR}/src/py -BROKER_DIR=${BUILD_DIR}/src -API_DIR=${BUILD_DIR}/bindings/qmf -SPEC_DIR=${QPID_DIR}/specs - -RUBY_LIB_DIR=${API_DIR}/ruby/.libs -PYTHON_LIB_DIR=${API_DIR}/python/.libs - -trap stop_broker INT TERM QUIT - -start_broker() { - ${BROKER_DIR}/qpidd --daemon --port 0 --no-data-dir --no-module-dir --auth no > _qpidd.port - BROKER_PORT=`cat _qpidd.port` -} - -stop_broker() { - ${BROKER_DIR}/qpidd -q --port $BROKER_PORT - echo "Broker stopped" -} - -start_ruby_agent() { - ruby -I${MY_DIR}/../ruby -I${RUBY_LIB_DIR} ${MY_DIR}/agent_ruby.rb localhost $BROKER_PORT & - AGENT_PID=$! -} - -stop_ruby_agent() { - kill $AGENT_PID -} - -start_python_agent() { - PYTHONPATH="${MY_DIR}/../python:${API_DIR}/python:${PYTHON_LIB_DIR}" python ${MY_DIR}/python_agent.py localhost $BROKER_PORT & - PY_AGENT_PID=$! -} - -stop_python_agent() { - kill $PY_AGENT_PID -} - -TESTS_FAILED=0 - -if test -d ${PYTHON_DIR} ; then - start_broker - echo "Running qmf interop tests using broker on port $BROKER_PORT" - PYTHONPATH=${PYTHON_DIR}:${QMF_DIR_PY}:${MY_DIR} - export PYTHONPATH - - if test -d ${PYTHON_LIB_DIR} ; then - echo " Python Agent (external storage) vs. Pure-Python Console" - start_python_agent - echo " Python agent started at pid $PY_AGENT_PID" - ${PYTHON_DIR}/qpid-python-test -m python_console -b localhost:$BROKER_PORT $@ - RETCODE=$? - stop_python_agent - if test x$RETCODE != x0; then - echo "FAIL qmf interop tests (Python Agent)"; - TESTS_FAILED=1 - fi - fi - - if test -d ${RUBY_LIB_DIR} ; then - echo " Ruby Agent (external storage) vs. Pure-Python Console" - start_ruby_agent - echo " Ruby agent started at pid $AGENT_PID" - ${PYTHON_DIR}/qpid-python-test -m python_console -b localhost:$BROKER_PORT $@ - RETCODE=$? - if test x$RETCODE != x0; then - echo "FAIL qmf interop tests (Ruby Agent)"; - TESTS_FAILED=1 - fi - - echo " Ruby Agent (external storage) vs. Ruby Console" - ruby -I${MY_DIR} -I${MY_DIR}/../ruby -I${RUBY_LIB_DIR} ${MY_DIR}/ruby_console_test.rb localhost $BROKER_PORT $@ - RETCODE=$? - stop_ruby_agent - if test x$RETCODE != x0; then - echo "FAIL qmf interop tests (Ruby Console/Ruby Agent)"; - TESTS_FAILED=1 - fi - - if test -d ${PYTHON_LIB_DIR} ; then - echo " Python Agent (external storage) vs. Ruby Console" - start_python_agent - ruby -I${MY_DIR} -I${MY_DIR}/../ruby -I${RUBY_LIB_DIR} ${MY_DIR}/ruby_console_test.rb localhost $BROKER_PORT $@ - RETCODE=$? - stop_python_agent - if test x$RETCODE != x0; then - echo "FAIL qmf interop tests (Ruby Console/Python Agent)"; - TESTS_FAILED=1 - fi - fi - fi - - # Also against the Pure-Python console: - # Ruby agent (internal storage) - # Python agent (external and internal) - # C++ agent (external and internal) - # - # Other consoles against the same set of agents: - # Wrapped Python console - # Ruby console - # C++ console - - stop_broker - if test x$TESTS_FAILED != x0; then - echo "TEST FAILED!" - exit 1 - fi -fi diff --git a/cpp/bindings/qmf/tests/test_base.rb b/cpp/bindings/qmf/tests/test_base.rb deleted file mode 100644 index 7d4609097c..0000000000 --- a/cpp/bindings/qmf/tests/test_base.rb +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/ruby - -# -# 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. -# - -require 'qmf' -require 'socket' - -class ConsoleTestBase < Qmf::ConsoleHandler - def initialize - sleep(2) - @settings = Qmf::ConnectionSettings.new - @settings.host = ARGV[0] if ARGV.size > 0 - @settings.port = ARGV[1].to_i if ARGV.size > 1 - @connection = Qmf::Connection.new(@settings) - @qmfc = Qmf::Console.new(self) - - @broker = @qmfc.add_connection(@connection) - @broker.wait_for_stable - - @store_events = :false - @event_list = [] - - tests = [] - methods.each do |m| - name = m.to_s - tests << name if name[0..4] == "test_" - end - - failures = 0 - - tests.sort.each do |t| - begin - print "#{t}..." - $stdout.flush - send(t) - puts " Pass" - rescue - puts " Fail: #{$!}" - failures += 1 - end - end - - @qmfc.del_connection(@broker) - exit(1) if failures > 0 - end - - def assert_equal(left, right, in_text=nil) - text = " (#{in_text})" if in_text - raise "Assertion failed: #{left} != #{right}#{text}" unless left == right - end - - def assert(condition, in_text=nil) - text = " (#{in_text})" if in_text - raise "Assertion failed: #{condition} #{text}" unless condition - end - - def fail(text) - raise text - end - - def event_received(event) - @event_list << event if @store_events - end - -end diff --git a/cpp/bindings/qmf2/Makefile.am b/cpp/bindings/qmf2/Makefile.am deleted file mode 100644 index 52b1bbd457..0000000000 --- a/cpp/bindings/qmf2/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -# -# 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. -# - -if HAVE_SWIG - -EXTRA_DIST = qmf2.i -SUBDIRS = examples/cpp - -if HAVE_RUBY_DEVEL -SUBDIRS += ruby -endif - -if HAVE_PYTHON_DEVEL -SUBDIRS += python -endif - -endif diff --git a/cpp/bindings/qmf2/examples/cpp/Makefile.am b/cpp/bindings/qmf2/examples/cpp/Makefile.am deleted file mode 100644 index 84207d43c4..0000000000 --- a/cpp/bindings/qmf2/examples/cpp/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -# -# 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. -# - -INCLUDE = -I$(top_srcdir)/include - -AM_CPPFLAGS = $(INCLUDE) - -noinst_PROGRAMS=agent list_agents print_events - -agent_SOURCES=agent.cpp -agent_LDADD=$(top_builddir)/src/libqmf2.la - -list_agents_SOURCES=list_agents.cpp -list_agents_LDADD=$(top_builddir)/src/libqmf2.la - -print_events_SOURCES=print_events.cpp -print_events_LDADD=$(top_builddir)/src/libqmf2.la diff --git a/cpp/bindings/qmf2/examples/cpp/agent.cpp b/cpp/bindings/qmf2/examples/cpp/agent.cpp deleted file mode 100644 index 00554539eb..0000000000 --- a/cpp/bindings/qmf2/examples/cpp/agent.cpp +++ /dev/null @@ -1,250 +0,0 @@ -/* - * 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. - */ - -#include <qpid/messaging/Connection.h> -#include <qpid/messaging/Duration.h> -#include <qmf/AgentSession.h> -#include <qmf/AgentEvent.h> -#include <qmf/Schema.h> -#include <qmf/SchemaProperty.h> -#include <qmf/SchemaMethod.h> -#include <qmf/Data.h> -#include <qmf/DataAddr.h> -#include <qpid/types/Variant.h> -#include <string> -#include <iostream> - -using namespace std; -using namespace qmf; -using qpid::types::Variant; -using qpid::messaging::Duration; - -class ExampleAgent { -public: - ExampleAgent(const string& url); - ~ExampleAgent(); - - void setupSchema(); - void populateData(); - void run(); -private: - qpid::messaging::Connection connection; - AgentSession session; - Schema sch_exception; - Schema sch_control; - Schema sch_child; - Schema sch_event; - Data control; - DataAddr controlAddr; - - bool method(AgentEvent& event); -}; - - -ExampleAgent::ExampleAgent(const string& url) -{ - // - // Create and open a messaging connection to a broker. - // - connection = qpid::messaging::Connection(url, "{reconnect:True}"); - connection.open(); - - // - // Create, configure, and open a QMFv2 agent session using the connection. - // - session = AgentSession(connection, "{interval:30}"); - session.setVendor("profitron.com"); - session.setProduct("gizmo"); - session.setAttribute("attr1", 2000); - session.open(); -} - -ExampleAgent::~ExampleAgent() -{ - // - // Clean up the QMF session and the AMQP connection. - // - session.close(); - connection.close(); -} - -void ExampleAgent::setupSchema() -{ - // - // Create and register schema for this agent. - // - string package("com.profitron.gizmo"); - - // - // Declare a schema for a structured exception that can be used in failed - // method invocations. - // - sch_exception = Schema(SCHEMA_TYPE_DATA, package, "exception"); - sch_exception.addProperty(SchemaProperty("whatHappened", SCHEMA_DATA_STRING)); - sch_exception.addProperty(SchemaProperty("howBad", SCHEMA_DATA_INT)); - sch_exception.addProperty(SchemaProperty("details", SCHEMA_DATA_MAP)); - - // - // Declare a control object to test methods against. - // - sch_control = Schema(SCHEMA_TYPE_DATA, package, "control"); - sch_control.addProperty(SchemaProperty("state", SCHEMA_DATA_STRING)); - sch_control.addProperty(SchemaProperty("methodCount", SCHEMA_DATA_INT)); - - SchemaMethod stopMethod("stop", "{desc:'Stop Agent'}"); - stopMethod.addArgument(SchemaProperty("message", SCHEMA_DATA_STRING)); - sch_control.addMethod(stopMethod); - - SchemaMethod echoMethod("echo", "{desc:'Echo Arguments'}"); - echoMethod.addArgument(SchemaProperty("sequence", SCHEMA_DATA_INT, "{dir:INOUT}")); - echoMethod.addArgument(SchemaProperty("map", SCHEMA_DATA_MAP, "{dir:INOUT}")); - sch_control.addMethod(echoMethod); - - SchemaMethod eventMethod("event", "{desc:'Raise an Event'}"); - eventMethod.addArgument(SchemaProperty("text", SCHEMA_DATA_STRING, "{dir:IN}")); - eventMethod.addArgument(SchemaProperty("severity", SCHEMA_DATA_INT, "{dir:IN}")); - sch_control.addMethod(eventMethod); - - SchemaMethod failMethod("fail", "{desc:'Expected to Fail'}"); - failMethod.addArgument(SchemaProperty("useString", SCHEMA_DATA_BOOL, "{dir:IN}")); - failMethod.addArgument(SchemaProperty("stringVal", SCHEMA_DATA_STRING, "{dir:IN}")); - failMethod.addArgument(SchemaProperty("details", SCHEMA_DATA_MAP, "{dir:IN}")); - sch_control.addMethod(failMethod); - - SchemaMethod createMethod("create_child", "{desc:'Create Child Object'}"); - createMethod.addArgument(SchemaProperty("name", SCHEMA_DATA_STRING, "{dir:IN}")); - createMethod.addArgument(SchemaProperty("childAddr", SCHEMA_DATA_MAP, "{dir:OUT}")); - sch_control.addMethod(createMethod); - - // - // Declare the child class - // - sch_child = Schema(SCHEMA_TYPE_DATA, package, "child"); - sch_child.addProperty(SchemaProperty("name", SCHEMA_DATA_STRING)); - - // - // Declare the event class - // - sch_event = Schema(SCHEMA_TYPE_EVENT, package, "event"); - sch_event.addProperty(SchemaProperty("text", SCHEMA_DATA_STRING)); - - // - // Register our schemata with the agent session. - // - session.registerSchema(sch_exception); - session.registerSchema(sch_control); - session.registerSchema(sch_child); - session.registerSchema(sch_event); -} - -void ExampleAgent::populateData() -{ - // - // Create a control object and give it to the agent session to manage. - // - control = Data(sch_control); - control.setProperty("state", "OPERATIONAL"); - control.setProperty("methodCount", 0); - controlAddr = session.addData(control, "singleton"); -} - -void ExampleAgent::run() -{ - AgentEvent event; - bool running(true); - - while (running) { - bool valid(session.nextEvent(event, Duration::SECOND)); - if (valid && running) { - switch (event.getType()) { - case AGENT_METHOD: - running = method(event); - break; - } - } - } -} - -bool ExampleAgent::method(AgentEvent& event) -{ - const string& name(event.getMethodName()); - control.setProperty("methodCount", control.getProperty("methodCount").asUint32() + 1); - - try { - if (controlAddr == event.getDataAddr()) { - if (name == "stop") { - cout << "Stopping: message=" << event.getArguments()["message"] << endl; - session.methodSuccess(event); - return false; - } - - if (name == "echo") { - event.addReturnArgument("sequence", event.getArguments()["sequence"]); - event.addReturnArgument("map", event.getArguments()["map"]); - session.methodSuccess(event); - return true; - } - - if (name == "event") { - Data ev(sch_event); - ev.setProperty("text", event.getArguments()["text"]); - session.raiseEvent(ev, event.getArguments()["severity"]); - session.methodSuccess(event); - return true; - } - - if (name == "fail") { - if (event.getArguments()["useString"]) - session.raiseException(event, event.getArguments()["stringVal"]); - else { - Data ex(sch_exception); - ex.setProperty("whatHappened", "It Failed"); - ex.setProperty("howBad", 75); - ex.setProperty("details", event.getArguments()["details"]); - session.raiseException(event, ex); - } - } - - if (name == "create_child") { - const string& name(event.getArguments()["name"]); - Data child(sch_child); - child.setProperty("name", name); - DataAddr addr(session.addData(child, name)); - event.addReturnArgument("childAddr", addr.asMap()); - session.methodSuccess(event); - } - } - } catch (const exception& e) { - // - // Pass the exception on to the caller. - // - session.raiseException(event, e.what()); - } - - return true; -} - -int main() -{ - ExampleAgent agent("localhost"); - agent.setupSchema(); - agent.populateData(); - agent.run(); -} - diff --git a/cpp/bindings/qmf2/examples/cpp/list_agents.cpp b/cpp/bindings/qmf2/examples/cpp/list_agents.cpp deleted file mode 100644 index 327da9661f..0000000000 --- a/cpp/bindings/qmf2/examples/cpp/list_agents.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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. - */ - -#include <qpid/messaging/Connection.h> -#include <qpid/messaging/Duration.h> -#include <qmf/ConsoleSession.h> -#include <qmf/ConsoleEvent.h> -#include <qmf/Agent.h> -#include <qpid/types/Variant.h> -#include <string> -#include <iostream> - -using namespace std; -using namespace qmf; -using qpid::types::Variant; -using qpid::messaging::Duration; - -int main(int argc, char** argv) -{ - string url("localhost"); - string connectionOptions; - string sessionOptions; - - if (argc > 1) - url = argv[1]; - if (argc > 2) - connectionOptions = argv[2]; - if (argc > 3) - sessionOptions = argv[3]; - - qpid::messaging::Connection connection(url, connectionOptions); - connection.open(); - - ConsoleSession session(connection, sessionOptions); - session.open(); - - session.setAgentFilter(""); - - while (true) { - ConsoleEvent event; - if (session.nextEvent(event)) { - if (event.getType() == CONSOLE_AGENT_ADD) { - string extra; - if (event.getAgent().getName() == session.getConnectedBrokerAgent().getName()) - extra = " [Connected Broker]"; - cout << "Agent Added: " << event.getAgent().getName() << extra << endl; - } - if (event.getType() == CONSOLE_AGENT_DEL) { - if (event.getAgentDelReason() == AGENT_DEL_AGED) - cout << "Agent Aged: " << event.getAgent().getName() << endl; - else - cout << "Agent Filtered: " << event.getAgent().getName() << endl; - } - } - } -} - diff --git a/cpp/bindings/qmf2/examples/cpp/print_events.cpp b/cpp/bindings/qmf2/examples/cpp/print_events.cpp deleted file mode 100644 index 9883a19962..0000000000 --- a/cpp/bindings/qmf2/examples/cpp/print_events.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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. - */ - -#include <qpid/messaging/Connection.h> -#include <qpid/messaging/Duration.h> -#include <qmf/ConsoleSession.h> -#include <qmf/ConsoleEvent.h> -#include <qmf/Data.h> -#include <qpid/types/Variant.h> -#include <string> -#include <iostream> - -using namespace std; -using namespace qmf; -using qpid::types::Variant; -using qpid::messaging::Duration; - -int main(int argc, char** argv) -{ - string url("localhost"); - string connectionOptions; - string sessionOptions; - - if (argc > 1) - url = argv[1]; - if (argc > 2) - connectionOptions = argv[2]; - if (argc > 3) - sessionOptions = argv[3]; - - qpid::messaging::Connection connection(url, connectionOptions); - connection.open(); - - ConsoleSession session(connection, sessionOptions); - session.open(); - - while (true) { - ConsoleEvent event; - if (session.nextEvent(event)) { - if (event.getType() == CONSOLE_EVENT) { - const Data& data(event.getData(0)); - cout << "Event: timestamp=" << event.getTimestamp() << " severity=" << - event.getSeverity() << " content=" << data.getProperties() << endl; - } - } - } -} - diff --git a/cpp/bindings/qmf2/examples/python/agent.py b/cpp/bindings/qmf2/examples/python/agent.py deleted file mode 100755 index b24890f531..0000000000 --- a/cpp/bindings/qmf2/examples/python/agent.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/env python - -# -# 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. -# - -import cqpid -from qmf2 import * - - -class ExampleAgent(AgentHandler): - """ - This example agent is implemented as a single class that inherits AgentHandler. - It does not use a separate thread since once set up, it is driven strictly by - incoming method calls. - """ - - def __init__(self, url): - ## - ## Create and open a messaging connection to a broker. - ## - self.connection = cqpid.Connection(url, "{reconnect:True}") - self.session = None - self.connection.open() - - ## - ## Create, configure, and open a QMFv2 agent session using the connection. - ## - self.session = AgentSession(self.connection, "{interval:30}") - self.session.setVendor('profitron.com') - self.session.setProduct('blastinator') - self.session.setAttribute('attr1', 1000) - self.session.open() - - ## - ## Initialize the parent class. - ## - AgentHandler.__init__(self, self.session) - - - def shutdown(self): - """ - Clean up the session and connection. - """ - if self.session: - self.session.close() - self.connection.close() - - - def method(self, handle, methodName, args, subtypes, addr, userId): - """ - Handle incoming method calls. - """ - if addr == self.controlAddr: - self.control.methodCount += 1 - - try: - if methodName == "stop": - self.session.methodSuccess(handle) - self.cancel() - - elif methodName == "echo": - handle.addReturnArgument("sequence", args["sequence"]) - handle.addReturnArgument("map", args["map"]) - self.session.methodSuccess(handle) - - elif methodName == "event": - ev = Data(self.sch_event) - ev.text = args['text'] - self.session.raiseEvent(ev, args['severity']) - self.session.methodSuccess(handle) - - elif methodName == "fail": - if args['useString']: - self.session.raiseException(handle, args['stringVal']) - else: - ex = Data(self.sch_exception) - ex.whatHappened = "It Failed" - ex.howBad = 75 - ex.details = args['details'] - self.session.raiseException(handle, ex) - - elif methodName == "create_child": - name = args['name'] - child = Data(self.sch_child) - child.name = name - addr = self.session.addData(child, name) - handle.addReturnArgument("childAddr", addr.asMap()) - self.session.methodSuccess(handle) - except BaseException, e: - self.session.raiseException(handle, "%r" % e) - - - def setupSchema(self): - """ - Create and register the schema for this agent. - """ - package = "com.profitron.bntor" - - ## - ## Declare a schema for a structured exception that can be used in failed - ## method invocations. - ## - self.sch_exception = Schema(SCHEMA_TYPE_DATA, package, "exception") - self.sch_exception.addProperty(SchemaProperty("whatHappened", SCHEMA_DATA_STRING)) - self.sch_exception.addProperty(SchemaProperty("howBad", SCHEMA_DATA_INT)) - self.sch_exception.addProperty(SchemaProperty("details", SCHEMA_DATA_MAP)) - - ## - ## Declare a control object to test methods against. - ## - self.sch_control = Schema(SCHEMA_TYPE_DATA, package, "control") - self.sch_control.addProperty(SchemaProperty("state", SCHEMA_DATA_STRING)) - self.sch_control.addProperty(SchemaProperty("methodCount", SCHEMA_DATA_INT)) - - stopMethod = SchemaMethod("stop", desc="Stop Agent") - stopMethod.addArgument(SchemaProperty("message", SCHEMA_DATA_STRING, direction=DIR_IN)) - self.sch_control.addMethod(stopMethod) - - echoMethod = SchemaMethod("echo", desc="Echo Arguments") - echoMethod.addArgument(SchemaProperty("sequence", SCHEMA_DATA_INT, direction=DIR_IN_OUT)) - echoMethod.addArgument(SchemaProperty("map", SCHEMA_DATA_MAP, direction=DIR_IN_OUT)) - self.sch_control.addMethod(echoMethod) - - eventMethod = SchemaMethod("event", desc="Raise an Event") - eventMethod.addArgument(SchemaProperty("text", SCHEMA_DATA_STRING, direction=DIR_IN)) - eventMethod.addArgument(SchemaProperty("severity", SCHEMA_DATA_INT, direction=DIR_IN)) - self.sch_control.addMethod(eventMethod) - - failMethod = SchemaMethod("fail", desc="Expected to Fail") - failMethod.addArgument(SchemaProperty("useString", SCHEMA_DATA_BOOL, direction=DIR_IN)) - failMethod.addArgument(SchemaProperty("stringVal", SCHEMA_DATA_STRING, direction=DIR_IN)) - failMethod.addArgument(SchemaProperty("details", SCHEMA_DATA_MAP, direction=DIR_IN)) - self.sch_control.addMethod(failMethod) - - createMethod = SchemaMethod("create_child", desc="Create Child Object") - createMethod.addArgument(SchemaProperty("name", SCHEMA_DATA_STRING, direction=DIR_IN)) - createMethod.addArgument(SchemaProperty("childAddr", SCHEMA_DATA_MAP, direction=DIR_OUT)) - self.sch_control.addMethod(createMethod) - - ## - ## Declare a child object - ## - self.sch_child = Schema(SCHEMA_TYPE_DATA, package, "child") - self.sch_child.addProperty(SchemaProperty("name", SCHEMA_DATA_STRING)) - - ## - ## Declare the event class - ## - self.sch_event = Schema(SCHEMA_TYPE_EVENT, package, "event") - self.sch_event.addProperty(SchemaProperty("text", SCHEMA_DATA_STRING)) - - ## - ## Register our schemata with the agent session. - ## - self.session.registerSchema(self.sch_exception) - self.session.registerSchema(self.sch_control) - self.session.registerSchema(self.sch_child) - self.session.registerSchema(self.sch_event) - - - def populateData(self): - """ - Create a control object and give it to the agent session to manage. - """ - self.control = Data(self.sch_control) - self.control.state = "OPERATIONAL" - self.control.methodCount = 0 - self.controlAddr = self.session.addData(self.control, "singleton") - - -try: - agent = ExampleAgent("localhost") - agent.setupSchema() - agent.populateData() - agent.run() # Use agent.start() to launch the agent in a separate thread - agent.shutdown() -except Exception, e: - print "Exception Caught:", e - - diff --git a/cpp/bindings/qmf2/examples/python/find_agents.py b/cpp/bindings/qmf2/examples/python/find_agents.py deleted file mode 100644 index 5fd71b3f1c..0000000000 --- a/cpp/bindings/qmf2/examples/python/find_agents.py +++ /dev/null @@ -1,57 +0,0 @@ -# -# 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. -# - -import cqpid -import qmf2 - -class FindAgents(qmf2.ConsoleHandler): - - def __init__(self, session): - qmf2.ConsoleHandler.__init__(self, session) - - def agentAdded(self, agent): - print "Agent Added: %r" % agent - - def agentDeleted(self, agent, reason): - print "Agent Deleted: %r reason: %s" % (agent, reason) - - def agentRestarted(self, agent): - print "Agent Restarted: %r" % agent - - def agentSchemaUpdated(self, agent): - print "Agent Schema Updated: %r" % agent - - def eventRaised(self, agent, data, timestamp, severity): - print "Event: data=%r time=%d sev=%d" % (data.getProperties(), timestamp, severity) - - - -url = "localhost" -options = "" - -connection = cqpid.Connection(url, options) -connection.open() - -session = qmf2.ConsoleSession(connection) -session.open() -session.setAgentFilter("[]") - -main = FindAgents(session) -main.run() - diff --git a/cpp/bindings/qmf2/examples/ruby/agent_external.rb b/cpp/bindings/qmf2/examples/ruby/agent_external.rb deleted file mode 100644 index 75171931ed..0000000000 --- a/cpp/bindings/qmf2/examples/ruby/agent_external.rb +++ /dev/null @@ -1,84 +0,0 @@ -# -# 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. -# - -require 'cqpid' -require 'qmf2' - -class MyAgent < Qmf2::AgentHandler - - def initialize(session, data) - super(session) - @data = data - end - - def authorize_query(query, user_id) - puts "Authorizing #{user_id}" - return true - end - - def get_query(context, query, user_id) - puts "Get Query" - context.response(@data) - context.complete - end - - def method_call(context, method_name, data_addr, args, user_id) - puts "Method: #{method_name}" - context._success - end - -end - - -class Program - - def initialize(url) - @url = url - @sess_options = "{allow-queries:False, external:True}" - end - - def setup_schema(agent) - @cls_control = Qmf2::Schema.new(Qmf2::SCHEMA_TYPE_DATA, "org.package", "control") - @cls_control.add_property(Qmf2::SchemaProperty.new("state", Qmf2::SCHEMA_DATA_STRING)) - agent.register_schema(@cls_control) - end - - def run - connection = Cqpid::Connection.new(@url) - connection.open - - session = Qmf2::AgentSession.new(connection, @sess_options) - session.set_vendor("package.org") - session.set_product("external_agent") - setup_schema(session) - session.open - - @control = Qmf2::Data.new(@cls_control) - @control.state = "OPERATIONAL-EXTERNAL" - @control.set_addr(Qmf2::DataAddr.new("singleton")) - - main = MyAgent.new(session, @control) - main.run - end -end - -prog = Program.new("localhost") -prog.run - - diff --git a/cpp/bindings/qmf2/examples/ruby/agent_internal.rb b/cpp/bindings/qmf2/examples/ruby/agent_internal.rb deleted file mode 100644 index fc49a885f7..0000000000 --- a/cpp/bindings/qmf2/examples/ruby/agent_internal.rb +++ /dev/null @@ -1,77 +0,0 @@ -# -# 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. -# - -require 'cqpid' -require 'qmf2' - -class MyAgent < Qmf2::AgentHandler - - def initialize(session) - super(session) - end - - def authorize_query(query, user_id) - puts "Authorizing #{user_id}" - return true - end - - def method_call(context, method_name, data_addr, args, user_id) - puts "Method: #{method_name}" - context._success - end - -end - - -class Program - - def initialize(url) - @url = url - @sess_options = "{allow-queries:False}" - end - - def setup_schema(agent) - @cls_control = Qmf2::Schema.new(Qmf2::SCHEMA_TYPE_DATA, "org.package", "control") - @cls_control.add_property(Qmf2::SchemaProperty.new("state", Qmf2::SCHEMA_DATA_STRING)) - agent.register_schema(@cls_control) - end - - def run - connection = Cqpid::Connection.new(@url) - connection.open - - session = Qmf2::AgentSession.new(connection, @sess_options) - session.set_vendor("package.org") - session.set_product("internal_agent") - setup_schema(session) - session.open - - control = Qmf2::Data.new(@cls_control) - control.state = "OPERATIONAL" - session.add_data(control) - - main = MyAgent.new(session) - main.run - end -end - -prog = Program.new("localhost") -prog.run - - diff --git a/cpp/bindings/qmf2/examples/ruby/find_agents.rb b/cpp/bindings/qmf2/examples/ruby/find_agents.rb deleted file mode 100644 index 41de7e5abe..0000000000 --- a/cpp/bindings/qmf2/examples/ruby/find_agents.rb +++ /dev/null @@ -1,63 +0,0 @@ -# -# 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. -# - -require 'cqpid' -require 'qmf2' - -class FindAgents < Qmf2::ConsoleHandler - - def initialize(session) - super(session) - end - - def agent_added(agent) - puts "Agent Added: #{agent.name}" - end - - def agent_deleted(agent, reason) - puts "Agent Deleted: #{agent.to_s} reason: #{reason}" - end - - def agent_restarted(agent) - puts "Agent Restarted: #{agent.to_s} epoch: #{agent.epoch}" - end - - def agent_schema_updated(agent) - puts "Agent with new Schemata: #{agent.to_s}" - end - - def event_raised(agent, data, timestamp, severity) - puts "Event Raised time=#{timestamp} sev=#{severity} data=#{data.properties}" - end -end - - -url = "localhost" -options = "" - -connection = Cqpid::Connection.new(url, options) -connection.open - -session = Qmf2::ConsoleSession.new(connection) -session.open -session.set_agent_filter("[]") - -main = FindAgents.new(session) -main.run - diff --git a/cpp/bindings/qmf2/python/Makefile.am b/cpp/bindings/qmf2/python/Makefile.am deleted file mode 100644 index 7adc62eddb..0000000000 --- a/cpp/bindings/qmf2/python/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -# -# 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. -# - -if HAVE_PYTHON_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES) - -generated_file_list = \ - cqmf2.cpp \ - cqmf2.py - -EXTRA_DIST = python.i -BUILT_SOURCES = $(generated_file_list) -SWIG_FLAGS = -w362,401 - -$(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmf2.i $(srcdir)/../../swig_python_typemaps.i - swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/python.i - -pylibdir = $(PYTHON_LIB) - -lib_LTLIBRARIES = _cqmf2.la -cqpiddir = $(pythondir) -cqpid_PYTHON = qmf2.py cqmf2.py - -_cqmf2_la_LDFLAGS = -avoid-version -module -shared -_cqmf2_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs $(top_builddir)/src/libqmf2.la -_cqmf2_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf -I$(PYTHON_INC) -fno-strict-aliasing -nodist__cqmf2_la_SOURCES = cqmf2.cpp - -CLEANFILES = $(generated_file_list) - -endif # HAVE_PYTHON_DEVEL - diff --git a/cpp/bindings/qmf2/python/python.i b/cpp/bindings/qmf2/python/python.i deleted file mode 100644 index 02dd1632b0..0000000000 --- a/cpp/bindings/qmf2/python/python.i +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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. - */ - -%module cqmf2 -%include "std_string.i" -%include "../../swig_python_typemaps.i" - -/* Define the general-purpose exception handling */ -%exception { - std::string error; - Py_BEGIN_ALLOW_THREADS; - try { - $action - } catch (qpid::types::Exception& ex) { - error = ex.what(); - } - Py_END_ALLOW_THREADS; - if (!error.empty()) { - PyErr_SetString(PyExc_RuntimeError, error.c_str()); - return NULL; - } -} - -%include "../qmf2.i" - diff --git a/cpp/bindings/qmf2/python/qmf2.py b/cpp/bindings/qmf2/python/qmf2.py deleted file mode 100644 index 9f2d8556f4..0000000000 --- a/cpp/bindings/qmf2/python/qmf2.py +++ /dev/null @@ -1,933 +0,0 @@ -# -# 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. -# - -import cqmf2 -import cqpid -from threading import Thread -import time - -#=================================================================================================== -# CONSTANTS -#=================================================================================================== -SCHEMA_TYPE_DATA = cqmf2.SCHEMA_TYPE_DATA -SCHEMA_TYPE_EVENT = cqmf2.SCHEMA_TYPE_EVENT - -SCHEMA_DATA_VOID = cqmf2.SCHEMA_DATA_VOID -SCHEMA_DATA_BOOL = cqmf2.SCHEMA_DATA_BOOL -SCHEMA_DATA_INT = cqmf2.SCHEMA_DATA_INT -SCHEMA_DATA_FLOAT = cqmf2.SCHEMA_DATA_FLOAT -SCHEMA_DATA_STRING = cqmf2.SCHEMA_DATA_STRING -SCHEMA_DATA_MAP = cqmf2.SCHEMA_DATA_MAP -SCHEMA_DATA_LIST = cqmf2.SCHEMA_DATA_LIST -SCHEMA_DATA_UUID = cqmf2.SCHEMA_DATA_UUID - -ACCESS_READ_CREATE = cqmf2.ACCESS_READ_CREATE -ACCESS_READ_WRITE = cqmf2.ACCESS_READ_WRITE -ACCESS_READ_ONLY = cqmf2.ACCESS_READ_ONLY - -DIR_IN = cqmf2.DIR_IN -DIR_OUT = cqmf2.DIR_OUT -DIR_IN_OUT = cqmf2.DIR_IN_OUT - -SEV_EMERG = cqmf2.SEV_EMERG -SEV_ALERT = cqmf2.SEV_ALERT -SEV_CRIT = cqmf2.SEV_CRIT -SEV_ERROR = cqmf2.SEV_ERROR -SEV_WARN = cqmf2.SEV_WARN -SEV_NOTICE = cqmf2.SEV_NOTICE -SEV_INFORM = cqmf2.SEV_INFORM -SEV_DEBUG = cqmf2.SEV_DEBUG - -QUERY_OBJECT = cqmf2.QUERY_OBJECT -QUERY_OBJECT_ID = cqmf2.QUERY_OBJECT_ID -QUERY_SCHEMA = cqmf2.QUERY_SCHEMA -QUERY_SCHEMA_ID = cqmf2.QUERY_SCHEMA_ID - - -#=================================================================================================== -# EXCEPTIONS -#=================================================================================================== -class QmfAgentException(Exception): - """ - This exception class represents an exception that was raised by a remote agent and propagated - to a console via QMFv2. - """ - def __init__(self, data): - self.value = data - - def __str__(self): - return "From Remote Agent: %r" % self.value.getProperties() - - -#=================================================================================================== -# AGENT HANDLER -#=================================================================================================== -class AgentHandler(Thread): - """ - Agent applications can create a subclass of AgentHandler to handle asynchronous events (like - incoming method calls) that occur on the agent session. AgentHandler contains a thread on which - the handler callbacks are invoked. - - There are two ways to operate the handler: Cause it to start its own thread by calling - start() and later stop it by calling cancel(); and directly calling run() to operate it on the - main thread. - - Example Usage: - - class MyAgentHandler(qmf2.AgentHandler): - def __init__(self, agentSession): - qmf2.AgentHandler.__init__(self, agentSession) - def method(self, handle, methodName, args, subtypes, addr, userId): - ...method handling code goes here... - For success, add output arguments: - handle.addReturnArgument("argname", argvalue) - ... - self.agent.methodSuccess(handle) - For failure, raise an exception: - self.agent.raiseException(handle, "error text") - Or, if you have created a schema for a structured exception: - ex = qmf2.Data(exceptionSchema) - ex.whatHappened = "it failed" - ex.howBad = 84 - ex.detailMap = {} - ... - self.agent.raiseException(handle, ex) - """ - - def __init__(self, agentSession): - Thread.__init__(self) - self.__agent = agentSession - self.__running = True - - def cancel(self): - """ - Stop the handler thread. - """ - self.__running = None - - def run(self): - event = cqmf2.AgentEvent() - while self.__running: - valid = self.__agent._impl.nextEvent(event, cqpid.Duration.SECOND) - if valid and self.__running: - if event.getType() == cqmf2.AGENT_METHOD: - self.method(event, event.getMethodName(), event.getArguments(), event.getArgumentSubtypes(), - DataAddr(event.getDataAddr()), event.getUserId()) - - def method(self, handle, methodName, args, subtypes, addr, userId): - """ - Override this method to create your own method handler. - """ - pass - - -#=================================================================================================== -# CONSOLE HANDLER -#=================================================================================================== -class ConsoleHandler(Thread): - - def __init__(self, consoleSession): - Thread.__init__(self) - self.__session = consoleSession - self.__running = True - - def cancel(self): - """ - Stop the handler thread. - """ - self.__running = None - - def run(self): - event = cqmf2.ConsoleEvent() - while self.__running: - valid = self.__session._impl.nextEvent(event, cqpid.Duration.SECOND) - if valid and self.__running: - if event.getType() == cqmf2.CONSOLE_AGENT_ADD: - self.agentAdded(Agent(event.getAgent())) - - elif event.getType() == cqmf2.CONSOLE_AGENT_DEL: - reason = 'filter' - if event.getAgentDelReason() == cqmf2.AGENT_DEL_AGED: - reason = 'aged' - self.agentDeleted(Agent(event.getAgent()), reason) - - elif event.getType() == cqmf2.CONSOLE_AGENT_RESTART: - self.agentRestarted(Agent(event.getAgent())) - - elif event.getType() == cqmf2.CONSOLE_AGENT_SCHEMA_UPDATE: - self.agentSchemaUpdated(Agent(event.getAgent())) - - elif event.getType() == cqmf2.CONSOLE_EVENT: - self.eventRaised(Agent(event.getAgent()), Data(event.getData(0)), event.getTimestamp(), event.getSeverity()) - - ## - ## The following methods are intended to be overridden in a sub-class. They are - ## handlers for events that occur on QMF consoles. - ## - - # - # A new agent, whose attributes match the console's agent filter, has been discovered. - # - def agentAdded(self, agent): - pass - - # - # A known agent has been removed from the agent list. There are two possible reasons - # for agent deletion: - # - # 1) 'aged' - The agent hasn't been heard from for the maximum age interval and is - # presumed dead. - # 2) 'filter' - The agent no longer matches the console's agent-filter and has been - # effectively removed from the agent list. Such occurrences are likely - # to be seen immediately after setting the filter to a new value. - # - def agentDeleted(self, agent, reason): - pass - - # - # An agent-restart was detected. This occurs when the epoch number advertised by the - # agent changes. It indicates that the agent in question was shut-down/crashed and - # restarted. - # - def agentRestarted(self, agent): - pass - - # - # The agent has registered new schema information which can now be queried, if desired. - # - def agentSchemaUpdated(self, agent): - pass - - # - # An agent raised an event. The 'data' argument is a Data object that contains the - # content of the event. - # - def eventRaised(self, agent, data, timestamp, severity): - pass - - -#=================================================================================================== -# CONSOLE SESSION -#=================================================================================================== -class ConsoleSession(object): - """ - """ - - def __init__(self, connection, options=""): - """ - ## The options string is of the form "{key:value,key:value}". The following keys are supported: - ## - ## domain:NAME - QMF Domain to join [default: "default"] - ## max-agent-age:N - Maximum time, in minutes, that we will tolerate not hearing from - ## an agent before deleting it [default: 5] - ## listen-on-direct:{True,False} - If True: Listen on legacy direct-exchange address for backward compatibility [default] - ## If False: Listen only on the routable direct address - ## strict-security:{True,False} - If True: Cooperate with the broker to enforce strict access control to the network - ## - If False: Operate more flexibly with regard to use of messaging facilities [default] - ## - """ - self._impl = cqmf2.ConsoleSession(connection, options) - - def setDomain(self, domain): - """ - """ - self._impl.setDomain(domain) - - def setAgentFilter(self, filt): - """ - """ - self._impl.setAgentFilter(filt) - - def open(self): - """ - """ - self._impl.open() - - def close(self): - """ - """ - self._impl.close() - - def getAgents(self): - """ - """ - result = [] - count = self._impl.getAgentCount() - for i in range(count): - result.append(Agent(self._impl.getAgent(i))) - return result - - def getConnectedBrokerAgent(self): - """ - """ - return Agent(self._impl.getConnectedBrokerAgent()) - - ## TODO: Async methods - -#=================================================================================================== -# AGENT SESSION -#=================================================================================================== -class AgentSession(object): - """ - """ - - def __init__(self, connection, options=""): - """ - ## The options string is of the form "{key:value,key:value}". The following keys are supported: - ## - ## interval:N - Heartbeat interval in seconds [default: 60] - ## external:{True,False} - Use external data storage (queries and subscriptions are pass-through) [default: False] - ## allow-queries:{True,False} - If True: automatically allow all queries [default] - ## If False: generate an AUTH_QUERY event to allow per-query authorization - ## allow-methods:{True,False} - If True: automatically allow all methods [default] - ## If False: generate an AUTH_METHOD event to allow per-method authorization - ## max-subscriptions:N - Maximum number of concurrent subscription queries permitted [default: 64] - ## min-sub-interval:N - Minimum publish interval (in milliseconds) permitted for a subscription [default: 3000] - ## sub-lifetime:N - Lifetime (in seconds with no keepalive) for a subscription [default: 300] - ## public-events:{True,False} - If True: QMF events are sent to the topic exchange [default] - ## If False: QMF events are only sent to authorized subscribers - ## listen-on-direct:{True,False} - If True: Listen on legacy direct-exchange address for backward compatibility [default] - ## If False: Listen only on the routable direct address - ## strict-security:{True,False} - If True: Cooperate with the broker to enforce strict access control to the network - ## - If False: Operate more flexibly with regard to use of messaging facilities [default] - ## - """ - self._impl = cqmf2.AgentSession(connection, options) - - def setDomain(self, domain): - """ - """ - self._impl.setDomain(domain) - - def setVendor(self, val): - """ - """ - self._impl.setVendor(val) - - def setProduct(self, val): - """ - """ - self._impl.setProduct(val) - - def setInstance(self, val): - """ - """ - self._impl.setInstance(val) - - def setAttribute(self, key, val): - """ - """ - self._impl.setAttribute(key, val) - - def open(self): - """ - """ - self._impl.open() - - def close(self): - """ - """ - self._impl.close() - - def registerSchema(self, schema): - """ - """ - self._impl.registerSchema(schema._impl) - - def addData(self, data, name="", persistent=False): - """ - """ - return DataAddr(self._impl.addData(data._impl, name, persistent)) - - def delData(self, addr): - """ - """ - self._impl.delData(addr._impl) - - def methodSuccess(self, handle): - """ - """ - self._impl.methodSuccess(handle) - - def raiseException(self, handle, data): - """ - """ - if data.__class__ == Data: - self._impl.raiseException(handle, data._impl) - else: - self._impl.raiseException(handle, data) - - def raiseEvent(self, data, severity=None): - """ - """ - if not severity: - self._impl.raiseEvent(data._impl) - else: - if (severity.__class__ != int and severity.__class__ != long) or severity < 0 or severity > 7: - raise Exception("Severity must be an int between 0..7") - self._impl.raiseEvent(data._impl, severity); - - -#=================================================================================================== -# AGENT PROXY -#=================================================================================================== -class Agent(object): - """ - """ - - def __init__(self, impl): - self._impl = impl - - def __repr__(self): - return self.getName() - - def getName(self): - """ - """ - return self._impl.getName() - - def getEpoch(self): - """ - """ - return self._impl.getEpoch() - - def getVendor(self): - """ - """ - return self._impl.getVendor() - - def getProduct(self): - """ - """ - return self._impl.getProduct() - - def getInstance(self): - """ - """ - return self._impl.getInstance() - - def getAttributes(self): - """ - """ - return self._impl.getAttributes() - - def query(self, q, timeout=30): - """ - """ - if q.__class__ == Query: - q_arg = q._impl - else: - q_arg = q - dur = cqpid.Duration(cqpid.Duration.SECOND.getMilliseconds() * timeout) - result = self._impl.query(q_arg, dur) - if result.getType() == cqmf2.CONSOLE_EXCEPTION: - raise Exception(Data(result.getData(0))) - if result.getType() != cqmf2.CONSOLE_QUERY_RESPONSE: - raise Exception("Protocol error, expected CONSOLE_QUERY_RESPONSE, got %d" % result.getType()) - dataList = [] - count = result.getDataCount() - for i in range(count): - dataList.append(Data(result.getData(i))) - return dataList - - def loadSchemaInfo(self, timeout=30): - """ - """ - dur = cqpid.Duration(cqpid.Duration.SECOND.getMilliseconds() * timeout) - self._impl.querySchema(dur) - - def getPackages(self): - """ - """ - result = [] - count = self._impl.getPackageCount() - for i in range(count): - result.append(self._impl.getPackage(i)) - return result - - def getSchemaIds(self, package): - """ - """ - result = [] - count = self._impl.getSchemaIdCount(package) - for i in range(count): - result.append(SchemaId(self._impl.getSchemaId(package, i))) - return result - - def getSchema(self, schemaId, timeout=30): - """ - """ - dur = cqpid.Duration(cqpid.Duration.SECOND.getMilliseconds() * timeout) - return Schema(self._impl.getSchema(schemaId._impl, dur)) - - ## TODO: Async query - ## TODO: Agent method - -#=================================================================================================== -# QUERY -#=================================================================================================== -class Query(object): - """ - """ - - def __init__(self, arg1, arg2=None, arg3=None, *kwargs): - """ - """ - if arg1.__class__ == DataAddr: - self._impl = cqmf2.Query(arg1._impl) - - def getAddr(self): - """ - """ - return DataAddr(self._impl.getDataAddr()) - - def getSchemaId(self): - """ - """ - return SchemaId(self._impl.getSchemaId()) - - def getPredicate(self): - """ - """ - return self._impl.getPredicate() - - def matches(self, data): - """ - """ - m = data - if data.__class__ == Data: - m = data.getProperties() - return self._impl.matchesPredicate(m) - -#=================================================================================================== -# DATA -#=================================================================================================== -class Data(object): - """ - """ - - def __init__(self, arg=None): - """ - """ - if arg == None: - self._impl = cqmf2.Data() - elif arg.__class__ == cqmf2.Data: - self._impl = arg - elif arg.__class__ == Schema: - self._impl = cqmf2.Data(arg._impl) - else: - raise Exception("Unsupported initializer for Data") - self._schema = None - - def getSchemaId(self): - """ - """ - if self._impl.hasSchema(): - return SchemaId(self._impl.getSchemaId()) - return None - - def getAddr(self): - """ - """ - if self._impl.hasAddr(): - return DataAddr(self._impl.getAddr()) - return None - - def getAgent(self): - """ - """ - return Agent(self._impl.getAgent()) - - def update(self, timeout=5): - dur = cqpid.Duration(cqpid.Duration.SECOND.getMilliseconds() * timeout) - agent = self._impl.getAgent() - query = cqmf2.Query(self._impl.getAddr()) - result = agent.query(query, dur) - if result.getType() != cqmf2.CONSOLE_QUERY_RESPONSE: - raise "Update query failed" - if result.getDataCount == 0: - raise "Object no longer exists on agent" - self._impl = cqmf2.Data(result.getData(0)) - - def getProperties(self): - """ - """ - return self._impl.getProperties(); - - def _getSchema(self): - if not self._schema: - if not self._impl.hasSchema(): - raise Exception("Data object has no schema") - self._schema = Schema(self._impl.getAgent().getSchema(self._impl.getSchemaId())) - - def _invoke(self, name, args, kwargs): - ## - ## Get local copies of the agent and the address of the data object - ## - agent = self._impl.getAgent() - addr = self._impl.getAddr() - - ## - ## Set up the timeout duration for the method call. Set the default and override - ## it if the _timeout keyword arg was supplied. - ## - timeout = 30 - if '_timeout' in kwargs: - timeout = kwargs['_timeout'] - dur = cqpid.Duration(cqpid.Duration.SECOND.getMilliseconds() * timeout) - - ## - ## Get the list of arguments from the schema, isolate those that are IN or IN_OUT, - ## validate that we have the right number of arguments supplied, and marshall them - ## into a map for transmission. - ## - arglist = [] - methods = self._schema.getMethods() - for m in methods: - if m.getName() == name: - arglist = m.getArguments() - break - argmap = {} - count = 0 - for a in arglist: - if a.getDirection() == DIR_IN or a.getDirection() == DIR_IN_OUT: - count += 1 - if count != len(args): - raise Exception("Wrong number of arguments: expected %d, got %d" % (count, len(args))) - i = 0 - for a in arglist: - if a.getDirection() == DIR_IN or a.getDirection() == DIR_IN_OUT: - argmap[a.getName()] = args[i] - i += 1 - - ## - ## Invoke the method through the agent proxy. - ## - result = agent.callMethod(name, argmap, addr, dur) - - ## - ## If the agent sent an exception, raise it in a QmfAgentException. - ## - if result.getType() == cqmf2.CONSOLE_EXCEPTION: - exdata = result.getData(0) - raise QmfAgentException(exdata) - - ## - ## If a successful method response was received, collect the output arguments into a map - ## and return them to the caller. - ## - if result.getType() != cqmf2.CONSOLE_METHOD_RESPONSE: - raise Exception("Protocol error: Unexpected event type in method-response: %d" % result.getType()) - return result.getArguments() - - def __getattr__(self, name): - ## - ## If we have a schema and an address, check to see if this name is the name of a method. - ## - if self._impl.hasSchema() and self._impl.hasAddr() and self._impl.hasAgent(): - ## - ## Get the schema for the data object. Note that this call will block if the remote agent - ## needs to be queried for the schema (i.e. the schema is not in the local cache). - ## - self._getSchema() - methods = self._schema.getMethods() - - ## - ## If the name matches a method in the schema, return a closure to be invoked. - ## - for method in methods: - if name == method.getName(): - return lambda *args, **kwargs : self._invoke(name, args, kwargs) - - ## - ## This is not a method call, return the property matching the name. - ## - return self._impl.getProperty(name) - - def __setattr__(self, name, value): - if name[0] == '_': - super.__setattr__(self, name, value) - return - self._impl.setProperty(name, value) - -#=================================================================================================== -# DATA ADDRESS -#=================================================================================================== -class DataAddr(object): - """ - """ - - def __init__(self, arg, agentName=""): - if arg.__class__ == dict: - self._impl = cqmf2.DataAddr(arg) - elif arg.__class__ == cqmf2.DataAddr: - self._impl = arg - else: - self._impl = cqmf2.DataAddr(arg, agentName) - - def __repr__(self): - return "%s:%s" % (self.getAgentName(), self.getName()) - - def __eq__(self, other): - return self.getAgentName() == other.getAgentName() and \ - self.getName() == other.getName() and \ - self.getAgentEpoch() == other.getAgentEpoch() - - def asMap(self): - """ - """ - return self._impl.asMap() - - def getAgentName(self): - """ - """ - return self._impl.getAgentName() - - def getName(self): - """ - """ - return self._impl.getName() - - def getAgentEpoch(self): - """ - """ - return self._impl.getAgentEpoch() - -#=================================================================================================== -# SCHEMA ID -#=================================================================================================== -class SchemaId(object): - """ - """ - - def __init__(self, impl): - self._impl = impl - - def __repr__(self): - return "%s:%s" % (self.getPackageName(), self.getName()) - - def getType(self): - """ - """ - return self._impl.getType() - - def getPackageName(self): - """ - """ - return self._impl.getPackageName() - - def getName(self): - """ - """ - return self._impl.getName() - - def getHash(self): - """ - """ - return self._impl.getHash() - -#=================================================================================================== -# SCHEMA -#=================================================================================================== -class Schema(object): - """ - """ - - def __init__(self, stype, packageName=None, className=None, desc=None, sev=None): - if stype.__class__ == cqmf2.Schema: - self._impl = stype - else: - self._impl = cqmf2.Schema(stype, packageName, className) - if desc: - self._impl.setDesc(desc) - if sev: - self._impl.setDefaultSeverity(sev) - - def __repr__(self): - return "QmfSchema:%r" % SchemaId(self._impl.getSchemaId()) - - def finalize(self): - """ - """ - self._impl.finalize() - - def getSchemaId(self): - """ - """ - return SchemaId(self._impl.getSchemaId()) - - def getDesc(self): - """ - """ - return self._impl.getDesc() - - def getSev(self): - """ - """ - return self._impl.getDefaultSeverity() - - def addProperty(self, prop): - """ - """ - self._impl.addProperty(prop._impl) - - def addMethod(self, meth): - """ - """ - self._impl.addMethod(meth._impl) - - def getProperties(self): - """ - """ - props = [] - count = self._impl.getPropertyCount() - for i in range(count): - props.append(SchemaProperty(self._impl.getProperty(i))) - return props - - def getMethods(self): - """ - """ - meths = [] - count = self._impl.getMethodCount() - for i in range(count): - meths.append(SchemaMethod(self._impl.getMethod(i))) - return meths - -#=================================================================================================== -# SCHEMA PROPERTY -#=================================================================================================== -class SchemaProperty(object): - """ - """ - - def __init__(self, name, dtype=None, **kwargs): - """ - """ - if name.__class__ == cqmf2.SchemaProperty: - self._impl = name - else: - self._impl = cqmf2.SchemaProperty(name, dtype) - if 'access' in kwargs: - self._impl.setAccess(kwargs['access']) - if 'index' in kwargs: - self._impl.setIndex(kwargs['index']) - if 'optional' in kwargs: - self._impl.setOptional(kwargs['optional']) - if 'unit' in kwargs: - self._impl.setUnit(kwargs['unit']) - if 'desc' in kwargs: - self._impl.setDesc(kwargs['desc']) - if 'subtype' in kwargs: - self._impl.setSubtype(kwargs['subtype']) - if 'direction' in kwargs: - self._impl.setDirection(kwargs['direction']) - - def __repr__(self): - return self._impl.getName() - - def getName(self): - """ - """ - return self._impl.getName() - - def getType(self): - """ - """ - return self._impl.getType() - - def getAccess(self): - """ - """ - return self._impl.getAccess() - - def isIndex(self): - """ - """ - return self._impl.isIndex() - - def isOptional(self): - """ - """ - return self._impl.isOptional() - - def getUnit(self): - """ - """ - return self._impl.getUnit() - - def getDesc(self): - """ - """ - return self._impl.getDesc() - - def getSubtype(self): - """ - """ - return self._impl.getSubtype() - - def getDirection(self): - """ - """ - return self._impl.getDirection() - -#=================================================================================================== -# SCHEMA METHOD -#=================================================================================================== -class SchemaMethod(object): - """ - """ - - def __init__(self, name, **kwargs): - """ - """ - if name.__class__ == cqmf2.SchemaMethod: - self._impl = name - else: - self._impl = cqmf2.SchemaMethod(name) - if 'desc' in kwargs: - self._impl.setDesc(kwargs['desc']) - - def __repr__(self): - return "%s()" % self._impl.getName() - - def getName(self): - """ - """ - return self._impl.getName() - - def getDesc(self): - """ - """ - return self._impl.getDesc() - - def addArgument(self, arg): - """ - """ - self._impl.addArgument(arg._impl) - - def getArguments(self): - """ - """ - result = [] - count = self._impl.getArgumentCount() - for i in range(count): - result.append(SchemaProperty(self._impl.getArgument(i))) - return result - diff --git a/cpp/bindings/qmf2/qmf2.i b/cpp/bindings/qmf2/qmf2.i deleted file mode 100644 index 0f573fe3e6..0000000000 --- a/cpp/bindings/qmf2/qmf2.i +++ /dev/null @@ -1,66 +0,0 @@ -/* - * 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. - */ - -%{ - -#include <qmf/exceptions.h> -#include <qmf/AgentEvent.h> -#include <qmf/Agent.h> -#include <qmf/AgentSession.h> -#include <qmf/ConsoleEvent.h> -#include <qmf/ConsoleSession.h> -#include <qmf/DataAddr.h> -#include <qmf/Data.h> -#include <qmf/Query.h> -#include <qmf/Schema.h> -#include <qmf/SchemaId.h> -#include <qmf/SchemaMethod.h> -#include <qmf/SchemaProperty.h> -#include <qmf/SchemaTypes.h> -#include <qmf/Subscription.h> - -%} - -%include <qpid/ImportExport.h> -%include <qpid/messaging/ImportExport.h> -%include <qpid/messaging/Duration.h> - -%include <qmf/ImportExport.h> -%include <qmf/exceptions.h> -%include <qmf/AgentEvent.h> -%include <qmf/Agent.h> -%include <qmf/AgentSession.h> -%include <qmf/ConsoleEvent.h> -%include <qmf/ConsoleSession.h> -%include <qmf/DataAddr.h> -%include <qmf/Data.h> -%include <qmf/Query.h> -%include <qmf/Schema.h> -%include <qmf/SchemaId.h> -%include <qmf/SchemaMethod.h> -%include <qmf/SchemaProperty.h> -%include <qmf/SchemaTypes.h> -%include <qmf/Subscription.h> - -%{ - -using namespace qmf; - -%}; - diff --git a/cpp/bindings/qmf2/ruby/Makefile.am b/cpp/bindings/qmf2/ruby/Makefile.am deleted file mode 100644 index 8e11a204b2..0000000000 --- a/cpp/bindings/qmf2/ruby/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -# -# 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. -# - -if HAVE_RUBY_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES) - -EXTRA_DIST = ruby.i -BUILT_SOURCES = cqmf2.cpp -SWIG_FLAGS = -w362,401 - -rubylibdir = $(RUBY_LIB) - -cqmf2.cpp: $(srcdir)/ruby.i $(srcdir)/../qmf2.i $(srcdir)/../../swig_ruby_typemaps.i - $(SWIG) -ruby -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/ruby.i - -rubylibarchdir = $(RUBY_LIB_ARCH) -rubylibarch_LTLIBRARIES = cqmf2.la -dist_rubylib_DATA = qmf2.rb - -cqmf2_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)" -cqmf2_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqmf2 $(top_builddir)/src/libqmf2.la -cqmf2_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing -nodist_cqmf2_la_SOURCES = cqmf2.cpp - -CLEANFILES = cqmf2.cpp - -endif # HAVE_RUBY_DEVEL diff --git a/cpp/bindings/qmf2/ruby/qmf2.rb b/cpp/bindings/qmf2/ruby/qmf2.rb deleted file mode 100644 index c14ecba4e1..0000000000 --- a/cpp/bindings/qmf2/ruby/qmf2.rb +++ /dev/null @@ -1,855 +0,0 @@ -# -# 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. -# - -require 'cqmf2' -require 'cqpid' -require 'thread' -require 'socket' -require 'monitor' - -module Qmf2 - - Cqmf2.constants.each do |c| - if c.index('AGENT_') == 0 or c.index('CONSOLE_') == 0 or - c.index('SCHEMA_') == 0 or c.index('SEV_') == 0 or c.index('QUERY') == 0 - const_set(c, Cqmf2.const_get(c)) - end - end - - SCHEMA_TYPE_DATA = Cqmf2::SCHEMA_TYPE_DATA() - SCHEMA_TYPE_EVENT = Cqmf2::SCHEMA_TYPE_EVENT() - - SCHEMA_DATA_VOID = Cqmf2::SCHEMA_DATA_VOID() - SCHEMA_DATA_BOOL = Cqmf2::SCHEMA_DATA_BOOL() - SCHEMA_DATA_INT = Cqmf2::SCHEMA_DATA_INT() - SCHEMA_DATA_FLOAT = Cqmf2::SCHEMA_DATA_FLOAT() - SCHEMA_DATA_STRING = Cqmf2::SCHEMA_DATA_STRING() - SCHEMA_DATA_MAP = Cqmf2::SCHEMA_DATA_MAP() - SCHEMA_DATA_LIST = Cqmf2::SCHEMA_DATA_LIST() - SCHEMA_DATA_UUID = Cqmf2::SCHEMA_DATA_UUID() - - ACCESS_READ_CREATE = Cqmf2::ACCESS_READ_CREATE() - ACCESS_READ_WRITE = Cqmf2::ACCESS_READ_WRITE() - ACCESS_READ_ONLY = Cqmf2::ACCESS_READ_ONLY() - - DIR_IN = Cqmf2::DIR_IN() - DIR_OUT = Cqmf2::DIR_OUT() - DIR_IN_OUT = Cqmf2::DIR_IN_OUT() - - SEV_EMERG = Cqmf2::SEV_EMERG() - SEV_ALERT = Cqmf2::SEV_ALERT() - SEV_CRIT = Cqmf2::SEV_CRIT() - SEV_ERROR = Cqmf2::SEV_ERROR() - SEV_WARN = Cqmf2::SEV_WARN() - SEV_NOTICE = Cqmf2::SEV_NOTICE() - SEV_INFORM = Cqmf2::SEV_INFORM() - SEV_DEBUG = Cqmf2::SEV_DEBUG() - - ##============================================================================== - ## EXCEPTIONS - ##============================================================================== - - class QmfAgentException < RuntimeError - attr :data - - def initialize(data) - @data = data - end - - def to_s - "QmfAgentException: #{@data}" - end - end - - ##============================================================================== - ## AGENT HANDLER - ##============================================================================== - - class AgentHandler - - def initialize(session) - @_session = session - @_running = false - @_thread = nil - end - - ## - ## Call the "start" method to run the handler on a new thread. - ## - def start - @_thread = Thread.new do - run - end - end - - ## - ## Request that the running thread complete and exit. - ## - def cancel - @_running = false - @_thread.join if @_thread - @_thread = nil - end - - ## - ## Call the "run" method only if you want the handler to run on your own thread. - ## - def run - @_running = true - event = Cqmf2::AgentEvent.new - while @_running do - valid = @_session.impl.nextEvent(event, Cqpid::Duration.SECOND) - if valid and @_running - case event.getType - when Cqmf2::AGENT_AUTH_QUERY - yes = authorize_query(Query.new(event.getQuery()), event.getUserId()) - if yes == true - @_session.impl.authAccept(event) - else - @_session.impl.authReject(event) - end - - when Cqmf2::AGENT_QUERY - context = QueryContext.new(@_session, event) - get_query(context, Query.new(event.getQuery()), event.getUserId()) - - when Cqmf2::AGENT_METHOD - context = MethodContext.new(@_session, event) - begin - method_call(context, event.getMethodName(), event.getDataAddr(), event.getArguments(), event.getUserId()) - rescue Exception => ex - @_session.impl.raiseException(event, "#{ex}") - end - - end - end - end - end - - - ## - ## The following methods are intended to be overridden in a sub-class. They are - ## handlers for events that occur on QMF consoles. - ## - - # - # This method will only be invoked if the "allow-queries" option is enabled on the - # agent session. When invoked, it provides the query and the authenticated user-id - # of the querying client. - # - # This method must return true if the query is permitted, false otherwise. - # - def authorize_query(query, user_id); end - - # - # This method will only be invoked if the "external" option is "True" on the agent - # session. When invoked, the method should begin the process of responding to a data - # query. The authenticated user-id of the requestor is provided for informational - # purposes. The 'context' variable is used to provide the results back to the requestor. - # - # For each matching Data object, call context.response(data). When the query is complete, - # call context.complete(). After completing the query, you should not use 'context' any - # longer. - # - # Note: It is not necessary to process the query synchronously. If desired, this method - # may store the context for asynchronous processing or pass it to another thread for - # processing. There is no restriction on the number of contexts that may be in-flight - # concurrently. - # - def get_query(context, query, user_id); end - - # - # This method is invoked when a console calls a QMF method on the agent. Supplied are - # a context for the response, the method name, the data address of the data object being - # called, the input arguments (a dictionary), and the caller's authenticated user-id. - # - # A method call can end one of two ways: Successful completion, in which the output - # arguments (if any) are supplied; and Exceptional completion if there is an error. - # - # Successful Completion: - # For each output argument, assign the value directly to context (context.arg1 = "value") - # Once arguments are assigned, call context._success(). - # - # Exceptional Completion: - # Method 1: Call context._exception(data) where 'data' is a string or a Data object. - # Method 2: Raise an exception (raise "Error Text") synchronously in the method body. - # - # Note: Like get_query, method_call may process methods synchronously or asynchronously. - # This method may store the context for later asynchronous processing. There is no - # restriction on the number of contexts that may be in-flight concurrently. - # - # However, "Method 2" for Exceptional Completion can only be done synchronously. - # - def method_call(context, method_name, data_addr, args, user_id); end - end - - class QueryContext - def initialize(agent, context) - @agent = agent - @context = context - end - - def response(data) - @agent.impl.response(@context, data.impl) - end - - def complete - @agent.impl.complete(@context) - end - end - - class MethodContext - def initialize(agent, context) - @agent = agent - @context = context - end - - def _success - @agent.impl.methodSuccess(@context) - end - - def _exception(ex) - if ex.class == Data - @agent.impl.raiseException(@context, ex.impl) - else - @agent.impl.raiseException(@context, ex) - end - end - - def method_missing(name_in, *args) - name = name_in.to_s - if name[name.length - 1] == 61 - name = name[0..name.length - 2] - @context.impl.addReturnArgument(name, args[0]) - else - super.method_missing(name_in, args) - end - end - end - - ##============================================================================== - ## CONSOLE HANDLER - ##============================================================================== - - class ConsoleHandler - - def initialize(session) - @_session = session - @_running = false - @_thread = nil - end - - ## - ## Call the "start" method to run the handler on a new thread. - ## - def start - @_thread = Thread.new do - run - end - end - - ## - ## Request that the running thread complete and exit. - ## - def cancel - @_running = false - @_thread.join if @_thread - @_thread = nil - end - - ## - ## Call the "run" method only if you want the handler to run on your own thread. - ## - def run - @_running = true - event = Cqmf2::ConsoleEvent.new - while @_running do - valid = @_session.impl.nextEvent(event, Cqpid::Duration.SECOND) - if valid and @_running - case event.getType - when Cqmf2::CONSOLE_AGENT_ADD - agent_added(Agent.new(event.getAgent)) - - when Cqmf2::CONSOLE_AGENT_DEL - reason = :filter - reason = :aged if event.getAgentDelReason == Cqmf2::AGENT_DEL_AGED - agent_deleted(Agent.new(event.getAgent), reason) - - when Cqmf2::CONSOLE_AGENT_RESTART - agent_restarted(Agent.new(event.getAgent)) - - when Cqmf2::CONSOLE_AGENT_SCHEMA_UPDATE - agent_schema_updated(Agent.new(event.getAgent)) - - when Cqmf2::CONSOLE_EVENT - event_raised(Agent.new(event.getAgent), Data.new(event.getData(0)), event.getTimestamp, event.getSeverity) - - end - end - end - end - - - ## - ## The following methods are intended to be overridden in a sub-class. They are - ## handlers for events that occur on QMF consoles. - ## - - # - # A new agent, whose attributes match the console's agent filter, has been discovered. - # - def agent_added(agent); end - - # - # A known agent has been removed from the agent list. There are two possible reasons - # for agent deletion: - # - # 1) :aged - The agent hasn't been heard from for the maximum age interval and is - # presumed dead. - # 2) :filter - The agent no longer matches the console's agent-filter and has been - # effectively removed from the agent list. Such occurrences are likely - # to be seen immediately after setting the filter to a new value. - # - def agent_deleted(agent, reason); end - - # - # An agent-restart was detected. This occurs when the epoch number advertised by the - # agent changes. It indicates that the agent in question was shut-down/crashed and - # restarted. - # - def agent_restarted(agent); end - - # - # The agent has registered new schema information which can now be queried, if desired. - # - def agent_schema_updated(agent); end - - # - # An agent raised an event. The 'data' argument is a Data object that contains the - # content of the event. - # - def event_raised(agent, data, timestamp, severity); end - end - - ##============================================================================== - ## CONSOLE SESSION - ##============================================================================== - - class ConsoleSession - attr_reader :impl - - ## The options string is of the form "{key:value,key:value}". The following keys are supported: - ## - ## domain:NAME - QMF Domain to join [default: "default"] - ## max-agent-age:N - Maximum time, in minutes, that we will tolerate not hearing from - ## an agent before deleting it [default: 5] - ## listen-on-direct:{True,False} - If True: Listen on legacy direct-exchange address for backward compatibility [default] - ## If False: Listen only on the routable direct address - ## strict-security:{True,False} - If True: Cooperate with the broker to enforce strict access control to the network - ## - If False: Operate more flexibly with regard to use of messaging facilities [default] - ## - def initialize(connection, options="") - @impl = Cqmf2::ConsoleSession.new(connection, options) - end - - def set_domain(domain) @impl.setDomain(domain) end - def set_agent_filter(filter) @impl.setAgentFilter(filter) end - - def open() @impl.open end - def close() @impl.close end - - def agents - result = [] - count = @impl.getAgentCount - for i in 0...count - result << Agent.new(@impl.getAgent(i)) - end - return result - end - - def connected_broker_agent - Agent.new(@impl.getConnectedBrokerAgent) - end - end - - ##============================================================================== - ## AGENT SESSION - ##============================================================================== - - class AgentSession - attr_reader :impl - - ## The options string is of the form "{key:value,key:value}". The following keys are supported: - ## - ## interval:N - Heartbeat interval in seconds [default: 60] - ## external:{True,False} - Use external data storage (queries and subscriptions are pass-through) [default: False] - ## allow-queries:{True,False} - If True: automatically allow all queries [default] - ## If False: generate an AUTH_QUERY event to allow per-query authorization - ## allow-methods:{True,False} - If True: automatically allow all methods [default] - ## If False: generate an AUTH_METHOD event to allow per-method authorization - ## max-subscriptions:N - Maximum number of concurrent subscription queries permitted [default: 64] - ## min-sub-interval:N - Minimum publish interval (in milliseconds) permitted for a subscription [default: 3000] - ## sub-lifetime:N - Lifetime (in seconds with no keepalive) for a subscription [default: 300] - ## public-events:{True,False} - If True: QMF events are sent to the topic exchange [default] - ## If False: QMF events are only sent to authorized subscribers - ## listen-on-direct:{True,False} - If True: Listen on legacy direct-exchange address for backward compatibility [default] - ## If False: Listen only on the routable direct address - ## strict-security:{True,False} - If True: Cooperate with the broker to enforce strict access control to the network - ## - If False: Operate more flexibly with regard to use of messaging facilities [default] - ## - def initialize(connection, options="") - @impl = Cqmf2::AgentSession.new(connection, options) - end - - def set_domain(val) @impl.setDomain(val) end - def set_vendor(val) @impl.setVendor(val) end - def set_product(val) @impl.setProduct(val) end - def set_instance(val) @impl.setInstance(val) end - def set_attribute(key, val) @impl.setAttribute(key, val) end - def open() @impl.open end - def close() @impl.close end - def register_schema(cls) @impl.registerSchema(cls.impl) end - - def add_data(data, name="", persistent=false) - DataAddr.new(@impl.addData(data.impl, name, persistent)) - end - - def del_data(addr) - @impl.del_data(addr.impl) - end - - def raise_event(data, severity=nil) - if !severity - @impl.raiseEvent(data.impl) - else - @impl.raiseEvent(data.impl, severity) - end - end - end - - ##============================================================================== - ## AGENT PROXY - ##============================================================================== - - class Agent - attr_reader :impl - - def initialize(impl) - @impl = impl - end - - def name() @impl.getName end - def epoch() @impl.getEpoch end - def vendor() @impl.getVendor end - def product() @impl.getProduct end - def instance() @impl.getInstance end - def attributes() @impl.getAttributes end - - def to_s - "#{vendor}:#{product}:#{instance}" - end - - def query(q, timeout=30) - if q.class == Query - q_arg = q.impl - else - q_arg = q - end - dur = Cqpid::Duration.new(Cqpid::Duration.SECOND.getMilliseconds * timeout) - result = @impl.query(q_arg, dur) - raise QmfAgentException.new(Data.new(result.getData(0))) if result.getType == Cqmf2::CONSOLE_EXCEPTION - raise "Protocol error, expected CONSOLE_QUERY_RESPONSE, got #{result.getType}" if result.getType != Cqmf2::CONSOLE_QUERY_RESPONSE - data_list = [] - count = result.getDataCount - for i in 0...count - data_list << Data.new(result.getData(i)) - end - return data_list - end - - def load_schema_info(timeout=30) - dur = Cqpid::Duration.new(Cqpid::Duration.SECOND.getMilliseconds * timeout) - @impl.querySchema(dur) - end - - def packages - result = [] - count = @impl.getPackageCount - for i in 0...count - result << @impl.getPackage(i) - end - return result - end - - def schema_ids(package) - result = [] - count = @impl.getSchemaIdCount(package) - for i in 0...count - result << SchemaId.new(@impl.getSchemaId(package, i)) - end - return result - end - - def schema(sid, timeout=30) - dur = Cqpid::Duration.new(Cqpid::Duration.SECOND.getMilliseconds * timeout) - Schema.new(@impl.getSchema(sid.impl, dur)) - end - end - - ##============================================================================== - ## QUERY - ##============================================================================== - - class Query - attr_reader :impl - def initialize(arg1, arg2=nil, arg3=nil) - if arg1.class == Qmf2::DataAddr - @impl = Cqmf2::Query.new(arg1.impl) - end - end - - def addr() DataAddr.new(@impl.getDataAddr()) end - def schema_id() SchemaId.new(@impl.getSchemaId()) end - def predicate() @impl.getPredicate() end - - def matches?(data) - map = data - map = data.properties if data.class == Data - @impl.matchesPredicate(map) - end - end - - ##============================================================================== - ## DATA - ##============================================================================== - - class Data - attr_reader :impl - - def initialize(arg=nil) - @schema = nil - if arg == nil - @impl = Cqmf2::Data.new - elsif arg.class == Cqmf2::Data - @impl = arg - elsif arg.class == Schema - @impl = Cqmf2::Data.new(arg.impl) - @schema = arg - else - raise "Unsupported initializer for Data" - end - end - - def to_s - "#{@impl.getProperties}" - end - - def schema_id - if @impl.hasSchema - return SchemaId.new(@impl.getSchemaId) - end - return nil - end - - def set_addr(addr) - @impl.setAddr(addr.impl) - end - - def addr - if @impl.hasAddr - return DataAddr.new(@impl.getAddr) - end - return nil - end - - def agent - return Agent.new(@impl.getAgent) - end - - def update(timeout=5) - dur = Cqpid::Duration.new(Cqpid::Duration.SECOND.getMilliseconds * timeout) - agent = @impl.getAgent - query = Cqmf2::Query.new(@impl.getAddr) - result = agent.query(query, dur) - raise "Update query failed" if result.getType != Cqmf2::CONSOLE_QUERY_RESPONSE - raise "Object no longer exists on agent" if result.getDataCount == 0 - @impl = Cqmf2::Data.new(result.getData(0)) - return nil - end - - def properties - return @impl.getProperties - end - - def get_attr(name) - @impl.getProperty(name) - end - - def set_attr(name, v) - @impl.setProperty(name, v) - end - - def [](name) - get_attr(name) - end - - def []=(name, value) - set_attr(name, value) - end - - def _get_schema - unless @schema - raise "Data object has no schema" unless @impl.hasSchema - @schema = Schema.new(@impl.getAgent.getSchema(@impl.getSchemaId)) - end - end - - def method_missing(name_in, *args) - # - # Convert the name to a string and determine if it represents an - # attribute assignment (i.e. "attr=") - # - name = name_in.to_s - attr_set = (name[name.length - 1] == 61) - name = name[0..name.length - 2] if attr_set - - # - # We'll be needing the schema to determine how to proceed. Get the schema. - # Note that this call may block if the remote agent needs to be queried - # for the schema (i.e. the schema isn't in the local cache). - # - _get_schema - - # - # If the name matches a property name, set or return the value of the property. - # - @schema.properties.each do |prop| - if prop.name == name - if attr_set - return set_attr(name, args[0]) - else - return get_attr(name) - end - end - end - - # - # If we still haven't found a match for the name, check to see if - # it matches a method name. If so, marshall the arguments and invoke - # the method. - # - @schema.methods.each do |method| - if method.name == name - raise "Sets not permitted on methods" if attr_set - result = @impl.getAgent.callMethod(name, _marshall(method, args), @impl.getAddr) - if result.getType == Cqmf2::CONSOLE_EXCEPTION - raise QmfAgentException, result.getData(0) - end - return result.getArguments - end - end - - # - # This name means nothing to us, pass it up the line to the parent - # class's handler. - # - super.method_missing(name_in, args) - end - - # - # Convert a Ruby array of arguments (positional) into a Value object of type "map". - # - private - def _marshall(schema, args) - count = 0 - schema.arguments.each do |arg| - if arg.direction == DIR_IN || arg.direction == DIR_IN_OUT - count += 1 - end - end - raise "Wrong number of arguments: expecter #{count}, got #{arge.length}" if count != args.length - map = {} - count = 0 - schema.arguments.each do |arg| - if arg.direction == DIR_IN || arg.direction == DIR_IN_OUT - map[arg.name] = args[count] - count += 1 - end - end - return map - end - end - - ##============================================================================== - ## DATA ADDRESS - ##============================================================================== - - class DataAddr - attr_reader :impl - - def initialize(arg, agentName="") - if arg.class == Hash - @impl = Cqmf2::DataAddr.new(arg) - elsif arg.class == Cqmf2::DataAddr - @impl = arg - else - @impl = Cqmf2::DataAddr.new(arg, agentName) - end - end - - def ==(other) - return @impl == other.impl - end - - def as_map() @impl.asMap end - def agent_name() @impl.getAgentName end - def name() @impl.getName end - def agent_epoch() @impl.getAgentEpoch end - end - - ##============================================================================== - ## SCHEMA ID - ##============================================================================== - - class SchemaId - attr_reader :impl - def initialize(impl) - @impl = impl - end - - def type() @impl.getType end - def package_name() @impl.getPackageName end - def class_name() @impl.getName end - def hash() @impl.getHash end - end - - ##============================================================================== - ## SCHEMA - ##============================================================================== - - class Schema - attr_reader :impl - def initialize(arg, packageName="", className="", kwargs={}) - if arg.class == Cqmf2::Schema - @impl = arg - else - @impl = Cqmf2::Schema.new(arg, packageName, className) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - @impl.setDefaultSeverity(kwargs[:sev]) if kwargs.include?(:sev) - end - end - - def finalize() @impl.finalize end - def schema_id() SchemaId.new(@impl.getSchemaId) end - def desc() @impl.getDesc end - def sev() @impl.getDefaultSeverity end - def add_property(prop) @impl.addProperty(prop.impl) end - def add_method(meth) @impl.addMethod(meth.impl) end - - def properties - result = [] - count = @impl.getPropertyCount - for i in 0...count - result << SchemaProperty.new(@impl.getProperty(i)) - end - return result - end - - def methods - result = [] - count = @impl.getMethodCount - for i in 0...count - result << SchemaMethod.new(@impl.getMethod(i)) - end - return result - end - end - - ##============================================================================== - ## SCHEMA PROPERTY - ##============================================================================== - - class SchemaProperty - attr_reader :impl - - def initialize(arg, dtype=nil, kwargs={}) - if arg.class == Cqmf2::SchemaProperty - @impl = arg - else - @impl = Cqmf2::SchemaProperty.new(arg, dtype) - @impl.setAccess(kwargs[:access]) if kwargs.include?(:access) - @impl.setIndex(kwargs[:index]) if kwargs.include?(:index) - @impl.setOptional(kwargs[:optional]) if kwargs.include?(:optional) - @impl.setUnit(kwargs[:unit]) if kwargs.include?(:unit) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - @impl.setSubtype(kwargs[:subtype]) if kwargs.include?(:subtype) - @impl.setDirection(kwargs[:direction]) if kwargs.include?(:direction) - end - end - - def name() @impl.getName end - def access() @impl.getAccess end - def index?() @impl.isIndex end - def optional?() @impl.isOptional end - def unit() @impl.getUnit end - def desc() @impl.getDesc end - def subtype() @impl.getSubtype end - def direction() @impl.getDirection end - - def to_s - name - end - end - - ##============================================================================== - ## SCHEMA METHOD - ##============================================================================== - - class SchemaMethod - attr_reader :impl - - def initialize(arg, kwargs={}) - if arg.class == Cqmf2::SchemaMethod - @impl = arg - else - @impl = Cqmf2::SchemaMethod.new(arg) - @impl.setDesc(kwargs[:desc]) if kwargs.include?(:desc) - end - end - - def name() @impl.getName end - def desc() @impl.getDesc end - def add_argument(arg) @impl.addArgument(arg.impl) end - - def arguments - result = [] - count = @impl.getArgumentCount - for i in 0...count - result << SchemaProperty.new(@impl.getArgument(i)) - end - return result - end - - def to_s - name - end - end -end - - diff --git a/cpp/bindings/qmf2/ruby/ruby.i b/cpp/bindings/qmf2/ruby/ruby.i deleted file mode 100644 index 1070c65a44..0000000000 --- a/cpp/bindings/qmf2/ruby/ruby.i +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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. - */ - -%module cqmf2 -%include "std_string.i" -%include "../../swig_ruby_typemaps.i" - -/* Define the general-purpose exception handling */ -%exception { - try { - $action - } - catch (qpid::types::Exception& mex) { - static VALUE qmferror = rb_define_class("QmfError", rb_eStandardError); - rb_raise(qmferror, mex.what()); - } -} - -%include "../qmf2.i" diff --git a/cpp/bindings/qpid/CMakeLists.txt b/cpp/bindings/qpid/CMakeLists.txt deleted file mode 100644 index 7c9f76f991..0000000000 --- a/cpp/bindings/qpid/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -# -# 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. -# - - -include(FindSWIG) -include(UseSWIG) -include(FindRuby) -include(FindPythonLibs) -include(FindPerlLibs) - -if (SWIG_FOUND) - set(CMAKE_SWIG_FLAGS "-w361,362,401,467,503") - - if (PYTHONLIBS_FOUND) - add_subdirectory(python) - endif (PYTHONLIBS_FOUND) - - if (RUBY_FOUND) - add_subdirectory(ruby) - endif (RUBY_FOUND) - - if (PERLLIBS_FOUND) - add_subdirectory(perl) - endif (PERLLIBS_FOUND) -endif (SWIG_FOUND) diff --git a/cpp/bindings/qpid/Makefile.am b/cpp/bindings/qpid/Makefile.am deleted file mode 100644 index 31bce5d1d5..0000000000 --- a/cpp/bindings/qpid/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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. -# - -SUBDIRS = dotnet - -if HAVE_SWIG - -EXTRA_DIST = CMakeLists.txt qpid.i - -if HAVE_RUBY_DEVEL -SUBDIRS += ruby -endif - -if HAVE_PYTHON_DEVEL -SUBDIRS += python -endif - -if HAVE_PERL_DEVEL -SUBDIRS += perl -endif - -endif diff --git a/cpp/bindings/qpid/dotnet/Makefile.am b/cpp/bindings/qpid/dotnet/Makefile.am deleted file mode 100644 index b5c1f6dda5..0000000000 --- a/cpp/bindings/qpid/dotnet/Makefile.am +++ /dev/null @@ -1,126 +0,0 @@ -# -# 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. -# - -EXTRA_DIST = winsdk_sources/winsdk_dotnet_examples.sln \ - winsdk_sources/examples/csharp.direct.receiver/csharp.direct.receiver.csproj \ - winsdk_sources/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj \ - winsdk_sources/examples/csharp.example.helloworld/csharp.example.helloworld.csproj \ - winsdk_sources/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj \ - winsdk_sources/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj \ - winsdk_sources/examples/csharp.example.server/csharp.example.server.csproj \ - winsdk_sources/examples/csharp.example.spout/csharp.example.spout.csproj \ - winsdk_sources/examples/csharp.example.drain/csharp.example.drain.csproj \ - winsdk_sources/examples/csharp.map.sender/csharp.map.sender.csproj \ - winsdk_sources/examples/csharp.map.receiver/csharp.map.receiver.csproj \ - winsdk_sources/examples/csharp.example.client/csharp.example.client.csproj \ - winsdk_sources/examples/csharp.direct.sender/csharp.direct.sender.csproj \ - examples/csharp.direct.receiver/csharp.direct.receiver.cs \ - examples/csharp.direct.receiver/csharp.direct.receiver.csproj \ - examples/csharp.direct.receiver/Properties/AssemblyInfo.cs \ - examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs \ - examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj \ - examples/csharp.map.callback.receiver/Properties/AssemblyInfo.cs \ - examples/powershell.example.helloworld/powershell.example.helloworld.ps1 \ - examples/csharp.example.helloworld/csharp.example.helloworld.cs \ - examples/csharp.example.helloworld/csharp.example.helloworld.csproj \ - examples/csharp.example.helloworld/Properties/AssemblyInfo.cs \ - examples/csharp.example.declare_queues/csharp.example.declare_queues.cs \ - examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj \ - examples/csharp.example.declare_queues/Properties/AssemblyInfo.cs \ - examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj \ - examples/csharp.map.callback.sender/Properties/AssemblyInfo.cs \ - examples/csharp.map.callback.sender/csharp.map.callback.sender.cs \ - examples/csharp.example.server/csharp.example.server.csproj \ - examples/csharp.example.server/csharp.example.server.cs \ - examples/csharp.example.server/Properties/AssemblyInfo.cs \ - examples/csharp.example.spout/csharp.example.spout.csproj \ - examples/csharp.example.spout/Options.cs \ - examples/csharp.example.spout/csharp.example.spout.cs \ - examples/csharp.example.spout/Properties/AssemblyInfo.cs \ - examples/csharp.example.drain/csharp.example.drain.cs \ - examples/csharp.example.drain/csharp.example.drain.csproj \ - examples/csharp.example.drain/Options.cs \ - examples/csharp.example.drain/Properties/AssemblyInfo.cs \ - examples/csharp.map.sender/csharp.map.sender.csproj \ - examples/csharp.map.sender/csharp.map.sender.cs \ - examples/csharp.map.sender/Properties/AssemblyInfo.cs \ - examples/visualbasic.example.client/visualbasic.example.client.vbproj \ - examples/visualbasic.example.client/MyProject/Resources.resx \ - examples/visualbasic.example.client/MyProject/Application.myapp \ - examples/visualbasic.example.client/MyProject/Settings.settings \ - examples/visualbasic.example.client/MyProject/Settings.Designer.vb \ - examples/visualbasic.example.client/MyProject/AssemblyInfo.vb \ - examples/visualbasic.example.client/MyProject/Application.Designer.vb \ - examples/visualbasic.example.client/MyProject/Resources.Designer.vb \ - examples/visualbasic.example.client/visualbasic.example.client.vb \ - examples/csharp.map.receiver/csharp.map.receiver.csproj \ - examples/csharp.map.receiver/csharp.map.receiver.cs \ - examples/csharp.map.receiver/Properties/AssemblyInfo.cs \ - examples/csharp.example.client/csharp.example.client.cs \ - examples/csharp.example.client/Properties/AssemblyInfo.cs \ - examples/csharp.example.client/csharp.example.client.csproj \ - examples/csharp.direct.sender/csharp.direct.sender.csproj \ - examples/csharp.direct.sender/csharp.direct.sender.cs \ - examples/csharp.direct.sender/Properties/AssemblyInfo.cs \ - configure-windows.ps1 \ - ReadMe.txt \ - org.apache.qpid.messaging.sln \ - org.apache.qpid.messaging.sessionreceiver.sln \ - test/messaging.test/messaging.test.address.cs \ - test/messaging.test/messaging.test.duration.cs \ - test/messaging.test/messaging.test.cs \ - test/messaging.test/messaging.test.message.cs \ - test/messaging.test/messaging.test.csproj \ - test/messaging.test/Properties/AssemblyInfo.cs \ - test/messaging.test/messaging.test.connection.cs \ - src/org.apache.qpid.messaging.vcproj \ - src/Message.cpp \ - src/Connection.cpp \ - src/TypeTranslator.h \ - src/AssemblyInfo.cpp \ - src/FailoverUpdates.h \ - src/sessionreceiver/sessionreceiver.cs \ - src/sessionreceiver/Properties/sessionreceiver-AssemblyInfo-template.cs \ - src/sessionreceiver/qpid.snk \ - src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj \ - src/Sender.h \ - src/TypeTranslator.cpp \ - src/Receiver.h \ - src/Address.h \ - src/Sender.cpp \ - src/QpidTypeCheck.h \ - src/resource1.h \ - src/Duration.h \ - src/Session.h \ - src/Message.h \ - src/ReadMe.txt \ - src/Receiver.cpp \ - src/Address.cpp \ - src/app.rc \ - src/Session.cpp \ - src/org.apache.qpid.messaging.template.rc \ - src/qpid.snk \ - src/Connection.h \ - src/QpidException.h \ - src/QpidMarshal.h \ - src/FailoverUpdates.cpp \ - src/Duration.cpp \ - ../../../src/windows/resources/qpid-icon.ico \ - ../../../src/windows/resources/template-resource.rc \ - ../../../src/windows/resources/version-resource.h diff --git a/cpp/bindings/qpid/dotnet/ReadMe.txt b/cpp/bindings/qpid/dotnet/ReadMe.txt deleted file mode 100644 index 61f29bddc4..0000000000 --- a/cpp/bindings/qpid/dotnet/ReadMe.txt +++ /dev/null @@ -1,94 +0,0 @@ -#
-# 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.
-#
-
-Qpid.cpp.bindings.qpid.dotnet binding package.
-
-1. Features
-===========
-
-A. This binding package provides a .NET Interop wrapper around the
- Qpid C++ Messaging interface. It exposes the Messaging interface through
- a series of managed code classes that may be used by any .NET language.
-
-B. A sessionreceiver assembly provides session message callback functionality.
-
-2. Prerequisites
-================
-
-A. From a fresh check-out of Qpid sources, execute an in-source CMake.
- This command puts the CMake output files in the same directories
- as the Qpid source files.
-
- > cd cpp
- > cmake -i
-
-
-B. Build the qpid-cpp solution.
-
- > qpid-cpp.sln
- Select Configuration Debug
- Select Platform Win32
- Compile the ALL_BUILD project
-
-3. Building the Dotnet Binding solution
-=======================================
-
-A. Open solution file cpp\bindings\qpid\dotnet\org.apache.qpid.messaging.sln
- Select Configuration Debug
- Select Platform x86
- Compile the solution
-
-
-4. Running the examples
-=======================
-
-A. csharp.direct.receiver
-B. csharp.direct.sender
-
-C. csharp.map.receiver
-D. csharp.map.sender
-
-E. csharp.map.callback.receiver
-F. csharp.map.callback.sender
-
-G. csharp.example.server
-H. visualbasic.example.server
-I. csharp.example.client
-
-J. csharp.example.drain
-K. csharp.example.spout
-L. csharp.example.declare_queues
-
-M. csharp.example.helloworld
-N. powershell.example.helloworld
-
-
-5. Running the tests
-====================
-
-A. TBD
-
-
-6. Notes
-========
-
-A. Directory cpp\bindings\qpid\dotnet\bld holds a solution file and two
- project files that are executed during automated winsdk builds.
- These are not meant to be run interactively.
-
diff --git a/cpp/bindings/qpid/dotnet/configure-windows.ps1 b/cpp/bindings/qpid/dotnet/configure-windows.ps1 deleted file mode 100644 index 34395911b9..0000000000 --- a/cpp/bindings/qpid/dotnet/configure-windows.ps1 +++ /dev/null @@ -1,522 +0,0 @@ -#
-# 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.
-#
-
-#
-# configure-windows.ps1
-# =====================
-#
-# This script configures a qpid\cpp developer build environment under Windows
-# to enable working with cpp\bindings\qpid\dotnet binding source code.
-#
-# * Supports 32-bit and/or 64-bit development platforms.
-#
-# * User chooses in-source or out-of-source build directories.
-#
-# - 'In-source' builds happen when CMake is run from directory qpid\cpp.
-# Hundreds of CMake-generated output files are placed in qpid\cpp\src.
-# These files go right on top of files that are part of the source tree
-# in qpid\cpp\src.
-# In-source builds support only one platform.
-# Choose only a 32-bit or a 64-bit platform but not both.
-#
-# - Out-of-source builds happen when the user chooses another directory
-# under qpid in which to run CMake. Out-of-source builds are required
-# in order to build both x86 and x64 targets using the same source tree.
-# For each build platform (32-bit x86 or Win32, or 64-bit x64) the user
-# specifies a build directory and a specific version of Boost.
-# Many platform/Boost-version directories may reside side by side.
-#
-# * User chooses to run CMake or not.
-#
-# - When a new build directory is created then the user is given the
-# option of running CMake in that directory. Running CMake is a
-# necessary step as CMake creates important source, solution, and
-# project files.
-#
-# - If a directory "looks like" is has already had CMake run in it
-# then this script skips running CMake again.
-#
-#
-# Prerequisites
-#
-# 1. Powershell must be installed.
-# 2. 32-bit and/or 64-bit Boost libraries must be installed in separate
-# directories. A user system may have any number of Boost library
-# versions installed on it as long as each may be referred to through
-# a separate BOOST_ROOT directory path.
-# 3. CMake 2.8 (or later) must be installed. The cmake\bin directory
-# must be in the user's path.
-# 4. Boost library specifications may or may not be in the user's path.
-# The script author recommeds not to have Boost in the path and only
-# allow the Boost path to be specified by generated command procedures.
-# 5. Visual Studio build environment must be installed.
-#
-#
-# Use case: Create a new build environment
-# ========================================
-#
-# Required Boost:
-# 32-bit library - C:\Boost
-# 64-bit library - D:\Boost_64
-#
-# Required Qpid checkout tree
-# C:\svn\qpid\...
-#
-# Run this script. It will ask for four directories:
-#
-# Needed info User clicks on or adds new
-# ---------------- --------------------------
-# 32-bit Boost C:\boost
-# 32-bit build dir C:\svn\qpid\build32
-# 64-bit Boost D:\Boost_64
-# 64-bit build dir C:\svn\qpid\build64
-#
-# In this example the build dirs are new. The script will prompt
-# asking if CMake is to run in the build directories. User chooses Yes.
-#
-# Now this script runs CMake twice, once each with the 32-bit and 64-bit
-# generators.
-# * This step creates qpid-cpp.sln and related project files.
-# C:\svn\qpid\build32\qpid-cpp.sln
-# C:\svn\qpid\build64\qpid-cpp.sln
-#
-# This script generates other scripts as follows:
-#
-# C:\svn\qpid\build32\start-devenv-messaging-x86-32bit.ps1
-# C:\svn\qpid\build32\start-devenv-messaging-x86-32bit.bat
-# C:\svn\qpid\build32\setenv-messaging-x86-32bit.bat
-#
-# C:\svn\qpid\build64\start-devenv-messaging-x64-64bit.ps1
-# C:\svn\qpid\build64\start-devenv-messaging-x64-64bit.bat
-# C:\svn\qpid\build64\setenv-messaging-x64-64bit.bat
-#
-# Next the user compiles solution qpid\build32\qpid-cpp.sln.
-#
-# Using the generated scripts:
-#
-# Case 1. Run an executable in 32-bit mode.
-# 1. Open a command prompt.
-# 2. > CD c:\svn\qpid\build32
-# 3. > CALL setenv-messaging-x86-32bit.bat
-# 4. > CD src\debug
-# 5. > run the chosen program
-#
-# Note: Step #3 adds Boost to the user's path. This script selects the
-# version of Boost to match the executables in src\debug.
-#
-# Case 2. Launch Visual Studio org.apache.qpid.messaging.sln in 64-bit mode.
-# 1. > CD c:\svn\qpid\build64
-# 2. > powershell start-devenv-messaging-x64-64bit.ps1
-# or
-# 1. Double-click c:\svn\qpid\build64\start-devenv-messaging-x64-64bit.bat
-#
-# Note: In this case the scripts set QPID_BUILD_ROOT to point to the out-of-
-# source directory used by qpid-cpp.sln. Also the scripts put Boost in
-# the path so that executables may run directly from Visual Studio.
-#
-
-Set-PSDebug -Trace 0
-Set-PSDebug -strict
-$ErrorActionPreference='Stop'
-
-#############################
-# global strings to be written to script files
-#
-$global:txtPath = '$env:PATH'
-$global:txtQR = '$env:QPID_BUILD_ROOT'
-$global:txtWH = 'Write-Host'
-
-
-#############################
-# Select-Folder
-# Return a folder or null
-#
-function Select-Folder ($message="Select a folder", $path=0)
-{
- $shellApp = New-Object -comObject Shell.Application
- $folder = $shellApp.BrowseForFolder(0, $message, 0, $path)
- if ($folder -ne $null) {
- $folder.self.Path
- }
-}
-
-
-#############################
-# AskYesOrNo
-# Show modal dialog messagebox and return yes or no
-#
-function AskYesOrNo ($Question="No question?", $Title="No Title?")
-{
- $dlg = [Windows.Forms.MessageBox]::Show($Question, $Title, `
- [Windows.Forms.MessageBoxButtons]::YesNo, `
- [Windows.Forms.MessageBoxIcon]::Question)
-
- $result = $dlg -eq [Windows.Forms.DialogResult]::Yes
-
- $result
-}
-
-
-#############################
-# SanityCheckBoostPath
-# A path is a "boost path" if it contains
-# both lib and include subdirectories.
-#
-function SanityCheckBoostPath ($path=0)
-{
- $result = $true
- $displayPath = ""
-
- if ($path -ne $null) {
- $displayPath = $path
-
- $toTest = ('include', 'lib')
- foreach ($pattern in $toTest) {
- $target = Join-Path $path $pattern
- if (!(Test-Path -path $target)) {
- $result = $false
- }
- }
- } else {
- $result = $false
- }
-
- if (! $result) {
- Write-Host "The path ""$displayPath"" does not appear to be a Boost root path."
- }
- $result
-}
-
-
-#############################
-# SanityCheckBuildPath
-# A path is a "build path" if it contains
-# various subdirectories.
-#
-function SanityCheckBuildPath ($path=0)
-{
- $result = $true
- $displayPath = ""
- if ($path -ne $null) {
- $displayPath = $path
-
- $toTest = ('CMakeFiles', 'docs', 'etc', 'examples', 'include',
- 'managementgen', 'src')
- foreach ($pattern in $toTest) {
- $target = Join-Path $path $pattern
- if (!(Test-Path -path $target)) {
- $result = $false
- }
- }
- } else {
- $result = $false
- }
- if (! $result) {
- Write-Host "The path ""$displayPath"" does not appear to be a Qpid C++ build root path."
- }
- $result
-}
-
-
-#############################
-# WriteDotnetBindingSlnLauncherPs1
-# Write a powershell script that sets up the environment
-# and then launches Visual Studio solution file.
-#
-function WriteDotnetBindingSlnLauncherPs1
-{
- param
- (
- [string] $slnName,
- [string] $boostRoot,
- [string] $buildRoot,
- [string] $cppDir,
- [string] $vsPlatform,
- [string] $nBits,
- [string] $outfileName
- )
-
- $out = @("#
-# Launch $slnName in Visual Studio $vsPlatform ($nBits-bit) environment
-#
-$global:txtPath = ""$boostRoot\lib;$global:txtPath""
-$global:txtQR = ""$buildRoot""
-$global:txtWH ""Launch $slnName in Visual Studio $vsPlatform ($nBits-bit) environment.""
-$cppDir\bindings\qpid\dotnet\$slnName
-")
- Write-Host " $buildRoot\$outfileName"
- $out | Out-File "$buildRoot\$outfileName" -encoding ASCII
-}
-
-
-#############################
-# WriteDotnetBindingSlnLauncherBat
-# Write a batch file that
-# launches a powershell script.
-#
-function WriteDotnetBindingSlnLauncherBat
-{
- param
- (
- [string] $slnName,
- [string] $buildRoot,
- [string] $vsPlatform,
- [string] $nBits,
- [string] $psScriptName,
- [string] $outfileName
- )
-
- $out = @("@ECHO OFF
-REM
-REM Launch $slnName in Visual Studio $vsPlatform ($nBits-bit) environment
-REM
-ECHO Launch $slnName in Visual Studio $vsPlatform ($nBits-bit) environment
-powershell $buildRoot\$psScriptName
-")
- Write-Host " $buildRoot\$outfileName"
- $out | Out-File "$buildRoot\$outfileName" -encoding ASCII
-}
-
-
-#############################
-# WriteDotnetBindingEnvSetupBat
-# Write a batch file that sets the desired environment into
-# the user's current environment settings.
-#
-function WriteDotnetBindingEnvSetupBat
-{
- param
- (
- [string] $slnName,
- [string] $boostRoot,
- [string] $buildRoot,
- [string] $vsPlatform,
- [string] $nBits,
- [string] $outfileName
- )
-
- $out = @("@ECHO OFF
-REM
-REM Call this command procedure from a command prompt to set up a $vsPlatform ($nBits-bit)
-REM $slnName environment
-REM
-REM > call $outfileName
-REM >
-REM
-ECHO %PATH% | FINDSTR /I boost > NUL
-IF %ERRORLEVEL% EQU 0 ECHO WARNING: Boost is defined in your path multiple times!
-SET PATH=$boostRoot\lib;%PATH%
-SET QPID_BUILD_ROOT=$buildRoot
-ECHO Environment set for $slnName $vsPlatform $nBits-bit development.
-")
- Write-Host " $buildRoot\$outfileName"
- $out | Out-File "$buildRoot\$outfileName" -encoding ASCII
-}
-
-
-#############################
-# Main
-#############################
-#
-# curDir is qpid\cpp\bindings\qpid\dotnet.
-#
-[string] $curDir = Split-Path -parent $MyInvocation.MyCommand.Definition
-[string] $projRoot = Resolve-Path (Join-Path $curDir "..\..\..\..")
-[string] $cppDir = Resolve-Path (Join-Path $curDir "..\..\..")
-
-[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
-
-#############################
-# User dialog to get optional 32-bit boost and build paths
-#
-$boost32 = Select-Folder -message 'Select 32-bit BOOST_ROOT folder. Press CANCEL to skip 32-bit processing.'
-
-$defined32 = ($boost32 -ne $null) -and ($boost32 -ne '')
-if ($defined32) {
- $found = SanityCheckBoostPath $boost32
- if (! $found) {
- exit
- }
-}
-
-$make32 = $false
-if ($defined32) {
-
- $build32 = Select-Folder -message 'Select 32-bit QPID_BUILD_ROOT folder.' -path $projRoot
-
- $found = ($build32 -ne $null) -and ($build32 -ne '')
- if (! $found) {
- Write-Host "You must select a build root folder for 32-bit builds"
- exit
- }
- $found = SanityCheckBuildPath $build32
- if ($found) {
- Write-Host "Directory ""$build32"" is already set by CMake. CMake will not be re-run."
- } else {
- $make32 = AskYesOrNo "Run CMake in $build32 ?" "32-Bit Builds - Choose CMake run or not"
- }
-}
-
-#############################
-# User dialog to get optional 64-bit boost and build paths
-#
-$boost64 = Select-Folder -message 'Select 64-bit BOOST_ROOT folder. Press CANCEL to skip 64-bit processing.'
-
-$defined64 = ($boost64 -ne $null) -and ($boost64 -ne '')
-if ($defined64) {
- $found = SanityCheckBoostPath $boost64
- if (! $found) {
- exit
- }
-}
-
-$make64 = $false
-if ($defined64) {
- $build64 = Select-Folder -message 'Select 64-bit QPID_BUILD_ROOT folder.' -path $projRoot
-
- $found = ($build64 -ne $null) -and ($build64 -ne '')
- if (! $found) {
- Write-Host "You must select a build root folder for 64-bit builds"
- exit
- }
- $found = SanityCheckBuildPath $build64
- if ($found) {
- Write-Host "Directory ""$build64"" is already set by CMake. CMake will not be re-run."
- } else {
- $make64 = AskYesOrNo "Run CMake in $build64 ?" "64-Bit Builds - Choose CMake run or not"
- }
-}
-
-#############################
-# Conditionally run CMake
-#
-# 32-bit X86
-#
-if ($make32) {
- $env:BOOST_ROOT = "$boost32"
- cd "$build32"
- Write-Host "Running 32-bit CMake in $build32 ..."
- CMake -G "Visual Studio 9 2008" "-DCMAKE_INSTALL_PREFIX=install_x86" $cppDir
-} else {
- Write-Host "Skipped 32-bit CMake."
-}
-
-#
-# 64-bit X64
-#
-if ($make64) {
- $env:BOOST_ROOT = "$boost64"
- cd "$build64"
- Write-Host "Running 64-bit CMake in $build64"
- CMake -G "Visual Studio 9 2008 Win64" "-DCMAKE_INSTALL_PREFIX=install_x64" $cppDir
-} else {
- Write-Host "Skipped 64-bit CMake."
-}
-
-#############################
-# Emit scripts
-#
-# 32-bit scripts
-#
-if ($defined32) {
-
- Write-Host "Writing 32-bit scripts..."
-
- ###########
- # Powershell script to launch org.apache.qpid.messaging.sln
- #
- WriteDotnetBindingSlnLauncherPs1 -slnName "org.apache.qpid.messaging.sln" `
- -boostRoot "$boost32" `
- -buildRoot "$build32" `
- -cppDir "$cppDir" `
- -vsPlatform "x86" `
- -nBits "32" `
- -outfileName "start-devenv-messaging-x86-32bit.ps1"
-
-
- ###########
- # Batch script (that you doubleclick) to launch powershell script
- # that launches org.apache.qpid.messaging.sln.
- #
- WriteDotnetBindingSlnLauncherBat -slnName "org.apache.qpid.messaging.sln" `
- -buildRoot "$build32" `
- -vsPlatform "x86" `
- -nBits "32" `
- -psScriptName "start-devenv-messaging-x86-32bit.ps1" `
- -outfileName "start-devenv-messaging-x86-32bit.bat"
-
- ###########
- # Batch script (that you CALL from a command prompt)
- # to establish the org.apache.qpid.messaging.sln build environment.
- #
- WriteDotnetBindingEnvSetupBat -slnName "org.apache.qpid.messaging.sln" `
- -boostRoot "$boost32" `
- -buildRoot "$build32" `
- -vsPlatform "x86" `
- -nBits "32" `
- -outfileName "setenv-messaging-x86-32bit.bat"
-
-} else {
- Write-Host "Skipped writing 32-bit scripts."
-}
-
-#############################
-# 64-bit scripts
-#
-if ($defined64) {
-
- Write-Host "Writing 64-bit scripts..."
-
- ###########
- # Powershell script to launch org.apache.qpid.messaging.sln
- #
- WriteDotnetBindingSlnLauncherPs1 -slnName "org.apache.qpid.messaging.sln" `
- -boostRoot "$boost64" `
- -buildRoot "$build64" `
- -cppDir "$cppDir" `
- -vsPlatform "x64" `
- -nBits "64" `
- -outfileName "start-devenv-messaging-x64-64bit.ps1"
-
-
- ###########
- # Batch script (that you doubleclick) to launch powershell script
- # that launches org.apache.qpid.messaging.sln.
- #
- WriteDotnetBindingSlnLauncherBat -slnName "org.apache.qpid.messaging.sln" `
- -buildRoot "$build64" `
- -vsPlatform "x64" `
- -nBits "64" `
- -psScriptName "start-devenv-messaging-x64-64bit.ps1" `
- -outfileName "start-devenv-messaging-x64-64bit.bat"
-
- ###########
- # Batch script (that you CALL from a command prompt)
- # to establish the org.apache.qpid.messaging.sln build environment.
- #
- WriteDotnetBindingEnvSetupBat -slnName "org.apache.qpid.messaging.sln" `
- -boostRoot "$boost64" `
- -buildRoot "$build64" `
- -vsPlatform "x64" `
- -nBits "64" `
- -outfileName "setenv-messaging-x64-64bit.bat"
-
-} else {
- Write-Host "Skipped writing 64-bit scripts."
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/Properties/AssemblyInfo.cs deleted file mode 100644 index abe35cf053..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.direct.receiver")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.direct.receiver")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs b/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs deleted file mode 100644 index 592a05ab29..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs +++ /dev/null @@ -1,79 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace CSharpDirect
-{
- class Program
- {
- // Direct receiver example
- //
- // Receive 10 messages from localhost:5672, amq.direct/key
- // Messages are assumed to be printable strings.
- //
- static int Main(string[] args)
- {
- String host = "localhost:5672";
- String addr = "amq.direct/key";
- Int32 nMsg = 10;
-
- if (args.Length > 0)
- host = args[0];
- if (args.Length > 1)
- addr = args[1];
- if (args.Length > 2)
- nMsg = Convert.ToInt32(args[2]);
-
- Console.WriteLine("csharp.direct.receiver");
- Console.WriteLine("host : {0}", host);
- Console.WriteLine("addr : {0}", addr);
- Console.WriteLine("nMsg : {0}", nMsg);
- Console.WriteLine();
-
- Connection connection = null;
- try
- {
- connection = new Connection(host);
- connection.Open();
- if (!connection.IsOpen) {
- Console.WriteLine("Failed to open connection to host : {0}", host);
- } else {
- Session session = connection.CreateSession();
- Receiver receiver = session.CreateReceiver(addr);
- Message message = new Message("");
- for (int i = 0; i < nMsg; i++) {
- Message msg2 = receiver.Fetch(DurationConstants.FORVER);
- Console.WriteLine("Rcvd msg {0} : {1}", i, msg2.GetContent());
- }
- connection.Close();
- return 0;
- }
- } catch (Exception e) {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- return 1;
- }
- }
-}
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.csproj deleted file mode 100644 index 34d79afa91..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{52F880E7-D677-4C91-8516-D679CE0F46A8}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.direct.receiver</RootNamespace>
- <AssemblyName>csharp.direct.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.direct.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/Properties/AssemblyInfo.cs deleted file mode 100644 index 18502a0666..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.direct.sender")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.direct.sender")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("19ce67e4-db90-4480-88c4-3721f47634c7")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs b/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs deleted file mode 100644 index a0ac742a45..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs +++ /dev/null @@ -1,80 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace csharp.direct.sender
-{
- class Program
- {
- // Direct sender example
- //
- // Send 10 messages from localhost:5672, amq.direct/key
- // Messages are assumed to be printable strings.
- //
- static int Main(string[] args)
- {
- String host = "localhost:5672";
- String addr = "amq.direct/key";
- Int32 nMsg = 10;
-
- if (args.Length > 0)
- host = args[0];
- if (args.Length > 1)
- addr = args[1];
- if (args.Length > 2)
- nMsg = Convert.ToInt32(args[2]);
-
- Console.WriteLine("csharp.direct.sender");
- Console.WriteLine("host : {0}", host);
- Console.WriteLine("addr : {0}", addr);
- Console.WriteLine("nMsg : {0}", nMsg);
- Console.WriteLine();
-
- Connection connection = null;
- try
- {
- connection = new Connection(host);
- connection.Open();
-
- if (!connection.IsOpen) {
- Console.WriteLine("Failed to open connection to host : {0}", host);
- } else {
- Session session = connection.CreateSession();
- Sender sender = session.CreateSender(addr);
- for (int i = 0; i < nMsg; i++) {
- Message message = new Message(String.Format("Test Message {0}", i));
- sender.Send(message);
- }
- session.Sync();
- connection.Close();
- return 0;
- }
- } catch (Exception e) {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- return 1;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.csproj deleted file mode 100644 index a8cd07da74..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.direct.sender</RootNamespace>
- <AssemblyName>csharp.direct.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.direct.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.client/Properties/AssemblyInfo.cs deleted file mode 100644 index eddb759ef1..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.client")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.client")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs deleted file mode 100644 index 19a5267297..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs +++ /dev/null @@ -1,75 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples {
- class Client {
- static int Main(string[] args) {
- String url = "amqp:tcp:127.0.0.1:5672";
- String connectionOptions = "";
-
- if (args.Length > 0)
- url = args[0];
- if (args.Length > 1)
- connectionOptions = args[1];
-
- Connection connection = new Connection(url, connectionOptions);
- try
- {
- connection.Open();
-
- Session session = connection.CreateSession();
-
- Sender sender = session.CreateSender("service_queue");
-
- Address responseQueue = new Address("#response-queue; {create:always, delete:always}");
- Receiver receiver = session.CreateReceiver(responseQueue);
-
- String[] s = new String[] {
- "Twas brillig, and the slithy toves",
- "Did gire and gymble in the wabe.",
- "All mimsy were the borogroves,",
- "And the mome raths outgrabe."
- };
-
- Message request = new Message("");
- request.ReplyTo = responseQueue;
-
- for (int i = 0; i < s.Length; i++) {
- request.SetContent(s[i]);
- sender.Send(request);
- Message response = receiver.Fetch();
- Console.WriteLine("{0} -> {1}", request.GetContent(), response.GetContent());
- }
- connection.Close();
- return 0;
- }
- catch (Exception e)
- {
- Console.WriteLine("Exception {0}.", e);
- connection.Close();
- }
- return 1;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.csproj deleted file mode 100644 index 537efa8658..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{0DE01712-C2D1-4CA4-B42C-5856456A8696}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.client</RootNamespace>
- <AssemblyName>csharp.example.client</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.example.client.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/Properties/AssemblyInfo.cs deleted file mode 100644 index 4e065803f6..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.declare_queues")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.declare_queues")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs deleted file mode 100644 index 06267bf719..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs +++ /dev/null @@ -1,60 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples {
- class DeclareQueues {
- //
- // Sample invocation: csharp.example.declare_queues.exe localhost:5672 my-queue
- //
- static int Main(string[] args) {
- string addr = "localhost:5672";
- string queue = "my-queue";
-
- if (args.Length > 0)
- addr = args[0];
- if (args.Length > 1)
- queue = args[1];
-
- Connection connection = null;
- try
- {
- connection = new Connection(addr);
- connection.Open();
- Session session = connection.CreateSession();
- String queueName = queue + "; {create: always}";
- Sender sender = session.CreateSender(queueName);
- session.Close();
- connection.Close();
- return 0;
- }
- catch (Exception e)
- {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- return 1;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj deleted file mode 100644 index a458e706ad..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{E31B349C-830C-4583-8BD9-30DA4398349F}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.declare_queues</RootNamespace>
- <AssemblyName>csharp.example.declare_queues</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.example.declare_queues.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Options.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Options.cs deleted file mode 100644 index 6059f76442..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Options.cs +++ /dev/null @@ -1,175 +0,0 @@ -/*
-* 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 Org.Apache.Qpid.Messaging.Examples
-{
- using System;
-
- public class Options
- {
- private string url;
- private string address;
- private UInt64 timeout;
- private int count;
- private string id;
- private string replyTo;
- //private string[] properties;
- //private string[] entries;
- private string content;
- private string connectionOptions;
- private bool forever;
-
- public Options(string[] args)
- {
- this.url = "amqp:tcp:127.0.0.1:5672";
- this.address = "";
- this.timeout = 0;
- this.count = 1;
- this.id = "";
- this.replyTo = "";
- this.content = "";
- this.connectionOptions = "";
- this.forever = false;
- Parse(args);
- }
-
- private void Parse(string[] args)
- {
- int argCount = args.Length;
- int current = 0;
-
- while ((current + 1) < argCount)
- {
- string arg = args[current];
- if (arg == "--broker")
- {
- this.url = args[++current];
- }
- else if (arg == "--address")
- {
- this.address = args[++current];
- }
- else if (arg == "--timeout")
- {
- arg = args[++current];
- UInt64 i = UInt64.Parse(arg);
- if (i >= 0)
- {
- this.timeout = i;
- }
- }
- else if (arg == "--count")
- {
- arg = args[++current];
- int i = int.Parse(arg);
- if (i >= 0)
- {
- this.count = i;
- }
- }
- else if (arg == "--id")
- {
- this.id = args[++current];
- }
- else if (arg == "--reply-to")
- {
- this.replyTo = args[++current];
- }
- else if (arg == "--properties")
- {
- throw new ArgumentException("TODO: properties not implemented");
- }
- else if (arg == "--entries")
- {
- throw new ArgumentException("TODO: entries not implemented");
- }
- else if (arg == "--content")
- {
- this.content = args[++current];
- }
- else if (arg == "--connection-options")
- {
- this.connectionOptions = args[++current];
- }
- else if (arg == "--forever")
- {
- this.forever = true;
- }
- else
- {
- throw new ArgumentException(String.Format("unknown argument \"{0}\"", arg));
- }
-
- current++;
- }
-
- if (current == argCount)
- {
- throw new ArgumentException("missing argument: address");
- }
-
- address = args[current];
- }
-
- public string Url
- {
- get { return this.url; }
- }
-
- public string Address
- {
- get { return this.address; }
- }
-
- public UInt64 Timeout
- {
- get { return this.timeout; }
- }
-
- public int Count
- {
- get { return this.count; }
- }
-
- public string Id
- {
- get { return this.id; }
- }
-
- public string ReplyTo
- {
- get { return this.replyTo; }
- }
-
- public string Content
- {
- get { return content; }
- }
-
- public string ConnectionOptions
- {
- get { return this.connectionOptions; }
- }
-
- public bool Forever
- {
- get { return this.forever; }
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Properties/AssemblyInfo.cs deleted file mode 100644 index d949dde644..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.drain")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.drain")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs deleted file mode 100644 index da8218bbf7..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs +++ /dev/null @@ -1,88 +0,0 @@ -/*
- *
- * 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;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples {
- class Drain {
- //
- // Sample invocation: csharp.example.drain.exe --broker localhost:5672 --timeout 30 my-queue
- //
- static int Main(string[] args) {
- Options options = new Options(args);
-
- Connection connection = null;
- try
- {
- connection = new Connection(options.Url, options.ConnectionOptions);
- connection.Open();
- Session session = connection.CreateSession();
- Receiver receiver = session.CreateReceiver(options.Address);
- Duration timeout = options.Forever ?
- DurationConstants.FORVER :
- DurationConstants.SECOND * options.Timeout;
- Message message = new Message();
-
- while (receiver.Fetch(ref message, timeout))
- {
- Dictionary<string, object> properties = new Dictionary<string, object>();
- properties = message.Properties;
- Console.Write("Message(properties={0}, content='",
- message.MapAsString(properties));
-
- if ("amqp/map" == message.ContentType)
- {
- Dictionary<string, object> content = new Dictionary<string, object>();
- message.GetContent(content);
- Console.Write(message.MapAsString(content));
- }
- else if ("amqp/list" == message.ContentType)
- {
- Collection<object> content = new Collection<object>();
- message.GetContent(content);
- Console.Write(message.ListAsString(content));
- }
- else
- {
- Console.Write(message.GetContent());
- }
- Console.WriteLine("')");
- session.Acknowledge();
- }
- receiver.Close();
- session.Close();
- connection.Close();
- return 0;
- }
- catch (Exception e)
- {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- return 1;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.csproj deleted file mode 100644 index 75f419d0c5..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.csproj +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{C43DEB69-8088-420B-B0CA-C699535E6D08}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.drain</RootNamespace>
- <AssemblyName>csharp.example.drain</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.example.drain.cs" />
- <Compile Include="Options.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/Properties/AssemblyInfo.cs deleted file mode 100644 index 17bbd842b0..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.helloworld")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.helloworld")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("19ce67e4-db90-4480-88c4-3721f47634c7")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.cs deleted file mode 100644 index 336970a3ba..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.cs +++ /dev/null @@ -1,55 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging {
- class Program {
- static void Main(string[] args) {
- String broker = args.Length > 0 ? args[0] : "localhost:5672";
- String address = args.Length > 1 ? args[1] : "amq.topic";
-
- Connection connection = null;
- try {
- connection = new Connection(broker);
- connection.Open();
- Session session = connection.CreateSession();
-
- Receiver receiver = session.CreateReceiver(address);
- Sender sender = session.CreateSender(address);
-
- sender.Send(new Message("Hello world!"));
-
- Message message = new Message();
- message = receiver.Fetch(DurationConstants.SECOND * 1);
- Console.WriteLine("{0}", message.GetContent());
- session.Acknowledge();
-
- connection.Close();
- } catch (Exception e) {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.csproj deleted file mode 100644 index 0307bea754..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.helloworld/csharp.example.helloworld.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{8CC1C265-0507-44A3-9483-8FAF48513F4D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.helloworld</RootNamespace>
- <AssemblyName>csharp.example.helloworld</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.example.helloworld.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.server/Properties/AssemblyInfo.cs deleted file mode 100644 index 7f0fd52997..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.server")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.server")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs deleted file mode 100644 index 1d93649195..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs +++ /dev/null @@ -1,66 +0,0 @@ -/*
- *
- * 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;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples {
- class Server {
- static int Main(string[] args) {
- string url = "amqp:tcp:127.0.0.1:5672";
- string connectionOptions = "";
-
- if (args.Length > 0)
- url = args[0];
- // address args[1] is not used in this example
- if (args.Length > 2)
- connectionOptions = args[2];
-
- try {
- Connection connection = new Connection(url, connectionOptions);
- connection.Open();
- Session session = connection.CreateSession();
- Receiver receiver = session.CreateReceiver("service_queue; {create: always}");
-
- while (true) {
- Message request = receiver.Fetch();
- Address address = request.ReplyTo;
-
- if (null != address) {
- Sender sender = session.CreateSender(address);
- String s = request.GetContent();
- Message response = new Message(s.ToUpper());
- sender.Send(response);
- Console.WriteLine("Processed request: {0} -> {1}", request.GetContent(), response.GetContent());
- session.Acknowledge();
- } else {
- Console.WriteLine("Error: no reply address specified for request: {0}", request.GetContent());
- session.Reject(request);
- }
- }
- // connection.Close(); // unreachable in this example
- } catch (Exception e) {
- Console.WriteLine("Exception {0}.", e);
- }
- return 1;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.csproj deleted file mode 100644 index d377018a30..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{090A081D-E8B5-4949-AA43-EE182B7101E3}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.server</RootNamespace>
- <AssemblyName>csharp.example.server</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.example.server.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Options.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Options.cs deleted file mode 100644 index 9ceb11e520..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Options.cs +++ /dev/null @@ -1,185 +0,0 @@ -/*
-* 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 Org.Apache.Qpid.Messaging.Examples
-{
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
-
- public class Options
- {
- private string url;
- private string address;
- private int timeout;
- private int count;
- private string id;
- private string replyTo;
- private Collection<string> properties;
- private Collection<string> entries;
- private string content;
- private string connectionOptions;
- private bool forever;
-
- public Options(string[] args)
- {
- this.url = "amqp:tcp:127.0.0.1:5672";
- this.address = "";
- this.timeout = 0;
- this.count = 1;
- this.id = "";
- this.replyTo = "";
- properties = new Collection<string>();
- entries = new Collection<string>();
- this.content = "";
- this.connectionOptions = "";
- this.forever = false;
- Parse(args);
- }
-
- private void Parse(string[] args)
- {
- int argCount = args.Length;
- int current = 0;
-
- while ((current + 1) < argCount)
- {
- string arg = args[current];
- if (arg == "--broker")
- {
- this.url = args[++current];
- }
- else if (arg == "--address")
- {
- this.address = args[++current];
- }
- else if (arg == "--timeout")
- {
- arg = args[++current];
- int i = int.Parse(arg);
- if (i >= 0)
- {
- this.timeout = i;
- }
- }
- else if (arg == "--count")
- {
- arg = args[++current];
- int i = int.Parse(arg);
- if (i >= 0)
- {
- this.count = i;
- }
- }
- else if (arg == "--id")
- {
- this.id = args[++current];
- }
- else if (arg == "--reply-to")
- {
- this.replyTo = args[++current];
- }
- else if (arg == "--properties")
- {
- this.properties.Add(args[++current]);
- }
- else if (arg == "--map")
- {
- this.entries.Add(args[++current]);
- }
- else if (arg == "--content")
- {
- this.content = args[++current];
- }
- else if (arg == "--connection-options")
- {
- this.connectionOptions = args[++current];
- }
- else if (arg == "--forever")
- {
- this.forever = true;
- }
- else
- {
- throw new ArgumentException(String.Format("unknown argument \"{0}\"", arg));
- }
-
- current++;
- }
-
- if (current == argCount)
- {
- throw new ArgumentException("missing argument: address");
- }
-
- address = args[current];
- }
-
- public string Url
- {
- get { return this.url; }
- }
-
- public string Address
- {
- get { return this.address; }
- }
-
- public int Timeout
- {
- get { return this.timeout; }
- }
-
- public int Count
- {
- get { return this.count; }
- }
-
- public string Id
- {
- get { return this.id; }
- }
-
- public string ReplyTo
- {
- get { return this.replyTo; }
- }
-
- public Collection<string> Entries
- {
- get { return this.entries; }
- }
-
- public string Content
- {
- get { return content; }
- }
-
- public string ConnectionOptions
- {
- get { return this.connectionOptions; }
- }
-
- public bool Forever
- {
- get { return this.forever; }
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Properties/AssemblyInfo.cs deleted file mode 100644 index f07c780571..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.example.spout")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.example.spout")]
-[assembly: AssemblyCopyright("Copyright ? 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c60b17ab-a82c-4edf-ba95-1e88bd4c3e75")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs b/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs deleted file mode 100644 index 531abadd4c..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs +++ /dev/null @@ -1,120 +0,0 @@ -/*
- *
- * 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;
-using System.Diagnostics;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples {
- class Spout {
- //
- // Sample invocation: csharp.example.spout.exe --broker localhost:5672 my-queue
- //
- static bool NameVal(string In, out string nameOut, out string valueOut)
- {
- int pos = In.IndexOf("=");
- if (-1 == pos) {
- nameOut = In;
- valueOut = "";
- return false;
- } else {
- nameOut = In.Substring(0, pos);
- if (pos + 1 < In.Length) {
- valueOut = In.Substring(pos + 1);
- return true;
- } else {
- valueOut = "";
- return false;
- }
- }
- }
-
- static void SetEntries(Collection<string> entries, Dictionary<string, object> content)
- {
- foreach (String entry in entries)
- {
- string name = "";
- string value = "";
- if (NameVal(entry, out name, out value))
- content.Add(name, value);
- else
- content.Add(name, "");
- }
- }
-
- static int Main(string[] args) {
- Options options = new Options(args);
-
- Connection connection = null;
- try
- {
- connection = new Connection(options.Url, options.ConnectionOptions);
- connection.Open();
- Session session = connection.CreateSession();
- Sender sender = session.CreateSender(options.Address);
- Message message;
- if (options.Entries.Count > 0)
- {
- Dictionary<string, object> content = new Dictionary<string, object>();
- SetEntries(options.Entries, content);
- message = new Message(content);
- }
- else
- {
- message = new Message(options.Content);
- message.ContentType = "text/plain";
- }
- Address replyToAddr = new Address(options.ReplyTo);
-
- Stopwatch stopwatch = new Stopwatch();
- TimeSpan timespan = new TimeSpan(0,0,options.Timeout);
- stopwatch.Start();
- for (int count = 0;
- (0 == options.Count || count < options.Count) &&
- (0 == options.Timeout || stopwatch.Elapsed <= timespan);
- count++)
- {
- if ("" != options.ReplyTo) message.ReplyTo = replyToAddr;
- string id = options.Id ;
- if ("" == id) {
- Guid g = Guid.NewGuid();
- id = g.ToString();
- }
- string spoutid = id + ":" + count;
- message.SetProperty("spout-id", spoutid);
- sender.Send(message);
- }
- session.Sync();
- connection.Close();
- return 0;
- } catch (Exception e) {
- Console.WriteLine("Exception {0}.", e);
- if (null != connection)
- connection.Close();
- }
- return 1;
- }
- }
-}
-
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.csproj deleted file mode 100644 index c0e4d7fe1f..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.csproj +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{EB36626D-36C2-41B3-B65E-762BAF27F137}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.spout</RootNamespace>
- <AssemblyName>csharp.example.spout</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.spout.cs" />
- <Compile Include="Options.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/Properties/AssemblyInfo.cs deleted file mode 100644 index a87f92ccdf..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,54 +0,0 @@ -/*
-* 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.map.callback.receiver")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.map.callback.receiver")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("002049f9-41c5-420f-9ff6-45bb652dded6")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs deleted file mode 100644 index b1ba949e07..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs +++ /dev/null @@ -1,286 +0,0 @@ -/*
- *
- * 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;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using Org.Apache.Qpid.Messaging;
-using Org.Apache.Qpid.Messaging.SessionReceiver;
-
-namespace Org.Apache.Qpid.Messaging.Examples
-{
- /// <summary>
- /// A class with functions to display structured messages.
- /// </summary>
- public static class MessageViewer
- {
- /// <summary>
- /// A Function to display a amqp/map message packaged as a Dictionary.
- /// </summary>
- /// <param name="dict">The AMQP map</param>
- /// <param name="level">Nested depth</param>
- public static void ShowDictionary(Dictionary<string, object> dict, int level)
- {
- foreach (KeyValuePair<string, object> kvp in dict)
- {
- Console.Write(new string(' ', level * 4));
-
- if (QpidTypeCheck.ObjectIsMap(kvp.Value))
- {
- Console.WriteLine("Key: {0}, Value: Dictionary", kvp.Key);
- ShowDictionary((Dictionary<string, object>)kvp.Value, level + 1);
- }
- else if (QpidTypeCheck.ObjectIsList(kvp.Value))
- {
- Console.WriteLine("Key: {0}, Value: List", kvp.Key);
- ShowList((Collection<object>)kvp.Value, level + 1);
- }
- else
- Console.WriteLine("Key: {0}, Value: {1}, Type: {2}",
- kvp.Key, kvp.Value, kvp.Value.GetType().ToString());
- }
- }
-
- /// <summary>
- /// A function to display a ampq/list message packaged as a List.
- /// </summary>
- /// <param name="list">The AMQP list</param>
- /// <param name="level">Nested depth</param>
- public static void ShowList(Collection<object> list, int level)
- {
- foreach (object obj in list)
- {
- Console.Write(new string(' ', level * 4));
-
- if (QpidTypeCheck.ObjectIsMap(obj))
- {
- Console.WriteLine("Dictionary");
- ShowDictionary((Dictionary<string, object>)obj, level + 1);
- }
- else if (QpidTypeCheck.ObjectIsList(obj))
- {
- Console.WriteLine("List");
- ShowList((Collection<object>)obj, level + 1);
- }
- else
- Console.WriteLine("Value: {0}, Type: {1}",
- obj.ToString(), obj.GetType().ToString());
- }
- }
-
- /// <summary>
- /// A function to diplay a Message. The native Object type is
- /// decomposed into AMQP types.
- /// </summary>
- /// <param name="message">The Message</param>
- public static void ShowMessage(Message message)
- {
- if ("amqp/map" == message.ContentType)
- {
- Console.WriteLine("Received a Dictionary");
- Dictionary<string, object> content = new Dictionary<string, object>();
- message.GetContent(content);
- ShowDictionary(content, 0);
- }
- else if ("amqp/list" == message.ContentType)
- {
- Console.WriteLine("Received a List");
- Collection<object> content = new Collection<object>();
- message.GetContent(content);
- ShowList(content, 0);
- }
- else
- {
- Console.WriteLine("Received a String");
- Console.WriteLine(message.GetContent());
- }
- }
- }
-
-
-
- /// <summary>
- /// A model class to demonstrate how a user may use the Qpid Messaging
- /// interface to receive Session messages using a callback.
- /// </summary>
- class ReceiverProcess : ISessionReceiver
- {
- UInt32 messagesReceived = 0;
-
- /// <summary>
- /// SessionReceiver implements the ISessionReceiver interface.
- /// It is the callback function that receives all messages for a Session.
- /// It may be called any time server is running.
- /// It is always called on server's private thread.
- /// </summary>
- /// <param name="receiver">The Receiver associated with the message.</param>
- /// <param name="message">The Message</param>
- public void SessionReceiver(Receiver receiver, Message message)
- {
- //
- // Indicate message reception
- //
- Console.WriteLine("--- Message {0}", ++messagesReceived);
-
- //
- // Display the received message
- //
- MessageViewer.ShowMessage(message);
-
- //
- // Acknowledge the receipt of all received messages.
- //
- receiver.Session.Acknowledge();
- }
-
-
- /// <summary>
- /// Usage
- /// </summary>
- /// <param name="url">Connection target</param>
- /// <param name="addr">Address: broker exchange + routing key</param>
- /// <param name="nSec">n seconds to keep callback open</param>
- static void usage(string url, string addr, int nSec)
- {
-
- Console.WriteLine("usage: {0} [url [addr [nSec]]]",
- System.Diagnostics.Process.GetCurrentProcess().ProcessName);
- Console.WriteLine();
- Console.WriteLine("A program to connect to a broker and receive");
- Console.WriteLine("messages from a named exchange with a routing key.");
- Console.WriteLine("The receiver uses a session callback and keeps the callback");
- Console.WriteLine("server open for so many seconds.");
- Console.WriteLine("The details of the message body's types and values are shown.");
- Console.WriteLine();
- Console.WriteLine(" url = target address for 'new Connection(url)'");
- Console.WriteLine(" addr = address for 'session.CreateReceiver(addr)'");
- Console.WriteLine(" nSec = time in seconds to keep the receiver callback open");
- Console.WriteLine();
- Console.WriteLine("Default values:");
- Console.WriteLine(" {0} {1} {2} {3}",
- System.Diagnostics.Process.GetCurrentProcess().ProcessName,
- url, addr, nSec);
- }
-
-
- /// <summary>
- /// A function to illustrate how to open a Session callback and
- /// receive messages.
- /// </summary>
- /// <param name="args">Main program arguments</param>
- public int TestProgram(string[] args)
- {
- string url = "amqp:tcp:localhost:5672";
- string addr = "amq.direct/map_example";
- int nSec = 30;
- string connectionOptions = "";
-
- if (1 == args.Length)
- {
- if (args[0].Equals("-h") || args[0].Equals("-H") || args[0].Equals("/?"))
- {
- usage(url, addr, nSec);
- return 1;
- }
- }
-
- if (args.Length > 0)
- url = args[0];
- if (args.Length > 1)
- addr = args[1];
- if (args.Length > 2)
- nSec = System.Convert.ToInt32(args[2]);
- if (args.Length > 3)
- connectionOptions = args[3];
-
- //
- // Create and open an AMQP connection to the broker URL
- //
- Connection connection = new Connection(url, connectionOptions);
- connection.Open();
-
- //
- // Create a session.
- //
- Session session = connection.CreateSession();
-
- //
- // Receive through callback
- //
- // Create callback server and implicitly start it
- //
- SessionReceiver.CallbackServer cbServer =
- new SessionReceiver.CallbackServer(session, this);
-
- //
- // The callback server is running and executing callbacks on a
- // separate thread.
- //
-
- //
- // Create a receiver for the direct exchange using the
- // routing key "map_example".
- //
- Receiver receiver = session.CreateReceiver(addr);
-
- //
- // Establish a capacity
- //
- receiver.Capacity = 100;
-
- //
- // Wait so many seconds for messages to arrive.
- //
- System.Threading.Thread.Sleep(nSec * 1000); // in mS
-
- //
- // Stop the callback server.
- //
- cbServer.Close();
-
- //
- // Close the receiver and the connection.
- //
- receiver.Close();
- connection.Close();
- return 0;
- }
- }
-
-
- class MapCallbackReceiverMain
- {
- /// <summary>
- /// Main program
- /// </summary>
- /// <param name="args">Main prgram args</param>
- static int Main(string[] args)
- {
- // Invoke 'TestProgram' as non-static class.
- ReceiverProcess mainProc = new ReceiverProcess();
-
- int result = mainProc.TestProgram(args);
-
- return result;
- }
- }
-}
-
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj deleted file mode 100644 index 1380fc4981..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{68A43817-2358-4A31-8FDF-FE21722BFBCF}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.callback.receiver</RootNamespace>
- <AssemblyName>csharp.map.callback.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.callback.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- <ProjectReference Include="..\..\src\sessionreceiver\org.apache.qpid.messaging.sessionreceiver.csproj">
- <Project>{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}</Project>
- <Name>org.apache.qpid.messaging.sessionreceiver</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/Properties/AssemblyInfo.cs deleted file mode 100644 index e633f76673..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,54 +0,0 @@ -/*
-* 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.map.callback.sender")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.map.callback.sender")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1eec2eca-adbd-4394-8b01-f4c4645bb122")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs deleted file mode 100644 index 4cc88564e7..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs +++ /dev/null @@ -1,194 +0,0 @@ -/*
- *
- * 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;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.Examples
-{
- class MapSender
- {
- //
- // usage
- //
- static void usage(string url, string addr, UInt32 count, string connOpts)
- {
-
- Console.WriteLine("usage: {0} [url [addr [count]]]",
- System.Diagnostics.Process.GetCurrentProcess().ProcessName);
- Console.WriteLine();
- Console.WriteLine("A program to connect to a broker and send N");
- Console.WriteLine("messages to a named exchange with a routing key.");
- Console.WriteLine();
- Console.WriteLine(" url = target address for 'new Connection(url)'");
- Console.WriteLine(" addr = address for 'session.CreateReceiver(addr)'");
- Console.WriteLine(" count = number of messages to send");
- Console.WriteLine(" connectionOptions = options list");
- Console.WriteLine();
- Console.WriteLine("Default values:");
- Console.WriteLine(" {0} {1} {2} {3} {4}",
- System.Diagnostics.Process.GetCurrentProcess().ProcessName,
- url, addr, count, connOpts);
- }
-
-
- //
- // TestProgram
- //
- public int TestProgram(string[] args)
- {
- string url = "amqp:tcp:localhost:5672";
- string addr = "amq.direct/map_example";
- UInt32 count = 1;
- string connectionOptions = "";
-
- if (1 == args.Length)
- {
- if (args[0].Equals("-h") || args[0].Equals("-H") || args[0].Equals("/?"))
- {
- usage(url, addr, count, connectionOptions);
- return 1;
- }
- }
-
- if (args.Length > 0)
- url = args[0];
- if (args.Length > 1)
- addr = args[1];
- if (args.Length > 2)
- count = System.Convert.ToUInt32(args[2]);
- if (args.Length > 3)
- connectionOptions = args[3];
-
- //
- // Create and open an AMQP connection to the broker URL
- //
- Connection connection = new Connection(url, connectionOptions);
- connection.Open();
-
- //
- // Create a session and a sender to the direct exchange using the
- // routing key "map_example".
- //
- Session session = connection.CreateSession();
- Sender sender = session.CreateSender(addr);
-
- //
- // Create structured content for the message. This example builds a
- // map of items including a nested map and a list of values.
- //
- Dictionary<string, object> content = new Dictionary<string, object>();
- Dictionary<string, object> subMap = new Dictionary<string, object>();
- Collection<object> colors = new Collection<object>();
-
- // add simple types
- content["id"] = 987654321;
- content["name"] = "Widget";
- content["percent"] = 0.99;
-
- // add nested amqp/map
- subMap["name"] = "Smith";
- subMap["number"] = 354;
- content["nestedMap"] = subMap;
-
- // add an amqp/list
- colors.Add("red");
- colors.Add("green");
- colors.Add("white");
- content["colorsList"] = colors;
-
- // add one of each supported amqp data type
- bool mybool = true;
- content["mybool"] = mybool;
-
- byte mybyte = 4;
- content["mybyte"] = mybyte;
-
- UInt16 myUInt16 = 5;
- content["myUInt16"] = myUInt16;
-
- UInt32 myUInt32 = 6;
- content["myUInt32"] = myUInt32;
-
- UInt64 myUInt64 = 7;
- content["myUInt64"] = myUInt64;
-
- char mychar = 'h';
- content["mychar"] = mychar;
-
- Int16 myInt16 = 9;
- content["myInt16"] = myInt16;
-
- Int32 myInt32 = 10;
- content["myInt32"] = myInt32;
-
- Int64 myInt64 = 11;
- content["myInt64"] = myInt64;
-
- Single mySingle = (Single)12.12;
- content["mySingle"] = mySingle;
-
- Double myDouble = 13.13;
- content["myDouble"] = myDouble;
-
- Guid myGuid = new Guid("000102030405060708090a0b0c0d0e0f");
- content["myGuid"] = myGuid;
-
- //
- // Construct a message with the map content and send it synchronously
- // via the sender.
- //
- Message message = new Message(content);
- for (UInt32 i = 0; i<count; i++)
- sender.Send(message, true);
-
- //
- // Wait until broker receives all messages.
- //
- session.Sync();
-
- //
- // Close the connection.
- //
- connection.Close();
-
- return 0;
- }
- }
-
- class MapSenderMain
- {
- //
- // Main
- //
- static int Main(string[] args)
- {
- // Invoke 'TestProgram' as non-static class.
- MapSender mainProc = new MapSender();
-
- int result = mainProc.TestProgram(args);
-
- return result;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj deleted file mode 100644 index cb0a5705af..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{12F1C14F-5C7D-4075-9BAE-C091394FF99A}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.callback.sender</RootNamespace>
- <AssemblyName>csharp.map.callback.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.callback.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/Properties/AssemblyInfo.cs deleted file mode 100644 index 694d6b9ce1..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.map.receiver")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.map.receiver")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("002049f9-41c5-420f-9ff6-45bb652dded6")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.cs deleted file mode 100644 index 5219ee789a..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.cs +++ /dev/null @@ -1,87 +0,0 @@ -/*
- *
- * 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;
-using System.Collections.Generic;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.examples
-{
- class MapReceiver
- {
- // csharp.map.receiver example
- //
- // Send an amqp/map message to amqp:tcp:localhost:5672 amq.direct/map_example
- // The map message
- //
- static int Main(string[] args)
- {
- string url = "amqp:tcp:localhost:5672";
- string address = "message_queue; {create: always}";
- string connectionOptions = "";
-
- if (args.Length > 0)
- url = args[0];
- if (args.Length > 1)
- address = args[1];
- if (args.Length > 2)
- connectionOptions = args[3];
-
- //
- // Create and open an AMQP connection to the broker URL
- //
- Connection connection = new Connection(url);
- connection.Open();
-
- //
- // Create a session and a receiver fir the direct exchange using the
- // routing key "map_example".
- //
- Session session = connection.CreateSession();
- Receiver receiver = session.CreateReceiver(address);
-
- //
- // Fetch the message from the broker
- //
- Message message = receiver.Fetch(DurationConstants.MINUTE);
-
- //
- // Extract the structured content from the message.
- //
- Dictionary<string, object> content = new Dictionary<string, object>();
- message.GetContent(content);
- Console.WriteLine("{0}", message.AsString(content));
-
- //
- // Acknowledge the receipt of all received messages.
- //
- session.Acknowledge();
-
- //
- // Close the receiver and the connection.
- //
- receiver.Close();
- connection.Close();
- return 0;
- }
- }
-}
-
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.csproj deleted file mode 100644 index 82882be817..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.receiver.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.receiver</RootNamespace>
- <AssemblyName>csharp.map.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.map.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/Properties/AssemblyInfo.cs deleted file mode 100644 index ea29ac2417..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("csharp.map.sender")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("csharp.map.sender")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1eec2eca-adbd-4394-8b01-f4c4645bb122")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs b/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs deleted file mode 100644 index 9001eb8e0b..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs +++ /dev/null @@ -1,146 +0,0 @@ -/*
- *
- * 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;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.examples
-{
- class MapSender
- {
- // csharp.map.sender example
- //
- // Send an amqp/map message to amqp:tcp:localhost:5672 amq.direct/map_example
- // The map message contains simple types, a nested amqp/map,
- // an ampq/list, and specific instances of each supported type.
- //
- static int Main(string[] args)
- {
- string url = "amqp:tcp:localhost:5672";
- string address = "message_queue; {create: always}";
- string connectionOptions = "";
-
- if (args.Length > 0)
- url = args[0];
- if (args.Length > 1)
- address = args[1];
- if (args.Length > 2)
- connectionOptions = args[2];
-
- //
- // Create and open an AMQP connection to the broker URL
- //
- Connection connection = new Connection(url, connectionOptions);
- connection.Open();
-
- //
- // Create a session and a sender to the direct exchange
- //
- Session session = connection.CreateSession();
- Sender sender = session.CreateSender(address);
-
- //
- // Create structured content for the message. This example builds a
- // map of items including a nested map and a list of values.
- //
- Dictionary<string, object> content = new Dictionary<string, object>();
- Dictionary<string, object> subMap = new Dictionary<string, object>();
- Collection<object> colors = new Collection<object>();
-
- // add simple types
- content["id"] = 987654321;
- content["name"] = "Widget";
- content["percent"] = 0.99;
-
- // add nested amqp/map
- subMap["name"] = "Smith";
- subMap["number"] = 354;
- content["nestedMap"] = subMap;
-
- // add an amqp/list
- colors.Add("red");
- colors.Add("green");
- colors.Add("white");
- // list contains null value
- colors.Add(null);
- content["colorsList"] = colors;
-
- // add one of each supported amqp data type
- bool mybool = true;
- content["mybool"] = mybool;
-
- byte mybyte = 4;
- content["mybyte"] = mybyte;
-
- UInt16 myUInt16 = 5 ;
- content["myUInt16"] = myUInt16;
-
- UInt32 myUInt32 = 6;
- content["myUInt32"] = myUInt32;
-
- UInt64 myUInt64 = 7;
- content["myUInt64"] = myUInt64;
-
- char mychar = 'h';
- content["mychar"] = mychar;
-
- Int16 myInt16 = 9;
- content["myInt16"] = myInt16;
-
- Int32 myInt32 = 10;
- content["myInt32"] = myInt32;
-
- Int64 myInt64 = 11;
- content["myInt64"] = myInt64;
-
- Single mySingle = (Single)12.12;
- content["mySingle"] = mySingle;
-
- Double myDouble = 13.13;
- content["myDouble"] = myDouble;
-
- Guid myGuid = new Guid("000102030405060708090a0b0c0d0e0f");
- content["myGuid"] = myGuid;
-
- content["myNull"] = null;
-
- //
- // Construct a message with the map content and send it synchronously
- // via the sender.
- //
- Message message = new Message(content);
- sender.Send(message, true);
-
- //
- // Wait until broker receives all messages.
- //
- session.Sync();
-
- //
- // Close the connection.
- //
- connection.Close();
- return 0;
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.csproj b/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.csproj deleted file mode 100644 index 0e42201b6d..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{5D8252F5-E1D3-44A0-94C7-7CB75E843C10}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.sender</RootNamespace>
- <AssemblyName>csharp.map.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="csharp.map.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/examples/powershell.example.helloworld/powershell.example.helloworld.ps1 b/cpp/bindings/qpid/dotnet/examples/powershell.example.helloworld/powershell.example.helloworld.ps1 deleted file mode 100644 index e8c21bc3f6..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/powershell.example.helloworld/powershell.example.helloworld.ps1 +++ /dev/null @@ -1,34 +0,0 @@ -#
-# 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.
-#
-
-#
-# Script for 32-bit powershell
-#
-
-[Reflection.Assembly]::LoadFile('W:\cpp\src\Debug\org.apache.qpid.messagingd.dll')
-$conn = new-object Org.Apache.Qpid.Messaging.Connection("localhost:5672")
-$conn.Open()
-$sess = $conn.CreateSession()
-$rcvr = $sess.CreateReceiver("amq.topic")
-$sender = $sess.CreateSender("amq.topic")
-$msg1 = new-object Org.Apache.Qpid.Messaging.Message("Hello world!")
-$sender.Send($msg1)
-$dur = new-object Org.Apache.Qpid.Messaging.Duration(1000)
-$msg2 = $rcvr.Fetch($dur)
-$msg2.GetContent()
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.Designer.vb b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.Designer.vb deleted file mode 100644 index 7b4d946036..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.Designer.vb +++ /dev/null @@ -1,32 +0,0 @@ -'
-' 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.
-'
-
-'------------------------------------------------------------------------------
-' <auto-generated>
-' This code was generated by a tool.
-' Runtime Version:2.0.50727.4927
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-' </auto-generated>
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.myapp b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.myapp deleted file mode 100644 index 256be1aa9e..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Application.myapp +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <MySubMain>false</MySubMain>
- <SingleInstance>false</SingleInstance>
- <ShutdownMode>0</ShutdownMode>
- <EnableVisualStyles>true</EnableVisualStyles>
- <AuthenticationMode>0</AuthenticationMode>
- <ApplicationType>2</ApplicationType>
- <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
-</MyApplicationData>
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/AssemblyInfo.vb b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/AssemblyInfo.vb deleted file mode 100644 index d0727fe9fa..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/AssemblyInfo.vb +++ /dev/null @@ -1,54 +0,0 @@ -'
-' 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.
-'
-
-Imports System
-Imports System.Reflection
-Imports System.Runtime.InteropServices
-
-' General Information about an assembly is controlled through the following
-' set of attributes. Change these attribute values to modify the information
-' associated with an assembly.
-
-' Review the values of the assembly attributes
-
-<Assembly: AssemblyTitle("visualbasic.example.client")>
-<Assembly: AssemblyDescription("")>
-<Assembly: AssemblyCompany("Microsoft")>
-<Assembly: AssemblyProduct("visualbasic.example.client")>
-<Assembly: AssemblyCopyright("Copyright © Microsoft 2010")>
-<Assembly: AssemblyTrademark("")>
-
-<Assembly: ComVisible(False)>
-
-'The following GUID is for the ID of the typelib if this project is exposed to COM
-<Assembly: Guid("ec9df8cf-c1d4-4938-9e72-93fb81d55700")>
-
-' Version information for an assembly consists of the following four values:
-'
-' Major Version
-' Minor Version
-' Build Number
-' Revision
-'
-' You can specify all the values or you can default the Build and Revision Numbers
-' by using the '*' as shown below:
-' <Assembly: AssemblyVersion("1.0.*")>
-
-<Assembly: AssemblyVersion("1.0.0.0")>
-<Assembly: AssemblyFileVersion("1.0.0.0")>
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.Designer.vb b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.Designer.vb deleted file mode 100644 index fa8cc43f84..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.Designer.vb +++ /dev/null @@ -1,82 +0,0 @@ -'
-' 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.
-'
-
-'------------------------------------------------------------------------------
-' <auto-generated>
-' This code was generated by a tool.
-' Runtime Version:2.0.50727.4927
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-' </auto-generated>
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-Imports System
-
-Namespace My.Resources
-
- 'This class was auto-generated by the StronglyTypedResourceBuilder
- 'class via a tool like ResGen or Visual Studio.
- 'To add or remove a member, edit your .ResX file then rerun ResGen
- 'with the /str option, or rebuild your VS project.
- '''<summary>
- ''' A strongly-typed resource class, for looking up localized strings, etc.
- '''</summary>
- <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"), _
- Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
- Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
- Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
- Friend Module Resources
-
- Private resourceMan As Global.System.Resources.ResourceManager
-
- Private resourceCulture As Global.System.Globalization.CultureInfo
-
- '''<summary>
- ''' Returns the cached ResourceManager instance used by this class.
- '''</summary>
- <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
- Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
- Get
- If Object.ReferenceEquals(resourceMan, Nothing) Then
- Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Org.Apache.Qpid.Messaging.Examples.Resources", GetType(Resources).Assembly)
- resourceMan = temp
- End If
- Return resourceMan
- End Get
- End Property
-
- '''<summary>
- ''' Overrides the current thread's CurrentUICulture property for all
- ''' resource lookups using this strongly typed resource class.
- '''</summary>
- <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
- Friend Property Culture() As Global.System.Globalization.CultureInfo
- Get
- Return resourceCulture
- End Get
- Set
- resourceCulture = value
- End Set
- End Property
- End Module
-End Namespace
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.resx b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.resx deleted file mode 100644 index 70432f3b74..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Resources.resx +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
-</root>
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.Designer.vb b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.Designer.vb deleted file mode 100644 index d02c7f85c6..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.Designer.vb +++ /dev/null @@ -1,92 +0,0 @@ -'
-' 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.
-'
-
-'------------------------------------------------------------------------------
-' <auto-generated>
-' This code was generated by a tool.
-' Runtime Version:2.0.50727.4927
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-' </auto-generated>
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-
-Namespace My
-
- <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
- Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0"), _
- Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
- Partial Friend NotInheritable Class MySettings
- Inherits Global.System.Configuration.ApplicationSettingsBase
-
- Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings)
-
-#Region "My.Settings Auto-Save Functionality"
-#If _MyType = "WindowsForms" Then
- Private Shared addedHandler As Boolean
-
- Private Shared addedHandlerLockObject As New Object
-
- <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
- Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
- If My.Application.SaveMySettingsOnExit Then
- My.Settings.Save()
- End If
- End Sub
-#End If
-#End Region
-
- Public Shared ReadOnly Property [Default]() As MySettings
- Get
-
-#If _MyType = "WindowsForms" Then
- If Not addedHandler Then
- SyncLock addedHandlerLockObject
- If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
- End If
- End SyncLock
- End If
-#End If
- Return defaultInstance
- End Get
- End Property
- End Class
-End Namespace
-
-Namespace My
-
- <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
- Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
- Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
- Friend Module MySettingsProperty
-
- <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
- Friend ReadOnly Property Settings() As Global.Org.Apache.Qpid.Messaging.Examples.My.MySettings
- Get
- Return Global.Org.Apache.Qpid.Messaging.Examples.My.MySettings.Default
- End Get
- End Property
- End Module
-End Namespace
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.settings b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.settings deleted file mode 100644 index 469395e45e..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/MyProject/Settings.settings +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version='1.0' encoding='utf-8'?>
-<!--
-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.
--->
-<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
- <Profiles>
- <Profile Name="(Default)" />
- </Profiles>
- <Settings />
-</SettingsFile>
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb deleted file mode 100644 index f32cfd8bce..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb +++ /dev/null @@ -1,72 +0,0 @@ -'
-'
-' 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.
-'
-'
-
-Imports System
-Imports Org.Apache.Qpid.Messaging
-Namespace Org.Apache.Qpid.Messaging.Examples
- Module Module1
- Class Client
- Public Shared Function Main(ByVal args() As String) As Integer
- Dim url As String = "amqp:tcp:127.0.0.1:5672"
- Dim connectionOptions As String = ""
-
- If args.Length > 0 Then url = args(0)
- If args.Length > 1 Then connectionOptions = args(1)
-
- Dim connection As Connection
- Try
- connection = New Connection(url, connectionOptions)
- connection.Open()
-
- Dim session As Session = connection.CreateSession()
-
- Dim sender As Sender = session.CreateSender("service_queue")
-
- Dim responseQueue As Address = New Address("#response-queue; {create:always, delete:always}")
- Dim receiver As Receiver = session.CreateReceiver(responseQueue)
-
- Dim s(3) As String
- s(0) = "Twas brillig, and the slithy toves"
- s(1) = "Did gire and gymble in the wabe."
- s(2) = "All mimsy were the borogroves,"
- s(3) = "And the mome raths outgrabe."
-
- Dim request As Message = New Message("")
- request.ReplyTo = responseQueue
-
- Dim i As Integer
- For i = 0 To s.Length - 1
- request.SetContent(s(i))
- sender.Send(request)
- Dim response As Message = receiver.Fetch()
- Console.WriteLine("{0} -> {1}", request.GetContent(), response.GetContent())
- Next i
- connection.Close()
- Main = 0
- Catch e As Exception
- Console.WriteLine("Exception {0}.", e)
- connection.Close()
- Main = 1
- End Try
- End Function
- End Class
- End Module
-End Namespace
diff --git a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vbproj b/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vbproj deleted file mode 100644 index 4463dc7902..0000000000 --- a/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vbproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- 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.
-
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{CFEA696E-115B-4AD1-AB56-804E360EDD51}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <StartupObject>Sub Main</StartupObject>
- <RootNamespace>Org.Apache.Qpid.Messaging.Examples</RootNamespace>
- <AssemblyName>visualbasic.example.client</AssemblyName>
- <FileAlignment>512</FileAlignment>
- <MyType>Console</MyType>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <OptionExplicit>On</OptionExplicit>
- <OptionCompare>Binary</OptionCompare>
- <OptionStrict>Off</OptionStrict>
- <OptionInfer>On</OptionInfer>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <DefineDebug>true</DefineDebug>
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <Optimize>true</Optimize>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <Optimize>true</Optimize>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <DefineDebug>true</DefineDebug>
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <Optimize>true</Optimize>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <DefineTrace>true</DefineTrace>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DocumentationFile>visualbasic.example.client.xml</DocumentationFile>
- <Optimize>true</Optimize>
- <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Deployment" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Xml.Linq">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data.DataSetExtensions">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Import Include="Microsoft.VisualBasic" />
- <Import Include="System" />
- <Import Include="System.Collections" />
- <Import Include="System.Collections.Generic" />
- <Import Include="System.Data" />
- <Import Include="System.Diagnostics" />
- <Import Include="System.Linq" />
- <Import Include="System.Xml.Linq" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="visualbasic.example.client.vb" />
- <Compile Include="MyProject\AssemblyInfo.vb" />
- <Compile Include="MyProject\Application.Designer.vb">
- <AutoGen>True</AutoGen>
- <DependentUpon>Application.myapp</DependentUpon>
- </Compile>
- <Compile Include="MyProject\Resources.Designer.vb">
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- <DependentUpon>Resources.resx</DependentUpon>
- </Compile>
- <Compile Include="MyProject\Settings.Designer.vb">
- <AutoGen>True</AutoGen>
- <DependentUpon>Settings.settings</DependentUpon>
- <DesignTimeSharedInput>True</DesignTimeSharedInput>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="MyProject\Resources.resx">
- <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
- <LastGenOutput>Resources.Designer.vb</LastGenOutput>
- <CustomToolNamespace>My.Resources</CustomToolNamespace>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <None Include="MyProject\Application.myapp">
- <Generator>MyApplicationCodeGenerator</Generator>
- <LastGenOutput>Application.Designer.vb</LastGenOutput>
- </None>
- <None Include="MyProject\Settings.settings">
- <Generator>SettingsSingleFileGenerator</Generator>
- <CustomToolNamespace>My</CustomToolNamespace>
- <LastGenOutput>Settings.Designer.vb</LastGenOutput>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="My Project\" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sessionreceiver.sln b/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sessionreceiver.sln deleted file mode 100644 index 90e98a4bbe..0000000000 --- a/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sessionreceiver.sln +++ /dev/null @@ -1,76 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-#
-# 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
-#
-
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Org.Apache.Qpid.Messaging", "src\org.apache.qpid.messaging.vcproj", "{AA5A3B83-5F98-406D-A01C-5A921467A57D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "org.apache.qpid.messaging.sessionreceiver", "src\sessionreceiver\org.apache.qpid.messaging.sessionreceiver.csproj", "{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- RelWithDebInfo|Win32 = RelWithDebInfo|Win32
- RelWithDebInfo|x64 = RelWithDebInfo|x64
- RelWithDebInfo|x86 = RelWithDebInfo|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|Win32.Build.0 = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x64.ActiveCfg = Debug|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x64.Build.0 = Debug|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x86.ActiveCfg = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x86.Build.0 = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|Win32.ActiveCfg = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|Win32.Build.0 = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x64.ActiveCfg = Release|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x64.Build.0 = Release|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x86.ActiveCfg = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x86.Build.0 = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|Win32
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|Win32.ActiveCfg = Debug|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x64.ActiveCfg = Debug|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x64.Build.0 = Debug|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x86.ActiveCfg = Debug|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x86.Build.0 = Debug|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|Win32.ActiveCfg = Release|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x64.ActiveCfg = Release|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x64.Build.0 = Release|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x86.ActiveCfg = Release|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x86.Build.0 = Release|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sln b/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sln deleted file mode 100644 index 030bcc4b2a..0000000000 --- a/cpp/bindings/qpid/dotnet/org.apache.qpid.messaging.sln +++ /dev/null @@ -1,348 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-
-#
-# 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
-#
-
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Org.Apache.Qpid.Messaging", "src\org.apache.qpid.messaging.vcproj", "{AA5A3B83-5F98-406D-A01C-5A921467A57D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{34C477FB-B0CC-4AB9-A346-EA7B055469AC}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Direct", "Direct", "{DE58D329-10DC-4C8D-9EFA-230A57314089}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Pub-Sub", "Pub-Sub", "{878FDDF8-A870-41D6-9E36-0A050EC5ACAB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.direct.sender", "examples\csharp.direct.sender\csharp.direct.sender.csproj", "{7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}"
- ProjectSection(ProjectDependencies) = postProject
- {AA5A3B83-5F98-406D-A01C-5A921467A57D} = {AA5A3B83-5F98-406D-A01C-5A921467A57D}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.direct.receiver", "examples\csharp.direct.receiver\csharp.direct.receiver.csproj", "{52F880E7-D677-4C91-8516-D679CE0F46A8}"
- ProjectSection(ProjectDependencies) = postProject
- {AA5A3B83-5F98-406D-A01C-5A921467A57D} = {AA5A3B83-5F98-406D-A01C-5A921467A57D}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{39E9D1BF-3A0B-4D86-BF6B-F463E1A2245A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "messaging.test", "test\messaging.test\messaging.test.csproj", "{AF2FBC78-266C-430C-BC29-9477AB596A36}"
- ProjectSection(ProjectDependencies) = postProject
- {AA5A3B83-5F98-406D-A01C-5A921467A57D} = {AA5A3B83-5F98-406D-A01C-5A921467A57D}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StructuredMessage", "StructuredMessage", "{E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.sender", "examples\csharp.map.sender\csharp.map.sender.csproj", "{5D8252F5-E1D3-44A0-94C7-7CB75E843C10}"
- ProjectSection(ProjectDependencies) = postProject
- {AA5A3B83-5F98-406D-A01C-5A921467A57D} = {AA5A3B83-5F98-406D-A01C-5A921467A57D}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.receiver", "examples\csharp.map.receiver\csharp.map.receiver.csproj", "{AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}"
- ProjectSection(ProjectDependencies) = postProject
- {AA5A3B83-5F98-406D-A01C-5A921467A57D} = {AA5A3B83-5F98-406D-A01C-5A921467A57D}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "org.apache.qpid.messaging.sessionreceiver", "src\sessionreceiver\org.apache.qpid.messaging.sessionreceiver.csproj", "{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.callback.receiver", "examples\csharp.map.callback.receiver\csharp.map.callback.receiver.csproj", "{68A43817-2358-4A31-8FDF-FE21722BFBCF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.callback.sender", "examples\csharp.map.callback.sender\csharp.map.callback.sender.csproj", "{12F1C14F-5C7D-4075-9BAE-C091394FF99A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client-Server", "Client-Server", "{9232212E-F3C6-4D18-8D25-0C31DD5FF3DB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.client", "examples\csharp.example.client\csharp.example.client.csproj", "{0DE01712-C2D1-4CA4-B42C-5856456A8696}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.server", "examples\csharp.example.server\csharp.example.server.csproj", "{090A081D-E8B5-4949-AA43-EE182B7101E3}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Drain-Spout", "Drain-Spout", "{89CE04CB-21DE-4ABB-9236-50529DD8C022}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.drain", "examples\csharp.example.drain\csharp.example.drain.csproj", "{C43DEB69-8088-420B-B0CA-C699535E6D08}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.spout", "examples\csharp.example.spout\csharp.example.spout.csproj", "{EB36626D-36C2-41B3-B65E-762BAF27F137}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.declare_queues", "examples\csharp.example.declare_queues\csharp.example.declare_queues.csproj", "{E31B349C-830C-4583-8BD9-30DA4398349F}"
-EndProject
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "visualbasic.example.client", "examples\visualbasic.example.client\visualbasic.example.client.vbproj", "{CFEA696E-115B-4AD1-AB56-804E360EDD51}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hello World", "Hello World", "{4408A2DA-ED2D-44AE-A465-0B6D75E1FF86}"
- ProjectSection(SolutionItems) = preProject
- examples\powershell.example.helloworld\powershell.example.helloworld.ps1 = examples\powershell.example.helloworld\powershell.example.helloworld.ps1
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.helloworld", "examples\csharp.example.helloworld\csharp.example.helloworld.csproj", "{8CC1C265-0507-44A3-9483-8FAF48513F4D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- RelWithDebInfo|Win32 = RelWithDebInfo|Win32
- RelWithDebInfo|x64 = RelWithDebInfo|x64
- RelWithDebInfo|x86 = RelWithDebInfo|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|Win32.Build.0 = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x64.ActiveCfg = Debug|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x64.Build.0 = Debug|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x86.ActiveCfg = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Debug|x86.Build.0 = Debug|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|Win32.ActiveCfg = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|Win32.Build.0 = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x64.ActiveCfg = Release|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x64.Build.0 = Release|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.Release|x86.ActiveCfg = Release|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {AA5A3B83-5F98-406D-A01C-5A921467A57D}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|Win32
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x64.ActiveCfg = Debug|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x64.Build.0 = Debug|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x86.ActiveCfg = Debug|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x86.Build.0 = Debug|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x64.ActiveCfg = Release|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x64.Build.0 = Release|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x86.ActiveCfg = Release|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x86.Build.0 = Release|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x64.ActiveCfg = Debug|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x64.Build.0 = Debug|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x86.ActiveCfg = Debug|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x86.Build.0 = Debug|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x64.ActiveCfg = Release|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x64.Build.0 = Release|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x86.ActiveCfg = Release|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x86.Build.0 = Release|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Debug|x64.ActiveCfg = Debug|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Debug|x64.Build.0 = Debug|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Debug|x86.ActiveCfg = Debug|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Debug|x86.Build.0 = Debug|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Release|x64.ActiveCfg = Release|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Release|x64.Build.0 = Release|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Release|x86.ActiveCfg = Release|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.Release|x86.Build.0 = Release|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {AF2FBC78-266C-430C-BC29-9477AB596A36}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x64.ActiveCfg = Debug|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x64.Build.0 = Debug|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x86.ActiveCfg = Debug|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x86.Build.0 = Debug|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x64.ActiveCfg = Release|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x64.Build.0 = Release|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x86.ActiveCfg = Release|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x86.Build.0 = Release|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x64.ActiveCfg = Debug|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x64.Build.0 = Debug|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x86.ActiveCfg = Debug|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x86.Build.0 = Debug|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x64.ActiveCfg = Release|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x64.Build.0 = Release|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x86.ActiveCfg = Release|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x86.Build.0 = Release|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x64.ActiveCfg = Debug|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x64.Build.0 = Debug|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x86.ActiveCfg = Debug|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Debug|x86.Build.0 = Debug|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x64.ActiveCfg = Release|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x64.Build.0 = Release|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x86.ActiveCfg = Release|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.Release|x86.Build.0 = Release|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x64.ActiveCfg = Debug|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x64.Build.0 = Debug|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x86.ActiveCfg = Debug|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x86.Build.0 = Debug|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x64.ActiveCfg = Release|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x64.Build.0 = Release|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x86.ActiveCfg = Release|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x86.Build.0 = Release|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x64.ActiveCfg = Debug|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x64.Build.0 = Debug|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x86.ActiveCfg = Debug|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x86.Build.0 = Debug|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x64.ActiveCfg = Release|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x64.Build.0 = Release|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x86.ActiveCfg = Release|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x86.Build.0 = Release|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|Win32.ActiveCfg = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x64.ActiveCfg = Debug|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x64.Build.0 = Debug|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x86.ActiveCfg = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x86.Build.0 = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|Win32.ActiveCfg = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x64.ActiveCfg = Release|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x64.Build.0 = Release|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x86.ActiveCfg = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x86.Build.0 = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|Win32.ActiveCfg = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x64.ActiveCfg = Debug|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x64.Build.0 = Debug|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x86.ActiveCfg = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x86.Build.0 = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|Win32.ActiveCfg = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x64.ActiveCfg = Release|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x64.Build.0 = Release|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x86.ActiveCfg = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x86.Build.0 = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|Win32.ActiveCfg = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x64.ActiveCfg = Debug|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x64.Build.0 = Debug|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x86.ActiveCfg = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x86.Build.0 = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|Win32.ActiveCfg = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x64.ActiveCfg = Release|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x64.Build.0 = Release|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x86.ActiveCfg = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x86.Build.0 = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|Win32.ActiveCfg = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x64.ActiveCfg = Debug|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x64.Build.0 = Debug|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x86.ActiveCfg = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x86.Build.0 = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|Win32.ActiveCfg = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x64.ActiveCfg = Release|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x64.Build.0 = Release|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x86.ActiveCfg = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x86.Build.0 = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|Win32.ActiveCfg = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x64.ActiveCfg = Debug|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x64.Build.0 = Debug|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x86.ActiveCfg = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x86.Build.0 = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|Win32.ActiveCfg = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x64.ActiveCfg = Release|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x64.Build.0 = Release|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x86.ActiveCfg = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x86.Build.0 = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Debug|Win32.ActiveCfg = Debug|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Debug|x64.ActiveCfg = Debug|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Debug|x64.Build.0 = Debug|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Debug|x86.ActiveCfg = Debug|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Debug|x86.Build.0 = Debug|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Release|Win32.ActiveCfg = Release|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Release|x64.ActiveCfg = Release|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Release|x64.Build.0 = Release|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Release|x86.ActiveCfg = Release|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.Release|x86.Build.0 = Release|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {CFEA696E-115B-4AD1-AB56-804E360EDD51}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|Win32.ActiveCfg = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x64.ActiveCfg = Debug|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x64.Build.0 = Debug|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x86.ActiveCfg = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x86.Build.0 = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|Win32.ActiveCfg = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x64.ActiveCfg = Release|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x64.Build.0 = Release|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x86.ActiveCfg = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x86.Build.0 = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {DE58D329-10DC-4C8D-9EFA-230A57314089} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {878FDDF8-A870-41D6-9E36-0A050EC5ACAB} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {9232212E-F3C6-4D18-8D25-0C31DD5FF3DB} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {89CE04CB-21DE-4ABB-9236-50529DD8C022} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {4408A2DA-ED2D-44AE-A465-0B6D75E1FF86} = {34C477FB-B0CC-4AB9-A346-EA7B055469AC}
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068} = {DE58D329-10DC-4C8D-9EFA-230A57314089}
- {52F880E7-D677-4C91-8516-D679CE0F46A8} = {DE58D329-10DC-4C8D-9EFA-230A57314089}
- {AF2FBC78-266C-430C-BC29-9477AB596A36} = {39E9D1BF-3A0B-4D86-BF6B-F463E1A2245A}
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10} = {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9} = {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}
- {68A43817-2358-4A31-8FDF-FE21722BFBCF} = {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A} = {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}
- {CFEA696E-115B-4AD1-AB56-804E360EDD51} = {E99FEFEE-B866-4BBA-9AA3-79DDF1C92960}
- {0DE01712-C2D1-4CA4-B42C-5856456A8696} = {9232212E-F3C6-4D18-8D25-0C31DD5FF3DB}
- {090A081D-E8B5-4949-AA43-EE182B7101E3} = {9232212E-F3C6-4D18-8D25-0C31DD5FF3DB}
- {C43DEB69-8088-420B-B0CA-C699535E6D08} = {89CE04CB-21DE-4ABB-9236-50529DD8C022}
- {EB36626D-36C2-41B3-B65E-762BAF27F137} = {89CE04CB-21DE-4ABB-9236-50529DD8C022}
- {E31B349C-830C-4583-8BD9-30DA4398349F} = {89CE04CB-21DE-4ABB-9236-50529DD8C022}
- {8CC1C265-0507-44A3-9483-8FAF48513F4D} = {4408A2DA-ED2D-44AE-A465-0B6D75E1FF86}
- EndGlobalSection
-EndGlobal
diff --git a/cpp/bindings/qpid/dotnet/src/Address.cpp b/cpp/bindings/qpid/dotnet/src/Address.cpp deleted file mode 100644 index 79a8021d9a..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Address.cpp +++ /dev/null @@ -1,252 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Address.h"
-
-#include "Address.h"
-#include "QpidMarshal.h"
-#include "QpidTypeCheck.h"
-#include "TypeTranslator.h"
-#include "QpidException.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Address is a managed wrapper for a qpid::messaging::Address
- /// </summary>
-
- // Create empty
- Address::Address()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address(QpidMarshal::ToNative(""));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create string address
- Address::Address(System::String ^ address)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address(QpidMarshal::ToNative(address));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create with options
- Address::Address(System::String ^ name,
- System::String ^ subject,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address();
-
- Name = name;
- Subject = subject;
- Options = options;
- Type = "";
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create with options and type
- Address::Address(System::String ^ name,
- System::String ^ subject,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options,
- System::String ^ type)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address();
-
- Name = name;
- Subject = subject;
- Options = options;
- Type = type;
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor look-alike (C#)
- Address::Address(const Address ^ address)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address(
- *(const_cast<Address ^>(address)->NativeAddress));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Address::Address(const Address % address)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address(
- *(const_cast<Address %>(address).NativeAddress));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // unmanaged clone
- Address::Address(const ::qpid::messaging::Address & addrp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- addressp = new ::qpid::messaging::Address(addrp);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Destructor
- Address::~Address()
- {
- this->!Address();
- }
-
-
- // Finalizer
- Address::!Address()
- {
- msclr::lock lk(this);
-
- if (NULL != addressp)
- {
- delete addressp;
- addressp = NULL;
- }
- }
-
- //
- // ToString
- //
- System::String ^ Address::ToStr()
- {
- System::String ^ result = nullptr;
- System::Exception ^ newException = nullptr;
-
- try
- {
- result = gcnew System::String(addressp->str().c_str());
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- return result;
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Address.h b/cpp/bindings/qpid/dotnet/src/Address.h deleted file mode 100644 index 8bbc207d4e..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Address.h +++ /dev/null @@ -1,180 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Address.h"
-
-#include "QpidMarshal.h"
-#include "QpidTypeCheck.h"
-#include "TypeTranslator.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Address is a managed wrapper for a qpid::messaging::Address
- /// </summary>
-
- public ref class Address
- {
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Address * addressp;
-
- public:
- Address();
-
- Address(System::String ^ address);
-
- Address(System::String ^ name,
- System::String ^ subject,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options);
-
- Address(System::String ^ name,
- System::String ^ subject,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options,
- System::String ^ type);
-
- // copy constructor
- Address(const Address ^ address);
- Address(const Address % address);
-
- // unmanaged clone
- Address(const ::qpid::messaging::Address & addrp);
-
- ~Address();
- !Address();
-
- // assignment operator
- Address % operator=(const Address % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != addressp)
- delete addressp;
- addressp = new ::qpid::messaging::Address(
- *(const_cast<Address %>(rhs).NativeAddress) );
- }
- return *this;
- }
-
- property ::qpid::messaging::Address * NativeAddress
- {
- ::qpid::messaging::Address * get () { return addressp; }
- }
-
- //
- // name
- //
- property System::String ^ Name
- {
- System::String ^ get ()
- {
- return gcnew System::String(addressp->getName().c_str());
- }
-
- void set (System::String ^ name)
- {
- addressp->::qpid::messaging::Address::setName(QpidMarshal::ToNative(name));
- }
- }
-
-
- //
- // subject
- //
- property System::String ^ Subject
- {
- System::String ^ get ()
- {
- return gcnew System::String(addressp->getSubject().c_str());
- }
-
- void set (System::String ^ subject)
- {
- addressp->setSubject(QpidMarshal::ToNative(subject));
- }
- }
-
-
- //
- // options
- //
- property System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ Options
- {
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ get ()
- {
- ::qpid::types::Variant::Map map;
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ newMap =
- gcnew System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^>;
- map = addressp->getOptions();
- TypeTranslator::NativeToManaged(map, newMap);
- return newMap;
- }
-
-
- void set (System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options)
- {
- ::qpid::types::Variant::Map map;
- TypeTranslator::ManagedToNative(options, map);
- addressp->setOptions(map);
- }
- }
-
-
- //
- // type
- //
- property System::String ^ Type
- {
- System::String ^ get ()
- {
- return gcnew System::String(addressp->getType().c_str());
- }
-
-
- void set (System::String ^ type)
- {
- addressp->setType(QpidMarshal::ToNative(type));
- }
- }
-
- System::String ^ ToStr();
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/AssemblyInfo.cpp b/cpp/bindings/qpid/dotnet/src/AssemblyInfo.cpp deleted file mode 100644 index 08d2d4b4f9..0000000000 --- a/cpp/bindings/qpid/dotnet/src/AssemblyInfo.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/*
-* 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 namespace System;
-using namespace System::Reflection;
-using namespace System::Runtime::CompilerServices;
-using namespace System::Runtime::InteropServices;
-using namespace System::Security::Permissions;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly:AssemblyTitleAttribute("org.apache.qpid.messaging")];
-[assembly:AssemblyDescriptionAttribute("")];
-[assembly:AssemblyConfigurationAttribute("")];
-[assembly:AssemblyCompanyAttribute("")];
-[assembly:AssemblyProductAttribute("org.apache.qpid.messaging")];
-[assembly:AssemblyCopyrightAttribute("Copyright (c) 2010")];
-[assembly:AssemblyTrademarkAttribute("")];
-[assembly:AssemblyCultureAttribute("")];
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the value or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly:AssemblyVersionAttribute("1.0.*")];
-
-[assembly:ComVisible(false)];
-
-[assembly:CLSCompliantAttribute(true)];
-
-[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
diff --git a/cpp/bindings/qpid/dotnet/src/Connection.cpp b/cpp/bindings/qpid/dotnet/src/Connection.cpp deleted file mode 100644 index 12c0e29f74..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Connection.cpp +++ /dev/null @@ -1,381 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Connection.h"
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/exceptions.h"
-
-#include "QpidMarshal.h"
-#include "Connection.h"
-#include "Session.h"
-#include "QpidException.h"
-#include "TypeTranslator.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Connection is a managed wrapper for a qpid::messaging::Connection
- /// </summary>
-
- // constructors
- Connection::Connection(System::String ^ url)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp = new ::qpid::messaging::Connection(QpidMarshal::ToNative(url));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- Connection::Connection(System::String ^ url,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp = new ::qpid::messaging::Connection(QpidMarshal::ToNative(url));
-
- for each (System::Collections::Generic::KeyValuePair<System::String^, System::Object^> kvp in options)
- {
- SetOption(kvp.Key, kvp.Value);
- }
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- Connection::Connection(System::String ^ url, System::String ^ options)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp = new ::qpid::messaging::Connection(QpidMarshal::ToNative(url),
- QpidMarshal::ToNative(options));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Copy constructor look-alike (C#)
- Connection::Connection(const Connection ^ connection)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp = new ::qpid::messaging::Connection(
- *(const_cast<Connection ^>(connection)->NativeConnection));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Connection::Connection(const Connection % connection)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp = new ::qpid::messaging::Connection(
- *(const_cast<Connection %>(connection).NativeConnection));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Destructor
- Connection::~Connection()
- {
- this->!Connection();
- }
-
-
- // Finalizer
- Connection::!Connection()
- {
- msclr::lock lk(this);
-
- if (NULL != connectionp)
- {
- delete connectionp;
- connectionp = NULL;
- }
- }
-
-
- void Connection::SetOption(System::String ^ name, System::Object ^ value)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- ::qpid::types::Variant entryValue;
- TypeTranslator::ManagedToNativeObject(value, entryValue);
- std::string entryName = QpidMarshal::ToNative(name);
- connectionp->::qpid::messaging::Connection::setOption(entryName, entryValue);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Connection::Open()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp->open();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Connection::Close()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- connectionp->close();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- //
- // CreateTransactionalSession()
- //
- Session ^ Connection::CreateTransactionalSession()
- {
- return CreateTransactionalSession("");
- }
-
-
- Session ^ Connection::CreateTransactionalSession(System::String ^ name)
- {
- System::Exception ^ newException = nullptr;
- Session ^ newSession = nullptr;
-
- try
- {
- // create native session
- ::qpid::messaging::Session sessionp =
- connectionp->createTransactionalSession(QpidMarshal::ToNative(name));
-
- // create managed session
- newSession = gcnew Session(sessionp, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- // Clean up and throw on caught exceptions
- if (newException != nullptr)
- {
- if (newSession != nullptr)
- {
- delete newSession;
- }
- }
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newSession;
- }
-
-
- //
- // CreateSession()
- //
- Session ^ Connection::CreateSession()
- {
- return CreateSession("");
- }
-
-
- Session ^ Connection::CreateSession(System::String ^ name)
- {
- System::Exception ^ newException = nullptr;
- Session ^ newSession = nullptr;
-
- try
- {
- // create native session
- ::qpid::messaging::Session sessionp =
- connectionp->createSession(QpidMarshal::ToNative(name));
-
- // create managed session
- newSession = gcnew Session(sessionp, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- // Clean up and throw on caught exceptions
- if (newException != nullptr)
- {
- if (newSession != nullptr)
- {
- delete newSession;
- }
- }
- }
-
- if (nullptr != newException)
- {
- throw newException;
- }
-
- return newSession;
- }
-
-
- Session ^ Connection::GetSession(System::String ^ name)
- {
- System::Exception ^ newException = nullptr;
- Session ^ newSession = nullptr;
-
- try
- {
- const std::string n = QpidMarshal::ToNative(name);
-
- ::qpid::messaging::Session sess =
- connectionp->::qpid::messaging::Connection::getSession(n);
-
- newSession = gcnew Session(sess, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- // Clean up and throw on caught exceptions
- if (newException != nullptr)
- {
- if (newSession != nullptr)
- {
- delete newSession;
- }
- }
- }
-
- if (nullptr != newException)
- {
- throw newException;
- }
-
- return newSession;
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Connection.h b/cpp/bindings/qpid/dotnet/src/Connection.h deleted file mode 100644 index 0788f5d225..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Connection.h +++ /dev/null @@ -1,120 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Connection.h"
-#include "qpid/messaging/Session.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Connection is a managed wrapper for a qpid::messaging::Connection
- /// </summary>
-
- ref class Session;
-
- public ref class Connection
- {
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Connection * connectionp;
-
- public:
- Connection(System::String ^ url);
-
- Connection(System::String ^ url,
- System::Collections::Generic::Dictionary<
- System::String ^, System::Object ^> ^ options);
-
- Connection(System::String ^ url, System::String ^ options);
-
- // copy constructor
- Connection(const Connection ^ connection);
- Connection(const Connection % connection);
-
- // unmanaged clone
- // not defined
-
- ~Connection();
- !Connection();
-
- // assignment operator
- Connection % operator=(const Connection % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != connectionp)
- delete connectionp;
- connectionp = new ::qpid::messaging::Connection(
- *(const_cast<Connection %>(rhs).NativeConnection) );
- }
- return *this;
- }
-
- property ::qpid::messaging::Connection * NativeConnection
- {
- ::qpid::messaging::Connection * get () { return connectionp; }
- }
-
- void SetOption(System::String ^ name, System::Object ^ value);
-
- void Open();
- void Close();
-
- property System::Boolean IsOpen
- {
- System::Boolean get ()
- {
- return connectionp->isOpen();
- }
- }
-
- // CreateTransactionalSession()
- Session ^ CreateTransactionalSession();
- Session ^ CreateTransactionalSession(System::String ^ name);
-
- // CreateSession()
- Session ^ CreateSession();
- Session ^ CreateSession(System::String ^ name);
-
- Session ^ GetSession(System::String ^ name);
-
- property System::String ^ AuthenticatedUsername
- {
- System::String ^ get ()
- {
- return gcnew System::String(connectionp->getAuthenticatedUsername().c_str());
- }
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Duration.cpp b/cpp/bindings/qpid/dotnet/src/Duration.cpp deleted file mode 100644 index 7daf803be8..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Duration.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Duration.h"
-
-#include "Duration.h"
-
-namespace org {
-namespace apache {
-namespace qpid {
-namespace messaging {
-
- /// <summary>
- /// Duration is a time interval in milliseconds.
- /// It is a managed wrapper for a ::qpid::messaging::Duration
- /// </summary>
-
- // Public constructor
- Duration::Duration(System::UInt64 milliseconds) :
- durationp(new ::qpid::messaging::Duration(milliseconds))
- {
- }
-
- // Private experimental constructor
- Duration::Duration(const ::qpid::messaging::Duration * d) :
- durationp(d)
- {
- }
-
-
- // Destructor
- Duration::~Duration()
- {
- Cleanup();
- }
-
-
- // Finalizer
- Duration::!Duration()
- {
- Cleanup();
- }
-
-
- // Returns the value from kept object
- System::UInt64 Duration::getMilliseconds()
- {
- return durationp->getMilliseconds();
- }
-
-
- // Destroys kept object
- // TODO: add lock
- void Duration::Cleanup()
- {
- if (NULL != durationp)
- {
- delete durationp;
- durationp = NULL;
- }
- }
-
- // Return value(s) for constant durations
- // NOTE: These return the duration mS and not a Duration
- // object like the C++ code gets.
- System::UInt64 Duration::FOREVER()
- {
- return ::qpid::messaging::Duration::FOREVER.getMilliseconds();
- }
-
- System::UInt64 Duration::IMMEDIATE()
- {
- return ::qpid::messaging::Duration::IMMEDIATE.getMilliseconds();
- }
-
- System::UInt64 Duration::SECOND()
- {
- return ::qpid::messaging::Duration::SECOND.getMilliseconds();
- }
-
- System::UInt64 Duration::MINUTE()
- {
- return ::qpid::messaging::Duration::MINUTE.getMilliseconds();
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Duration.h b/cpp/bindings/qpid/dotnet/src/Duration.h deleted file mode 100644 index d4239fae88..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Duration.h +++ /dev/null @@ -1,115 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Duration is a time interval in milliseconds.
- /// It is a managed equivalent of ::qpid::messaging::Duration
- /// </summary>
-
- public ref class Duration sealed
- {
- private:
- System::UInt64 milliseconds;
-
- public:
-
- Duration(const Duration % rhs) :
- milliseconds(rhs.milliseconds)
- {
- }
-
- explicit Duration(System::UInt64 mS) :
- milliseconds(mS) {}
-
- Duration() :
- milliseconds(System::UInt64::MaxValue) {}
-
- property System::UInt64 Milliseconds
- {
- System::UInt64 get () { return milliseconds; }
- }
-
- static Duration ^ operator * (Duration ^ dur, const System::UInt64 multiplier)
- {
- Duration ^ result = gcnew Duration(dur->Milliseconds * multiplier);
- return result;
- }
-
- static Duration ^ operator * (const System::UInt64 multiplier, Duration ^ dur)
- {
- Duration ^ result = gcnew Duration(multiplier * dur->Milliseconds);
- return result;
- }
-
- static Duration ^ Multiply (Duration ^ dur, const System::UInt64 multiplier)
- {
- Duration ^ result = gcnew Duration(dur->Milliseconds * multiplier);
- return result;
- }
-
- static Duration ^ Multiply (const System::UInt64 multiplier, Duration ^ dur)
- {
- Duration ^ result = gcnew Duration(multiplier * dur->Milliseconds);
- return result;
- }
-
- static bool operator == (Duration ^ a, Duration ^ b)
- {
- return a->Milliseconds == b->Milliseconds;
- }
-
- static bool operator != (Duration ^ a, Duration ^ b)
- {
- return a->Milliseconds != b->Milliseconds;
- }
-};
-
- public ref class DurationConstants sealed
- {
- private:
- DurationConstants::DurationConstants() {}
-
- public:
- static Duration ^ FORVER;
- static Duration ^ IMMEDIATE;
- static Duration ^ SECOND;
- static Duration ^ MINUTE;
-
- static DurationConstants()
- {
- FORVER = gcnew Duration();
- IMMEDIATE = gcnew Duration(0);
- SECOND = gcnew Duration(1000);
- MINUTE = gcnew Duration(60000);
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/FailoverUpdates.cpp b/cpp/bindings/qpid/dotnet/src/FailoverUpdates.cpp deleted file mode 100644 index d34474f2c4..0000000000 --- a/cpp/bindings/qpid/dotnet/src/FailoverUpdates.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/FailoverUpdates.h"
-
-#include "Connection.h"
-#include "FailoverUpdates.h"
-#include "QpidException.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// FailoverUpdates is a managed wrapper for a qpid::messaging::FailoverUpdates
- /// </summary>
-
- // constructors
-
- FailoverUpdates::FailoverUpdates(Connection ^ connection)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- failoverupdatesp = new ::qpid::messaging::FailoverUpdates(*(connection->NativeConnection));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Destructor
- FailoverUpdates::~FailoverUpdates()
- {
- this->!FailoverUpdates();
- }
-
-
- // Finalizer
- FailoverUpdates::!FailoverUpdates()
- {
- msclr::lock lk(this);
-
- if (NULL != failoverupdatesp)
- {
- delete failoverupdatesp;
- failoverupdatesp = NULL;
- }
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/FailoverUpdates.h b/cpp/bindings/qpid/dotnet/src/FailoverUpdates.h deleted file mode 100644 index 1dd92b8688..0000000000 --- a/cpp/bindings/qpid/dotnet/src/FailoverUpdates.h +++ /dev/null @@ -1,64 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// FailoverUpdates is a managed wrapper for a qpid::messaging::FailoverUpdates
- /// </summary>
-
- ref class Connection;
-
- public ref class FailoverUpdates
- {
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::FailoverUpdates * failoverupdatesp;
-
- public:
- FailoverUpdates(Connection ^ connection);
-
- ~FailoverUpdates();
- !FailoverUpdates();
-
- private:
- // unmanaged clone
- // not defined
-
- // copy constructor
- FailoverUpdates(const FailoverUpdates ^ failoverUpdates) {}
-
- // assignment operator
- FailoverUpdates % operator=(const FailoverUpdates % rhs)
- {
- return *this;
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Message.cpp b/cpp/bindings/qpid/dotnet/src/Message.cpp deleted file mode 100644 index e5dbf845b3..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Message.cpp +++ /dev/null @@ -1,617 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <typeinfo.h>
-#include <string>
-#include <limits>
-#include <iostream>
-#include <stdlib.h>
-
-#include "qpid/messaging/Message.h"
-#include "qpid/types/Variant.h"
-
-#include "QpidMarshal.h"
-#include "Address.h"
-#include "Duration.h"
-#include "Message.h"
-#include "QpidTypeCheck.h"
-#include "QpidException.h"
-#include "TypeTranslator.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Message is a managed wrapper for a ::qpid::messaging::Message
- /// </summary>
-
- // Create empty message
- Message::Message()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(QpidMarshal::ToNative(""));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create from string
- Message::Message(System::String ^ theStr)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(QpidMarshal::ToNative(theStr));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create from object
- Message::Message(System::Object ^ theValue)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(QpidMarshal::ToNative(""));
-
- if (QpidTypeCheck::ObjectIsMap(theValue))
- {
- // Create a mapped message using given dictionary
-
- // Allocate a map
- ::qpid::types::Variant::Map newMap;
-
- // Add the map variables to the map
- TypeTranslator::ManagedToNative((QpidMap ^)theValue, newMap);
-
- // Set message content type
- messagep->setContentType("ampq/map");
-
- // Insert the map into the message
- ::qpid::messaging::encode(newMap, *messagep, QpidMarshal::ToNative("amqp/map"));
- }
- else if (QpidTypeCheck::ObjectIsList(theValue))
- {
- // Create a list message using given list
-
- // Allocate a list
- ::qpid::types::Variant::List newList;
-
- // Add the list variables to the list
- TypeTranslator::ManagedToNative((QpidList ^)theValue, newList);
-
- // Set message content type
- messagep->setContentType("ampq/list");
-
- // Insert the list into the message
- ::qpid::messaging::encode(newList, *messagep, QpidMarshal::ToNative("amqp/list"));
- }
- else
- {
- // Create a binary string message
- messagep->setContent(QpidMarshal::ToNative(theValue->ToString()));
- }
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Create from bytes
- Message::Message(array<System::Byte> ^ bytes)
- {
- System::Exception ^ newException = nullptr;
- try
- {
- pin_ptr<unsigned char> pBytes = &bytes[0];
- messagep = new ::qpid::messaging::Message((char *)pBytes, bytes->Length);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Create from byte array slice
- Message::Message(array<System::Byte> ^ bytes, int offset, int size)
- {
- if ((offset + size) > bytes->Length)
- throw gcnew QpidException("Message::Message Create from byte array slice: buffer length exceeded");
-
- System::Exception ^ newException = nullptr;
- try
- {
- pin_ptr<unsigned char> pBytes = &bytes[offset];
- messagep = new ::qpid::messaging::Message((char *)pBytes, size);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // unmanaged clone
- Message::Message(const ::qpid::messaging::Message & msgp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(msgp);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Destructor
- Message::~Message()
- {
- this->!Message();
- }
-
-
- // Finalizer
- Message::!Message()
- {
- msclr::lock lk(this);
-
- if (NULL != messagep)
- {
- delete messagep;
- messagep = NULL;
- }
- }
-
- // Copy constructor look-alike (C#)
- Message::Message(const Message ^ message)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(
- *(const_cast<Message ^>(message)->NativeMessage));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Message::Message(const Message % message)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep = new ::qpid::messaging::Message(
- *(const_cast<Message %>(message).NativeMessage));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Property
- void Message::SetProperty(System::String ^ name, System::Object ^ value)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- ::qpid::types::Variant entryValue;
- TypeTranslator::ManagedToNativeObject(value, entryValue);
-
- messagep->getProperties()[QpidMarshal::ToNative(name)] = entryValue;
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Content
- void Message::SetContent(System::String ^ content)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- messagep->setContent(QpidMarshal::ToNative(content));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- void Message::SetContent(cli::array<System::Byte> ^ bytes)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- pin_ptr<unsigned char> pBytes = &bytes[0];
- messagep->setContent((char *)pBytes, bytes->Length);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- void Message::SetContent(cli::array<System::Byte> ^ bytes, int offset, int size)
- {
- if ((offset + size) > bytes->Length)
- throw gcnew QpidException("Message::SetContent from byte array slice: buffer length exceeded");
-
- System::Exception ^ newException = nullptr;
-
- try
- {
- pin_ptr<unsigned char> pBytes = &bytes[offset];
- messagep->setContent((char *)pBytes, size);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- System::String ^ Message::GetContent()
- {
- System::String ^ result = nullptr;
- System::Exception ^ newException = nullptr;
-
- try
- {
- result = gcnew String(messagep->getContent().c_str());
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return result;
- }
-
-
- //
- // User wants to extract a Dictionary from the message
- //
- void Message::GetContent(System::Collections::Generic::Dictionary<
- System::String^,
- System::Object^> ^ dict)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- // Extract the message map from the message
- ::qpid::types::Variant::Map map;
-
- ::qpid::messaging::decode(*messagep, map, QpidMarshal::ToNative("amqp/map"));
-
- TypeTranslator::NativeToManaged(map, dict);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- //
- // User wants to extract a list from the message
- //
- void Message::GetContent(System::Collections::ObjectModel::Collection<
- System::Object^> ^ list)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- // allocate a native messaging::List
- ::qpid::types::Variant::List nativeList;
-
- // Extract the list from the message in native format
- ::qpid::messaging::decode(*messagep, nativeList, QpidMarshal::ToNative("amqp/list"));
-
- // translate native list into user's managed list
- TypeTranslator::NativeToManaged(nativeList, list);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- //
- // Return message content to raw byte array.
- // On entry message size must not be zero and
- // caller's byte array must be equal to message size.
- //
- void Message::GetContent(array<System::Byte> ^ arr)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- System::UInt32 size = messagep->getContentSize();
-
- if (0 == size)
- throw gcnew QpidException("Message::GetRaw - message size is zero");
-
- if (arr->Length != size)
- throw gcnew QpidException("Message::GetRaw - receive buffer is wrong size");
-
- const char * pMsgSrc = messagep->getContentPtr();
- pin_ptr<unsigned char> pArr = &arr[0];
- memcpy(pArr, pMsgSrc, size);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- System::String ^ Message::MapAsString(System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ dict)
- {
- System::Text::StringBuilder ^ sb = gcnew System::Text::StringBuilder("{");
- System::Exception ^ newException = nullptr;
-
- try
- {
- System::String ^ leading = "";
-
- for each (System::Collections::Generic::KeyValuePair
- <System::String^, System::Object^> kvp in dict)
- {
- sb->Append(leading);
- leading = ", ";
-
- if (QpidTypeCheck::ObjectIsMap(kvp.Value))
- {
- sb->AppendFormat(
- "{0}={1}",
- kvp.Key,
- MapAsString((System::Collections::Generic::Dictionary<System::String^, System::Object^> ^)kvp.Value));
- }
- else if (QpidTypeCheck::ObjectIsList(kvp.Value))
- {
- sb->AppendFormat(
- "{0}={1}",
- kvp.Key,
- ListAsString((System::Collections::ObjectModel::Collection<
- System::Object^> ^)kvp.Value));
- }
- else if (nullptr == kvp.Value)
- {
- sb->AppendFormat(
- "{0}=",
- kvp.Key);
- }
- else
- sb->AppendFormat("{0}={1}", kvp.Key, kvp.Value);
- }
- sb->Append("}");
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- System::String ^ result = gcnew System::String(sb->ToString());
- return result;
- }
-
- /// <summary>
- /// A function to display a ampq/list message packaged as a List.
- /// </summary>
- /// <param name="list">The AMQP list</param>
- System::String ^ Message::ListAsString(System::Collections::ObjectModel::Collection<System::Object^> ^ list)
- {
- System::Text::StringBuilder ^ sb = gcnew System::Text::StringBuilder("[");
- System::Exception ^ newException = nullptr;
-
- try
- {
- System::String ^ leading = "";
-
- for each (System::Object ^ obj in list)
- {
- sb->Append(leading);
- leading = ", ";
-
- if (QpidTypeCheck::ObjectIsMap(obj))
- {
- sb->Append(MapAsString((System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^)obj));
- }
- else if (QpidTypeCheck::ObjectIsList(obj))
- {
- sb->Append(ListAsString((System::Collections::ObjectModel::Collection<
- System::Object^> ^)obj));
- }
- else if (nullptr == obj)
- {
- // no display for null objects
- }
- else
- sb->Append(obj->ToString());
- }
- sb->Append("]");
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- System::String ^ result = gcnew System::String(sb->ToString());
- return result;
- }
-
- System::String ^ Message::AsString(System::Object ^ obj)
- {
- if (QpidTypeCheck::ObjectIsMap(obj))
- return MapAsString((System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^)obj);
- else if (QpidTypeCheck::ObjectIsList(obj))
- return ListAsString((System::Collections::ObjectModel::Collection<
- System::Object^> ^)obj);
- else
- return obj->ToString();
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Message.h b/cpp/bindings/qpid/dotnet/src/Message.h deleted file mode 100644 index ac7f285fe5..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Message.h +++ /dev/null @@ -1,369 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Message.h"
-
-#include "QpidMarshal.h"
-#include "Address.h"
-#include "Duration.h"
-#include "TypeTranslator.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- ref class Address;
- ref class Duration;
-
- /// <summary>
- /// Message is a managed wrapper for a ::qpid::messaging::Message
- /// </summary>
-
- public ref class Message
- {
-
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Message * messagep;
-
- public:
- // Create empty message
- Message();
-
- // Create from String
- Message(System::String ^ theStr);
-
- // Create from object
- Message(System::Object ^ theValue);
-
- // Create from byte array
- Message(array<System::Byte> ^ bytes);
-
- // Create from byte array slice
- Message(array<System::Byte> ^ bytes, int offset, int size);
-
- ~Message();
- !Message();
-
- // Copy constructor
- Message(const Message ^ message);
- Message(const Message % message);
-
- // unmanaged clone
- Message(const ::qpid::messaging::Message & msgp);
-
- // assignment operator
- Message % operator=(const Message % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != messagep)
- delete messagep;
- messagep = new ::qpid::messaging::Message(
- *(const_cast<Message %>(rhs).NativeMessage) );
- }
- return *this;
- }
-
- //
- // NativeMessage
- //
- property ::qpid::messaging::Message * NativeMessage
- {
- ::qpid::messaging::Message * get () { return messagep; }
- }
-
- //
- // ReplyTo
- //
- property Address ^ ReplyTo
- {
- void set (Address ^ address)
- {
- messagep->setReplyTo(*(address->NativeAddress));
- }
-
- Address ^ get ()
- {
- const ::qpid::messaging::Address & addrp =
- messagep->::qpid::messaging::Message::getReplyTo();
-
- return gcnew Address(addrp);
- }
- }
-
- //
- // Subject
- //
- property System::String ^ Subject
- {
- void set (System::String ^ subject)
- {
- messagep->setSubject(QpidMarshal::ToNative(subject));
- }
-
-
- System::String ^ get ()
- {
- return gcnew String(messagep->getSubject().c_str());
- }
- }
-
-
- //
- // ContentType
- //
- property System::String ^ ContentType
- {
- void set (System::String ^ ct)
- {
- messagep->setContentType(QpidMarshal::ToNative(ct));
- }
-
- System::String ^ get ()
- {
- return gcnew String(messagep->::qpid::messaging::Message::getContentType().c_str());
- }
- }
-
-
- //
- // MessageId
- //
- property System::String ^ MessageId
- {
- void set (System::String ^ messageId)
- {
- messagep->setMessageId(QpidMarshal::ToNative(messageId));
- }
-
- System::String ^ get ()
- {
- return gcnew String(messagep->getMessageId().c_str());
- }
- }
-
-
- //
- // UserId
- //
- property System::String ^ UserId
- {
- void set (System::String ^ uId)
- {
- messagep->setUserId(QpidMarshal::ToNative(uId));
- }
-
- System::String ^ get ()
- {
- return gcnew String(messagep->getUserId().c_str());
- }
- }
-
-
- //
- // CorrelationId
- //
- property System::String ^ CorrelationId
- {
- void set (System::String ^ correlationId)
- {
- messagep->setCorrelationId(QpidMarshal::ToNative(correlationId));
- }
-
- System::String ^ get ()
- {
- return gcnew String(messagep->getCorrelationId().c_str());
- }
- }
-
-
- //
- // Priority
- //
- property unsigned char Priority
- {
- void set (unsigned char priority)
- {
- messagep->setPriority(priority);
- }
-
- unsigned char get ()
- {
- return messagep->getPriority();
- }
- }
-
-
- //
- // Ttl
- //
- property Duration ^ Ttl
- {
- void set (Duration ^ ttl)
- {
- ::qpid::messaging::Duration dur(ttl->Milliseconds);
-
- messagep->setTtl(dur);
- }
-
- Duration ^ get ()
- {
- Duration ^ dur = gcnew Duration(messagep->getTtl().getMilliseconds());
-
- return dur;
- }
- }
-
- //
- // Durable
- //
- property bool Durable
- {
- void set (bool durable)
- {
- messagep->setDurable(durable);
- }
-
- bool get ()
- {
- return messagep->getDurable();
- }
- }
-
- //
- // Redelivered
- //
- property bool Redelivered
- {
- bool get ()
- {
- return messagep->getRedelivered();
- }
-
- void set (bool redelivered)
- {
- messagep->setRedelivered(redelivered);
- }
- }
-
- //
- // Property
- //
- void Message::SetProperty(System::String ^ name, System::Object ^ value);
-
- //
- // Properties
- //
- property System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ Properties
- {
- System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ get ()
- {
- ::qpid::types::Variant::Map map;
-
- map = messagep->getProperties();
-
- System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ dict =
- gcnew System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ;
-
-
- TypeTranslator::NativeToManaged(map, dict);
-
- return dict;
- }
-
-
- void set (System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ properties)
- {
- for each (System::Collections::Generic::KeyValuePair
- <System::String^, System::Object^> kvp in properties)
- {
- SetProperty(kvp.Key, kvp.Value);
- }
- }
- }
-
-
- void SetContent(System::String ^ content);
-
- void SetContent(cli::array<System::Byte> ^ bytes);
-
- void SetContent(cli::array<System::Byte> ^ bytes, int offset, int size);
-
- //TODO:: void setContent(Bytes{} bytes, offset, length);
-
- // get content as string
- System::String ^ GetContent();
-
- // get content as dictionary
- void GetContent(System::Collections::Generic::Dictionary<
- System::String^,
- System::Object^> ^ dict);
-
- // get content as map
- void GetContent(System::Collections::ObjectModel::Collection<
- System::Object^> ^);
-
- // get content as bytes
- void GetContent(cli::array<System::Byte> ^ arr);
-
- //
- // ContentSize
- //
- property System::UInt64 ContentSize
- {
- System::UInt64 get ()
- {
- return messagep->getContentSize();
- }
- }
-
-
- // A message has been returned to managed code through GetContent().
- // Display the content of that System::Object as a string.
- System::String ^ AsString(System::Object ^ obj);
-
- System::String ^ MapAsString(System::Collections::Generic::Dictionary<
- System::String^, System::Object^> ^ dict);
-
- System::String ^ ListAsString(System::Collections::ObjectModel::Collection<
- System::Object^> ^ list);
-
- //TODO: EncodingException
-
- // Note: encode/decode functions are in TypeTranslator
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/QpidException.h b/cpp/bindings/qpid/dotnet/src/QpidException.h deleted file mode 100644 index c63f245f74..0000000000 --- a/cpp/bindings/qpid/dotnet/src/QpidException.h +++ /dev/null @@ -1,42 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
-using namespace System;
-
-[Serializable]
-public ref class QpidException : System::Exception
-{
- public:
-
- QpidException()
- : System::Exception() {}
-
- QpidException(String^ estring)
- : System::Exception(estring) {}
-
-};
-
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/QpidMarshal.h b/cpp/bindings/qpid/dotnet/src/QpidMarshal.h deleted file mode 100644 index a8266ba5da..0000000000 --- a/cpp/bindings/qpid/dotnet/src/QpidMarshal.h +++ /dev/null @@ -1,65 +0,0 @@ -/*
-* 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.
-*/
-
-#pragma once
-
-using namespace System;
-using namespace System::Text;
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
-
-
-// Helper functions for marshaling.
-
-private ref class QpidMarshal
-{
-private:
- QpidMarshal::QpidMarshal() {}
-
-public:
-
- /// <summary>
- /// Convert managed String into native UTF8-encoded string
- /// TODO: figure out some encoding other that UTF-8
- /// </summary>
-
- static std::string ToNative (System::String^ managed)
- {
- if (managed->Length == 0)
- {
- return std::string();
- }
-
- array<unsigned char>^ mbytes = Encoding::UTF8->GetBytes(managed);
- if (mbytes->Length == 0)
- {
- return std::string();
- }
-
- pin_ptr<unsigned char> pinnedBuf = &mbytes[0];
- std::string native((char *) pinnedBuf, mbytes->Length);
- return native;
- }
-};
-
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/QpidTypeCheck.h b/cpp/bindings/qpid/dotnet/src/QpidTypeCheck.h deleted file mode 100644 index d0f410b912..0000000000 --- a/cpp/bindings/qpid/dotnet/src/QpidTypeCheck.h +++ /dev/null @@ -1,86 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// QpidTypeCheck determines if a given managed object represents
- /// a qpid type per the scheme presented by the messaging DLL.
- ///
- // The supported mapping is:
- /// * a managed Dictionary and a Qpid Messaging Map
- /// * a managed Collection and a Qpid Messaging List
- /// </summary>
-
- typedef System::Collections::Generic::Dictionary<
- System::String^,
- System::Object^>
- QpidMap;
-
- typedef System::Collections::ObjectModel::Collection<
- System::Object^>
- QpidList;
-
- private ref class QpidTypeCheckConstants sealed
- {
- private:
- QpidTypeCheckConstants::QpidTypeCheckConstants() {}
-
- public:
- static System::Type const ^ const mapTypeP = System::Type::GetType(
- "System.Collections.Generic.Dictionary`2[System.String,System.Object]");
- static System::Type const ^ const listTypeP = System::Type::GetType(
- "System.Collections.ObjectModel.Collection`1[System.Object]");
- };
-
-
- public ref class QpidTypeCheck sealed
- {
- private:
- QpidTypeCheck::QpidTypeCheck() {}
-
- public:
-
- static bool ObjectIsMap (System::Object ^ theValue)
- {
- if (nullptr == theValue)
- return false;
- else
- return (*theValue).GetType() == QpidTypeCheckConstants::mapTypeP;
- }
-
- static bool ObjectIsList(System::Object ^ theValue)
- {
- if (nullptr == theValue)
- return false;
- else
- return (*theValue).GetType() == QpidTypeCheckConstants::listTypeP;
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/ReadMe.txt b/cpp/bindings/qpid/dotnet/src/ReadMe.txt deleted file mode 100644 index a17f04325e..0000000000 --- a/cpp/bindings/qpid/dotnet/src/ReadMe.txt +++ /dev/null @@ -1,40 +0,0 @@ -========================================================================
- DYNAMIC LINK LIBRARY : Org.Apache.Qpid.Messaging Project Overview
-========================================================================
-
-AppWizard has created this Org.Apache.Qpid.Messaging DLL for you.
-
-This file contains a summary of what you will find in each of the files that
-make up your Org.Apache.Qpid.Messaging application.
-
-Org.Apache.Qpid.Messaging.vcproj
- This is the main project file for VC++ projects generated using an Application Wizard.
- It contains information about the version of Visual C++ that generated the file, and
- information about the platforms, configurations, and project features selected with the
- Application Wizard.
-
-Connection.[cpp h]
-Duration.[cpp h]
-Message.[cpp h]
-Receiver.[cpp h]
-Sender.[cpp h]
-Session.[cpp h]
- Managed code Interop layer modules to provide access to functions exported by
- qpidcommon.dll.
-
-AssemblyInfo.cpp
- Contains custom attributes for modifying assembly metadata.
-
-/////////////////////////////////////////////////////////////////////////////
-Other notes:
-
-AppWizard uses "TODO:" to indicate parts of the source code you
-should add to or customize.
-
-Current TODOs include:
-
- * Add locking as needed
- * Add remaining modules and methods
- * Capture and repackage exceptions emitted from messaging DLLs
-
-/////////////////////////////////////////////////////////////////////////////
diff --git a/cpp/bindings/qpid/dotnet/src/Receiver.cpp b/cpp/bindings/qpid/dotnet/src/Receiver.cpp deleted file mode 100644 index 8aa77effbd..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Receiver.cpp +++ /dev/null @@ -1,323 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Receiver.h"
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/Message.h"
-#include "qpid/messaging/exceptions.h"
-
-#include "Receiver.h"
-#include "Session.h"
-#include "Message.h"
-#include "Duration.h"
-#include "QpidException.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Receiver is a managed wrapper for a ::qpid::messaging::Receiver
- /// </summary>
-
- // unmanaged clone
- Receiver::Receiver(const ::qpid::messaging::Receiver & r,
- Org::Apache::Qpid::Messaging::Session ^ sessRef) :
- parentSession(sessRef)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- receiverp = new ::qpid::messaging::Receiver (r);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // unmanaged clone
- // undefined
-
- // Destructor
- Receiver::~Receiver()
- {
- this->!Receiver();
- }
-
-
- // Finalizer
- Receiver::!Receiver()
- {
- msclr::lock lk(this);
-
- if (NULL != receiverp)
- {
- delete receiverp;
- receiverp = NULL;
- }
- }
-
-
- // Copy constructor look-alike (C#)
- Receiver::Receiver(const Receiver ^ receiver) :
- parentSession(receiver->parentSession)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- receiverp = new ::qpid::messaging::Receiver(
- *(const_cast<Receiver ^>(receiver)->NativeReceiver));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Receiver::Receiver(const Receiver % receiver) :
- parentSession(receiver.parentSession)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- receiverp = new ::qpid::messaging::Receiver(
- *(const_cast<Receiver %>(receiver).NativeReceiver));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- //
- // Get(message)
- //
- bool Receiver::Get(Message ^% mmsgp)
- {
- return Get(mmsgp, DurationConstants::FORVER);
- }
-
- bool Receiver::Get(Message ^% mmsgp, Duration ^ durationp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- ::qpid::messaging::Duration dur((*durationp).Milliseconds);
-
- ::qpid::messaging::Message tmpMsg;
-
- bool result = receiverp->Receiver::get(tmpMsg, dur);
-
- if (result)
- {
- mmsgp = gcnew Message(tmpMsg);
- }
-
- return result;
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return false;
- }
-
- //
- // message = Get()
- //
- Message ^ Receiver::Get()
- {
- return Get(DurationConstants::FORVER);
- }
-
-
- Message ^ Receiver::Get(Duration ^ durationp)
- {
- System::Exception ^ newException = nullptr;
- Message ^ newMessage = nullptr;
-
- try
- {
- // translate the duration
- ::qpid::messaging::Duration dur((*durationp).Milliseconds);
-
- // get the message
- ::qpid::messaging::Message msg =
- receiverp->::qpid::messaging::Receiver::get(dur);
-
- // create new managed message with received message embedded in it
- newMessage = gcnew Message(msg);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newMessage != nullptr)
- {
- delete newMessage;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newMessage;
- }
-
- //
- // Fetch(message)
- //
- bool Receiver::Fetch(Message ^% mmsgp)
- {
- return Fetch(mmsgp, DurationConstants::FORVER);
- }
-
- bool Receiver::Fetch(Message ^% mmsgp, Duration ^ durationp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- ::qpid::messaging::Duration dur((*durationp).Milliseconds);
-
- ::qpid::messaging::Message tmpMsg;
-
- bool result = receiverp->Receiver::fetch(tmpMsg, dur);
-
- if (result)
- {
- mmsgp = gcnew Message(tmpMsg);
- }
-
- return result;
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return false;
- }
-
-
- //
- // message = Fetch()
- //
-
- Message ^ Receiver::Fetch()
- {
- return Fetch(DurationConstants::FORVER);
- }
-
- Message ^ Receiver::Fetch(Duration ^ durationp)
- {
- System::Exception ^ newException = nullptr;
- Message ^ newMessage = nullptr;
-
- try
- {
- // translate the duration
- ::qpid::messaging::Duration dur((*durationp).Milliseconds);
-
- // get the message
- ::qpid::messaging::Message msg =
- receiverp->::qpid::messaging::Receiver::fetch(dur);
-
- // create new managed message with received message embedded in it
- newMessage = gcnew Message(msg);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newMessage != nullptr)
- {
- delete newMessage;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newMessage;
- }
-
- void Receiver::Close()
- {
- receiverp->close();
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Receiver.h b/cpp/bindings/qpid/dotnet/src/Receiver.h deleted file mode 100644 index 8ddcc9ac01..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Receiver.h +++ /dev/null @@ -1,188 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Receiver.h"
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/Message.h"
-#include "qpid/messaging/Duration.h"
-
-namespace qpid {
-namespace messaging {
- // Dummy class to satisfy linker
- class ReceiverImpl {};
-}}
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Mreceiver is a managed wrapper for a ::qpid::messaging::Receiver
- /// </summary>
-
- ref class Session;
- ref class Message;
- ref class Duration;
-
- public ref class Receiver
- {
- private:
- // The session that created this Receiver
- Session ^ parentSession;
-
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Receiver * receiverp;
-
- public:
-
- // unmanaged clone
- Receiver(const ::qpid::messaging::Receiver & r,
- Session ^ sessRef);
-
- // copy constructor
- Receiver(const Receiver ^ receiver);
- Receiver(const Receiver % receiver);
-
- // unmanaged clone
- // undefined
-
- ~Receiver();
- !Receiver();
-
- // assignment operator
- Receiver % operator=(const Receiver % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != receiverp)
- delete receiverp;
- receiverp = new ::qpid::messaging::Receiver(
- *(const_cast<Receiver %>(rhs).NativeReceiver));
- parentSession = rhs.parentSession;
- }
- return *this;
- }
-
- property ::qpid::messaging::Receiver * NativeReceiver
- {
- ::qpid::messaging::Receiver * get () { return receiverp; }
- }
-
- // Get(message)
- bool Get(Message ^% mmsgp);
- bool Get(Message ^% mmsgp, Duration ^ durationp);
-
- // message = Get()
- Message ^ Get();
- Message ^ Get(Duration ^ durationp);
-
- // Fetch(message)
- bool Fetch(Message ^% mmsgp);
- bool Fetch(Message ^% mmsgp, Duration ^ duration);
-
- // message = Fetch()
- Message ^ Fetch();
- Message ^ Fetch(Duration ^ durationp);
-
- //
- // Capacity
- //
- property System::UInt32 Capacity
- {
- void set (System::UInt32 capacity)
- {
- receiverp->setCapacity(capacity);
- }
-
- System::UInt32 get ()
- {
- return receiverp->getCapacity();
- }
- }
-
- //
- // Available
- //
- property System::UInt32 Available
- {
- System::UInt32 get ()
- {
- return receiverp->getAvailable();
- }
- }
-
- //
- // Unsettled
- //
- property System::UInt32 Unsettled
- {
- System::UInt32 get ()
- {
- return receiverp->getUnsettled();
- }
- }
-
- void Close();
-
- //
- // IsClosed
- //
- property System::Boolean IsClosed
- {
- System::Boolean get ()
- {
- return receiverp->isClosed();
- }
- }
-
- //
- // Name
- //
- property System::String ^ Name
- {
- System::String ^ get ()
- {
- return gcnew System::String(receiverp->getName().c_str());
- }
- }
-
- //
- // Session
- //
- property Org::Apache::Qpid::Messaging::Session ^ Session
- {
- Org::Apache::Qpid::Messaging::Session ^ get ()
- {
- return parentSession;
- }
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Sender.cpp b/cpp/bindings/qpid/dotnet/src/Sender.cpp deleted file mode 100644 index 3225f1a6e1..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Sender.cpp +++ /dev/null @@ -1,182 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Sender.h"
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/Message.h"
-
-#include "Sender.h"
-#include "Message.h"
-#include "QpidException.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Sender a managed wrapper for a ::qpid::messaging::Sender
- /// </summary>
-
- // unmanaged clone
- Sender::Sender(const ::qpid::messaging::Sender & s,
- Org::Apache::Qpid::Messaging::Session ^ sessRef) :
- parentSession(sessRef)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- senderp = new ::qpid::messaging::Sender (s);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Destructor
- Sender::~Sender()
- {
- this->!Sender();
- }
-
-
- // Finalizer
- Sender::!Sender()
- {
- msclr::lock lk(this);
-
- if (NULL != senderp)
- {
- delete senderp;
- senderp = NULL;
- }
- }
-
-
- // Copy constructor look-alike (C#)
- Sender::Sender(const Sender ^ sender)
- : parentSession(sender->parentSession)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- senderp = new ::qpid::messaging::Sender(
- *(const_cast<Sender ^>(sender)->NativeSender));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Sender::Sender(const Sender % sender)
- : parentSession(sender.parentSession)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- senderp = new ::qpid::messaging::Sender(
- *(const_cast<Sender %>(sender).NativeSender));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- //
- // Send(msg)
- //
- void Sender::Send(Message ^ mmsgp)
- {
- Send(mmsgp, false);
- }
-
- void Sender::Send(Message ^ mmsgp, bool sync)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- senderp->::qpid::messaging::Sender::send(*((*mmsgp).NativeMessage), sync);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- void Sender::Close()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- senderp->close();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Sender.h b/cpp/bindings/qpid/dotnet/src/Sender.h deleted file mode 100644 index 4054e87316..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Sender.h +++ /dev/null @@ -1,135 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Sender.h"
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/Message.h"
-
-namespace qpid {
-namespace messaging {
- // Dummy class to satisfy linker
- class SenderImpl {};
-}}
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Sender is a managed wrapper for a ::qpid::messaging::Sender
- /// </summary>
-
- ref class Session;
- ref class Message;
-
- public ref class Sender
- {
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Sender * senderp;
-
- // The session that created this Sender
- Session ^ parentSession;
-
- public:
- // unmanaged clone
- Sender(const ::qpid::messaging::Sender & s,
- Session ^ sessRef);
-
- // copy constructor
- Sender(const Sender ^ sender);
- Sender(const Sender % sender);
-
- ~Sender();
- !Sender();
-
- // assignment operator
- Sender % operator=(const Sender % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != senderp)
- delete senderp;
- senderp = new ::qpid::messaging::Sender(
- *(const_cast<Sender %>(rhs).NativeSender));
- parentSession = rhs.parentSession;
- }
- return *this;
- }
-
- property ::qpid::messaging::Sender * NativeSender
- {
- ::qpid::messaging::Sender * get () { return senderp; }
- }
-
-
- // Send(message)
- void Send(Message ^ mmsgp);
- void Send(Message ^ mmsgp, bool sync);
-
- void Close();
-
- property System::UInt32 Capacity
- {
- System::UInt32 get () { return senderp->getCapacity(); }
- void set (System::UInt32 capacity) { senderp->setCapacity(capacity); }
- }
-
- property System::UInt32 Unsettled
- {
- System::UInt32 get () { return senderp->getUnsettled(); }
- }
-
- property System::UInt32 Available
- {
- System::UInt32 get () { return senderp->getAvailable(); }
- }
-
- property System::String ^ Name
- {
- System::String ^ get ()
- {
- return gcnew System::String(senderp->getName().c_str());
- }
- }
-
- //
- // Session
- //
- property Org::Apache::Qpid::Messaging::Session ^ Session
- {
- Org::Apache::Qpid::Messaging::Session ^ get ()
- {
- return parentSession;
- }
- }
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Session.cpp b/cpp/bindings/qpid/dotnet/src/Session.cpp deleted file mode 100644 index 4a6199f108..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Session.cpp +++ /dev/null @@ -1,635 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/exceptions.h"
-
-#include "QpidMarshal.h"
-#include "Address.h"
-#include "Session.h"
-#include "Connection.h"
-#include "Duration.h"
-#include "Receiver.h"
-#include "Sender.h"
-#include "Message.h"
-#include "QpidException.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Session is a managed wrapper for a ::qpid::messaging::Session
- /// </summary>
-
- // unmanaged clone
- Session::Session(const ::qpid::messaging::Session & session,
- Org::Apache::Qpid::Messaging::Connection ^ connRef) :
- parentConnectionp(connRef)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp = new ::qpid::messaging::Session (session);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- // Destructor
- Session::~Session()
- {
- this->!Session();
- }
-
-
- // Finalizer
- Session::!Session()
- {
- msclr::lock lk(this);
-
- if (NULL != sessionp)
- {
- delete sessionp;
- sessionp = NULL;
- }
- }
-
-
- // Copy constructor look-alike (C#)
- Session::Session(const Session ^ session)
- : parentConnectionp(session->parentConnectionp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp = new ::qpid::messaging::Session(
- *(const_cast<Session ^>(session)->NativeSession));
-
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // Copy constructor implicitly dereferenced (C++)
- Session::Session(const Session % session)
- : parentConnectionp(session.parentConnectionp)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp = new ::qpid::messaging::Session(
- *(const_cast<Session %>(session).NativeSession));
-
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
-
- void Session::Close()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->close();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Commit()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->commit();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Rollback()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->rollback();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Acknowledge()
- {
- Acknowledge(false);
- }
-
- void Session::Acknowledge(bool sync)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->acknowledge(sync);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Acknowledge(Message ^ message)
- {
- Acknowledge(message, false);
- }
-
- void Session::Acknowledge(Message ^ message, bool sync)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->acknowledge(*(message->NativeMessage), sync);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Reject(Message ^ message)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->::qpid::messaging::Session::reject(*(message->NativeMessage));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Release(Message ^ message)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->::qpid::messaging::Session::release(*(message->NativeMessage));
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- void Session::Sync()
- {
- Sync(true);
- }
-
- void Session::Sync(bool block)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->sync(block);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-
- // next(receiver)
- bool Session::NextReceiver(Receiver ^ rcvr)
- {
- return NextReceiver(rcvr, DurationConstants::FORVER);
- }
-
- bool Session::NextReceiver(Receiver ^ rcvr, Duration ^ timeout)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- // create a duration object
- ::qpid::messaging::Duration dur(timeout->Milliseconds);
-
- // wait for the next received message
- return sessionp->nextReceiver(*(rcvr->NativeReceiver), dur);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- if ("No message to fetch" == errmsg){
- return false;
- }
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return true;
- }
-
- // receiver = next()
- Receiver ^ Session::NextReceiver()
- {
- return NextReceiver(DurationConstants::FORVER);
- }
-
- Receiver ^ Session::NextReceiver(Duration ^ timeout)
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- ::qpid::messaging::Duration dur(timeout->Milliseconds);
-
- ::qpid::messaging::Receiver receiver = sessionp->::qpid::messaging::Session::nextReceiver(dur);
-
- Receiver ^ newRcvr = gcnew Receiver(receiver, this);
-
- return newRcvr;
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- if ("No message to fetch" == errmsg)
- {
- return nullptr;
- }
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return nullptr;
- }
-
-
- Sender ^ Session::CreateSender (System::String ^ address)
- {
- System::Exception ^ newException = nullptr;
- Sender ^ newSender = nullptr;
-
- try
- {
- // create the sender
- ::qpid::messaging::Sender sender =
- sessionp->::qpid::messaging::Session::createSender(QpidMarshal::ToNative(address));
-
- // create a managed sender
- newSender = gcnew Sender(sender, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newSender != nullptr)
- {
- delete newSender;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newSender;
- }
-
-
- Sender ^ Session::CreateSender (Address ^ address)
- {
- System::Exception ^ newException = nullptr;
- Sender ^ newSender = nullptr;
-
- try
- {
- // allocate a native sender
- ::qpid::messaging::Sender sender =
- sessionp->::qpid::messaging::Session::createSender(*(address->NativeAddress));
-
- // create a managed sender
- newSender = gcnew Sender(sender, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newSender != nullptr)
- {
- delete newSender;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newSender;
- }
-
-
- Receiver ^ Session::CreateReceiver(System::String ^ address)
- {
- System::Exception ^ newException = nullptr;
- Receiver ^ newReceiver = nullptr;
-
- try
- {
- // create the receiver
- ::qpid::messaging::Receiver receiver =
- sessionp->createReceiver(QpidMarshal::ToNative(address));
-
- // create a managed receiver
- newReceiver = gcnew Receiver(receiver, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newReceiver != nullptr)
- {
- delete newReceiver;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newReceiver;
- }
-
-
- Receiver ^ Session::CreateReceiver(Address ^ address)
- {
- System::Exception ^ newException = nullptr;
- Receiver ^ newReceiver = nullptr;
-
- try
- {
- // create the receiver
- ::qpid::messaging::Receiver receiver =
- sessionp->createReceiver(*(address->NativeAddress));
-
- // create a managed receiver
- newReceiver = gcnew Receiver(receiver, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newReceiver != nullptr)
- {
- delete newReceiver;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newReceiver;
- }
-
-
- Sender ^ Session::GetSender(System::String ^ name)
- {
- System::Exception ^ newException = nullptr;
- Sender ^ newSender = nullptr;
-
- try
- {
- ::qpid::messaging::Sender senderp =
- sessionp->::qpid::messaging::Session::getSender(QpidMarshal::ToNative(name));
-
- newSender = gcnew Sender(senderp, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newSender != nullptr)
- {
- delete newSender;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newSender;
- }
-
-
-
- Receiver ^ Session::GetReceiver(System::String ^ name)
- {
- System::Exception ^ newException = nullptr;
- Receiver ^ newReceiver = nullptr;
-
- try
- {
- ::qpid::messaging::Receiver receiver =
- sessionp->::qpid::messaging::Session::getReceiver(QpidMarshal::ToNative(name));
-
- newReceiver = gcnew Receiver(receiver, this);
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
- finally
- {
- if (newException != nullptr)
- {
- if (newReceiver != nullptr)
- {
- delete newReceiver;
- }
- }
- }
- if (newException != nullptr)
- {
- throw newException;
- }
-
- return newReceiver;
- }
-
-
-
- void Session::CheckError()
- {
- System::Exception ^ newException = nullptr;
-
- try
- {
- sessionp->checkError();
- }
- catch (const ::qpid::types::Exception & error)
- {
- String ^ errmsg = gcnew String(error.what());
- newException = gcnew QpidException(errmsg);
- }
-
- if (newException != nullptr)
- {
- throw newException;
- }
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/Session.h b/cpp/bindings/qpid/dotnet/src/Session.h deleted file mode 100644 index 4d4cad75c4..0000000000 --- a/cpp/bindings/qpid/dotnet/src/Session.h +++ /dev/null @@ -1,156 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/messaging/Session.h"
-#include "qpid/messaging/Connection.h"
-#include "qpid/messaging/Duration.h"
-#include "qpid/messaging/Receiver.h"
-#include "qpid/messaging/Sender.h"
-
-namespace qpid {
-namespace messaging {
- // Dummy class to satisfy linker
- class SessionImpl {};
-}}
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Session is a managed wrapper for a ::qpid::messaging::Session
- /// </summary>
-
- ref class Address;
- ref class Connection;
- ref class Duration;
- ref class Receiver;
- ref class Sender;
- ref class Message;
-
- public ref class Session
- {
- private:
- // The kept object in the Messaging C++ DLL
- ::qpid::messaging::Session * sessionp;
-
- // The connection that created this session
- Connection ^ parentConnectionp;
-
- public:
-
- // unmanaged clone
- Session(const ::qpid::messaging::Session & sessionp,
- Connection ^ connRef);
-
- // copy constructor
- Session(const Session ^ session);
- Session(const Session % session);
-
- ~Session();
- !Session();
-
- // assignment operator
- Session % operator=(const Session % rhs)
- {
- if (this == %rhs)
- {
- // Self assignment, do nothing
- }
- else
- {
- if (NULL != sessionp)
- delete sessionp;
- sessionp = new ::qpid::messaging::Session(
- *(const_cast<Session %>(rhs).NativeSession) );
- parentConnectionp = rhs.parentConnectionp;
- }
- return *this;
- }
-
- property ::qpid::messaging::Session * NativeSession
- {
- ::qpid::messaging::Session * get () { return sessionp; }
- }
-
- void Close();
- void Commit();
- void Rollback();
- void Acknowledge();
- void Acknowledge(bool sync);
- void Acknowledge(Message ^ message);
- void Acknowledge(Message ^ message, bool sync);
- void Reject(Message ^);
- void Release(Message ^);
- void Sync();
- void Sync(bool block);
-
- property System::UInt32 Receivable
- {
- System::UInt32 get () { return sessionp->getReceivable(); }
- }
-
- property System::UInt32 UnsettledAcks
- {
- System::UInt32 get () { return sessionp->getUnsettledAcks(); }
- }
-
- // next(receiver)
- bool NextReceiver(Receiver ^ rcvr);
- bool NextReceiver(Receiver ^ rcvr, Duration ^ timeout);
-
- // receiver = next()
- Receiver ^ NextReceiver();
- Receiver ^ NextReceiver(Duration ^ timeout);
-
-
- Sender ^ CreateSender(System::String ^ address);
- Sender ^ CreateSender(Address ^ address);
-
- Receiver ^ CreateReceiver(System::String ^ address);
- Receiver ^ CreateReceiver(Address ^ address);
-
- Sender ^ GetSender(System::String ^ name);
- Receiver ^ GetReceiver(System::String ^ name);
-
- property Org::Apache::Qpid::Messaging::Connection ^ Connection
- {
- Org::Apache::Qpid::Messaging::Connection ^ get ()
- {
- return parentConnectionp;
- }
- }
-
-
- property System::Boolean HasError
- {
- System::Boolean get () { return sessionp->hasError(); }
- }
-
- void CheckError();
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/TypeTranslator.cpp b/cpp/bindings/qpid/dotnet/src/TypeTranslator.cpp deleted file mode 100644 index b515095323..0000000000 --- a/cpp/bindings/qpid/dotnet/src/TypeTranslator.cpp +++ /dev/null @@ -1,455 +0,0 @@ -/*
-* 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.
-*/
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <typeinfo.h>
-#include <string>
-#include <limits>
-#include <iostream>
-
-#include "TypeTranslator.h"
-#include "QpidTypeCheck.h"
-#include "QpidMarshal.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// Translate between managed and native types.
- /// </summary>
-
- //
- // The given object is a Dictionary.
- // Add its elements to the qpid map.
- //
- void TypeTranslator::ManagedToNative(QpidMap ^ theDictionary,
- ::qpid::types::Variant::Map & qpidMap)
- {
- // iterate the items, converting each to a variant and adding to the map
- for each (System::Collections::Generic::KeyValuePair
- <System::String^, System::Object^> kvp in theDictionary)
- {
- if (QpidTypeCheck::ObjectIsMap(kvp.Value))
- {
- // Recurse on inner map
- // Allocate a map
- ::qpid::types::Variant::Map newMap;
-
- // Add the map variables to the map
- ManagedToNative((QpidMap ^)kvp.Value, newMap);
-
- // Create a variant entry for the inner map
- std::auto_ptr<::qpid::types::Variant> newVariantp(new ::qpid::types::Variant(newMap));
-
- // Get map's name
- std::string entryName = QpidMarshal::ToNative(kvp.Key);
-
- // Add inner map to outer map
- qpidMap.insert(std::make_pair<std::string, ::qpid::types::Variant>(entryName, *newVariantp));
- }
- else if (QpidTypeCheck::ObjectIsList(kvp.Value))
- {
- // Recurse on inner list
- // Allocate a list
- ::qpid::types::Variant::List newList;
-
- // Add the List variables to the list
- ManagedToNative((QpidList ^)kvp.Value, newList);
-
- // Create a variant entry for the inner map
- ::qpid::types::Variant::List newVariant(newList);
-
- //std::auto_ptr<::qpid::types::Variant> newVariantp(new ::qpid::types::Variant(newList));
-
- // Get list's name
- std::string entryName = QpidMarshal::ToNative(kvp.Key);
-
- // Add inner list to outer map
- qpidMap.insert(std::make_pair<std::string, ::qpid::types::Variant>(entryName, newVariant));
- }
- else
- {
- // Add a simple native type to map
- ::qpid::types::Variant entryValue;
- if (nullptr != kvp.Value)
- {
- ManagedToNativeObject(kvp.Value, entryValue);
- }
- std::string entryName = QpidMarshal::ToNative(kvp.Key);
- qpidMap.insert(std::make_pair<std::string, ::qpid::types::Variant>(entryName, entryValue));
- }
- }
- }
-
-
-
- //
- // The given object is a List.
- // Add its elements to the qpid list.
- //
- void TypeTranslator::ManagedToNative(QpidList ^ theList,
- ::qpid::types::Variant::List & qpidList)
- {
- // iterate the items, converting each to a variant and adding to the map
- for each (System::Object ^ listObj in theList)
- {
- if (QpidTypeCheck::ObjectIsMap(listObj))
- {
- // Recurse on inner map
- // Allocate a map
- ::qpid::types::Variant::Map newMap;
-
- // Add the map variables to the map
- ManagedToNative((QpidMap ^)listObj, newMap);
-
- // Create a variant entry for the inner map
- std::auto_ptr<::qpid::types::Variant> newVariantp(new ::qpid::types::Variant(newMap));
-
- // Add inner map to outer list
- qpidList.push_back(*newVariantp);
- }
- else if (QpidTypeCheck::ObjectIsList(listObj))
- {
- // Recurse on inner list
- // Allocate a list
- ::qpid::types::Variant::List newList;
-
- // Add the List variables to the list
- ManagedToNative((QpidList ^)listObj, newList);
-
- // Create a variant entry for the inner list
- std::auto_ptr<::qpid::types::Variant> newVariantp(new ::qpid::types::Variant(newList));
-
- // Add inner list to outer list
- qpidList.push_back(*newVariantp);
- }
- else
- {
- // Add a simple native type to list
- ::qpid::types::Variant entryValue;
- if (nullptr != listObj)
- {
- ManagedToNativeObject(listObj, entryValue);
- }
- qpidList.push_back(entryValue);
- }
- }
- }
-
-
-
- //
- // Returns a variant representing simple native type object.
- // Not to be called for Map/List objects.
- //
- void TypeTranslator::ManagedToNativeObject(System::Object ^ managedValue,
- ::qpid::types::Variant & qpidVariant)
- {
- System::Type ^ typeP = (*managedValue).GetType();
- System::TypeCode typeCode = System::Type::GetTypeCode( typeP );
-
- switch (typeCode)
- {
- case System::TypeCode::Boolean :
- qpidVariant = System::Convert::ToBoolean(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Byte :
- qpidVariant = System::Convert::ToByte(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::UInt16 :
- qpidVariant = System::Convert::ToUInt16(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::UInt32 :
- qpidVariant = System::Convert::ToUInt32(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::UInt64 :
- qpidVariant = System::Convert::ToUInt64(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Char :
- case System::TypeCode::SByte :
- qpidVariant = System::Convert::ToSByte(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Int16 :
- qpidVariant = System::Convert::ToInt16(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Int32 :
- qpidVariant = System::Convert::ToInt32(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Int64 :
- qpidVariant = System::Convert::ToInt64(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Single :
- qpidVariant = System::Convert::ToSingle(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::Double :
- qpidVariant = System::Convert::ToDouble(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- break;
-
- case System::TypeCode::String :
- {
- std::string rString;
- System::String ^ rpString;
-
- rpString = System::Convert::ToString(managedValue, System::Globalization::CultureInfo::InvariantCulture);
- rString = QpidMarshal::ToNative(rpString);
- qpidVariant = rString;
- qpidVariant.setEncoding(QpidMarshal::ToNative("utf8"));
- }
- break;
-
- case System::TypeCode::Object :
- {
- //
- // Derived classes
- //
- if ("System.Guid" == typeP->ToString())
- {
- cli::array<System::Byte> ^ guidBytes = ((System::Guid)managedValue).ToByteArray();
- pin_ptr<unsigned char> pinnedBuf = &guidBytes[0];
- ::qpid::types::Uuid newUuid = ::qpid::types::Uuid(pinnedBuf);
- qpidVariant = newUuid;
- }
- else
- {
- throw gcnew System::NotImplementedException();
- }
- }
- break;
-
- default:
-
- throw gcnew System::NotImplementedException();
-
- }
- }
-
-
- // Given a user Dictionary and a qpid map,
- // extract the qpid elements and put them into the dictionary.
- //
- void TypeTranslator::NativeToManaged(::qpid::types::Variant::Map & qpidMap,
- QpidMap ^ dict)
- {
- // For each object in the message map,
- // create a .NET object and add it to the dictionary.
- for (::qpid::types::Variant::Map::const_iterator i = qpidMap.begin(); i != qpidMap.end(); ++i) {
- // Get the name
- System::String ^ elementName = gcnew String(i->first.c_str());
-
- ::qpid::types::Variant variant = i->second;
- ::qpid::types::VariantType vType = variant.getType();
-
- switch (vType)
- {
- case ::qpid::types::VAR_VOID:
- dict[elementName] = nullptr;
- break;
-
- case ::qpid::types::VAR_BOOL:
- dict[elementName] = variant.asBool();
- break;
-
- case ::qpid::types::VAR_UINT8:
- dict[elementName] = variant.asUint8();
- break;
-
- case ::qpid::types::VAR_UINT16:
- dict[elementName] = variant.asUint16();
- break;
-
- case ::qpid::types::VAR_UINT32:
- dict[elementName] = variant.asUint32();
- break;
-
- case ::qpid::types::VAR_UINT64:
- dict[elementName] = variant.asUint64();
- break;
-
- case ::qpid::types::VAR_INT8:
- dict[elementName] = variant.asInt8();
- break;
-
- case ::qpid::types::VAR_INT16:
- dict[elementName] = variant.asInt16();
- break;
-
- case ::qpid::types::VAR_INT32:
- dict[elementName] = variant.asInt32();
- break;
-
- case ::qpid::types::VAR_INT64:
- dict[elementName] = variant.asInt64();
- break;
-
- case ::qpid::types::VAR_FLOAT:
- dict[elementName] = variant.asFloat();
- break;
-
- case ::qpid::types::VAR_DOUBLE:
- dict[elementName] = variant.asDouble();
- break;
-
- case ::qpid::types::VAR_STRING:
- {
- System::String ^ elementValue = gcnew System::String(variant.asString().c_str());
- dict[elementName] = elementValue;
- break;
- }
- case ::qpid::types::VAR_MAP:
- {
- QpidMap ^ newDict = gcnew QpidMap();
-
- NativeToManaged(variant.asMap(), newDict);
-
- dict[elementName] = newDict;
- break;
- }
-
- case ::qpid::types::VAR_LIST:
- {
- QpidList ^ newList = gcnew QpidList();
-
- NativeToManaged(variant.asList(), newList);
-
- dict[elementName] = newList;
- break;
- }
-
- case ::qpid::types::VAR_UUID:
- {
- System::String ^ elementValue = gcnew System::String(variant.asUuid().str().c_str());
- System::Guid ^ newGuid = System::Guid(elementValue);
- dict[elementName] = newGuid;
- }
- break;
- }
- }
- }
-
-
- void TypeTranslator::NativeToManaged(::qpid::types::Variant::List & qpidList, QpidList ^ managedList)
- {
- // For each object in the qpidList
- // create a .NET object and add it to the managed List.
- for (::qpid::types::Variant::List::const_iterator i = qpidList.begin(); i != qpidList.end(); ++i)
- {
- ::qpid::types::Variant variant = *i;
- ::qpid::types::VariantType vType = variant.getType();
-
- switch (vType)
- {
- case ::qpid::types::VAR_VOID:
- (*managedList).Add(nullptr);
- break;
-
- case ::qpid::types::VAR_BOOL:
- (*managedList).Add(variant.asBool());
- break;
-
- case ::qpid::types::VAR_UINT8:
- (*managedList).Add(variant.asUint8());
- break;
-
- case ::qpid::types::VAR_UINT16:
- (*managedList).Add(variant.asUint16());
- break;
-
- case ::qpid::types::VAR_UINT32:
- (*managedList).Add(variant.asUint32());
- break;
-
- case ::qpid::types::VAR_UINT64:
- (*managedList).Add(variant.asUint64());
- break;
-
- case ::qpid::types::VAR_INT8:
- (*managedList).Add(variant.asInt8());
- break;
-
- case ::qpid::types::VAR_INT16:
- (*managedList).Add(variant.asInt16());
- break;
-
- case ::qpid::types::VAR_INT32:
- (*managedList).Add(variant.asInt32());
- break;
-
- case ::qpid::types::VAR_INT64:
- (*managedList).Add(variant.asInt64());
- break;
-
- case ::qpid::types::VAR_FLOAT:
- (*managedList).Add(variant.asFloat());
- break;
-
- case ::qpid::types::VAR_DOUBLE:
- (*managedList).Add(variant.asDouble());
- break;
-
- case ::qpid::types::VAR_STRING:
- {
- System::String ^ elementValue = gcnew System::String(variant.asString().c_str());
- (*managedList).Add(elementValue);
- break;
- }
- case ::qpid::types::VAR_MAP:
- {
- QpidMap ^ newDict = gcnew QpidMap();
-
- NativeToManaged(variant.asMap(), newDict);
-
- (*managedList).Add(newDict);
- break;
- }
-
- case ::qpid::types::VAR_LIST:
- {
- QpidList ^ newList = gcnew QpidList();
-
- NativeToManaged(variant.asList(), newList);
-
- (*managedList).Add(newList);
- break;
- }
-
- case ::qpid::types::VAR_UUID:
- {
- System::String ^ elementValue = gcnew System::String(variant.asUuid().str().c_str());
- System::Guid ^ newGuid = System::Guid(elementValue);
- (*managedList).Add(newGuid);
- }
- break;
- }
- }
- }
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/TypeTranslator.h b/cpp/bindings/qpid/dotnet/src/TypeTranslator.h deleted file mode 100644 index df12689cf8..0000000000 --- a/cpp/bindings/qpid/dotnet/src/TypeTranslator.h +++ /dev/null @@ -1,71 +0,0 @@ -/*
-* 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.
-*/
-#pragma once
-
-#include <windows.h>
-#include <msclr\lock.h>
-#include <oletx2xa.h>
-#include <string>
-#include <limits>
-
-#include "qpid/types/Variant.h"
-
-#include "QpidTypeCheck.h"
-
-namespace Org {
-namespace Apache {
-namespace Qpid {
-namespace Messaging {
-
- /// <summary>
- /// TypeTranslator provides codec between .NET Dictionary/List and
- /// qpid messaging Map/List.
- /// </summary>
- public ref class TypeTranslator sealed
- {
- private:
- TypeTranslator::TypeTranslator() {}
-
- public:
- // The given object is a managed Dictionary.
- // Add its elements to the qpid map.
- static void ManagedToNative(QpidMap ^ theDictionary,
- ::qpid::types::Variant::Map & qpidMap);
-
- // The given object is a managed List.
- // Add its elements to the qpid list.
- static void ManagedToNative(QpidList ^ theList,
- ::qpid::types::Variant::List & qpidList);
-
- // The given object is a simple managed type (not a Dictionary or List)
- // Returns a variant representing simple native type object.
- static void ManagedToNativeObject(System::Object ^ managedValue,
- ::qpid::types::Variant & qpidVariant);
-
- // The given object is a qpid map.
- // Add its elements to the managed Dictionary.
- static void NativeToManaged(::qpid::types::Variant::Map & qpidMap,
- QpidMap ^ dict);
-
- // The given object is a qpid list.
- // Add its elements to the managed List.
- static void NativeToManaged(::qpid::types::Variant::List & qpidList,
- QpidList ^ managedList);
- };
-}}}}
diff --git a/cpp/bindings/qpid/dotnet/src/app.rc b/cpp/bindings/qpid/dotnet/src/app.rc deleted file mode 100644 index 35b3d8df68..0000000000 --- a/cpp/bindings/qpid/dotnet/src/app.rc +++ /dev/null @@ -1,82 +0,0 @@ -//
-// 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.
-//
-
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon placed first or with lowest ID value becomes application icon
-
-LANGUAGE 9, 1
-#pragma code_page(1252)
-1 ICON "app.ico"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
- "\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.template.rc b/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.template.rc deleted file mode 100644 index 85b15646f3..0000000000 --- a/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.template.rc +++ /dev/null @@ -1,120 +0,0 @@ -//
-// 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.
-//
-
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource1.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource1.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION ${winver_FILE_VERSION_N1},${winver_FILE_VERSION_N2},${winver_FILE_VERSION_N3},${winver_FILE_VERSION_N4}
- PRODUCTVERSION ${winver_PRODUCT_VERSION_N1},${winver_PRODUCT_VERSION_N2},${winver_PRODUCT_VERSION_N3},${winver_PRODUCT_VERSION_N4}
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "FileDescription", "org.apache.qpid.messaging"
- VALUE "FileVersion", "${winver_FILE_VERSION_N1}, ${winver_FILE_VERSION_N2}, ${winver_FILE_VERSION_N3}, ${winver_FILE_VERSION_N4}"
- VALUE "InternalName", "org.apache.qpid.messaging"
- VALUE "LegalCopyright", ""
- VALUE "OriginalFilename", "org.apache.qpid.messaging"
- VALUE "ProductName", "org.apache.qpid.messaging"
- VALUE "ProductVersion", "${winver_PRODUCT_VERSION_N1}, ${winver_PRODUCT_VERSION_N2}, ${winver_PRODUCT_VERSION_N3}, ${winver_PRODUCT_VERSION_N4}"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj b/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj deleted file mode 100644 index f3a0071aeb..0000000000 --- a/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj +++ /dev/null @@ -1,644 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<!--
-
- 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.
-
--->
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Org.Apache.Qpid.Messaging"
- ProjectGUID="{AA5A3B83-5F98-406D-A01C-5A921467A57D}"
- RootNamespace="org.apache.qpid.messaging"
- Keyword="ManagedCProj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000 /machine:I386"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclientd.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommond.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessagingd.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypesd.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="1"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine=""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclientd.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommond.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessagingd.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypesd.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="17"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine=""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000 /machine:I386"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclient.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommon.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessaging.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypes.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="1"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclient.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommon.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessaging.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypes.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="17"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="RelWithDebInfo|Win32"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000 /machine:I386"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclient.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommon.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessaging.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypes.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="1"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="RelWithDebInfo|x64"
- OutputDirectory="$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions=" /Zm1000 /wd4244 /wd4800 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\..\include";"$(ProjectDir)..\..\..\..\src""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;WIN32_LEAN_AND_MEAN"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions=" /STACK:10000000"
- AdditionalDependencies="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidclient.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidcommon.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidmessaging.lib $(QPID_BUILD_ROOT)\src\$(ConfigurationName)\qpidtypes.lib"
- OutputFile="$(QPID_BUILD_ROOT)\src\$(ConfigurationName)\org.apache.qpid.messaging.dll"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- TargetMachine="17"
- KeyFile="qpid.snk"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- <AssemblyReference
- RelativePath="System.dll"
- AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.Data.dll"
- AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
- MinFrameworkVersion="131072"
- />
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\Address.cpp"
- >
- </File>
- <File
- RelativePath=".\AssemblyInfo.cpp"
- >
- </File>
- <File
- RelativePath=".\Connection.cpp"
- >
- </File>
- <File
- RelativePath=".\FailoverUpdates.cpp"
- >
- </File>
- <File
- RelativePath=".\Message.cpp"
- >
- </File>
- <File
- RelativePath=".\Receiver.cpp"
- >
- </File>
- <File
- RelativePath=".\Sender.cpp"
- >
- </File>
- <File
- RelativePath=".\Session.cpp"
- >
- </File>
- <File
- RelativePath=".\TypeTranslator.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\Address.h"
- >
- </File>
- <File
- RelativePath=".\Connection.h"
- >
- </File>
- <File
- RelativePath=".\Duration.h"
- >
- </File>
- <File
- RelativePath=".\FailoverUpdates.h"
- >
- </File>
- <File
- RelativePath=".\Message.h"
- >
- </File>
- <File
- RelativePath=".\QpidException.h"
- >
- </File>
- <File
- RelativePath=".\QpidMarshal.h"
- >
- </File>
- <File
- RelativePath=".\QpidTypeCheck.h"
- >
- </File>
- <File
- RelativePath=".\Receiver.h"
- >
- </File>
- <File
- RelativePath=".\Sender.h"
- >
- </File>
- <File
- RelativePath=".\Session.h"
- >
- </File>
- <File
- RelativePath=".\TypeTranslator.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\app.ico"
- >
- </File>
- <File
- RelativePath="$(QPID_BUILD_ROOT)\src\windows\resources\org.apache.qpid.messaging.rc"
- >
- </File>
- <File
- RelativePath=".\resource1.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\ReadMe.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/cpp/bindings/qpid/dotnet/src/qpid.snk b/cpp/bindings/qpid/dotnet/src/qpid.snk Binary files differdeleted file mode 100644 index 9faafd8f8b..0000000000 --- a/cpp/bindings/qpid/dotnet/src/qpid.snk +++ /dev/null diff --git a/cpp/bindings/qpid/dotnet/src/resource1.h b/cpp/bindings/qpid/dotnet/src/resource1.h deleted file mode 100644 index 98830aba70..0000000000 --- a/cpp/bindings/qpid/dotnet/src/resource1.h +++ /dev/null @@ -1,34 +0,0 @@ -//{{NO_DEPENDENCIES}}
-
-//
-// 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.
-//
-
-// Microsoft Visual C++ generated include file.
-// Used by org.apache.qpid.messaging.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/cpp/bindings/qpid/dotnet/src/sessionreceiver/Properties/sessionreceiver-AssemblyInfo-template.cs b/cpp/bindings/qpid/dotnet/src/sessionreceiver/Properties/sessionreceiver-AssemblyInfo-template.cs deleted file mode 100644 index de057ce9be..0000000000 --- a/cpp/bindings/qpid/dotnet/src/sessionreceiver/Properties/sessionreceiver-AssemblyInfo-template.cs +++ /dev/null @@ -1,55 +0,0 @@ -/*
-* 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Org.Apache.Qpid.Messaging.SessionReceiver")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Org.Apache.Qpid.Messaging.SessionReceiver")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("e18f363a-a9b0-4251-8f3c-de0e9d9d6827")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("${winver_PRODUCT_VERSION_N1}.${winver_PRODUCT_VERSION_N2}.${winver_PRODUCT_VERSION_N3}.${winver_PRODUCT_VERSION_N4}")]
-[assembly: AssemblyFileVersion("${winver_FILE_VERSION_N1}.${winver_FILE_VERSION_N2}.${winver_FILE_VERSION_N3}.${winver_FILE_VERSION_N4}")]
diff --git a/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj b/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj deleted file mode 100644 index bc3ce57cf3..0000000000 --- a/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj +++ /dev/null @@ -1,133 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>org.apache.qpid.messaging.sessionreceiver</RootNamespace>
- <AssemblyName>org.apache.qpid.messaging.sessionreceiver</AssemblyName>
- <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>qpid.snk</AssemblyOriginatorKeyFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|AnyCPU' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>AnyCPU</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="sessionreceiver.cs" />
- <Compile Include="$(QPID_BUILD_ROOT)\src\windows\generated_src\sessionreceiver-AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <None Include="qpid.snk" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/src/sessionreceiver/qpid.snk b/cpp/bindings/qpid/dotnet/src/sessionreceiver/qpid.snk Binary files differdeleted file mode 100644 index 9faafd8f8b..0000000000 --- a/cpp/bindings/qpid/dotnet/src/sessionreceiver/qpid.snk +++ /dev/null diff --git a/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs b/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs deleted file mode 100644 index 680732068f..0000000000 --- a/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs +++ /dev/null @@ -1,133 +0,0 @@ -/*
- *
- * 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;
-using System.Collections.Generic;
-using Org.Apache.Qpid.Messaging;
-
-namespace Org.Apache.Qpid.Messaging.SessionReceiver
-{
- /// <summary>
- /// ISessionReceiver interface defines the callback for users to supply.
- /// Once established this callback will receive all messages for all
- /// receivers defined by the current session.
- /// Users are expected not to 'fetch' or 'get' messages by any other means.
- /// Users must acknowledge() the Session's messages either in the callback
- /// function or by some other scheme.
- /// </summary>
-
- public interface ISessionReceiver
- {
- void SessionReceiver(Receiver receiver, Message message);
- }
-
-
- /// <summary>
- /// EventEngine - wait for messages from the underlying C++ code.
- /// When available get them and deliver them via callback to our
- /// client through the ISessionReceiver interface.
- /// This class consumes the thread that calls the Run() function.
- /// </summary>
-
- internal class EventEngine
- {
- private Session session;
- private ISessionReceiver callback;
- private bool keepRunning;
-
- public EventEngine(Session theSession, ISessionReceiver thecallback)
- {
- this.session = theSession;
- this.callback = thecallback;
- }
-
- /// <summary>
- /// Function to call Session's nextReceiver, discover messages,
- /// and to deliver messages through the callback.
- /// </summary>
- public void Open()
- {
- Receiver rcvr;
- Message msg;
-
- keepRunning = true;
- while (keepRunning)
- {
- rcvr = session.NextReceiver(DurationConstants.SECOND);
-
- if (null != rcvr)
- {
- if (keepRunning)
- {
- msg = rcvr.Fetch(DurationConstants.SECOND);
- this.callback.SessionReceiver(rcvr, msg);
- }
- }
- //else
- // receive timed out
- // EventEngine exits the nextReceiver() function periodically
- // in order to test the keepRunning flag
- }
- // Private thread is now exiting.
- }
-
- /// <summary>
- /// Function to stop the EventEngine. Private thread will exit within
- /// one second.
- /// </summary>
- public void Close()
- {
- keepRunning = false;
- }
- }
-
-
- /// <summary>
- /// server is the class that users instantiate to connect a SessionReceiver
- /// callback to the stream of received messages received on a Session.
- /// </summary>
- public class CallbackServer
- {
- private EventEngine ee;
-
- /// <summary>
- /// Constructor for the server.
- /// </summary>
- /// <param name="session">The Session whose messages are collected.</param>
- /// <param name="callback">The user function call with each message.</param>
- ///
- public CallbackServer(Session session, ISessionReceiver callback)
- {
- ee = new EventEngine(session, callback);
-
- new System.Threading.Thread(
- new System.Threading.ThreadStart(ee.Open)).Start();
- }
-
- /// <summary>
- /// Function to stop the server.
- /// </summary>
- public void Close()
- {
- ee.Close();
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/Properties/AssemblyInfo.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/Properties/AssemblyInfo.cs deleted file mode 100644 index cf50e88200..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*
- *
- * 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.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("messaging.test")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("messaging.test")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("fdf30e75-69ba-45c2-a196-df09085dd56a")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.address.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.address.cs deleted file mode 100644 index 22ad186c9a..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.address.cs +++ /dev/null @@ -1,157 +0,0 @@ -/*
- *
- * 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 Org.Apache.Qpid.Messaging.UnitTest
-{
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using Org.Apache.Qpid.Messaging;
- using NUnit.Framework;
-
- [TestFixture]
- public class AddressTests
- {
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- //
- // Address test
- //
- [Test]
- public void AddressConstructor_Empty()
- {
- Address addr = new Address();
-
- StringAssert.IsMatch("", addr.ToStr());
-
- StringAssert.IsMatch("", addr.Name);
- StringAssert.IsMatch("", addr.Subject);
- Dictionary<string, object> opts = addr.Options;
- Assert.AreEqual(0, opts.Count);
- StringAssert.IsMatch("", addr.Type);
- }
-
-
- [Test]
- public void AddressConstructor_Name()
- {
- Address addr = new Address("name1");
-
- StringAssert.IsMatch("", addr.ToStr());
-
- StringAssert.IsMatch("name1", addr.Name);
- StringAssert.IsMatch("", addr.Subject);
- Dictionary<string, object> opts = addr.Options;
- Assert.AreEqual(0, opts.Count);
- StringAssert.IsMatch("", addr.Type);
- }
-
-
- [Test]
- public void AddressConstructor_NameSubjOpts()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["one"] = 1;
- options["two"] = "two";
-
- Address addr = new Address("name2", "subj2", options);
-
- StringAssert.IsMatch("name2/subj2;{node:{type:}, one:1, two:two}", addr.ToStr());
-
- StringAssert.IsMatch("name2", addr.Name);
- StringAssert.IsMatch("subj2", addr.Subject);
- Dictionary<string, object> opts = addr.Options;
- Assert.AreEqual(3, opts.Count);
- StringAssert.IsMatch("", addr.Type);
- }
-
- [Test]
- public void AddressConstructor_NameSubjOptsType()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["one"] = 1;
- options["two"] = "two";
-
- Address addr = new Address("name3", "subj3", options, "type3");
-
- StringAssert.IsMatch("name3/subj3;{node:{type:type3}, one:1, two:two}", addr.ToStr());
-
- StringAssert.IsMatch("name3", addr.Name);
- StringAssert.IsMatch("subj3", addr.Subject);
- Dictionary<string, object> opts = addr.Options;
- Assert.AreEqual(3, opts.Count);
- StringAssert.IsMatch("type3", addr.Type);
- }
-
- [Test]
- public void AddressProperty()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["one"] = 1;
- options["two"] = "two";
- options["pi"] = 3.14159;
- Dictionary<string, object> opts;
-
- Address addr = new Address();
-
- addr.Name = "name4";
-
- StringAssert.IsMatch("name4", addr.Name);
- StringAssert.IsMatch("", addr.Subject);
- opts = addr.Options;
- Assert.AreEqual(0, opts.Count);
- StringAssert.IsMatch("", addr.Type);
-
- addr.Subject = "subject4";
-
- StringAssert.IsMatch("name4", addr.Name);
- StringAssert.IsMatch("subject4", addr.Subject);
- opts = addr.Options;
- Assert.AreEqual(0, opts.Count);
- StringAssert.IsMatch("", addr.Type);
-
- addr.Type = "type4";
-
- StringAssert.IsMatch("name4", addr.Name);
- StringAssert.IsMatch("subject4", addr.Subject);
- opts = addr.Options;
- Assert.AreEqual(1, opts.Count);
- StringAssert.IsMatch("type4", addr.Type);
-
- addr.Options = options;
-
- StringAssert.IsMatch("name4", addr.Name);
- StringAssert.IsMatch("subject4", addr.Subject);
- opts = addr.Options;
- Assert.AreEqual(3, opts.Count);
- StringAssert.IsMatch("", addr.Type);
- }
-
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.connection.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.connection.cs deleted file mode 100644 index dd368b5e5e..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.connection.cs +++ /dev/null @@ -1,100 +0,0 @@ -/*
- *
- * 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 Org.Apache.Qpid.Messaging.UnitTest
-{
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using Org.Apache.Qpid.Messaging;
- using NUnit.Framework;
-
- [TestFixture]
- public class ConnectionTests
- {
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- //
- // Doing without a real connection
- //
- [Test]
- public void ConnectionCreate_1()
- {
- Connection myConn = new Connection("url");
- Assert.IsFalse(myConn.IsOpen);
- }
-
- [Test]
- public void ConnectionCreate_2()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["id"] = 987654321;
- options["name"] = "Widget";
- options["percent"] = 0.99;
-
- Connection myConn = new Connection("url", options);
- Assert.IsFalse(myConn.IsOpen);
- }
-
- [Test]
- public void ConnectionCreate_3()
- {
- Connection myConn = new Connection("url", "{reconnect:True}");
- Assert.IsFalse(myConn.IsOpen);
- }
-
- [Test]
- public void ConnectionSetOption()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["id"] = 987654321;
- options["name"] = "Widget";
- options["percent"] = 0.99;
-
- Connection myConn = new Connection("url", options);
- myConn.SetOption("name", "purple");
-
- Assert.IsFalse(myConn.IsOpen);
- }
-
- [Test]
- public void ConnectionClose()
- {
- Dictionary<string, object> options = new Dictionary<string, object>();
- options["id"] = 987654321;
- options["name"] = "Widget";
- options["percent"] = 0.99;
-
- Connection myConn = new Connection("url", options);
- myConn.Close();
-
- Assert.IsFalse(myConn.IsOpen);
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.cs deleted file mode 100644 index dc7af0a7c8..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.cs +++ /dev/null @@ -1,76 +0,0 @@ -/*
- *
- * 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.
- *
- */
-
-//
-// Note:
-// NUnit tests require all libraries to be on the project path
-// or in the project working directory. If an unmanaged DLL
-// (boost_xxx, for instance) is missing then NUnit will give
-// the error message:
-// System.IO.FileNotFoundException :
-// The specified module could not be found.
-// (Exception from HRESULT: 0x8007007E)
-//
-// Users may need to adjust this project's reference to the
-// NUnit assembly.
-//
-
-namespace Org.Apache.Qpid.Messaging.UnitTest
-{
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using Org.Apache.Qpid.Messaging;
- using NUnit.Framework;
-
- [TestFixture]
- public class BasicTests
- {
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- //
- // Types representing amqp.map and amqp.list
- //
- [Test]
- public void TypeTestForDictionary()
- {
- Dictionary<string, object> dx = new Dictionary<string, object>();
-
- StringAssert.Contains("System.Collections.Generic.Dictionary`2[System.String,System.Object]", dx.GetType().ToString());
- }
-
- [Test]
- public void TypeTestForCollection()
- {
- Collection<object> cx = new Collection<object>();
-
- StringAssert.Contains("System.Collections.ObjectModel.Collection`1[System.Object]", cx.GetType().ToString());
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.csproj b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.csproj deleted file mode 100644 index 7ec4d743a3..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.csproj +++ /dev/null @@ -1,180 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{AF2FBC78-266C-430C-BC29-9477AB596A36}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>messaging.test</RootNamespace>
- <AssemblyName>messaging.test</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <StartupObject>
- </StartupObject>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(QPID_BUILD_ROOT)\src\$(Configuration)\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|AnyCPU' ">
- <OutputPath>bin\RelWithDebInfo\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>AnyCPU</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x86' ">
- <OutputPath>bin\x86\RelWithDebInfo\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'RelWithDebInfo|x64' ">
- <OutputPath>bin\x64\RelWithDebInfo\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="nunit.framework, Version=2.5.3.9345, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>C:\Program Files (x86)\NUnit 2.5.3\bin\net-1.1\framework\nunit.framework.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="messaging.test.address.cs" />
- <Compile Include="messaging.test.connection.cs" />
- <Compile Include="messaging.test.cs" />
- <Compile Include="messaging.test.duration.cs" />
- <Compile Include="messaging.test.message.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
- <Visible>False</Visible>
- <ProductName>Windows Installer 3.1</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\org.apache.qpid.messaging.vcproj">
- <Project>{AA5A3B83-5F98-406D-A01C-5A921467A57D}</Project>
- <Name>Org.Apache.Qpid.Messaging</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
- <PropertyGroup>
- <PostBuildEvent>
- </PostBuildEvent>
- <PreBuildEvent>
- </PreBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.duration.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.duration.cs deleted file mode 100644 index 2512d7936c..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.duration.cs +++ /dev/null @@ -1,99 +0,0 @@ -/*
- *
- * 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 Org.Apache.Qpid.Messaging.UnitTest
-{
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using Org.Apache.Qpid.Messaging;
- using NUnit.Framework;
-
- [TestFixture]
- public class DurationTests
- {
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void ValueOfUSERVALUE()
- {
- Duration myDuration = new Duration(1234);
- Assert.AreEqual(1234, myDuration.Milliseconds);
- }
-
- [Test]
- public void ValueOfFOREVER()
- {
- bool result = DurationConstants.FORVER.Milliseconds > 1.0E18;
- Assert.True(result);
- }
-
- [Test]
- public void ValueOfIMMEDIATE()
- {
- Assert.AreEqual(0, DurationConstants.IMMEDIATE.Milliseconds);
- }
-
- [Test]
- public void ValueOfSECOND()
- {
- Assert.AreEqual(1000, DurationConstants.SECOND.Milliseconds);
- }
-
-
- [Test]
- public void ValueOfMINUTE()
- {
- Assert.AreEqual(60000, DurationConstants.MINUTE.Milliseconds);
- }
-
- [Test]
- public void ValueOfDefaultIsFOREVER()
- {
- Duration isInfinite = new Duration();
-
- bool result = isInfinite.Milliseconds > 1.0E18;
- Assert.True(result);
- }
-
- [Test]
- public void ComputedValueFiveMinutes_1()
- {
- Duration fiveMinutes = new Duration(DurationConstants.MINUTE.Milliseconds * 5);
- Assert.AreEqual(5 * 60000, fiveMinutes.Milliseconds);
- }
-
- [Test]
- public void ComputedValueFiveMinutes_2()
- {
- Duration fiveMinutes = new Duration(5 * DurationConstants.MINUTE.Milliseconds);
- Assert.AreEqual(5 * 60000, fiveMinutes.Milliseconds);
- }
- }
-}
\ No newline at end of file diff --git a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.message.cs b/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.message.cs deleted file mode 100644 index ac834047ad..0000000000 --- a/cpp/bindings/qpid/dotnet/test/messaging.test/messaging.test.message.cs +++ /dev/null @@ -1,294 +0,0 @@ -/*
- *
- * 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 Org.Apache.Qpid.Messaging.UnitTest
-{
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using Org.Apache.Qpid.Messaging;
- using NUnit.Framework;
-
- [TestFixture]
- public class MessageTests
- {
- [SetUp]
- public void SetUp()
- {
- }
-
- [TearDown]
- public void TearDown()
- {
- }
-
- [Test]
- public void SimpleMessageSize()
- {
- Message m2 = new Message("rarey");
- UInt64 m2Size = m2.ContentSize;
- Assert.AreEqual(5, m2Size);
- }
-
- [Test]
- public void SimpleMessageStringContent()
- {
- Message m2 = new Message("rarely");
- string mString = m2.GetContent();
-
- StringAssert.IsMatch("rarely", mString);
- }
-
- [Test]
- public void MessageReceiveContentAsByteArray()
- {
- Message m2 = new Message("while");
- UInt64 m2Size = m2.ContentSize;
-
- byte[] myRaw = new byte [m2Size];
-
- m2.GetContent(myRaw);
-
- Assert.IsTrue(true);
- }
-
- [Test]
- public void MessageAsByteArray()
- {
- byte[] rawData = new byte[10];
- for (byte i = 0; i < 10; i++)
- rawData[i] = i;
- Message m3 = new Message(rawData);
-
- byte[] readback = new byte[m3.ContentSize];
- m3.GetContent(readback);
-
- for (byte i = 0; i < 10; i++)
- Assert.AreEqual(i, readback[i]);
- }
-
- [Test]
- public void MessageAsByteArraySlice()
- {
- byte[] rawData = new byte[10];
- for (byte i = 0; i < 10; i++)
- rawData[i] = i;
- Message m3 = new Message(rawData, 1, 8);
-
- Assert.AreEqual(8, m3.ContentSize);
-
- byte[] readback = new byte[m3.ContentSize];
- m3.GetContent(readback);
-
- for (byte i = 0; i < 8; i++)
- Assert.AreEqual(i + 1, readback[i]);
- }
-
-
- [Test]
- public void MessageProperties()
- {
- Message msgGetSet = new Message("12345");
-
- msgGetSet.Subject = "Subject";
- msgGetSet.MessageId = "MessageId";
- msgGetSet.UserId = "UserId";
- msgGetSet.CorrelationId = "CorrelationId";
- msgGetSet.Ttl = DurationConstants.SECOND;
- msgGetSet.Priority = (byte)'z';
- msgGetSet.Durable = false;
- msgGetSet.Redelivered = true;
-
- Dictionary<string, object> props = new Dictionary<string,object>();
- props.Add("firstProperty", 1);
- props.Add("secondProperty", 2);
- msgGetSet.Properties = props;
-
- Address replyToAddr = new Address("replyTo");
- replyToAddr.Subject = "topsecret";
- msgGetSet.ReplyTo = replyToAddr;
-
- StringAssert.IsMatch("Subject", msgGetSet.Subject);
- StringAssert.IsMatch("", msgGetSet.ContentType);
- StringAssert.IsMatch("MessageId", msgGetSet.MessageId);
- StringAssert.IsMatch("UserId", msgGetSet.UserId);
- StringAssert.IsMatch("CorrelationId", msgGetSet.CorrelationId);
- Assert.AreEqual(1000, msgGetSet.Ttl.Milliseconds);
- Assert.AreEqual((byte)'z', msgGetSet.Priority);
- Assert.IsFalse( msgGetSet.Durable);
- Assert.IsTrue( msgGetSet.Redelivered);
-
- Dictionary<string, object> gotProps = msgGetSet.Properties;
- StringAssert.IsMatch("1", gotProps["firstProperty"].ToString());
- StringAssert.IsMatch("2", gotProps["secondProperty"].ToString());
-
- Address gotReply = msgGetSet.ReplyTo;
- StringAssert.IsMatch("replyTo", gotReply.Name);
- StringAssert.IsMatch("topsecret", msgGetSet.ReplyTo.Subject);
- }
-
- [Test]
- public void SimpleMessageCopy()
- {
- Message m2 = new Message("rarely");
- Message m3 = m2;
-
- StringAssert.IsMatch("rarely", m3.GetContent());
- }
-
- [Test]
- public void MessageAsMap_AllVariableTypes()
- {
- //
- // Create structured content for the message. This example builds a
- // map of items including a nested map and a list of values.
- //
- Dictionary<string, object> content = new Dictionary<string, object>();
- Dictionary<string, object> subMap = new Dictionary<string, object>();
- Collection<object> colors = new Collection<object>();
-
- // add simple types
- content["id"] = 987654321;
- content["name"] = "Widget";
- content["percent"] = 0.99;
-
- // add nested amqp/map
- subMap["name"] = "Smith";
- subMap["number"] = 354;
- content["nestedMap"] = subMap;
-
- // add an amqp/list
- colors.Add("red");
- colors.Add("green");
- colors.Add("white");
- // list contains null value
- colors.Add(null);
- content["colorsList"] = colors;
-
- // add one of each supported amqp data type
- bool mybool = true;
- content["mybool"] = mybool;
-
- byte mybyte = 4;
- content["mybyte"] = mybyte;
-
- UInt16 myUInt16 = 5;
- content["myUInt16"] = myUInt16;
-
- UInt32 myUInt32 = 6;
- content["myUInt32"] = myUInt32;
-
- UInt64 myUInt64 = 7;
- content["myUInt64"] = myUInt64;
-
- char mychar = 'h';
- content["mychar"] = mychar;
-
- Int16 myInt16 = 9;
- content["myInt16"] = myInt16;
-
- Int32 myInt32 = 10;
- content["myInt32"] = myInt32;
-
- Int64 myInt64 = 11;
- content["myInt64"] = myInt64;
-
- Single mySingle = (Single)12.12;
- content["mySingle"] = mySingle;
-
- Double myDouble = 13.13;
- content["myDouble"] = myDouble;
-
- Guid myGuid = new Guid("000102030405060708090a0b0c0d0e0f");
- content["myGuid"] = myGuid;
-
- content["myNull"] = null;
-
- // Create the message
- Message message = new Message(content);
-
- // Copy the message
- Message rxMsg = message;
-
- // Extract the content
- Dictionary<string, object> rxContent = new Dictionary<string, object>();
-
- rxMsg.GetContent(rxContent);
-
- Dictionary<string, object> rxSubMap = (Dictionary<string, object>)rxContent["nestedMap"];
-
- Collection<object> rxColors = (Collection<object>)rxContent["colorsList"];
-
- StringAssert.IsMatch("System.Boolean", rxContent["mybool"].GetType().ToString());
- bool rxbool = (bool)rxContent["mybool"];
-
- StringAssert.IsMatch("System.SByte", rxContent["mybyte"].GetType().ToString());
- sbyte rxbyte = (sbyte)rxContent["mybyte"];
-
- StringAssert.IsMatch("System.UInt16", rxContent["myUInt16"].GetType().ToString());
- UInt16 rxUInt16 = (UInt16)rxContent["myUInt16"];
-
- StringAssert.IsMatch("System.UInt32", rxContent["myUInt32"].GetType().ToString());
- UInt32 rxUInt32 = (UInt32)rxContent["myUInt32"];
-
- StringAssert.IsMatch("System.UInt64", rxContent["myUInt64"].GetType().ToString());
- UInt64 rxUInt64 = (UInt64)rxContent["myUInt64"];
-
- StringAssert.IsMatch("System.Int32", rxContent["mychar"].GetType().ToString());
- char rxchar = System.Convert.ToChar(rxContent["mychar"]);
-
- StringAssert.IsMatch("System.Int16", rxContent["myInt16"].GetType().ToString());
- Int16 rxInt16 = (Int16)rxContent["myInt16"];
-
- StringAssert.IsMatch("System.Int32", rxContent["myInt32"].GetType().ToString());
- Int32 rxInt32 = (Int32)rxContent["myInt32"];
-
- StringAssert.IsMatch("System.Int64", rxContent["myInt64"].GetType().ToString());
- Int64 rxInt64 = (Int64)rxContent["myInt64"];
-
- StringAssert.IsMatch("System.Single", rxContent["mySingle"].GetType().ToString());
- Single rxSingle = (Single)rxContent["mySingle"];
-
- StringAssert.IsMatch("System.Double", rxContent["myDouble"].GetType().ToString());
- Double rxDouble = (Double)rxContent["myDouble"];
-
- StringAssert.IsMatch("System.Guid", rxContent["myGuid"].GetType().ToString());
- Guid rxGuid = (Guid)rxContent["myGuid"];
-
- // Verify the values
-
- StringAssert.IsMatch("Smith", rxSubMap["name"].ToString());
- Assert.AreEqual(4, rxColors.Count);
- Assert.IsTrue(rxbool);
- Assert.AreEqual(4, rxbyte);
- Assert.AreEqual(5, rxUInt16);
- Assert.AreEqual(6, rxUInt32);
- Assert.AreEqual(7, rxUInt64);
- Assert.AreEqual((char)'h', rxchar);
- Assert.AreEqual(9, rxInt16);
- Assert.AreEqual(10, rxInt32);
- Assert.AreEqual(11, rxInt64);
- Assert.AreEqual((Single)12.12, rxSingle);
- Assert.AreEqual((Double)13.13, rxDouble);
- StringAssert.IsMatch("00010203-0405-0607-0809-0a0b0c0d0e0f", rxGuid.ToString());
- }
- }
-}
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.receiver/csharp.direct.receiver.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.receiver/csharp.direct.receiver.csproj deleted file mode 100644 index 8a45098f73..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.receiver/csharp.direct.receiver.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{52F880E7-D677-4C91-8516-D679CE0F46A8}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.direct.receiver</RootNamespace>
- <AssemblyName>csharp.direct.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.direct.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.sender/csharp.direct.sender.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.sender/csharp.direct.sender.csproj deleted file mode 100644 index 5f39484ee0..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.direct.sender/csharp.direct.sender.csproj +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.direct.sender</RootNamespace>
- <AssemblyName>csharp.direct.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.direct.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.client/csharp.example.client.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.client/csharp.example.client.csproj deleted file mode 100644 index f07274c339..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.client/csharp.example.client.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{0DE01712-C2D1-4CA4-B42C-5856456A8696}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.client</RootNamespace>
- <AssemblyName>csharp.example.client</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.client.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj deleted file mode 100644 index e520a3351f..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.declare_queues/csharp.example.declare_queues.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{E31B349C-830C-4583-8BD9-30DA4398349F}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.declare_queues</RootNamespace>
- <AssemblyName>csharp.example.declare_queues</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.declare_queues.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.drain/csharp.example.drain.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.drain/csharp.example.drain.csproj deleted file mode 100644 index 8b4b89541c..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.drain/csharp.example.drain.csproj +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{C43DEB69-8088-420B-B0CA-C699535E6D08}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.drain</RootNamespace>
- <AssemblyName>csharp.example.drain</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.drain.cs" />
- <Compile Include="Options.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.helloworld/csharp.example.helloworld.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.helloworld/csharp.example.helloworld.csproj deleted file mode 100644 index 627495348b..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.helloworld/csharp.example.helloworld.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{8CC1C265-0507-44A3-9483-8FAF48513F4D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.helloworld</RootNamespace>
- <AssemblyName>csharp.example.helloworld</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.helloworld.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.server/csharp.example.server.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.server/csharp.example.server.csproj deleted file mode 100644 index 473078f7ca..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.server/csharp.example.server.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{090A081D-E8B5-4949-AA43-EE182B7101E3}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.server</RootNamespace>
- <AssemblyName>csharp.example.server</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.server.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.spout/csharp.example.spout.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.spout/csharp.example.spout.csproj deleted file mode 100644 index 26009880a4..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.example.spout/csharp.example.spout.csproj +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{EB36626D-36C2-41B3-B65E-762BAF27F137}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.example.spout</RootNamespace>
- <AssemblyName>csharp.example.spout</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.example.spout.cs" />
- <Compile Include="Options.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj deleted file mode 100644 index 02f8a63282..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.csproj +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{68A43817-2358-4A31-8FDF-FE21722BFBCF}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.callback.receiver</RootNamespace>
- <AssemblyName>csharp.map.callback.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- <Reference Include="org.apache.qpid.messaging.sessionreceiver, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.sessionreceiver.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.callback.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj deleted file mode 100644 index 56b9f285a3..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.callback.sender/csharp.map.callback.sender.csproj +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{12F1C14F-5C7D-4075-9BAE-C091394FF99A}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.callback.sender</RootNamespace>
- <AssemblyName>csharp.map.callback.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.callback.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.receiver/csharp.map.receiver.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.receiver/csharp.map.receiver.csproj deleted file mode 100644 index ac0a4e144d..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.receiver/csharp.map.receiver.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.receiver</RootNamespace>
- <AssemblyName>csharp.map.receiver</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.receiver.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.sender/csharp.map.sender.csproj b/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.sender/csharp.map.sender.csproj deleted file mode 100644 index eef669291b..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/examples/csharp.map.sender/csharp.map.sender.csproj +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{5D8252F5-E1D3-44A0-94C7-7CB75E843C10}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>csharp.map.sender</RootNamespace>
- <AssemblyName>csharp.map.sender</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x86</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <OutputPath>$(ProjectDir)..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <Optimize>true</Optimize>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>x64</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="org.apache.qpid.messaging, Version=1.0.3890.18681, Culture=neutral, PublicKeyToken=7e57166074abee8c, processorArchitecture=$(Platform)">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>$(ProjectDir)..\..\..\bin\org.apache.qpid.messaging.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="csharp.map.sender.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project>
diff --git a/cpp/bindings/qpid/dotnet/winsdk_sources/winsdk_dotnet_examples.sln b/cpp/bindings/qpid/dotnet/winsdk_sources/winsdk_dotnet_examples.sln deleted file mode 100644 index 6db55b5590..0000000000 --- a/cpp/bindings/qpid/dotnet/winsdk_sources/winsdk_dotnet_examples.sln +++ /dev/null @@ -1,178 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-
-#
-# 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
-#
-
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.direct.sender", "examples\csharp.direct.sender\csharp.direct.sender.csproj", "{7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.direct.receiver", "examples\csharp.direct.receiver\csharp.direct.receiver.csproj", "{52F880E7-D677-4C91-8516-D679CE0F46A8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.sender", "examples\csharp.map.sender\csharp.map.sender.csproj", "{5D8252F5-E1D3-44A0-94C7-7CB75E843C10}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.receiver", "examples\csharp.map.receiver\csharp.map.receiver.csproj", "{AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.callback.receiver", "examples\csharp.map.callback.receiver\csharp.map.callback.receiver.csproj", "{68A43817-2358-4A31-8FDF-FE21722BFBCF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.map.callback.sender", "examples\csharp.map.callback.sender\csharp.map.callback.sender.csproj", "{12F1C14F-5C7D-4075-9BAE-C091394FF99A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.client", "examples\csharp.example.client\csharp.example.client.csproj", "{0DE01712-C2D1-4CA4-B42C-5856456A8696}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.server", "examples\csharp.example.server\csharp.example.server.csproj", "{090A081D-E8B5-4949-AA43-EE182B7101E3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.drain", "examples\csharp.example.drain\csharp.example.drain.csproj", "{C43DEB69-8088-420B-B0CA-C699535E6D08}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.spout", "examples\csharp.example.spout\csharp.example.spout.csproj", "{EB36626D-36C2-41B3-B65E-762BAF27F137}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.declare_queues", "examples\csharp.example.declare_queues\csharp.example.declare_queues.csproj", "{E31B349C-830C-4583-8BD9-30DA4398349F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp.example.helloworld", "examples\csharp.example.helloworld\csharp.example.helloworld.csproj", "{8CC1C265-0507-44A3-9483-8FAF48513F4D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|Win32.ActiveCfg = Debug|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x64.ActiveCfg = Debug|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x64.Build.0 = Debug|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x86.ActiveCfg = Debug|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Debug|x86.Build.0 = Debug|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|Win32.ActiveCfg = Release|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x64.ActiveCfg = Release|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x64.Build.0 = Release|x64
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x86.ActiveCfg = Release|x86
- {7B71CE78-8E78-4632-ADBE-F4D5DFAE0068}.Release|x86.Build.0 = Release|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x64.ActiveCfg = Debug|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x64.Build.0 = Debug|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x86.ActiveCfg = Debug|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Debug|x86.Build.0 = Debug|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x64.ActiveCfg = Release|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x64.Build.0 = Release|x64
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x86.ActiveCfg = Release|x86
- {52F880E7-D677-4C91-8516-D679CE0F46A8}.Release|x86.Build.0 = Release|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x64.ActiveCfg = Debug|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x64.Build.0 = Debug|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x86.ActiveCfg = Debug|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Debug|x86.Build.0 = Debug|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x64.ActiveCfg = Release|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x64.Build.0 = Release|x64
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x86.ActiveCfg = Release|x86
- {5D8252F5-E1D3-44A0-94C7-7CB75E843C10}.Release|x86.Build.0 = Release|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x64.ActiveCfg = Debug|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x64.Build.0 = Debug|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x86.ActiveCfg = Debug|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Debug|x86.Build.0 = Debug|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x64.ActiveCfg = Release|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x64.Build.0 = Release|x64
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x86.ActiveCfg = Release|x86
- {AD9E53D7-DB10-4DA2-84D2-A81BE09B04E9}.Release|x86.Build.0 = Release|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x64.ActiveCfg = Debug|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x64.Build.0 = Debug|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x86.ActiveCfg = Debug|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Debug|x86.Build.0 = Debug|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x64.ActiveCfg = Release|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x64.Build.0 = Release|x64
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x86.ActiveCfg = Release|x86
- {68A43817-2358-4A31-8FDF-FE21722BFBCF}.Release|x86.Build.0 = Release|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x64.ActiveCfg = Debug|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x64.Build.0 = Debug|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x86.ActiveCfg = Debug|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Debug|x86.Build.0 = Debug|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x64.ActiveCfg = Release|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x64.Build.0 = Release|x64
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x86.ActiveCfg = Release|x86
- {12F1C14F-5C7D-4075-9BAE-C091394FF99A}.Release|x86.Build.0 = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|Win32.ActiveCfg = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x64.ActiveCfg = Debug|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x64.Build.0 = Debug|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x86.ActiveCfg = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Debug|x86.Build.0 = Debug|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|Win32.ActiveCfg = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x64.ActiveCfg = Release|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x64.Build.0 = Release|x64
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x86.ActiveCfg = Release|x86
- {0DE01712-C2D1-4CA4-B42C-5856456A8696}.Release|x86.Build.0 = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|Win32.ActiveCfg = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x64.ActiveCfg = Debug|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x64.Build.0 = Debug|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x86.ActiveCfg = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Debug|x86.Build.0 = Debug|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|Win32.ActiveCfg = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x64.ActiveCfg = Release|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x64.Build.0 = Release|x64
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x86.ActiveCfg = Release|x86
- {090A081D-E8B5-4949-AA43-EE182B7101E3}.Release|x86.Build.0 = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|Win32.ActiveCfg = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x64.ActiveCfg = Debug|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x64.Build.0 = Debug|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x86.ActiveCfg = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Debug|x86.Build.0 = Debug|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|Win32.ActiveCfg = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x64.ActiveCfg = Release|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x64.Build.0 = Release|x64
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x86.ActiveCfg = Release|x86
- {C43DEB69-8088-420B-B0CA-C699535E6D08}.Release|x86.Build.0 = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|Win32.ActiveCfg = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x64.ActiveCfg = Debug|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x64.Build.0 = Debug|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x86.ActiveCfg = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Debug|x86.Build.0 = Debug|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|Win32.ActiveCfg = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x64.ActiveCfg = Release|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x64.Build.0 = Release|x64
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x86.ActiveCfg = Release|x86
- {EB36626D-36C2-41B3-B65E-762BAF27F137}.Release|x86.Build.0 = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|Win32.ActiveCfg = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x64.ActiveCfg = Debug|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x64.Build.0 = Debug|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x86.ActiveCfg = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Debug|x86.Build.0 = Debug|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|Win32.ActiveCfg = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x64.ActiveCfg = Release|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x64.Build.0 = Release|x64
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x86.ActiveCfg = Release|x86
- {E31B349C-830C-4583-8BD9-30DA4398349F}.Release|x86.Build.0 = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|Win32.ActiveCfg = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x64.ActiveCfg = Debug|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x64.Build.0 = Debug|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x86.ActiveCfg = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Debug|x86.Build.0 = Debug|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|Win32.ActiveCfg = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x64.ActiveCfg = Release|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x64.Build.0 = Release|x64
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x86.ActiveCfg = Release|x86
- {8CC1C265-0507-44A3-9483-8FAF48513F4D}.Release|x86.Build.0 = Release|x86
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Debug|Win32.ActiveCfg = Debug|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Debug|Win32.Build.0 = Debug|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Debug|x64.ActiveCfg = Debug|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Debug|x86.ActiveCfg = Debug|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Release|Win32.ActiveCfg = Release|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Release|Win32.Build.0 = Release|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Release|x64.ActiveCfg = Release|Win32
- {7A13FEB0-3D89-4CCF-AA87-416A3D06303F}.Release|x86.ActiveCfg = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/cpp/bindings/qpid/examples/perl/README b/cpp/bindings/qpid/examples/perl/README deleted file mode 100644 index 1e113f1fa0..0000000000 --- a/cpp/bindings/qpid/examples/perl/README +++ /dev/null @@ -1,26 +0,0 @@ -# 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. - - -The examples in this directory are written against the raw Perl -binding ("cqpid"). This binding is identical to the C++ messaging (in -namespace qpid::messaging). - -It is desired that a layer will be written over this interface (called -"qpid") that provides a more Perl-specific API. When this occurs, -these examples will be changed to use the new Perl API. - diff --git a/cpp/bindings/qpid/examples/perl/client.pl b/cpp/bindings/qpid/examples/perl/client.pl deleted file mode 100644 index 19d9d3f14f..0000000000 --- a/cpp/bindings/qpid/examples/perl/client.pl +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; - -use cqpid_perl; - -my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; - - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { -$connection->open(); -my $session = $connection->createSession(); - -my $sender = $session->createSender("service_queue"); - -#create temp queue & receiver... -my $responseQueue = new cqpid_perl::Address("#response-queue; {create:always, delete:always}"); -my $receiver = $session->createReceiver($responseQueue); - -#Now send some messages... - -my @s = ( - "Twas brillig, and the slithy toves", - "Did gire and gymble in the wabe.", - "All mimsy were the borogroves,", - "And the mome raths outgrabe." - ); - -my $request = new cqpid_perl::Message(); -$request->setReplyTo($responseQueue); -for (my $i=0; $i<4; $i++) { - $request->setContent($s[$i]); - $sender->send($request); - my $response = $receiver->fetch(); - print $request->getContent() . " -> " . $response->getContent() . "\n"; -} - -$connection->close(); -}; - -if ($@) { - die $@; -} - - diff --git a/cpp/bindings/qpid/examples/perl/drain.pl b/cpp/bindings/qpid/examples/perl/drain.pl deleted file mode 100644 index 60ac0c50ed..0000000000 --- a/cpp/bindings/qpid/examples/perl/drain.pl +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; - -use cqpid_perl; -use Getopt::Long; - -my $url = "127.0.0.1"; -my $timeout = 60; -my $forever = 0; -my $count = 1; -my $connectionOptions = ""; -my $address = "amq.direct"; - -my $result = GetOptions( - "broker|b=s" => \ $url, - "timeout|t=i" => \ $timeout, - "forever|f" => \ $forever, - "connection-options=s" => \ $connectionOptions, - "count|c=i" => \ $count, -); - -if (! $result) { - print "Usage: perl drain.pl [OPTIONS]\n"; -} - -if ($#ARGV ge 0) { - $address = $ARGV[0] -} - -sub getTimeout { - return ($forever) ? $cqpid_perl::Duration::FOREVER : new cqpid_perl::Duration($timeout*1000); -} - - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - my $receiver = $session->createReceiver($address); - my $timeout = getTimeout(); - - my $message = new cqpid_perl::Message(); - my $i = 0; - - while($receiver->fetch($message, $timeout)) { - print "Message(properties=" . $message->getProperties() . ",content='"; - if ($message->getContentType() eq "amqp/map") { - my $content = cqpid_perl::decodeMap($message); - map{ print "\n$_ => $content->{$_}"; } keys %{$content}; - } - else { - print $message->getContent(); - } - print "')\n"; - - my $replyto = $message->getReplyTo(); - if ($replyto->getName()) { - print "Replying to " . $message->getReplyTo()->str() . "...\n"; - my $sender = $session->createSender($replyto); - my $response = new cqpid_perl::Message("received by the server."); - $sender->send($response); - } - $session->acknowledge(); - - if ($count and (++$i ==$count)) { - last; - } - } - $receiver->close(); - $session->close(); - $connection->close(); -}; - -if ($@) { - $connection->close(); - die $@; -} - diff --git a/cpp/bindings/qpid/examples/perl/hello_world.pl b/cpp/bindings/qpid/examples/perl/hello_world.pl deleted file mode 100644 index a96b98a002..0000000000 --- a/cpp/bindings/qpid/examples/perl/hello_world.pl +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; -use Data::Dumper; - -use cqpid_perl; - -my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672"; -my $address = ( @ARGV > 1 ) ? $ARGV[0] : "amq.topic"; -my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : ""; - -my $connection = new cqpid_perl::Connection($broker, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - - my $receiver = $session->createReceiver($address); - my $sender = $session->createSender($address); - - $sender->send(new cqpid_perl::Message("Hello world!")); - - #my $duration = new cqpid_perl::Duration(1000); - #print ">>>" . $duration->getMilliseconds() . "\n"; - - my $message = $receiver->fetch($cqpid_perl::Duration::SECOND); - - #$message->setDurable(1); - #print "Durable: " . $message->getDurable() . "\n"; - #print Dumper($message->getProperties()); - - print $message->getContent() . "\n"; - $session->acknowledge(); - - $connection->close(); -}; - -die $@ if ($@); diff --git a/cpp/bindings/qpid/examples/perl/hello_xml.pl b/cpp/bindings/qpid/examples/perl/hello_xml.pl deleted file mode 100644 index cebf2ceee6..0000000000 --- a/cpp/bindings/qpid/examples/perl/hello_xml.pl +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; - -use cqpid_perl; - -my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672"; -my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; - -my $query = <<END; - let \$w := ./weather - return \$w/station = 'Raleigh-Durham International Airport (KRDU)' - and \$w/temperature_f > 50 - and \$w/temperature_f - \$w/dewpoint > 5 - and \$w/wind_speed_mph > 7 - and \$w/wind_speed_mph < 20 -END - -my $address = <<END; -xml-exchange; { -create: always, -node: { type: topic, x-declare: { type: xml } }, -link: { -x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $query" } }] -}} -END - - -my $connection = new cqpid_perl::Connection($broker, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - - my $receiver = $session->createReceiver($address); - - my $message = new cqpid_perl::Message(); - - my $content = <<END; - <weather> - <station>Raleigh-Durham International Airport (KRDU)</station> - <wind_speed_mph>16</wind_speed_mph> - <temperature_f>70</temperature_f> - <dewpoint>35</dewpoint> - </weather> -END - - $message->setContent($content); - my $sender = $session->createSender('xml-exchange/weather'); - $sender->send($message); - - my $response = $receiver->fetch(); - print $response->getContent() . "\n"; - - $connection->close(); -}; - -die $@ if ($@); diff --git a/cpp/bindings/qpid/examples/perl/map_receiver.pl b/cpp/bindings/qpid/examples/perl/map_receiver.pl deleted file mode 100644 index 2e2611e38f..0000000000 --- a/cpp/bindings/qpid/examples/perl/map_receiver.pl +++ /dev/null @@ -1,47 +0,0 @@ -#! /usr/bin/perl5 -# -# 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. -# -use strict; -use warnings; -use Data::Dumper; - -use cqpid_perl; - -my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $address = ( @ARGV > 1 ) ? $ARGV[0] : "message_queue; {create: always}"; -my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : ""; - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - my $receiver = $session->createReceiver($address); - - my $content = cqpid_perl::decodeMap($receiver->fetch()); - #my $content = cqpid_perl::decodeList($receiver->fetch()); - - print Dumper($content); - - $session->acknowledge(); - $receiver->close(); - $connection->close(); -}; - -die $@ if ($@); diff --git a/cpp/bindings/qpid/examples/perl/map_sender.pl b/cpp/bindings/qpid/examples/perl/map_sender.pl deleted file mode 100644 index 4107cd48b9..0000000000 --- a/cpp/bindings/qpid/examples/perl/map_sender.pl +++ /dev/null @@ -1,50 +0,0 @@ -#! /usr/bin/perl5 -# -# 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. -# -use strict; -use warnings; -use Data::Dumper; - -use cqpid_perl; - -my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $address = ( @ARGV > 1 ) ? $ARGV[1] : "message_queue; {create: always}"; -my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[2] : ""; - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { - $connection->open(); - - my $session = $connection->createSession(); - my $sender = $session->createSender($address); - - my $message = new cqpid_perl::Message(); - my $content = { id => 987654321, - name => "Widget", - percent => sprintf("%.2f", 0.99), - colours => [ qw (red green white) ], - }; - cqpid_perl::encode($content, $message); - $sender->send($message, 1); - - $connection->close(); -}; - -die $@ if ($@); diff --git a/cpp/bindings/qpid/examples/perl/server.pl b/cpp/bindings/qpid/examples/perl/server.pl deleted file mode 100644 index b14da565b9..0000000000 --- a/cpp/bindings/qpid/examples/perl/server.pl +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; - -use cqpid_perl; - -my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; - - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - - my $receiver = $session->createReceiver("service_queue; {create: always}"); - - while (1) { - my $request = $receiver->fetch(); - my $address = $request->getReplyTo(); - if ($address) { - my $sender = $session->createSender($address); - my $s = $request->getContent(); - $s = uc($s); - my $response = new cqpid_perl::Message($s); - $sender->send($response); - print "Processed request: " . $request->getContent() . " -> " . $response->getContent() . "\n"; - $session->acknowledge(); - } - else { - print "Error: no reply address specified for request: " . $request->getContent() . "\n"; - $session->reject($request); - } - } - -$connection->close(); -}; - -if ($@) { - die $@; -} - - diff --git a/cpp/bindings/qpid/examples/perl/spout.pl b/cpp/bindings/qpid/examples/perl/spout.pl deleted file mode 100644 index 7365e732bf..0000000000 --- a/cpp/bindings/qpid/examples/perl/spout.pl +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/perl -# -# 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. -# -use strict; -use warnings; - -use cqpid_perl; -use Getopt::Long; -use Time::Local; - -my $url = "127.0.0.1"; -my $timeout = 0; -my $count = 1; -my $id = ""; -my $replyto = ""; -my @properties; -my @entries; -my $content = ""; -my $connectionOptions = ""; -my $address = "amq.direct"; - -my $result = GetOptions( - "broker|b=s" => \ $url, - "timeout|t=i" => \ $timeout, - "count|c=i" => \ $count, - "id|i=s" => \ $id, - "replyto=s" => \ $replyto, - "property|p=s@" => \ @properties, - "map|m=s@" => \ @entries, - "content=s" => \ $content, - "connection-options=s" => \ $connectionOptions, -); - - -if (! $result) { - print "Usage: perl drain.pl [OPTIONS]\n"; -} - - -if ($#ARGV ge 0) { - $address = $ARGV[0] -} - - -sub setEntries { - my ($content) = @_; - - foreach (@entries) { - my ($name, $value) = split("=", $_); - $content->{$name} = $value; - } -} - - -sub setProperties { - my ($message) = @_; - - foreach (@properties) { - my ($name, $value) = split("=", $_); - $message->getProperties()->{$name} = $value; - } -} - -my $connection = new cqpid_perl::Connection($url, $connectionOptions); - -eval { - $connection->open(); - my $session = $connection->createSession(); - my $sender = $session->createSender($address); - - my $message = new cqpid_perl::Message(); - setProperties($message) if (@properties); - if (@entries) { - my $content = {}; - setEntries($content); - cqpid_perl::encode($content, $message); - } - elsif ($content) { - $message->setContent($content); - $message->setContentType("text/plain"); - } - - my $receiver; - if ($replyto) { - my $responseQueue = new cqpid_perl::Address($replyto); - $receiver = $session->createReceiver($responseQueue); - $message->setReplyTo($responseQueue); - } - - my $start = localtime; - my @s = split(/[:\s]/, $start); - my $s = "$s[3]$s[4]$s[5]"; - my $n = $s; - - for (my $i = 0; - ($i < $count || $count == 0) and - ($timeout == 0 || abs($n - $s) < $timeout); - $i++) { - - $sender->send($message); - - if ($receiver) { - my $response = $receiver->fetch(); - print "$i -> " . $response->getContent() . "\n"; - } - - my $now = localtime; - my @n = split(/[:\s]/, $now); - my $n = "$n[3]$n[4]$n[5]"; - } - $session->sync(); - $connection->close(); -}; - -if ($@) { - $connection->close(); - die $@; -} - - diff --git a/cpp/bindings/qpid/perl/CMakeLists.txt b/cpp/bindings/qpid/perl/CMakeLists.txt deleted file mode 100644 index 6edaf284b1..0000000000 --- a/cpp/bindings/qpid/perl/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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. -# - -##------------------------------------------------------ -## Use Swig to generate a literal binding to the C++ API -##------------------------------------------------------ -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/perl.i PROPERTIES CPLUSPLUS ON) -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/perl.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include") - -swig_add_module(cqpid_perl perl ${CMAKE_CURRENT_SOURCE_DIR}/perl.i) -swig_link_libraries(cqpid_perl qpidmessaging qpidtypes qmf2 ${PERL_LIBRARY}) - -set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${PERL_INCLUDE_PATH} -I${qpid-cpp_SOURCE_DIR}/include") - -##---------------------------------- -## Install the complete Perl binding -##---------------------------------- -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid_perl.so - ${CMAKE_CURRENT_BINARY_DIR}/cqpid_perl.pm - DESTINATION ${PERL_VENDORARCH} - COMPONENT ${QPID_COMPONENT_CLIENT} - ) diff --git a/cpp/bindings/qpid/perl/Makefile.am b/cpp/bindings/qpid/perl/Makefile.am deleted file mode 100644 index da082896e8..0000000000 --- a/cpp/bindings/qpid/perl/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -# -# 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. -# - -if HAVE_PERL_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src -I$(PERL_INC) - -EXTRA_DIST = CMakeLists.txt perl.i -BUILT_SOURCES = cqpid_perl.cpp -SWIG_FLAGS = -w362,401 - -cqpid_perl.cpp: $(srcdir)/perl.i $(srcdir)/../qpid.i $(srcdir)/../../swig_perl_typemaps.i - $(SWIG) -perl -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqpid_perl.cpp $(srcdir)/perl.i - -lib_LTLIBRARIES = libcqpid_perl.la -cqpid_perl_PERL = cqpid_perl.pm - -libcqpid_perl_la_LDFLAGS = -avoid-version -shared -libcqpid_perl_la_LIBADD = -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes \ - $(top_builddir)/src/libqpidmessaging.la $(top_builddir)/src/libqpidtypes.la -libcqpid_perl_la_CXXFLAGS = $(INCLUDES) -fno-strict-aliasing -nodist_libcqpid_perl_la_SOURCES = cqpid_perl.cpp - -CLEANFILES = cqpid_perl.cpp cqpid_perl.pm - -endif # HAVE_PERL_DEVEL diff --git a/cpp/bindings/qpid/perl/perl.i b/cpp/bindings/qpid/perl/perl.i deleted file mode 100644 index 38ac91761f..0000000000 --- a/cpp/bindings/qpid/perl/perl.i +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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. - */ - -%module cqpid_perl -%include "std_string.i" -%include "../../swig_perl_typemaps.i" - -/* Define the general-purpose exception handling */ -%exception { - try { - $action - } - catch (qpid::messaging::MessagingException& mex) { - Perl_croak(aTHX_ mex.what()); - } -} - -%include "../qpid.i" - diff --git a/cpp/bindings/qpid/python/CMakeLists.txt b/cpp/bindings/qpid/python/CMakeLists.txt deleted file mode 100644 index 5e4649cd7c..0000000000 --- a/cpp/bindings/qpid/python/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -# -# 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. -# - -##------------------------------------------------------ -## Use Swig to generate a literal binding to the C++ API -##------------------------------------------------------ -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES CPLUSPLUS ON) -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include") - -swig_add_module(cqpid python ${CMAKE_CURRENT_SOURCE_DIR}/python.i) -swig_link_libraries(cqpid qpidmessaging qpidtypes qmf2 ${PYTHON_LIBRARIES}) - -set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${PYTHON_INCLUDE_PATH} -I${qpid-cpp_SOURCE_DIR}/include") - -##------------------------------------ -## Install the complete Python binding -##------------------------------------ -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cqpid.py - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cqpid.py - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cqpid.py - ${CMAKE_CURRENT_BINARY_DIR}/cqpid.pyc - ${CMAKE_CURRENT_BINARY_DIR}/cqpid.pyo - ${CMAKE_CURRENT_BINARY_DIR}/_cqpid.so - DESTINATION ${PYTHON_SITE_PACKAGES} - COMPONENT ${QPID_COMPONENT_CLIENT} - ) diff --git a/cpp/bindings/qpid/python/Makefile.am b/cpp/bindings/qpid/python/Makefile.am deleted file mode 100644 index 9aef179db7..0000000000 --- a/cpp/bindings/qpid/python/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -# -# 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. -# - -if HAVE_PYTHON_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src/qmf -I$(top_srcdir)/src -I$(top_builddir)/src - -generated_file_list = \ - cqpid.cpp \ - cqpid.py - -EXTRA_DIST = CMakeLists.txt python.i -BUILT_SOURCES = $(generated_file_list) -SWIG_FLAGS = -w362,401 - -$(generated_file_list): $(srcdir)/python.i $(srcdir)/../qpid.i $(srcdir)/../../swig_python_typemaps.i - swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o cqpid.cpp $(srcdir)/python.i - -pylibdir = $(PYTHON_LIB) - -lib_LTLIBRARIES = _cqpid.la -cqpiddir = $(pythondir) -cqpid_PYTHON = cqpid.py - -_cqpid_la_LDFLAGS = -avoid-version -module -shared -_cqpid_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes $(top_builddir)/src/libqpidmessaging.la $(top_builddir)/src/libqpidtypes.la -_cqpid_la_CXXFLAGS = $(INCLUDES) -I$(PYTHON_INC) -fno-strict-aliasing -nodist__cqpid_la_SOURCES = cqpid.cpp - -CLEANFILES = $(generated_file_list) - -endif # HAVE_PYTHON_DEVEL - diff --git a/cpp/bindings/qpid/python/python.i b/cpp/bindings/qpid/python/python.i deleted file mode 100644 index bf61cb10b7..0000000000 --- a/cpp/bindings/qpid/python/python.i +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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. - */ - -%module cqpid -%include "std_string.i" -%include "../../swig_python_typemaps.i" - -/* Define the general-purpose exception handling */ -%exception { - std::string error; - Py_BEGIN_ALLOW_THREADS; - try { - $action - } catch (qpid::types::Exception& ex) { - error = ex.what(); - } - Py_END_ALLOW_THREADS; - if (!error.empty()) { - PyErr_SetString(PyExc_RuntimeError, error.c_str()); - return NULL; - } -} - -%include "../qpid.i" - diff --git a/cpp/bindings/qpid/qpid.i b/cpp/bindings/qpid/qpid.i deleted file mode 100644 index 352bafa3c8..0000000000 --- a/cpp/bindings/qpid/qpid.i +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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. - */ - -%{ - -#include <qpid/messaging/exceptions.h> -#include <qpid/messaging/Address.h> -#include <qpid/messaging/Connection.h> -#include <qpid/messaging/Session.h> -#include <qpid/messaging/Receiver.h> -#include <qpid/messaging/Sender.h> -#include <qpid/messaging/Message.h> -#include <qpid/messaging/Duration.h> -#include <qpid/messaging/FailoverUpdates.h> - -// -// Wrapper functions for map-decode and list-decode. This allows us to avoid -// the complexity of output parameter mapping. -// -qpid::types::Variant::Map& decodeMap(const qpid::messaging::Message& msg) { - static qpid::types::Variant::Map map; - map.clear(); - qpid::messaging::decode(msg, map); - return map; -} - -qpid::types::Variant::List& decodeList(const qpid::messaging::Message& msg) { - static qpid::types::Variant::List list; - list.clear(); - qpid::messaging::decode(msg, list); - return list; -} - -%} - -%include <qpid/ImportExport.h> -%include <qpid/messaging/ImportExport.h> -%include <qpid/messaging/Address.h> -%include <qpid/messaging/Duration.h> -%include <qpid/messaging/Message.h> -%include <qpid/messaging/Receiver.h> -%include <qpid/messaging/Sender.h> -%include <qpid/messaging/Session.h> -%include <qpid/messaging/Connection.h> -%include <qpid/messaging/FailoverUpdates.h> - -qpid::types::Variant::Map& decodeMap(const qpid::messaging::Message&); -qpid::types::Variant::List& decodeList(const qpid::messaging::Message&); - - -%{ - -%}; - diff --git a/cpp/bindings/qpid/ruby/CMakeLists.txt b/cpp/bindings/qpid/ruby/CMakeLists.txt deleted file mode 100644 index 96c00154ba..0000000000 --- a/cpp/bindings/qpid/ruby/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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. -# - -##------------------------------------------------------ -## Use Swig to generate a literal binding to the C++ API -##------------------------------------------------------ -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON) -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include") - -swig_add_module(cqpid ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i) -swig_link_libraries(cqpid qpidmessaging qpidtypes qmf2 ${RUBY_LIBRARY}) - -set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${RUBY_INCLUDE_DIR} -I${qpid-cpp_SOURCE_DIR}/include") - -##---------------------------------- -## Install the complete Ruby binding -##---------------------------------- -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqpid.so - RENAME cqpid.so - DESTINATION ${RUBY_SITEARCH_DIR} - COMPONENT ${QPID_COMPONENT_CLIENT} - ) diff --git a/cpp/bindings/qpid/ruby/Makefile.am b/cpp/bindings/qpid/ruby/Makefile.am deleted file mode 100644 index d92eb969de..0000000000 --- a/cpp/bindings/qpid/ruby/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -# -# 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. -# - -if HAVE_RUBY_DEVEL - -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src - -EXTRA_DIST = CMakeLists.txt ruby.i -BUILT_SOURCES = cqpid.cpp -SWIG_FLAGS = -w362,401 - -rubylibdir = $(RUBY_LIB) - -cqpid.cpp: $(srcdir)/ruby.i $(srcdir)/../qpid.i $(srcdir)/../../swig_ruby_typemaps.i - $(SWIG) -ruby -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqpid.cpp $(srcdir)/ruby.i - -rubylibarchdir = $(RUBY_LIB_ARCH) -rubylibarch_LTLIBRARIES = cqpid.la - -cqpid_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)" -cqpid_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes \ - $(top_builddir)/src/libqpidmessaging.la $(top_builddir)/src/libqpidtypes.la -cqpid_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing -nodist_cqpid_la_SOURCES = cqpid.cpp - -CLEANFILES = cqpid.cpp - -endif # HAVE_RUBY_DEVEL diff --git a/cpp/bindings/qpid/ruby/ruby.i b/cpp/bindings/qpid/ruby/ruby.i deleted file mode 100644 index 76463f7ddd..0000000000 --- a/cpp/bindings/qpid/ruby/ruby.i +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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. - */ - -%module cqpid -%include "std_string.i" -%include "../../swig_ruby_typemaps.i" - -/* Define the general-purpose exception handling */ -%exception { - try { - $action - } - catch (qpid::messaging::MessagingException& mex) { - static VALUE merror = rb_define_class("MessagingError", rb_eStandardError); - rb_raise(merror, mex.what()); - } -} - -%include "../qpid.i" - diff --git a/cpp/bindings/swig_perl_typemaps.i b/cpp/bindings/swig_perl_typemaps.i deleted file mode 100644 index 831576a7d4..0000000000 --- a/cpp/bindings/swig_perl_typemaps.i +++ /dev/null @@ -1,330 +0,0 @@ -/* - * 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. - */ - -%wrapper %{ - -#include <stdarg.h> - - SV* MapToPerl(const qpid::types::Variant::Map*); - SV* ListToPerl(const qpid::types::Variant::List*); - void PerlToMap(SV*, qpid::types::Variant::Map*); - void PerlToList(SV*, qpid::types::Variant::List*); - - qpid::types::Variant PerlToVariant(SV* value) { - if (SvROK(value)) { - if (SvTYPE(SvRV(value)) == SVt_PVHV) { - qpid::types::Variant::Map map; - PerlToMap(value, &map); - return qpid::types::Variant(map); - } - else if (SvTYPE(SvRV(value)) == SVt_PVAV) { - qpid::types::Variant::List list; - PerlToList(value, &list); - return qpid::types::Variant(list); - } - } - else { - if (SvIOK(value)) { - return qpid::types::Variant((int64_t) SvIV(value)); - } - else if (SvNOK(value)) { - return qpid::types::Variant((float)SvNV(value)); - } - else if (SvPOK(value)) { - return qpid::types::Variant(std::string(SvPV_nolen(value))); - } - } - return qpid::types::Variant(); - } - - SV* VariantToPerl(const qpid::types::Variant* v) { - SV* result = newSV(0); - try { - switch (v->getType()) { - case qpid::types::VAR_VOID: { - sv_setiv(result, (IV)0); - break; - } - case qpid::types::VAR_BOOL : { - result = boolSV(v->asBool()); - break; - } - case qpid::types::VAR_UINT8 : - case qpid::types::VAR_UINT16 : - case qpid::types::VAR_UINT32 : { - sv_setuv(result, (UV)v->asUint32()); - break; - } - case qpid::types::VAR_UINT64 : { - sv_setuv(result, (UV)v->asUint64()); - break; - } - case qpid::types::VAR_INT8 : - case qpid::types::VAR_INT16 : - case qpid::types::VAR_INT32 : { - sv_setiv(result, (IV)v->asInt32()); - break; - } - case qpid::types::VAR_INT64 : { - sv_setiv(result, (IV)v->asInt64()); - break; - } - case qpid::types::VAR_FLOAT : { - sv_setnv(result, (double)v->asFloat()); - break; - } - case qpid::types::VAR_DOUBLE : { - sv_setnv(result, (double)v->asDouble()); - break; - } - case qpid::types::VAR_STRING : { - const std::string val(v->asString()); - result = newSVpvn(val.c_str(), val.size()); - break; - } - case qpid::types::VAR_MAP : { - result = MapToPerl(&(v->asMap())); - break; - } - case qpid::types::VAR_LIST : { - result = ListToPerl(&(v->asList())); - break; - } - case qpid::types::VAR_UUID : { - } - } - } catch (qpid::types::Exception& ex) { - Perl_croak(aTHX_ ex.what()); - } - - return result; - } - - SV* MapToPerl(const qpid::types::Variant::Map* map) { - SV *result = newSV(0); - HV *hv = (HV *)sv_2mortal((SV *)newHV()); - qpid::types::Variant::Map::const_iterator iter; - for (iter = map->begin(); iter != map->end(); iter++) { - const std::string key(iter->first); - SV* perlval = VariantToPerl(&(iter->second)); - hv_store(hv, key.c_str(), key.size(), perlval, 0); - } - SvSetSV(result, newRV_noinc((SV *)hv)); - return result; - } - - SV* ListToPerl(const qpid::types::Variant::List* list) { - SV* result = newSV(0); - AV* av = (AV *)sv_2mortal((SV *)newAV()); - qpid::types::Variant::List::const_iterator iter; - for (iter = list->begin(); iter != list->end(); iter++) { - SV* perlval = VariantToPerl(&(*iter)); - av_push(av, perlval); - } - SvSetSV(result, newRV_noinc((SV *)av)); - return result; - } - - void PerlToMap(SV* hash, qpid::types::Variant::Map* map) { - map->clear(); - HV* hv = (HV *)SvRV(hash); - HE* he; - while((he = hv_iternext(hv)) != NULL) { - SV* svkey = HeSVKEY_force(he); - SV* svval = HeVAL(he); - (*map)[std::string(SvPV_nolen(svkey))] = PerlToVariant(svval); - } - } - - void PerlToList(SV* ary, qpid::types::Variant::List* list) { - list->clear(); - AV * av = (AV *)SvRV(ary); - I32 len = av_len(av) + 1; - if (len > 0) { - for (I32 i = 0; i < len; i++) { - list->push_back(PerlToVariant(*av_fetch(av, i, 0))); - } - } - } -%} - -%typemap (in) void * { - $1 = (void *)SvIV($input); -} - -%typemap (out) void * { - sv_setiv($result, (IV)$1); - argvi++; -} - -%typemap (in) uint16_t, uint32_t, uint64_t { - if (SvIOK($input)) { - $1 = ($1_ltype)SvUV($input); - } - else { - SWIG_exception_fail(SWIG_ValueError, "not an integer"); - } -} - -%typemap (out) uint16_t, uint32_t, uint64_t { - sv_setuv($result, (UV)$1); - argvi++; -} - -%typemap (in) int32_t, int64_t { - if (SvIOK($input)) { - $1 = ($1_ltype)SvIV($input); - } - else { - SWIG_exception_fail(SWIG_ValueError, "not an integer"); - } -} - -%typemap (out) int32_t, int64_t { - sv_setiv($result, (IV)$1); - argvi++; -} - -%typemap(in) bool { - $1 = (bool)SvTRUE($input); -} - -%typemap (out) bool { - $result = boolSV($1); - argvi++; -} - - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT64) uint64_t { - $1 = SvIOK($input) ? 1 : 0; -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT32) uint32_t { - $1 = SvIOK($input) ? 1 : 0; -} - - -/* - * Variant types: C++ --> Perl - */ -%typemap(out) qpid::types::Variant::Map { - $result = MapToPerl(&$1); - argvi++; -} - -%typemap(out) qpid::types::Variant::Map& { - $result = MapToPerl($1); - argvi++; -} - -%typemap(out) qpid::types::Variant::List { - $result = ListToPerl(&$1); - argvi++; -} - -%typemap(out) qpid::types::Variant::List& { - $result = ListToPerl($1); - argvi++; -} - -%typemap(out) qpid::types::Variant& { - $result = VariantToPerl($1); - argvi++; -} - - -/* - * Variant types: Perl --> C++ - */ -%typemap(in) qpid::types::Variant& { - $1 = new qpid::types::Variant(PerlToVariant($input)); -} - -%typemap(in) qpid::types::Variant::Map& { - $1 = new qpid::types::Variant::Map(); - PerlToMap($input, $1); - -} - -%typemap(in) qpid::types::Variant::List& { - $1 = new qpid::types::Variant::List(); - PerlToList($input, $1); - -} - -%typemap(in) const qpid::types::Variant::Map const & { - $1 = new qpid::types::Variant::Map(); - PerlToMap($input, $1); -} - -%typemap(in) const qpid::types::Variant::List const & { - $1 = new qpid::types::Variant::List(); - PerlToList($input, $1); -} - -%typemap(freearg) qpid::types::Variant& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::Map& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::List& { - delete $1; -} - - -/* - * Variant types: typecheck maps - */ -%typemap(typecheck) qpid::types::Variant::Map& { - $1 = (SvTYPE(SvRV($input)) == SVt_PVHV) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant::List& { - $1 = (SvTYPE(SvRV($input)) == SVt_PVAV) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant& { - $1 = (SvIOK($input) || - SvNOK($input) || - SvPOK($input) ) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant::Map const & { - $1 = (SvTYPE(SvRV($input)) == SVt_PVHV) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant::List const & { - $1 = (SvTYPE(SvRV($input)) == SVt_PVAV) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant const & { - $1 = (SvIOK($input) || - SvNOK($input) || - SvPOK($input) ) ? 1 : 0; -} - -/* No boolean type for perl. - Boolean is simply and integer in perl -*/ -%typecheck(SWIG_TYPECHECK_BOOL) bool { - $1 = (SvIOK($input)) ? 1 : 0; -} diff --git a/cpp/bindings/swig_python_typemaps.i b/cpp/bindings/swig_python_typemaps.i deleted file mode 100644 index b69784a6de..0000000000 --- a/cpp/bindings/swig_python_typemaps.i +++ /dev/null @@ -1,400 +0,0 @@ -/* - * 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. - */ - -%wrapper %{ - -#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) -typedef int Py_ssize_t; -#define PY_SSIZE_T_MAX INT_MAX -#define PY_SSIZE_T_MIN INT_MIN -#endif - - - PyObject* MapToPy(const qpid::types::Variant::Map*); - PyObject* ListToPy(const qpid::types::Variant::List*); - void PyToMap(PyObject*, qpid::types::Variant::Map*); - void PyToList(PyObject*, qpid::types::Variant::List*); - - qpid::types::Variant PyToVariant(PyObject* value) { - if (PyBool_Check(value)) return qpid::types::Variant(bool(PyInt_AS_LONG(value) ? true : false)); - if (PyFloat_Check(value)) return qpid::types::Variant(PyFloat_AS_DOUBLE(value)); - if (PyInt_Check(value)) return qpid::types::Variant(int64_t(PyInt_AS_LONG(value))); - if (PyLong_Check(value)) return qpid::types::Variant(int64_t(PyLong_AsLongLong(value))); - if (PyString_Check(value)) return qpid::types::Variant(std::string(PyString_AS_STRING(value))); - if (PyDict_Check(value)) { - qpid::types::Variant::Map map; - PyToMap(value, &map); - return qpid::types::Variant(map); - } - if (PyList_Check(value)) { - qpid::types::Variant::List list; - PyToList(value, &list); - return qpid::types::Variant(list); - } - return qpid::types::Variant(); - } - - PyObject* VariantToPy(const qpid::types::Variant* v) { - PyObject* result; - try { - switch (v->getType()) { - case qpid::types::VAR_VOID: { - result = Py_None; - break; - } - case qpid::types::VAR_BOOL : { - result = v->asBool() ? Py_True : Py_False; - break; - } - case qpid::types::VAR_UINT8 : - case qpid::types::VAR_UINT16 : - case qpid::types::VAR_UINT32 : { - result = PyInt_FromLong((long) v->asUint32()); - break; - } - case qpid::types::VAR_UINT64 : { - result = PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) v->asUint64()); - break; - } - case qpid::types::VAR_INT8 : - case qpid::types::VAR_INT16 : - case qpid::types::VAR_INT32 : { - result = PyInt_FromLong((long) v->asInt32()); - break; - } - case qpid::types::VAR_INT64 : { - result = PyLong_FromLongLong((PY_LONG_LONG) v->asInt64()); - break; - } - case qpid::types::VAR_FLOAT : { - result = PyFloat_FromDouble((double) v->asFloat()); - break; - } - case qpid::types::VAR_DOUBLE : { - result = PyFloat_FromDouble((double) v->asDouble()); - break; - } - case qpid::types::VAR_STRING : { - const std::string val(v->asString()); - result = PyString_FromStringAndSize(val.c_str(), val.size()); - break; - } - case qpid::types::VAR_MAP : { - result = MapToPy(&(v->asMap())); - break; - } - case qpid::types::VAR_LIST : { - result = ListToPy(&(v->asList())); - break; - } - case qpid::types::VAR_UUID : { - } - } - } catch (qpid::types::Exception& ex) { - PyErr_SetString(PyExc_RuntimeError, ex.what()); - result = 0; - } - - if (result) - Py_INCREF(result); - return result; - } - - PyObject* MapToPy(const qpid::types::Variant::Map* map) { - PyObject* result = PyDict_New(); - qpid::types::Variant::Map::const_iterator iter; - for (iter = map->begin(); iter != map->end(); iter++) { - const std::string key(iter->first); - PyObject* pyval = VariantToPy(&(iter->second)); - if (pyval == 0) - return 0; - PyDict_SetItem(result, PyString_FromStringAndSize(key.c_str(), key.size()), pyval); - } - return result; - } - - PyObject* ListToPy(const qpid::types::Variant::List* list) { - PyObject* result = PyList_New(list->size()); - qpid::types::Variant::List::const_iterator iter; - Py_ssize_t idx(0); - for (iter = list->begin(); iter != list->end(); iter++) { - PyObject* pyval = VariantToPy(&(*iter)); - if (pyval == 0) - return 0; - PyList_SetItem(result, idx, pyval); - idx++; - } - return result; - } - - void PyToMap(PyObject* obj, qpid::types::Variant::Map* map) { - map->clear(); - Py_ssize_t iter(0); - PyObject *key; - PyObject *val; - while (PyDict_Next(obj, &iter, &key, &val)) - (*map)[std::string(PyString_AS_STRING(key))] = PyToVariant(val); - } - - void PyToList(PyObject* obj, qpid::types::Variant::List* list) { - list->clear(); - Py_ssize_t count(PyList_Size(obj)); - for (Py_ssize_t idx = 0; idx < count; idx++) - list->push_back(PyToVariant(PyList_GetItem(obj, idx))); - } - -%} - - -/* unsigned32 Convert from Python --> C */ -%typemap(in) uint32_t { - if (PyInt_Check($input)) { - $1 = (uint32_t) PyInt_AsUnsignedLongMask($input); - } else if (PyLong_Check($input)) { - $1 = (uint32_t) PyLong_AsUnsignedLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* unsinged32 Convert from C --> Python */ -%typemap(out) uint32_t { - $result = PyInt_FromLong((long)$1); -} - - -/* unsigned16 Convert from Python --> C */ -%typemap(in) uint16_t { - if (PyInt_Check($input)) { - $1 = (uint16_t) PyInt_AsUnsignedLongMask($input); - } else if (PyLong_Check($input)) { - $1 = (uint16_t) PyLong_AsUnsignedLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* unsigned16 Convert from C --> Python */ -%typemap(out) uint16_t { - $result = PyInt_FromLong((long)$1); -} - - -/* signed32 Convert from Python --> C */ -%typemap(in) int32_t { - if (PyInt_Check($input)) { - $1 = (int32_t) PyInt_AsLong($input); - } else if (PyLong_Check($input)) { - $1 = (int32_t) PyLong_AsLong($input); - } else { - SWIG_exception_fail(SWIG_ValueError, "unknown integer type"); - } -} - -/* signed32 Convert from C --> Python */ -%typemap(out) int32_t { - $result = PyInt_FromLong((long)$1); -} - - -/* unsigned64 Convert from Python --> C */ -%typemap(in) uint64_t { -%#ifdef HAVE_LONG_LONG - if (PyLong_Check($input)) { - $1 = (uint64_t)PyLong_AsUnsignedLongLong($input); - } else if (PyInt_Check($input)) { - $1 = (uint64_t)PyInt_AsUnsignedLongLongMask($input); - } else -%#endif - { - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - uint64_t input too large"); - } -} - -/* unsigned64 Convert from C --> Python */ -%typemap(out) uint64_t { -%#ifdef HAVE_LONG_LONG - $result = PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)$1); -%#else - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - uint64_t output too large"); -%#endif -} - -/* signed64 Convert from Python --> C */ -%typemap(in) int64_t { -%#ifdef HAVE_LONG_LONG - if (PyLong_Check($input)) { - $1 = (int64_t)PyLong_AsLongLong($input); - } else if (PyInt_Check($input)) { - $1 = (int64_t)PyInt_AsLong($input); - } else -%#endif - { - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - int64_t input too large"); - } -} - -/* signed64 Convert from C --> Python */ -%typemap(out) int64_t { -%#ifdef HAVE_LONG_LONG - $result = PyLong_FromLongLong((PY_LONG_LONG)$1); -%#else - SWIG_exception_fail(SWIG_ValueError, "unsupported integer size - int64_t output too large"); -%#endif -} - - -/* Convert from Python --> C */ -%typemap(in) void * { - $1 = (void *)$input; -} - -/* Convert from C --> Python */ -%typemap(out) void * { - $result = (PyObject *) $1; - Py_INCREF($result); -} - -/* - * Variant types: C++ --> Python - */ -%typemap(out) qpid::types::Variant::Map { - $result = MapToPy(&$1); - if ($result) - Py_INCREF($result); -} - -%typemap(out) qpid::types::Variant::Map& { - $result = MapToPy($1); - if ($result) - Py_INCREF($result); -} - -%typemap(out) qpid::types::Variant::List { - $result = ListToPy(&$1); - if ($result) - Py_INCREF($result); -} - -%typemap(out) qpid::types::Variant::List& { - $result = ListToPy($1); - if ($result) - Py_INCREF($result); -} - -%typemap(out) qpid::types::Variant& { - $result = VariantToPy($1); - if ($result) - Py_INCREF($result); -} - - -/* - * Variant types: Ruby --> C++ - */ -%typemap(in) qpid::types::Variant& { - $1 = new qpid::types::Variant(PyToVariant($input)); -} - -%typemap(in) qpid::types::Variant::Map& { - $1 = new qpid::types::Variant::Map(); - PyToMap($input, $1); -} - -%typemap(in) qpid::types::Variant::List& { - $1 = new qpid::types::Variant::List(); - PyToList($input, $1); -} - -%typemap(in) const qpid::types::Variant::Map const & { - $1 = new qpid::types::Variant::Map(); - PyToMap($input, $1); -} - -%typemap(in) const qpid::types::Variant::List const & { - $1 = new qpid::types::Variant::List(); - PyToList($input, $1); -} - -%typemap(freearg) qpid::types::Variant& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::Map& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::List& { - delete $1; -} - - -/* - * Variant types: typecheck maps - */ -%typemap(typecheck) qpid::types::Variant::Map& { - $1 = PyDict_Check($input) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant::List& { - $1 = PyList_Check($input) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant& { - $1 = (PyFloat_Check($input) || - PyString_Check($input) || - PyInt_Check($input) || - PyLong_Check($input) || - PyDict_Check($input) || - PyList_Check($input) || - PyBool_Check($input)) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant::Map const & { - $1 = PyDict_Check($input) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant::List const & { - $1 = PyList_Check($input) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant const & { - $1 = (PyFloat_Check($input) || - PyString_Check($input) || - PyInt_Check($input) || - PyLong_Check($input) || - PyDict_Check($input) || - PyList_Check($input) || - PyBool_Check($input)) ? 1 : 0; -} - -%typemap(typecheck) bool { - $1 = PyBool_Check($input) ? 1 : 0; -} - - - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT64) uint64_t { - $1 = PyLong_Check($input) ? 1 : 0; -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_UINT32) uint32_t { - $1 = PyInt_Check($input) ? 1 : 0; -} - diff --git a/cpp/bindings/swig_ruby_typemaps.i b/cpp/bindings/swig_ruby_typemaps.i deleted file mode 100644 index 79e679663d..0000000000 --- a/cpp/bindings/swig_ruby_typemaps.i +++ /dev/null @@ -1,348 +0,0 @@ -/* - * 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. - */ - -%wrapper %{ - -#include <stdarg.h> - - VALUE MapToRb(const qpid::types::Variant::Map*); - VALUE ListToRb(const qpid::types::Variant::List*); - void RbToMap(VALUE, qpid::types::Variant::Map*); - void RbToList(VALUE, qpid::types::Variant::List*); - - qpid::types::Variant RbToVariant(VALUE value) { - switch (TYPE(value)) { - case T_FLOAT: return qpid::types::Variant(NUM2DBL(value)); - case T_STRING: return qpid::types::Variant(StringValuePtr(value)); - case T_FIXNUM: return qpid::types::Variant((int64_t) FIX2LONG(value)); - case T_BIGNUM: return qpid::types::Variant((int64_t) NUM2LL(value)); - case T_TRUE: return qpid::types::Variant(true); - case T_FALSE: return qpid::types::Variant(false); - case T_HASH: { - qpid::types::Variant::Map map; - RbToMap(value, &map); - return qpid::types::Variant(map); - } - case T_ARRAY: { - qpid::types::Variant::List list; - RbToList(value, &list); - return qpid::types::Variant(list); - } - default: return qpid::types::Variant(); - } - } - - VALUE VariantToRb(const qpid::types::Variant* v) { - VALUE result; - try { - switch (v->getType()) { - case qpid::types::VAR_VOID: { - result = Qnil; - break; - } - case qpid::types::VAR_BOOL : { - result = v->asBool() ? Qtrue : Qfalse; - break; - } - case qpid::types::VAR_UINT8 : - case qpid::types::VAR_UINT16 : - case qpid::types::VAR_UINT32 : { - result = UINT2NUM(v->asUint32()); - break; - } - case qpid::types::VAR_UINT64 : { - result = ULL2NUM(v->asUint64()); - break; - } - case qpid::types::VAR_INT8 : - case qpid::types::VAR_INT16 : - case qpid::types::VAR_INT32 : { - result = INT2NUM(v->asInt32()); - break; - } - case qpid::types::VAR_INT64 : { - result = LL2NUM(v->asInt64()); - break; - } - case qpid::types::VAR_FLOAT : { - result = rb_float_new((double) v->asFloat()); - break; - } - case qpid::types::VAR_DOUBLE : { - result = rb_float_new(v->asDouble()); - break; - } - case qpid::types::VAR_STRING : { - const std::string val(v->asString()); - result = rb_str_new(val.c_str(), val.size()); - break; - } - case qpid::types::VAR_MAP : { - result = MapToRb(&(v->asMap())); - break; - } - case qpid::types::VAR_LIST : { - result = ListToRb(&(v->asList())); - break; - } - case qpid::types::VAR_UUID : { - } - } - } catch (qpid::types::Exception& ex) { - static VALUE error = rb_define_class("Error", rb_eStandardError); - rb_raise(error, ex.what()); - } - - return result; - } - - VALUE MapToRb(const qpid::types::Variant::Map* map) { - VALUE result = rb_hash_new(); - qpid::types::Variant::Map::const_iterator iter; - for (iter = map->begin(); iter != map->end(); iter++) { - const std::string key(iter->first); - VALUE rbval = VariantToRb(&(iter->second)); - rb_hash_aset(result, rb_str_new(key.c_str(), key.size()), rbval); - } - return result; - } - - VALUE ListToRb(const qpid::types::Variant::List* list) { - VALUE result = rb_ary_new2(list->size()); - qpid::types::Variant::List::const_iterator iter; - for (iter = list->begin(); iter != list->end(); iter++) { - VALUE rbval = VariantToRb(&(*iter)); - rb_ary_push(result, rbval); - } - return result; - } - - VALUE HashIter(VALUE data_ary, VALUE context) { - VALUE key = rb_ary_entry(data_ary, 0); - VALUE val = rb_ary_entry(data_ary, 1); - qpid::types::Variant::Map* map((qpid::types::Variant::Map*) context); - (*map)[std::string(StringValuePtr(key))] = RbToVariant(val); - return data_ary; - } - - VALUE AryIter(VALUE data, VALUE context) { - qpid::types::Variant::List* list((qpid::types::Variant::List*) context); - list->push_back(RbToVariant(data)); - return data; - } - - void RbToMap(VALUE hash, qpid::types::Variant::Map* map) { - map->clear(); - rb_iterate(rb_each, hash, (VALUE(*)(ANYARGS))HashIter, (VALUE) map); - } - - void RbToList(VALUE ary, qpid::types::Variant::List* list) { - list->clear(); - rb_iterate(rb_each, ary, (VALUE(*)(ANYARGS))AryIter, (VALUE) list); - } -%} - -%typemap (in) void * -{ - $1 = (void *) $input; -} - -%typemap (out) void * -{ - $result = (VALUE) $1; -} - -%typemap (in) uint16_t -{ - $1 = NUM2UINT ($input); -} - -%typemap (out) uint16_t -{ - $result = UINT2NUM((uint16_t) $1); -} - -%typemap (in) uint32_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2UINT($input); - else - $1 = FIX2UINT($input); -} - -%typemap (out) uint32_t -{ - $result = UINT2NUM((uint32_t) $1); -} - -%typemap (in) int32_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2INT($input); - else - $1 = FIX2INT($input); -} - -%typemap (out) int32_t -{ - $result = INT2NUM((int32_t) $1); -} - -%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint32_t { - $1 = FIXNUM_P($input); -} - -%typemap (in) uint64_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2ULL($input); - else - $1 = (uint64_t) FIX2ULONG($input); -} - -%typemap (out) uint64_t -{ - $result = ULL2NUM((uint64_t) $1); -} - -%typemap (in) int64_t -{ - if (TYPE($input) == T_BIGNUM) - $1 = NUM2LL($input); - else - $1 = (int64_t) FIX2LONG($input); -} - -%typemap (out) int64_t -{ - $result = LL2NUM((int64_t) $1); -} - -/* - * Variant types: C++ --> Ruby - */ -%typemap(out) qpid::types::Variant::Map { - $result = MapToRb(&$1); -} - -%typemap(out) qpid::types::Variant::Map& { - $result = MapToRb($1); -} - -%typemap(out) qpid::types::Variant::List { - $result = ListToRb(&$1); -} - -%typemap(out) qpid::types::Variant::List& { - $result = ListToRb($1); -} - -%typemap(out) qpid::types::Variant& { - $result = VariantToRb($1); -} - - -/* - * Variant types: Ruby --> C++ - */ -%typemap(in) qpid::types::Variant& { - $1 = new qpid::types::Variant(RbToVariant($input)); -} - -%typemap(in) qpid::types::Variant::Map& { - $1 = new qpid::types::Variant::Map(); - RbToMap($input, $1); -} - -%typemap(in) qpid::types::Variant::List& { - $1 = new qpid::types::Variant::List(); - RbToList($input, $1); -} - -%typemap(in) const qpid::types::Variant::Map const & { - $1 = new qpid::types::Variant::Map(); - RbToMap($input, $1); -} - -%typemap(in) const qpid::types::Variant::List const & { - $1 = new qpid::types::Variant::List(); - RbToList($input, $1); -} - -%typemap(freearg) qpid::types::Variant& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::Map& { - delete $1; -} - -%typemap(freearg) qpid::types::Variant::List& { - delete $1; -} - - -/* - * Variant types: typecheck maps - */ -%typemap(typecheck) qpid::types::Variant::Map& { - $1 = (TYPE($input) == T_HASH) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant::List& { - $1 = (TYPE($input) == T_ARRAY) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant& { - $1 = (TYPE($input) == T_FLOAT || - TYPE($input) == T_STRING || - TYPE($input) == T_FIXNUM || - TYPE($input) == T_BIGNUM || - TYPE($input) == T_TRUE || - TYPE($input) == T_FALSE) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant::Map const & { - $1 = (TYPE($input) == T_HASH) ? 1 : 0; -} - -%typemap(typecheck) qpid::types::Variant::List const & { - $1 = (TYPE($input) == T_ARRAY) ? 1 : 0; -} - -%typemap(typecheck) const qpid::types::Variant const & { - $1 = (TYPE($input) == T_FLOAT || - TYPE($input) == T_STRING || - TYPE($input) == T_FIXNUM || - TYPE($input) == T_BIGNUM || - TYPE($input) == T_TRUE || - TYPE($input) == T_FALSE) ? 1 : 0; -} - -%typemap(typecheck) bool { - $1 = (TYPE($input) == T_TRUE || - TYPE($input) == T_FALSE) ? 1 : 0; -} - - - -%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint64_t { - $1 = FIXNUM_P($input); -} - |