From bb79efff2408de5f6cd66089cde8b8a82cc80cc2 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 5 Apr 2007 19:16:09 +0000 Subject: * Exteneded use of shared pointers frame bodies across all send() commands. * tests/Makefile.am: added check-unit target to run just unit tests. * Introduced make_shared_ptr convenience function for wrapping plain pointers with shared_ptr. * cpp/src/client/ClientChannel.h,cpp (sendsendAndReceive,sendAndReceiveSync): Pass shared_ptr instead of raw ptr to fix memory problems. Updated the following files to use make_shared_ptr - src/client/BasicMessageChannel.cpp - src/client/ClientConnection.cpp * src/client/MessageMessageChannel.cpp: implemented 0-9 message.get. * src/framing/Correlator.h,cpp: Allow request sender to register actions to take when the correlated response arrives. * cpp/src/tests/FramingTest.cpp: Added Correlator tests. * src/framing/ChannelAdapter.h,cpp: use Correlator to dispatch response actions. * cpp/src/shared_ptr.h (make_shared_ptr): Convenience function to make a shared pointer from a raw pointer. * cpp/src/tests/ClientChannelTest.cpp: Added message.get test. * cpp/src/tests/Makefile.am (check-unit): Added test-unit target to run unit tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@525932 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/shared_ptr.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cpp/src/shared_ptr.h') diff --git a/cpp/src/shared_ptr.h b/cpp/src/shared_ptr.h index c4d547e5bb..df08c325df 100644 --- a/cpp/src/shared_ptr.h +++ b/cpp/src/shared_ptr.h @@ -23,12 +23,20 @@ #include namespace qpid { -/// Import shared_ptr definitions into qpid namespace. + +// Import shared_ptr definitions into qpid namespace and define some +// useful shared_ptr templates for convenience. + using boost::shared_ptr; using boost::dynamic_pointer_cast; using boost::static_pointer_cast; using boost::const_pointer_cast; using boost::shared_polymorphic_downcast; + +template shared_ptr make_shared_ptr(T* ptr) { + return shared_ptr(ptr); +} + } // namespace qpid -- cgit v1.2.1