当前位置: 首页>>代码示例>>C++>>正文


C++ RBuf8::FillZ方法代码示例

本文整理汇总了C++中RBuf8::FillZ方法的典型用法代码示例。如果您正苦于以下问题:C++ RBuf8::FillZ方法的具体用法?C++ RBuf8::FillZ怎么用?C++ RBuf8::FillZ使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RBuf8的用法示例。


在下文中一共展示了RBuf8::FillZ方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

void CTcpClientTestUPnP1::ReceivedL ( const TRuntimeCtxId& /*aSender*/, const TNodeId& /*aRecipient*/, TSignatureBase& aMessage )
	{
	if ( aMessage.IsMessage<TCFFactory::TPeerFoundOrCreated> () )
		{
		const TCFFactory::TPeerFoundOrCreated& msg = message_cast < const TCFFactory::TPeerFoundOrCreated > ( aMessage );
		iClientId = msg.iNodeId;
		CompleteSelf ( KErrNone );
		}
	else if ( aMessage.IsMessage<TUpnpMessage::TResponse > () )
		{
		TUpnpMessage::TResponse& msg = message_cast< TUpnpMessage::TResponse >(aMessage);
		
		RBuf8 responseBodyData;
		responseBodyData.CreateMax ( msg.iBodyData.Length () );
		responseBodyData.FillZ ( msg.iBodyData.Length () );
		msg.iBodyData.CopyOut ( responseBodyData );	
		responseBodyData.Close ();
		msg.iBodyData.Free ();
		
		CompleteSelf(EPass);
		}
	else if ( aMessage.IsMessage<TEBase::TError > () )
		{
		iLogger.WriteFormat(_L("<i>TEBase::TError..... </i>"));
		CompleteSelf(EFail);
		}

	}
开发者ID:cdaffara,项目名称:symbiandump-mw4,代码行数:28,代码来源:ctcpclienttestupnp1.cpp

示例2:

void CAsn1PerOctetString::DecodeL(const TDesC8& aBuf,
                                  const TInt aStartBit,
                                  const TBool aLengthIsVariable,
                                  const TBool aLengthIsConstrained,
                                  const TInt aMinLength,
                                  const TInt aMaxLength,
                                  const TBool aIsExtensible,
                                  const TBool /*aIsPadded*/,
                                  TBool& aIsExtended,
                                  TInt& aBitsDecoded,
                                  RBuf8& aDecodedBuf)
{

    TInt currentBitPos=aStartBit;
    TInt bitDecoded=0;
    aBitsDecoded=0;
    aIsExtended=EFalse;
    TInt stringLen=0;

    CAsn1PerUtil::DecodeStringEBitAndLengthL(aBuf,
            currentBitPos,
            aLengthIsVariable,
            aLengthIsConstrained,
            aMinLength,
            aMaxLength,
            aIsExtensible,
            aIsExtended,
            bitDecoded,
            stringLen);

    currentBitPos+=bitDecoded;
    aBitsDecoded+=bitDecoded;
    bitDecoded=0;

    //check if the input buffer is long enough
    if (currentBitPos+stringLen*8>aBuf.Length()*8)
    {
        User::Leave(KErrUnderflow);
    }

    //Finally, decode the string content for cases
    aDecodedBuf.ReAllocL(stringLen);
    aDecodedBuf.SetLength(stringLen);
    aDecodedBuf.FillZ();

    TInt stringBitLength=stringLen*8;

    //Copy the String to the Dest Buffer .
    TInt destBitNum=8;
    TInt destOctetNum=0;

    //Copy ...
    CAsn1PerUtil::CopyDataTrunkL(aBuf, currentBitPos, stringBitLength, aDecodedBuf, destOctetNum, destBitNum);
    aBitsDecoded+=stringBitLength;
}
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:55,代码来源:asn1peroctetstring.cpp

示例3: doTestStepL

TVerdict CBigSendRecvRtp::doTestStepL()
/**
 * @return - TVerdict code
 */
	{
	SetTestStepResult(EFail);
	if(KErrNone == InitSocketsL())
		{
		iIpAddrDest1.SetPort(9000);
		RBuf8 sendBuf;
		sendBuf.CreateMax(KBufferSize1);
		sendBuf.CleanupClosePushL();
		RBuf8 recvBuf;
		recvBuf.CreateMax(KBufferSize1);
		recvBuf.CleanupClosePushL();
		
		/* Fill the buffer with given character upto its length */
		sendBuf.Fill('Q');
		TRequestStatus status;
		/* do a Send of the data */
		iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status);
		User::WaitForRequest(status);
		User::LeaveIfError(status.Int());
		/* Now do a Receive */
		recvBuf.FillZ();
		iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status);
		User::WaitForRequest(status);
		User::LeaveIfError(status.Int());
		
		/* Obtain a TPtr of the data excluding the RTP header */
		TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize);
		TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize);
		/* Check if the data received is the same as the data sent */
		TInt ret = sendBufPtr.Compare(recvBufPtr);
		if(ret == 0)
			{
			/* Increase the buffer size and fill it up with given data */
			sendBuf.ReAlloc(KBufferSize2);
			recvBuf.ReAlloc(KBufferSize2);
			sendBuf.Fill('Q', KBufferSize2);
			
			/* Send the larger data */
			iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status);
			User::WaitForRequest(status);
			User::LeaveIfError(status.Int());
			/* Now do a Receive */
			recvBuf.FillZ(KBufferSize2);
			iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status);
			User::WaitForRequest(status);
			User::LeaveIfError(status.Int());
			/* Get pointer to data and compare both of them */
			TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize);
			TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize);
			TInt ret = sendBufPtr.Compare(recvBufPtr);
			if(ret == 0)
				{
				SetTestStepResult(EPass);
				}
			}
		CleanupStack::PopAndDestroy(2);
		}
	return TestStepResult();
	}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:63,代码来源:cfrtp_basictests.cpp


注:本文中的RBuf8::FillZ方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。