From 7889847eed1e8bc003b88b0d6ad4f7904873d2ac Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 5 Jun 2013 10:44:00 -0700 Subject: gras: created duck typed API for posting msgs Uses templates and template overloads in c++ User python duck typing in the python case. Cleans up post for #84 --- include/gras/block.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'include/gras/block.hpp') diff --git a/include/gras/block.hpp b/include/gras/block.hpp index 59c30c0..378358e 100644 --- a/include/gras/block.hpp +++ b/include/gras/block.hpp @@ -222,7 +222,8 @@ struct GRAS_API Block : Element * \param which_output the index of the output port * \param msg the message object to pass downstream */ - void post_output_msg(const size_t which_output, const PMCC &msg); + template + void post_output_msg(const size_t which_output, const ValueType &value); /*! * Pop a message from the specified port. @@ -248,7 +249,8 @@ struct GRAS_API Block : Element * \param which_input an input port on this block * \param msg the message to post to the input port */ - void post_input_msg(const size_t which_input, const PMCC &tag); + template + void post_input_msg(const size_t which_input, const ValueType &value); /******************************************************************* * The property interface: @@ -543,6 +545,8 @@ struct GRAS_API Block : Element void _register_setter(const std::string &, void *); virtual void _set_property(const std::string &, const PMCC &); virtual PMCC _get_property(const std::string &); + void _post_output_msg(const size_t which_output, const PMCC &msg); + void _post_input_msg(const size_t which_input, const PMCC &msg); }; } //namespace gras -- cgit