From c4d27e56420693f7f3b23d6253aa8bfe932acbde Mon Sep 17 00:00:00 2001 From: pvanhorn Date: Tue, 12 Dec 2017 23:11:21 -0800 Subject: [PATCH] [ncp] allow a vendor defined subclass of ncp_uart or ncp_spi to access ncp_base members (#2412) --- src/ncp/ncp_base.hpp | 3 +-- src/ncp/ncp_spi.cpp | 4 ++++ src/ncp/ncp_uart.cpp | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ncp/ncp_base.hpp b/src/ncp/ncp_base.hpp index 528dab52b..92990ad13 100644 --- a/src/ncp/ncp_base.hpp +++ b/src/ncp/ncp_base.hpp @@ -167,7 +167,7 @@ public: */ bool ShouldDeferHostSend(void); -private: +protected: typedef otError (NcpBase::*PropertyHandler)(void); struct PropertyHandlerEntry @@ -674,7 +674,6 @@ protected: SpinelDecoder mDecoder; bool mHostPowerStateInProgress; -private: enum { kTxBufferSize = OPENTHREAD_CONFIG_NCP_TX_BUFFER_SIZE, // Tx Buffer size (used by mTxFrameBuffer). diff --git a/src/ncp/ncp_spi.cpp b/src/ncp/ncp_spi.cpp index c3e46fead..170cb9e29 100644 --- a/src/ncp/ncp_spi.cpp +++ b/src/ncp/ncp_spi.cpp @@ -53,6 +53,8 @@ namespace ot { namespace Ncp { +#if OPENTHREAD_ENABLE_SPINEL_VENDOR_SUPPORT == 0 + static otDEFINE_ALIGNED_VAR(sNcpRaw, sizeof(NcpSpi), uint64_t); extern "C" void otNcpInit(otInstance *aInstance) @@ -68,6 +70,8 @@ extern "C" void otNcpInit(otInstance *aInstance) } } +#endif // OPENTHREAD_ENABLE_SPINEL_VENDOR_SUPPORT == 0 + static void spi_header_set_flag_byte(uint8_t *header, uint8_t value) { header[0] = value; diff --git a/src/ncp/ncp_uart.cpp b/src/ncp/ncp_uart.cpp index cc78797a5..f476a6c62 100644 --- a/src/ncp/ncp_uart.cpp +++ b/src/ncp/ncp_uart.cpp @@ -51,6 +51,8 @@ namespace ot { namespace Ncp { +#if OPENTHREAD_ENABLE_SPINEL_VENDOR_SUPPORT == 0 + static otDEFINE_ALIGNED_VAR(sNcpRaw, sizeof(NcpUart), uint64_t); extern "C" void otNcpInit(otInstance *aInstance) @@ -66,6 +68,8 @@ extern "C" void otNcpInit(otInstance *aInstance) } } +#endif // OPENTHREAD_ENABLE_SPINEL_VENDOR_SUPPORT == 0 + NcpUart::UartTxBuffer::UartTxBuffer(void) : Hdlc::Encoder::BufferWriteIterator() {