X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Fcontainer.cpp;h=47d0e49096786ef0d37aef8ec5c537d4e2df8566;hp=bff9bb34801f8e5b840ff7a4eac8d860969dba53;hb=d2cb39bbe6f8c4577c077c43abe2b9a23bd97a31;hpb=7087e18783f91d2b889e880462d1d1da24831c28 diff --git a/src/container.cpp b/src/container.cpp index bff9bb3..47d0e49 100644 --- a/src/container.cpp +++ b/src/container.cpp @@ -17,7 +17,46 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include +#include +#include +#include + #include "container.hxx" +#include + BOOST_CLASS_EXPORT(libt2n::result_container) BOOST_CLASS_EXPORT(libt2n::command_container) + +namespace libt2n +{ + + +/// deletes the carried result or exception objects +result_container::~result_container() +{ + if (res) + delete res; + if (ex) + delete ex; +} + +/** @brief returns the result or throw the carried exception. + ATTENTION: the result object is deleted in the destructor +*/ +result* result_container::get_result(void) +{ + if (result_type==exception) + ex->do_throw(); + return res; +} + +/// deletes the carried command +command_container::~command_container() +{ + if (cmd) + delete cmd; +} + +} // namespace libt2n