cms::Message::Ptr CTOSReqEndTestFrame::getMessage() { cms::Message::Ptr pMessage(new cms::Message()); pMessage->write(m_nFrameType); pMessage->write(m_strReqInfo); return pMessage; }
cms::Message::Ptr STOCAckBeginTestFrame::getMessage() { cms::Message::Ptr pMessage(new cms::Message()); pMessage->write(m_nFrameType); pMessage->write(m_strACKInfo); return pMessage; }
boost::shared_ptr<::rapidmsg::RMessage> NewMessage(const string& session_no, int message_type) { boost::shared_ptr<::rapidmsg::RMessage> pMessage(new ::rapidmsg::RMessage); pMessage->mutable_head()->set_session_no(session_no); pMessage->mutable_head()->set_message_type(message_type); return pMessage; }
cms::Message::Ptr CTOSReqUserLogOutFrame::getMessage() { cms::Message::Ptr pMessage(new cms::Message()); pMessage->write(m_nFrameType); pMessage->write(m_nClientType); pMessage->write(m_strUserName); pMessage->write(m_strPwd); pMessage->write(m_strReqInfo); return pMessage; }
void CBrowserLauncher::LaunchBrowserWithLinkL(const TDesC& aLink) { TUint aMajor = 0, aMinor = 0; TUid aBrowserAppUid = {0x10008D39}; // Check platform version GetPlatformVersionL(aMajor, aMinor); if(aMajor < 3 || aMajor == 3 && aMinor == 0) { aBrowserAppUid = TUid::Uid(0x1020724D); } // Create custom message HBufC* aMessage = HBufC::NewLC(2 + aLink.Length()); TPtr pMessage(aMessage->Des()); pMessage.Append(_L("4 ")); pMessage.Append(aLink); // Find task TApaTaskList aTaskList(CEikonEnv::Static()->WsSession()); TApaTask aTask = aTaskList.FindApp(aBrowserAppUid); if(aTask.Exists()) { aTask.BringToForeground(); HBufC8* aMessage8 = HBufC8::NewLC(pMessage.Length()); TPtr8 pMessage8(aMessage8->Des()); pMessage8.Append(pMessage); aTask.SendMessage(TUid::Uid(0), pMessage8); CleanupStack::PopAndDestroy(); // aMessage8 } else { RApaLsSession aApaLsSession; if(aApaLsSession.Connect() == KErrNone) { TThreadId aThread; aApaLsSession.StartDocument(pMessage, aBrowserAppUid, aThread); aApaLsSession.Close(); } } CleanupStack::PopAndDestroy(); // aMessage }
void RTMFPFlow::onFragment(UInt64 _stage,PacketReader& fragment,UInt8 flags) { if(_stage<=this->_stage) { ERROR("Stage ",_stage," not sorted on flow ",id); return; } if(_stage>(this->_stage+1)) { // not following _stage! UInt32 lostCount = (UInt32)(_stage-this->_stage-1); (UInt64&)this->_stage = _stage; if(_pPacket) { delete _pPacket; _pPacket = NULL; } if(flags&MESSAGE_WITH_BEFOREPART) { _numberLostFragments += (lostCount+1); return; } _numberLostFragments += lostCount; } else (UInt64&)this->_stage = _stage; // If MESSAGE_ABANDONMENT, content is not the right normal content! if(flags&MESSAGE_ABANDONMENT) { if(_pPacket) { delete _pPacket; _pPacket = NULL; } return; } PacketReader* pMessage(&fragment); double lostRate(1); if(flags&MESSAGE_WITH_BEFOREPART){ if(!_pPacket) { WARN("A received message tells to have a 'beforepart' and nevertheless partbuffer is empty, certainly some packets were lost"); ++_numberLostFragments; delete _pPacket; _pPacket = NULL; return; } _pPacket->add(fragment); if(flags&MESSAGE_WITH_AFTERPART) return; lostRate = _pPacket->fragments; pMessage = _pPacket->release(); } else if(flags&MESSAGE_WITH_AFTERPART) { if(_pPacket) { ERROR("A received message tells to have not 'beforepart' and nevertheless partbuffer exists"); _numberLostFragments += _pPacket->fragments; delete _pPacket; } _pPacket = new RTMFPPacket(_poolBuffers,fragment); return; } UInt32 time(0); AMF::ContentType type(unpack(*pMessage, time)); lostRate = _numberLostFragments/(lostRate+_numberLostFragments); if (!_pStream || !_pStream->process(type, time, *pMessage, *_pWriter, lostRate)) { complete(); // do already the delete _pPacket return; } _numberLostFragments=0; if(_pPacket) { delete _pPacket; _pPacket=NULL; } }
void Flow::fragmentSortedHandler(UInt64 stage,PacketReader& fragment,UInt8 flags) { if(stage<=this->stage) { ERROR("Stage %llu not sorted on flow %llu",stage,id); return; } if(stage>(this->stage+1)) { // not following stage! UInt32 lostCount = (UInt32)(stage-this->stage-1); (UInt64&)this->stage = stage; if(_pPacket) { delete _pPacket; _pPacket = NULL; } if(flags&MESSAGE_WITH_BEFOREPART) { lostFragmentsHandler(lostCount+1); return; } lostFragmentsHandler(lostCount); } else (UInt64&)this->stage = stage; // If MESSAGE_ABANDONMENT, content is not the right normal content! if(flags&MESSAGE_ABANDONMENT) { if(_pPacket) { delete _pPacket; _pPacket = NULL; } return; } PacketReader* pMessage(&fragment); if(flags&MESSAGE_WITH_BEFOREPART){ if(!_pPacket) { WARN("A received message tells to have a 'beforepart' and nevertheless partbuffer is empty, certainly some packets were lost"); lostFragmentsHandler(1); delete _pPacket; _pPacket = NULL; return; } _pPacket->add(fragment); if(flags&MESSAGE_WITH_AFTERPART) return; pMessage = _pPacket->release(); } else if(flags&MESSAGE_WITH_AFTERPART) { if(_pPacket) { ERROR("A received message tells to have not 'beforepart' and nevertheless partbuffer exists"); lostFragmentsHandler(_pPacket->fragments); delete _pPacket; } _pPacket = new Packet(fragment); return; } Message::Type type = unpack(*pMessage); if(type!=Message::EMPTY) { writer._callbackHandle = 0; string name; AMFReader amf(*pMessage); if(type==Message::AMF_WITH_HANDLER || type==Message::AMF) { amf.read(name); if(type==Message::AMF_WITH_HANDLER) { writer._callbackHandle = amf.readNumber(); if(amf.followingType()==AMF::Null) amf.readNull(); } } try { switch(type) { case Message::AMF_WITH_HANDLER: case Message::AMF: messageHandler(name,amf); break; case Message::AUDIO: audioHandler(*pMessage); break; case Message::VIDEO: videoHandler(*pMessage); break; default: rawHandler(type,*pMessage); } } catch(Exception& ex) { _error = "flow error, " + ex.displayText(); } catch(exception& ex) { _error = string("flow error, ") + ex.what(); } catch(...) { _error = "Unknown flow error"; } } writer._callbackHandle = 0; if(_pPacket) { delete _pPacket; _pPacket=NULL; } if(flags&MESSAGE_END) complete(); }
void Flow::messageHandler(UInt32 stage,PacketReader& message,UInt8 flags) { if(_completed) return; if(stage<=_stage) { DEBUG("Stage %u on flow %u has already been received",stage,id); return; } _stage = stage; PacketReader* pMessage(NULL); if(flags&MESSAGE_WITH_BEFOREPART){ if(_sizeBuffer==0) { ERROR("A received message tells to have a 'afterpart' and nevertheless partbuffer is empty"); return; } UInt8* pOldBuffer = _pBuffer; _pBuffer = new UInt8[_sizeBuffer + message.available()](); memcpy(_pBuffer,pOldBuffer,_sizeBuffer); memcpy(_pBuffer+_sizeBuffer,message.current(),message.available()); _sizeBuffer += message.available(); delete [] pOldBuffer; if(flags&MESSAGE_WITH_AFTERPART) return; pMessage = new PacketReader(_pBuffer,_sizeBuffer); } else if(flags&MESSAGE_WITH_AFTERPART) { if(_sizeBuffer>0) { ERROR("A received message tells to have not 'beforepart' and nevertheless partbuffer exists"); delete [] _pBuffer; _sizeBuffer=0; } _sizeBuffer = message.available(); _pBuffer = new UInt8[_sizeBuffer](); memcpy(_pBuffer,message.current(),_sizeBuffer); return; } if(!pMessage) pMessage = new PacketReader(message); UInt8 type = unpack(*pMessage); if(type!=EMPTY) { writer._callbackHandle = 0; string name; AMFReader amf(*pMessage); if(type==AMF_WITH_HANDLER || type==AMF) { amf.read(name); if(type==AMF_WITH_HANDLER) { writer._callbackHandle = amf.readNumber(); amf.skipNull(); } } // create code prefix writer._code.assign(_name); if(!name.empty()) { writer._code.append("."); writer._code.push_back(toupper(name[0])); if(name.size()>1) writer._code.append(&name[1]); } switch(type) { case AMF_WITH_HANDLER: case AMF: messageHandler(name,amf); break; case AUDIO: audioHandler(*pMessage); break; case VIDEO: videoHandler(*pMessage); break; default: rawHandler(type,*pMessage); } } delete pMessage; if(flags&MESSAGE_END) complete(); if(_sizeBuffer>0) { delete [] _pBuffer; _sizeBuffer=0; } }