/**
 * @file
 * @ingroup <<<GROUP>>>
 * @brief   <<<BRIEF>>>
 *
 *          This code is Autogenerated from '<<<PYIFGENNAME>>>' with the MIT License.
 *          As such, please only hand-code within 'USER' tags.
 *
 * @author  <<<AUTHOR>>>
 */

#ifndef <<<CLASSNAME>>>_TRANSMITTER_HPP
#define <<<CLASSNAME>>>_TRANSMITTER_HPP

#include "allplatforms/basetypes.h"
#include "allplatforms/IConnection.h"
#include "<<<CLASSNAME>>>.h"

namespace <<<NAMESPACE>>>
{
    class <<<DLL_EXPORT>>> <<<CLASSNAME>>>Transmitter
    {
    public:
        explicit <<<CLASSNAME>>>Transmitter(XKoJen::IConnection& connection):connection(&connection){}

        /** Message Transmitters.
        */
        <<<PER_MSG_BEGIN>>>
        bool Transmit<<<MSGNAME>>>(const <<<MSGNAME>>>& data, int8 retries = 5) const;
        <<<PER_MSG_END>>>

        // Interface Test : Sends all messages, with default payloads.
        void  TestSendAll();

    protected:
        XKoJen::IConnection* connection;
    private:
        <<<CLASSNAME>>>Transmitter(){}
    };
}

#endif // #ifndef <<<CLASSNAME>>>_TRANSMITTER_HPP
