亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmsession.cpp

?? c++下s60終端對終端傳輸協議
?? CPP
字號:
/* Copyright (c) 2005, Forum Nokia. All rights reserved */

// INCLUDE FILES
#include <e32svr.h>
#include <s32file.h>
#include "TmSession.h"

_LIT(KEmpty, "<empty>");

// ========================= MEMBER FUNCTIONS =================================

// ----------------------------------------------------------------------------
// CTmServerSession::NewL()
// Two-phased constructor.
// ----------------------------------------------------------------------------
//
CTmServerSession* CTmServerSession::NewL( CTmServer& aServer )
    {
    CTmServerSession* self = CTmServerSession::NewLC( aServer );
    CleanupStack::Pop( self );
    return self;
    }

// ----------------------------------------------------------------------------
// CTmServerSession::NewLC()
// Two-phased constructor.
// ----------------------------------------------------------------------------
//
CTmServerSession* CTmServerSession::NewLC( CTmServer& aServer )
    {
    CTmServerSession* self = new ( ELeave ) CTmServerSession( aServer );
    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

// ----------------------------------------------------------------------------
// CTmServerSession::ConstructL()
// Symbian 2nd phase constructor can leave.
// ----------------------------------------------------------------------------
//
void CTmServerSession::ConstructL()
    {
    iServer.IncrementSessions();
    User::LeaveIfError(iFs.Connect());
    // Set session to private (files will be stored in the private data cage).
    User::LeaveIfError( iFs.CreatePrivatePath( EDriveC ) );
    User::LeaveIfError( iFs.SetSessionToPrivate( EDriveC ) );
    }

// ----------------------------------------------------------------------------
// CTmServerSession::CTmServerSession()
// C++ default constructor can NOT contain any code, that might leave.
// ----------------------------------------------------------------------------
//
CTmServerSession::CTmServerSession(CTmServer& aServer): iServer( aServer )
    {
    }

// ----------------------------------------------------------------------------
// CTmServerSession::~CTmServerSession()
// Destructor.
// ----------------------------------------------------------------------------
//
CTmServerSession::~CTmServerSession()
    {
    iFs.Close();
    iServer.DecrementSessions();
    }

// ----------------------------------------------------------------------------
// CTmServerSession::ServiceL()
// Service request from client.
// ----------------------------------------------------------------------------
//
//void CTmServerSession::ServiceL( const RMessage& aMessage )
void CTmServerSession::ServiceL( const RMessage2& aMessage )
    {
    iClientMsg = aMessage;
    switch ( aMessage.Function() )
        {
        case ETmServRequestAddress :
            RequestAddressL();
            break;
            
        case ETmServSetAddress :
            SetAddressL();
            break;

        case ETmServRequestPort :
            RequestPortL();
            break;
            
        case ETmServSetPort :
            SetPortL();
            break;

        case ETmServRequestType :
            RequestTypeL();
            break;
            
        case ETmServSetType :
            SetTypeL();
            break;

        case ETmServRequestAll :
            RequestAllL();
            break;

        case ETmServSetAll :
            SetAllL();
            break;

        default:
            PanicClient( EBadRequest );
            break;
        }
    aMessage.Complete( KErrNone );
    }

// ----------------------------------------------------------------------------
// CTmServerSession::RequestAddressL()
// Called as a result of the client requesting the server address.
// ----------------------------------------------------------------------------
//
void CTmServerSession::RequestAddressL()
    {
    ReadFileL(0, KAddressFileName);
    }
    
// ----------------------------------------------------------------------------
// CTmServerSession::SetAddressL()
// Called as a result of the client requesting to set the server address.
// ----------------------------------------------------------------------------
//
void CTmServerSession::SetAddressL()
    {
    WriteFileL(0, KAddressFileName);
    }

// ----------------------------------------------------------------------------
// CTmServerSession::RequestPortL()
// Called as a result of the client requesting the server port.
// ----------------------------------------------------------------------------
//

void CTmServerSession::RequestPortL()
    {
    ReadFileL(0, KPortFileName);
    }
    
// ----------------------------------------------------------------------------
// CTmServerSession::SetPortL()
// Called as a result of the client requesting to set the server port.
// ----------------------------------------------------------------------------
//

void CTmServerSession::SetPortL()
    {
    WriteFileL(0, KPortFileName);
    }

// ----------------------------------------------------------------------------
// CTmServerSession::RequestTypeL()
// Called as a result of the client requesting the server type.
// ----------------------------------------------------------------------------
//

void CTmServerSession::RequestTypeL()
    {
    ReadFileL(0, KTypeFileName);
    }
    
// ----------------------------------------------------------------------------
// CTmServerSession::SetTypeL()
// Called as a result of the client requesting to set the server type.
// ----------------------------------------------------------------------------
//

void CTmServerSession::SetTypeL()
    {
    WriteFileL(0, KTypeFileName);
    }

// ----------------------------------------------------------------------------
// CTmServerSession::RequestAllL()
// Called as a result of the client requesting the server address, port 
// and type.
// ----------------------------------------------------------------------------
//

void CTmServerSession::RequestAllL()
    {
    ReadFileL(0, KAddressFileName);
    ReadFileL(1, KPortFileName);
    ReadFileL(2, KTypeFileName);
    }
    
// ----------------------------------------------------------------------------
// CTmServerSession::SetAllL()
// Called as a result of the client requesting to set the server address, port
// and type.
// ----------------------------------------------------------------------------
//

void CTmServerSession::SetAllL()
    {
    WriteFileL(0, KAddressFileName);
    WriteFileL(1, KPortFileName);
    WriteFileL(2, KTypeFileName);    
    }


// ----------------------------------------------------------------------------
// CTmServerSession::WriteFileL()
// Encrypts the given descriptor and writes it to a file with the given file 
// name
// ----------------------------------------------------------------------------
//
void CTmServerSession::WriteFileL( TInt aMsgIndex, const TDesC& aFileName )
	{
    // An RBuf could also be used here (as an instance variable) instead of a 
    // TBuf, in which case the client's message could be of arbitrary length.
    if (iClientMsg.GetDesLength(aMsgIndex) > KTmMaxClientDescriptorLength)
        {
        iClientMsg.Panic(KTMExampleServer, KErrBadDescriptor);
        }
        
    TBuf<KTmMaxClientDescriptorLength> contents;
    TRAPD(err2, iClientMsg.ReadL(aMsgIndex, contents));
    if (err2 != KErrNone)
        {
        iClientMsg.Panic(KTMExampleServer, KErrBadDescriptor);            
        }
	
    RFileWriteStream writeStream;
    writeStream.PushL();

    TInt err = writeStream.Replace(iFs, aFileName, EFileWrite);
  	if (err == KErrNone) 
		{
        writeStream << contents;
        writeStream.CommitL();
		}

    writeStream.Pop();
    writeStream.Release();
	}

// ----------------------------------------------------------------------------
// CTmServerSession::ReadFileL()
// Reads and decrypts a descriptor found in a file with the given file name. 
// The decrypted descriptor is written to the client's address space via 
// aClientsDescriptor.
// ----------------------------------------------------------------------------
//
void CTmServerSession::ReadFileL( TInt aMsgIndex, const TDesC& aFileName )
    {
    RFileReadStream readStream;
    readStream.PushL();

    TInt err = readStream.Open(iFs, aFileName, EFileRead);
  	if (err == KErrNone) 
		{
        TBuf<KTmMaxClientDescriptorLength> temp;
        readStream >> temp;
        iClientMsg.WriteL( aMsgIndex, temp );
		}
	else
		{
  		// Opening read stream failed, write a dummy string to client's address space
        iClientMsg.WriteL(aMsgIndex, KEmpty);
		}

    readStream.Pop();
    readStream.Release();
	}

// -----------------------------------------------------------------------------
// CTmServerSession::PanicClient()
// Causes the client thread to panic.
// -----------------------------------------------------------------------------
//
void CTmServerSession::PanicClient( TInt aPanic ) const
    {
    // Note: this panics the client thread, not the server
    iClientMsg.Panic( KTMExampleServer,aPanic ); 
    }
// End of File

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费桃花| 欧美xxxxx牲另类人与| 国产精品亚洲第一| 国产一区欧美日韩| 国产精一品亚洲二区在线视频| 国产毛片精品视频| 国产成人精品综合在线观看| a亚洲天堂av| 欧美色偷偷大香| 91精品国产一区二区三区香蕉| 精品日韩欧美一区二区| 日本一区二区视频在线观看| 亚洲视频免费看| 亚洲国产成人高清精品| 青青草91视频| 福利一区二区在线| 91黄视频在线| 日韩精品最新网址| 欧美国产丝袜视频| 香蕉久久夜色精品国产使用方法 | 亚洲小说欧美激情另类| 亚洲综合在线观看视频| 日韩和欧美一区二区| kk眼镜猥琐国模调教系列一区二区 | 亚洲欧美日韩系列| 青草av.久久免费一区| 国产suv精品一区二区三区| 欧洲激情一区二区| 久久久国产精品麻豆| 亚洲韩国一区二区三区| 国精产品一区一区三区mba视频 | 日本午夜一区二区| 成人av在线资源网| 日韩美女视频在线| 亚洲精品成a人| 国产精品99精品久久免费| 欧美网站一区二区| 国产精品国产精品国产专区不蜜 | 在线观看欧美日本| 久久久影视传媒| 日韩和欧美一区二区三区| 风间由美一区二区av101| 欧美老女人在线| 亚洲精品videosex极品| 国产成人免费高清| 日韩精品一区二区三区在线| 一区二区三区美女视频| 国产美女一区二区| 日韩欧美一级二级三级久久久| 一区二区三区在线视频免费观看| 国产精品一区二区久久不卡| 日韩视频在线一区二区| 亚洲国产wwwccc36天堂| 99v久久综合狠狠综合久久| 2020国产精品自拍| 久久91精品久久久久久秒播| 9191成人精品久久| 午夜免费欧美电影| www久久精品| 成人app在线| 久久免费国产精品 | 欧美又粗又大又爽| 国产精品久久久久久久久久久免费看 | 国产精品无圣光一区二区| 男男成人高潮片免费网站| 在线观看亚洲成人| 亚洲卡通欧美制服中文| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕一区二区不卡| 成人深夜福利app| 国产精品天天看| 成人丝袜18视频在线观看| 国产午夜三级一区二区三| 国产91高潮流白浆在线麻豆| 国产欧美精品日韩区二区麻豆天美| 狠狠色狠狠色合久久伊人| 欧美成人女星排行榜| 黄色小说综合网站| 国产午夜亚洲精品午夜鲁丝片| 豆国产96在线|亚洲| 一区在线中文字幕| 欧美在线小视频| 美腿丝袜亚洲色图| 久久久久88色偷偷免费| av电影天堂一区二区在线| 亚洲精品免费播放| 91精品午夜视频| 激情图片小说一区| 亚洲婷婷综合色高清在线| 欧美亚洲丝袜传媒另类| 久久成人麻豆午夜电影| 中文字幕乱码久久午夜不卡| 色综合天天狠狠| 日本91福利区| 中文字幕在线免费不卡| 欧美午夜精品免费| 国产一区二区伦理片| 亚洲欧美日韩中文字幕一区二区三区| 欧美亚洲图片小说| 国产精品一区一区| 亚洲成年人影院| 久久精品欧美一区二区三区不卡 | 一区二区三区四区亚洲| 欧美一级高清大全免费观看| 成人爽a毛片一区二区免费| 午夜av一区二区三区| 久久精品欧美一区二区三区不卡| 一本久道中文字幕精品亚洲嫩| 免费成人av资源网| 亚洲欧美日本韩国| 337p日本欧洲亚洲大胆色噜噜| 日本道色综合久久| 国产一区欧美日韩| 日日骚欧美日韩| 18欧美乱大交hd1984| 欧美不卡视频一区| 欧美日韩精品综合在线| 成人a级免费电影| 国内精品第一页| 亚洲电影视频在线| 亚洲日本在线视频观看| 久久一二三国产| 欧美区在线观看| 色婷婷亚洲精品| 成人av资源下载| 国产一区视频导航| 久久精品国产第一区二区三区| 亚洲免费在线观看视频| 日本一区二区高清| 久久午夜电影网| 日韩一区二区三区在线观看| 欧美在线观看视频在线| 色婷婷久久99综合精品jk白丝| 成人免费黄色大片| 国产成人夜色高潮福利影视| 久久精品99久久久| 视频一区二区中文字幕| 亚洲国产精品久久艾草纯爱| 亚洲三级免费观看| 亚洲男同性视频| 亚洲女女做受ⅹxx高潮| 亚洲欧美激情插| 亚洲图片另类小说| 亚洲激情校园春色| 亚洲一区av在线| 亚洲动漫第一页| 日韩电影在线观看网站| 午夜久久久影院| 免费观看91视频大全| 欧美aaaaaa午夜精品| 久久爱www久久做| 国产综合成人久久大片91| 国产一区二区三区精品欧美日韩一区二区三区 | 色哟哟国产精品| 一本色道久久综合亚洲精品按摩| 色综合视频在线观看| 色av成人天堂桃色av| 欧美亚洲一区三区| 欧美蜜桃一区二区三区 | 国产麻豆精品一区二区| 国产另类ts人妖一区二区| 成人高清视频在线观看| 91网站在线播放| 欧美日韩在线播放| 欧美一区二区免费观在线| 欧美精品一区二区蜜臀亚洲| 欧美国产欧美综合| 一卡二卡欧美日韩| 蜜臀精品一区二区三区在线观看 | 欧美亚洲图片小说| 日韩女优视频免费观看| 中文字幕精品一区二区三区精品| 国产精品进线69影院| 亚洲一区二区三区在线播放| 青青草伊人久久| 成人黄色av电影| 91精品国产综合久久精品app| 久久理论电影网| 亚洲成人av中文| 成人免费毛片片v| 欧美精品国产精品| 中文字幕不卡在线| 视频一区欧美精品| 成人91在线观看| 日韩视频在线一区二区| 亚洲乱码国产乱码精品精小说 | 免费成人深夜小野草| 成人免费黄色在线| 欧美电影一区二区三区| 中文字幕精品一区二区精品绿巨人 | 亚洲电影一区二区三区| 国产精品一二三四| 欧美精品丝袜久久久中文字幕| 久久久久久夜精品精品免费| 亚洲成人精品在线观看| 成人激情校园春色| 精品乱人伦一区二区三区| 亚洲国产日韩综合久久精品| 不卡的av在线| 国产日韩欧美一区二区三区综合|