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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? csmshandler.cpp

?? The SMS Example demonstrates how to: · Create a Short Message Service (SMS) message. ·
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (c) 2003, Nokia. All rights reserved */


// INCLUDE FILES
#include <eikenv.h>
#include <coemain.h>
#include <e32std.h>
#include <msvids.h>
#include <msvstd.h>
#include <smsclnt.h>
#include <smut.h>
#include <mtclreg.h>
#include <txtrich.h>
#include <smscmds.h>
#include <mtmuibas.h>
#include <mtmdef.h>
#include <AknNoteWrappers.h>
#include <stringloader.h>
#include <smssend.rsg>
#include "CSmsHandler.h"
#include "CSmsAppUi.h"
#include "smutset.h"
#include "smuthdr.h"


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

// -----------------------------------------------------------------------------
// CSmsHandler::CSmsHandler()
// C++ default constructor can NOT contain any code, that might leave.
// -----------------------------------------------------------------------------
//
CSmsHandler::CSmsHandler( CSmsAppUi* aSmsAppUi )
: CActive( CActive::EPriorityStandard )
    {
    CActiveScheduler::Add( this );
    iSmsAppUi = aSmsAppUi;      // pointer to AppUi
    iNextUnread = 0;            // index of next unread message in iSelection
    }

// -----------------------------------------------------------------------------
// CSmsHandler::ConstructL()
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CSmsHandler::ConstructL()
    {
    // Session to message server is opened asynchronously.
    iSession = CMsvSession::OpenAsyncL( *this );

    // Entry selection for all received messages.
    iSelection = new ( ELeave ) CMsvEntrySelection();
    }

// -----------------------------------------------------------------------------
// CSmsHandler::NewL()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CSmsHandler* CSmsHandler::NewL( CSmsAppUi* aSmsAppUi )
    {
    CSmsHandler* self = NewLC( aSmsAppUi );
    CleanupStack::Pop( self );
    return self;
    }

// -----------------------------------------------------------------------------
// CSmsHandler::NewLC()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CSmsHandler* CSmsHandler::NewLC( CSmsAppUi* aSmsAppUi )
    {
    CSmsHandler* self = new ( ELeave ) CSmsHandler( aSmsAppUi );
    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

// ----------------------------------------------------------
// CSmsHandler::~CSmsHandler()
// Destructor.
// ----------------------------------------------------------
//
CSmsHandler::~CSmsHandler()
    {
    Cancel();           // cancel any outstanding request

    delete iOperation;
    delete iMtmUiRegistry;
    delete iSelection;
	delete iSmsMtm;
    delete iMtmRegistry;
    delete iSession;    // session must be deleted last
    }

// -----------------------------------------------------------------------------
// CSmsHandler::DoCancel()
// Cancels a request.
// -----------------------------------------------------------------------------
//
void CSmsHandler::DoCancel()
    {
    if ( iOperation )
        {
        iOperation->Cancel();
        }
    }

// -----------------------------------------------------------------------------
// CSmsHandler::RunL()
// Handles request completion events.
// -----------------------------------------------------------------------------
//
void CSmsHandler::RunL()
    {
    User::LeaveIfError( iStatus != KErrNone );

    // Determine the current operations progress.
    // ProgressL returns an 8 bit descriptor.
    TBufC8<KMsvProgressBufferLength> progress( iOperation->ProgressL() );
    _LIT8( KCompare, "KErrNone" );
    User::LeaveIfError( !progress.Compare( KCompare ) );

    // The pointer to the current CMsvOperation object is no longer needed.
    delete iOperation;
    iOperation = NULL;

    // Determine which request has finished.
    switch ( iState )
        {
        case EWaitingForMoving:
            // Once a message is moved to Outbox it is scheduled for sending.
            ScheduleL();
            break;

        case EWaitingForScheduling:
            {
            TMsvEntry entry( iSmsMtm->Entry().Entry() );
            TInt state( entry.SendingState() );

            if ( state == KMsvSendStateWaiting || state == KMsvSendStateScheduled)
                {
                HBufC* text = StringLoader::LoadLC( R_SMS_MOVED_TO_OUTBOX );
                CAknInformationNote* informationNote =
                    new ( ELeave ) CAknInformationNote;
                informationNote->ExecuteLD( *text );
                CleanupStack::PopAndDestroy( text );
                }

            break;
            }

        default:
            break;
        }
    }

// -----------------------------------------------------------------------------
// CSmsHandler::HandleSessionEventL()
// Handles notifications of events from the Message Server.
// -----------------------------------------------------------------------------
//
void CSmsHandler::HandleSessionEventL( TMsvSessionEvent aEvent,
                                      TAny* aArg1, TAny* aArg2, TAny* /*aArg3*/)
	{
	switch ( aEvent )
		{
        // Session to server established
		case EMsvServerReady:
            {
            TMsvId serviceId( KUidMsgTypeSMS.iUid ); // SMS service id

            // Determine if the event was succesful.
            // ServiceProgress inserts TBuf8 value in progress.
            TBuf8<KBfrLength> progress;
			iSession->ServiceProgress( serviceId, progress );
			_LIT8( KCompare, "KErrNone" );

			if ( progress.Compare( KCompare ) )
				{
                HBufC* text = StringLoader::LoadLC( R_SMS_SERVER_SESSION );
                CAknInformationNote* informationNote =
                    new ( ELeave ) CAknInformationNote;
                informationNote->ExecuteLD( *text );
                CleanupStack::PopAndDestroy( text );

                // Check that MtmRegistry has not already been accessed.
                if ( !iMtmRegistry )
                    {
                    AccessMtmL();
                    }
                }

            else
				{
                HBufC* text = StringLoader::LoadLC( R_SMS_SESSION_ERROR );
                CAknErrorNote* errorNote = new ( ELeave ) CAknErrorNote;
                errorNote->ExecuteLD( *text );
                CleanupStack::PopAndDestroy( text );
                }

            break;
            }

        // A new entry has been created on the message server.
        case EMsvEntriesCreated:
            {
            // Entry id is obtained from the session event arguments.
            TMsvId* entryId = STATIC_CAST( TMsvId*, aArg2 );

            // We are interested in messages that are created in Inbox.
            if ( *entryId != KMsvGlobalInBoxIndexEntryId )
                {
                break;
                }

            // We take the created entries into a selection
            CMsvEntrySelection* newEntries =
                STATIC_CAST( CMsvEntrySelection*, aArg1 );

            // Process each created entry.
            for ( TInt i( 0 ); i < newEntries->Count(); i++ )
                {
    			CMsvEntry* serverEntry = iSession->GetEntryL( newEntries->At( i ) );
    			CleanupStack::PushL(serverEntry);
                
                // We are interested in SMS messages.
                if ( serverEntry->Entry().iMtm == KUidMsgTypeSMS )
                    {
                    // Add the entry to the selection of all received messages.
                    iSelection->AppendL( newEntries->At( i ), 1 );

                    // Set received messages visible.
                    MessageReceivedL( newEntries->At( i ) );
                    }                    

				CleanupStack::PopAndDestroy(serverEntry);
                }
            break;
            }

        case EMsvCloseSession:
        case EMsvServerTerminated:
        case EMsvGeneralError:
        case EMsvServerFailedToStart:
            {
            iSmsAppUi->ServerDown( aEvent );    // close application
            break;
            }

        // All other events are ignored.
        default:
            break;
        }
    }

// -----------------------------------------------------------------------------
// CSmsHandler::AccessMtmL()
// Access the MTM Registry and create a SMS specific Client MTM instance.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文av字幕一区| 日韩在线播放一区二区| 亚洲成人1区2区| 国产精品99久久久久久久女警 | 在线免费不卡电影| 欧美一级片在线| 亚洲激情综合网| 国产成人精品亚洲日本在线桃色| 欧美亚洲动漫制服丝袜| 国产午夜久久久久| 欧美aaaaaa午夜精品| 色噜噜狠狠成人中文综合| 久久久久久影视| 美女国产一区二区三区| 欧美日韩中文字幕一区| 综合在线观看色| 国产精品888| 在线成人午夜影院| 亚洲国产三级在线| 97久久精品人人澡人人爽| 久久免费电影网| 激情亚洲综合在线| 日韩西西人体444www| 日韩在线卡一卡二| 69久久夜色精品国产69蝌蚪网| 亚洲国产aⅴ成人精品无吗| 97精品国产露脸对白| 国产精品久久久久久久久搜平片 | 亚洲一区二区三区四区五区中文| 成人免费看的视频| 国产欧美一区二区三区网站| 国产一区在线精品| 久久这里只有精品6| 国产一区二区导航在线播放| 日韩欧美的一区二区| 精品亚洲欧美一区| 亚洲精品在线电影| 国产麻豆精品在线观看| 精品久久久久久无| 国产精品一区二区在线观看网站| 久久综合九色综合久久久精品综合| 精品一区二区三区在线播放视频| 精品少妇一区二区三区在线播放| 久久成人免费网| 久久精品免费在线观看| 成人午夜在线播放| 一区二区三区四区乱视频| 欧美日韩小视频| 丝袜亚洲精品中文字幕一区| 欧美一区二区三区男人的天堂| 美腿丝袜亚洲一区| 国产日韩欧美精品在线| 不卡一区中文字幕| 一二三四社区欧美黄| 91精品国产综合久久久久久漫画 | 欧美www视频| 麻豆久久一区二区| 国产精品少妇自拍| 欧美视频在线不卡| 久久精品国产精品青草| 国产欧美一区二区在线| 欧美在线免费视屏| 美女性感视频久久| 亚洲欧洲成人精品av97| 色av成人天堂桃色av| 日韩精品免费视频人成| 久久久久久一级片| 欧美在线观看视频在线| 国产一区高清在线| 亚洲一区二区三区精品在线| 日韩欧美一级二级三级| www.性欧美| 奇米影视在线99精品| 国产精品美女久久久久久2018| 欧美少妇bbb| 成人黄色网址在线观看| 天天综合网天天综合色| 国产精品青草综合久久久久99| 精品视频123区在线观看| 国产精品 欧美精品| 亚洲电影在线播放| 中文字幕亚洲在| 日韩一区二区精品| 色香蕉久久蜜桃| 国产成人激情av| 麻豆91精品91久久久的内涵| 亚洲精品综合在线| 久久精品男人的天堂| 69堂成人精品免费视频| 一本色道久久综合亚洲精品按摩| 黑人巨大精品欧美一区| 视频在线观看91| 亚洲欧美另类小说视频| 国产女人水真多18毛片18精品视频| 欧美蜜桃一区二区三区| 色域天天综合网| 成人爱爱电影网址| 国产.欧美.日韩| 国产高清亚洲一区| 午夜成人免费视频| 亚洲美女视频在线观看| 国产精品萝li| 国产亚洲1区2区3区| 欧美精品一区二区三区在线| 欧美日韩大陆一区二区| 在线影院国内精品| av激情综合网| 成人动漫一区二区三区| 国产成人福利片| 国产高清在线精品| 国产激情一区二区三区四区 | 日韩一区二区三区精品视频| 欧美午夜一区二区三区免费大片| 91亚洲国产成人精品一区二三| 成人国产精品免费观看视频| 国产一区不卡视频| 国产经典欧美精品| 国产成人免费视频精品含羞草妖精| 韩国欧美国产1区| 国产精选一区二区三区| 国内精品久久久久影院色| 国产中文字幕精品| 国产成人丝袜美腿| 成人三级在线视频| 97se亚洲国产综合自在线观| 91视频.com| 欧美精选在线播放| 精品不卡在线视频| 国产日韩欧美一区二区三区综合| 国产亚洲综合av| 一区在线中文字幕| 亚洲福利国产精品| 激情综合网av| 成人黄色在线视频| 欧美午夜精品电影| 日韩三级伦理片妻子的秘密按摩| 26uuu欧美日本| 亚洲欧洲精品一区二区三区| 亚洲一区二区免费视频| 另类小说视频一区二区| 国产aⅴ综合色| 一本色道综合亚洲| 日韩欧美国产高清| 国产精品久久久久7777按摩| 亚洲一区二区三区四区的| 久久精品国产一区二区三| 国产不卡免费视频| 欧美无砖砖区免费| 久久综合九色综合欧美亚洲| 综合电影一区二区三区| 午夜一区二区三区视频| 国产一本一道久久香蕉| 91丨porny丨首页| 精品国精品国产| 亚洲综合男人的天堂| 精品一区二区三区视频| 91捆绑美女网站| 精品国产成人系列| 亚洲高清在线精品| 成人18视频日本| 欧美一区二区三区人| 日韩毛片高清在线播放| 精品亚洲欧美一区| 91黄色在线观看| 亚洲国产精品t66y| 日韩高清在线电影| 91久久一区二区| 国产目拍亚洲精品99久久精品| 亚洲第一激情av| 99久久99久久综合| 久久久精品免费观看| 五月天一区二区| 色婷婷av一区二区三区软件| 久久久久久一二三区| 蜜桃久久久久久| 5858s免费视频成人| 国产精品午夜免费| 国产一区二区不卡老阿姨| 日韩一区二区三区在线观看 | 日本91福利区| 欧美网站大全在线观看| 国产精品久久久久久福利一牛影视 | 国产成人综合在线| 91精品国产综合久久福利| 亚洲男人天堂av网| av在线综合网| 国产精品久久久久久妇女6080| 国产福利一区在线| 精品精品欲导航| 久久99精品久久久久久| 欧美一级理论性理论a| 亚洲成av人影院| 色综合久久88色综合天天| 亚洲码国产岛国毛片在线| 91亚洲精华国产精华精华液| 欧美激情一区二区三区不卡 | 久久99精品一区二区三区三区| 9191久久久久久久久久久| 婷婷亚洲久悠悠色悠在线播放| 欧美午夜精品一区二区蜜桃|