//from CChannelHandler void CClimateClientProfile::bufferReceived(const iviLink::Channel::tChannelId channel, iviLink::CBuffer const& buffer) { LOG4CPLUS_TRACE_METHOD(msLogger, __PRETTY_FUNCTION__ ); if (mChannelID != channel) { LOG4CPLUS_INFO(msLogger, "mChannelID != channel"); return; } else { LOG4CPLUS_INFO(msLogger, "mChannelID == channel"); } Json::Value value; // will contain the root value after parsing. Json::Reader reader; bool parsingSuccessful = reader.parse((char*)buffer.getBuffer(), value); if (!parsingSuccessful) { LOG4CPLUS_INFO(msLogger, "Failed to parse income message"); } else { LOG4CPLUS_INFO(msLogger, "Incoming notification"); mpAppCallbacks->incomingNotification(value); } }
void ReceiverProfile<T,I>::onBufferReceived(const iviLink::Channel::tChannelId channel, iviLink::CBuffer const& buffer) { LOG4CPLUS_TRACE_METHOD((logger<T,I>()), __PRETTY_FUNCTION__ ); if (mChannelID != channel) { LOG4CPLUS_INFO((logger<T,I>()), "mChannelID != channel"); return; } else { LOG4CPLUS_INFO((logger<T,I>()), "mChannelID == channel"); } typename I::state_t st; if( st.deserialize(std::string((char*)buffer.getBuffer()) ) ) { //LOG4CPLUS_INFO( msLogger, "seat receiver profile: recive\n" + st.DebugString() ); receive( st ); } else LOG4CPLUS_ERROR( (logger<T,I>()), "Failed to deserialize state from buffer" ); }
void CMediaControlServerProfile::onBufferReceived(const iviLink::Channel::tChannelId channel, iviLink::CBuffer const& buffer) { LOG4CPLUS_TRACE_METHOD(msLogger, __PRETTY_FUNCTION__); if (mChannelID != channel) { LOG4CPLUS_INFO(msLogger, "mChannelID != channel_id"); return; } else { LOG4CPLUS_INFO(msLogger, "mChannelID == channel_id"); } UInt8 *incomingData = buffer.getBuffer(); int read_size = buffer.getSize(); LOG4CPLUS_INFO(msLogger, "Procedure ID = " + convertIntegerToString(incomingData[0])); if(incomingData[0] == STOP) { LOG4CPLUS_INFO(msLogger, "case STOP"); mpAppCallbacks->onServerStop(); mpServControl->sendCommand(mpServControl->mStop); } else if(incomingData[0] == SERVERSTOP) { LOG4CPLUS_INFO(msLogger, "case SERVERSTOP"); serverStop(); } else if(incomingData[0] == PAUSE) { LOG4CPLUS_INFO(msLogger, "case PAUSE"); mpAppCallbacks->onServerPause(); mpServControl->sendCommand(mpServControl->mPause); } else if(incomingData[0] == RESUME) { LOG4CPLUS_INFO(msLogger, "case RESUME"); resume(); } else if(incomingData[0] == SYNC) { LOG4CPLUS_INFO(msLogger, "case SYNC"); mpAppCallbacks->onServerSync(); } else if(incomingData[0] == UNSYNC) { LOG4CPLUS_INFO(msLogger, "case UNSYNC"); mpAppCallbacks->onServerUnsync(); } else if(incomingData[0] == TOGGLE) { LOG4CPLUS_INFO(msLogger, "case TOGGLE"); mpAppCallbacks->onServerToggle(); } else if(incomingData[0] == PLAY) { LOG4CPLUS_INFO(msLogger, "case PLAY"); std::string message((char*)(incomingData + 1), read_size - 1); LOG4CPLUS_INFO(msLogger, "message = " + message); vector<string> parse_result; split(message, ";", parse_result); if (parse_result.size() == 3) { LOG4CPLUS_INFO(msLogger, parse_result[0]); LOG4CPLUS_INFO(msLogger, parse_result[1]); LOG4CPLUS_INFO(msLogger, parse_result[2]); LOG4CPLUS_INFO(msLogger, "get message:" + parse_result[0] + " ; " + parse_result[1] + " ; " + parse_result[2]); play(parse_result[0], parse_result[1], parse_result[2]); } else { LOG4CPLUS_INFO(msLogger, "cannot parse message"); } } else { LOG4CPLUS_INFO(msLogger, "unknown procedure ID"); } }