public: \
using mixin::operator(); \
using mixin::TypedConnector_ ## dir ; \
+ private: \
+ friend class detail::Typed ## dir ## Mixin<type ## dir <PacketType>, PacketType>; \
}; \
template <> \
class type ## dir <Packet> : public Generic ## type ## dir \
#else
/** \brief Connector actively reading packets
+
+ \tparam PacketType Type of packet to read. Defaults to senf::Packet
The ActiveInput connector template reads data actively from a connected module. This class
is completely implemented via it's base-class, GenericActiveInput, the only difference is
\see GenericActiveInput \n
senf::ppi::connector
*/
- template <class PacketType>
+ template <class PacketType=Packet>
class ActiveInput : public GenericActiveInput
{
public:
/** \brief Connector passively receiving packets
+ \tparam PacketType Type of packet to read. Defaults to senf::Packet
+
The PassiveInput connector template receives packets sent to it from a connected
module. This class is completely implemented via it's base-class, GenericPassiveInput, the
only difference is that read packets are returned as \a PacketType instead of generic
/** \brief Connector actively sending packets
+ \tparam PacketType Type of packet to send. Defaults to senf::Packet
+
The ActiveOutput connector template sends data actively to a connected module. This class is
completely implemented via it's base-class, GenericActiveOutput, the only difference is that
it only sends packets of type \a PacketType.
\see GenericActiveOutput \n
senf::ppi::connector
*/
- template <class PacketType>
+ template <class PacketType=Packet>
class ActiveOutput : public GenericActiveOutput
{
public:
- PacketType operator()();
- PacketType write();
+ operator()(PacketType packet); ///< Send out a packet
+ write(PacketType packet); ///< Alias for operator()
};
/** \brief Connector passively providing packets
+ \tparam PacketType Type of packet to send. Defaults to senf::Packet
+
The PassiveOutput connector template provides data passively to a connected module whenever
signaled. This class is completely implemented via it's base-class, GenericPassiveOutput, the
only difference is that it only sends packets of type \a PacketType.
\see GenericPassiveOutput \n
senf::ppi::connector
*/
- template <class PacketType>
+ template <class PacketType=Packet>
class PassiveOutput : public GenericPassiveOutput
{
public:
- PacketType operator()();
- PacketType write();
+ operator()(PacketType packet); ///< Send out a packet
+ write(PacketType packet); ///< Alias for operator()
};
#endif