⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 btconnectionbase.cpp

📁 S60培训教材代码(连载)
💻 CPP
字号:
/* Copyright (c) 2002, Nokia Mobile Phones. All rights reserved */

#include "BTConnectionBase.h"
#include "Log.h"

CBTConnectionBase::CBTConnectionBase(MLog& aLog)
: CActive(CActive::EPriorityStandard),
  iLog(aLog)
    {
    CActiveScheduler::Add(this);
    }

CBTConnectionBase::~CBTConnectionBase()
    {
    }


void CBTConnectionBase::WriteDataSyncL(TDesC8& aData)
    {
    if (IsActive()) 
        {
        iLog.LogL(_L8("WriteDataSyncL, error still reading! "), iStatus.Int());
        User::Leave(KErrInUse);
        }
    iDataSocket.Write(aData, iStatus);
    User::WaitForRequest(iStatus);

    if (KErrNone != iStatus.Int())
        {
        iLog.LogL(_L8("WriteDataSyncL, error = "), iStatus.Int());
        User::Leave(iStatus.Int());
        }
    }

void CBTConnectionBase::ReadDataL()
    {
    if (IsActive()) 
        {
        User::Leave(KErrInUse);
        }
    iDataSocket.RecvOneOrMore(iBuffer, 0, iStatus, iLen);
    SetActive();
    }

void CBTConnectionBase::ReadDataL(TInt aLength)
    {
    if (IsActive()) 
        {
        User::Leave(KErrInUse);
        }
    if (aLength > iBuffer.MaxLength())
        {
        User::Leave(KErrOverflow);
        }
    iBuffer.SetLength(aLength);
    iDataSocket.Read(iBuffer, iStatus);
    SetActive();
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -