diff options
Diffstat (limited to 'Src/IP/MostMsgTx.cpp')
-rw-r--r-- | Src/IP/MostMsgTx.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/Src/IP/MostMsgTx.cpp b/Src/IP/MostMsgTx.cpp new file mode 100644 index 0000000..d3c5864 --- /dev/null +++ b/Src/IP/MostMsgTx.cpp @@ -0,0 +1,86 @@ +/* + * Video On Demand Samples + * + * Copyright (C) 2015 Microchip Technology Germany II GmbH & Co. KG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * You may also obtain this software under a propriety license from Microchip. + * Please contact Microchip for further information. + * + */ + +#include "MostMsgTx.h" + +CMostMsgTx::CMostMsgTx( CMsgAddr *Addr, uint32_t nFBlock, uint32_t nInst, uint32_t nFunc, uint8_t nOpType, + uint32_t nPayloadLen, const uint8_t *Payload, uint32_t nTimeoutMs, OnMessageSent_t MessageSent, + void *UserContext ) : CMostMsg( nFBlock, nInst, nFunc, nOpType, nPayloadLen, Payload ) +{ + if( NULL != Addr ) + { + Addr->AddReference(); + m_Addr = Addr; + } + m_nTimeoutMs = nTimeoutMs; + m_MessageSent = MessageSent; + m_UserContext = UserContext; +} + +CMostMsgTx::~CMostMsgTx() +{ + if( NULL != m_Addr ) + { + m_Addr->RemoveReference(); + m_Addr = NULL; + } +} + + + +/*----------------------------------------------------------*/ +/*! \brief calls message handler with the send result +*/ + +/*----------------------------------------------------------*/ +void CMostMsgTx::MsgSent( bool bSuccess ) +{ + if( NULL != m_MessageSent ) + m_MessageSent( bSuccess, this ); +} + + + + +/*----------------------------------------------------------*/ +/*! \brief get target address +*/ + +/*----------------------------------------------------------*/ +CMsgAddr *CMostMsgTx::GetAddr() +{ + return m_Addr; +} + + + + +/*----------------------------------------------------------*/ +/*! \brief get user context +*/ + +/*----------------------------------------------------------*/ +void *CMostMsgTx::GetUserContext() +{ + return m_UserContext; +} |