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

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

?? clocationexamplesmsengine.cpp

?? 這是一個關于s60基于c++的關于手機地圖和定位的代碼
?? CPP
字號:
/*
* ============================================================================
*  Name     : clocationexamplesmsengine.cpp
*  Part of  : Location Example
*  Created  : 21.05.2007 by Forum Nokia
*  Description:
*  Version  : 1.0
*  Copyright: Nokia Corporation
* ============================================================================
*/

// INCLUDE FILES
#include <msvids.h>             // Folder Ids
#include <smut.h>               // KUidMsgTypeSMS
#include <txtrich.h>            // CRichText
#include <eikenv.h>             // CEikonEnv

#include "clocationexampleapplication.h"
#include "clocationexamplesmsengine.h"
#include "clocationexampleengine.h"


#ifdef __WINS__
    const TMsvId KObservedFolderId = KMsvDraftEntryId;
#else
    const TMsvId KObservedFolderId =  KMsvGlobalInBoxIndexEntryId;
#endif

const TMsvId KInbox = KMsvGlobalInBoxIndexEntryId;


// ---------------------------------------------------------
// CLocationExampleSmsEngine::NewL()
// ---------------------------------------------------------
//
CLocationExampleSmsEngine* CLocationExampleSmsEngine::NewL(MSmsEngineObserver* aObserver)
    {
    CLocationExampleSmsEngine* self = NewLC(aObserver);
    CleanupStack::Pop(self);
	return self;
    }

// ---------------------------------------------------------
// CLocationExampleSmsEngine::NewLC()
// ---------------------------------------------------------
//
CLocationExampleSmsEngine* CLocationExampleSmsEngine::NewLC(MSmsEngineObserver* aObserver)
    {
    CLocationExampleSmsEngine* self = new (ELeave) CLocationExampleSmsEngine(aObserver);
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }

// ---------------------------------------------------------
// CLocationExampleSmsEngine::ConstructL()
// ---------------------------------------------------------
//
void CLocationExampleSmsEngine::ConstructL()
    {
    User::LeaveIfError(iSendAs.Connect());

	// SMS automatic receiving needs a session to the messaging server
	iMsvSession = CMsvSession::OpenAsyncL(*this);
    } 

// ---------------------------------------------------------
// CLocationExampleSmsEngine::CLocationExampleSmsEngine()
// ---------------------------------------------------------
//
CLocationExampleSmsEngine::CLocationExampleSmsEngine(MSmsEngineObserver* aObserver) 
: iObserver(aObserver)
    {
    }   

// ---------------------------------------------------------
// CLocationExampleSmsEngine::~CLocationExampleSmsEngine()
// ---------------------------------------------------------
//
CLocationExampleSmsEngine::~CLocationExampleSmsEngine()
    {
    delete iMsvEntry;
    
    if (iMsvSession)
        {
        iMsvSession->Cancel();
        }
    delete iMsvSession;

    iSendAs.Close();
    }


// ---------------------------------------------------------
// CLocationExampleSmsEngine::HandleSessionEventL()
// ---------------------------------------------------------
//
void CLocationExampleSmsEngine::HandleSessionEventL(
TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* /*aArg3*/)
    {
    switch (aEvent)
        {
        case EMsvServerReady:
            {
            // Initialise iMsvEntry
            if (!iMsvEntry)
                {
                iMsvEntry = CMsvEntry::NewL(*iMsvSession, KInbox,
                                            TMsvSelectionOrdering());
                }
            break;
            }
        case EMsvEntriesCreated:
            {
            // Only look for changes in the Inbox
            if (aArg2 &&  *(static_cast<TMsvId*>(aArg2)) == KObservedFolderId)
                {
                CMsvEntrySelection* entries = static_cast<CMsvEntrySelection*>(aArg1);
                if( entries->Count() >= 1 )
                    {
                    iNewMessageId = entries->At(0);
                    }
                else
                    {
                	return;
                    }
                }
            break;
            }
        case EMsvEntriesChanged:
            {
            // Look for changes. When using the emulator observed folder is drafts, otherwise inbox
            if (aArg2 &&  *(static_cast<TMsvId*>(aArg2)) == KObservedFolderId)
                {
                CMsvEntrySelection* entries = static_cast<CMsvEntrySelection*>(aArg1);
                if(!entries && entries->Count() < 1 )
                    {
                	return;
                    }
                else if (iNewMessageId == entries->At(0))
                    {
                    if( !iMsvEntry )
                    	{
                    	return;
                    	}

                    // Set entry context to the new message
                    iMsvEntry->SetEntryL(iNewMessageId);

        			// Check the type of the arrived message and that the message is complete
        			// Only SMS's are our consern
        			if (iMsvEntry->Entry().iMtm != KUidMsgTypeSMS || !iMsvEntry->Entry().Complete())
        			    {
        				return;
        				}

                    // Read-only store
                    CMsvStore* store = iMsvEntry->ReadStoreL();
                    CleanupStack::PushL(store);

					// Get address of received message.
                    iAddress.Copy(iMsvEntry->Entry().iDetails);

                    // Body text
                    if (store->HasBodyTextL())
                        {
        				CRichText* richText = CRichText::NewL(
                           CEikonEnv::Static()->SystemParaFormatLayerL(),
                           CEikonEnv::Static()->SystemCharFormatLayerL());
                        CleanupStack::PushL(richText);

                        store->RestoreBodyTextL(*richText);
        				TPtrC ptr = richText->Read(0, richText->DocumentLength());
        			    iMessage.Copy(ptr);

        			    CleanupStack::PopAndDestroy(richText);
            			CleanupStack::PopAndDestroy(store);
                
                        // Check that incoming message was our location message
                        TUint reqType(EInvalidPositionType);
                        if (ParseMsgRequestType(iMessage,reqType) == KErrNone)
                            {
                            // Delete message from this Inbox-folder
                            TRAP_IGNORE(iMsvEntry->DeleteL(iMsvEntry->EntryId())){}

                            if (reqType == EPositionResponse)
                                {
                                // You are reseiving your friend location
                                iObserver->MessageReceived(iMessage, iAddress);
                                }
                            else if(reqType == EPositionRequest)
                                {
                                // Your friend ask your location
                                iObserver->MessageRequested(iMessage, iAddress);
                                }
                            }
                        }
                    else
                        {
            			CleanupStack::PopAndDestroy(store);
                        }
                    }
                }
            break;
            }
        default:
            {
            break;
            }
        }
    }


// ---------------------------------------------------------
// CLocationExampleSmsEngine::ParseMsgRequestType()
//
// Message body: RES E01FF1Cd latitude_value longitude_value
// Message body: REQ E01FF1Cd latitude_value longitude_value
// ---------------------------------------------------------
//
TInt CLocationExampleSmsEngine::ParseMsgRequestType(
const TDesC& aMsg, TUint& aType)
    {
    TInt ret = KErrNone;
    if (!aMsg.Find(KPosRequest) && !aMsg.Find(KPosResponse))
        {
        return KErrNotSupported;
        }

    TLex16 lex(aMsg);

    TPtrC typeStr = lex.NextToken();

    if (typeStr == KPosRequest)
        {
        aType = EPositionRequest;
        }
    else if (typeStr == KPosResponse)
        {
        aType = EPositionResponse;
        }
    else
        {
        aType = EInvalidPositionType;
        ret = KErrNotSupported;
        }

    return ret;
    }

// ---------------------------------------------------------
// CLocationExampleSmsEngine::ParseMsgUid()
//
// Message body: RES E01FF1Cd latitude_value longitude_value
// Message body: REQ E01FF1Cd latitude_value longitude_value
// ---------------------------------------------------------
//
TInt CLocationExampleSmsEngine::ParseMsgUid(const TDesC& aMsg)
    {
    TInt err = KErrNone;

    if (!aMsg.Find(KPosRequest) && !aMsg.Find(KPosResponse))
        {
        return KErrNotSupported;
        }

    TLex16 lex(aMsg);

    TPtrC typeStr = lex.NextToken();
    lex.Inc();

    TPtrC uidStr = lex.NextToken();
    lex.Inc();

    // Create UID
    TLex16 smsUid(uidStr);
    TInt64 uidVal(0);
    err = smsUid.Val(uidVal);
    if (err)
        {
        return err;
        }
    else
        {
        // Check UID    
        if ((TInt32)uidVal == KUidLocationExampleApp.iUid)
            {
            return KErrNone;
            }
        else
            {
            return KErrArgument;
            }
        }
    }

// ---------------------------------------------------------
// CLocationExampleSmsEngine::ParseMsgCoordinates()
//
// Message body: RES E01FF1Cd latitude_value longitude_value
// Message body: REQ E01FF1Cd latitude_value longitude_value
// ---------------------------------------------------------
//
TInt CLocationExampleSmsEngine::ParseMsgCoordinates(const TDesC& aMsg, TCoordinate& aCoordinate)
    {
    TInt ret = KErrNone;

    if (!aMsg.Find(KPosRequest) && !aMsg.Find(KPosResponse))
        {
        return KErrNotSupported;
        }

    TLex16 lex(aMsg);

    TPtrC typeStr = lex.NextToken();
    lex.Inc();

    TPtrC uidStr = lex.NextToken();
    lex.Inc();

    TPtrC latitudeStr = lex.NextToken();
    lex.Inc();

    TPtrC longitudeStr = lex.NextToken();
    lex.Inc();


    TReal64 latitude = 0;
    lex = latitudeStr;
    ret = lex.Val(latitude);
    if (ret)
        {
        return KErrNotSupported;
        }

    TReal64 longitude = 0;
    lex = longitudeStr;
    ret = lex.Val(longitude);
    if (ret)
        {
        return KErrNotSupported;
        }

    aCoordinate.SetCoordinate(latitude,longitude);

    return KErrNone;
    }


// ---------------------------------------------------------
// CLocationExampleSmsEngine::SendSmsL()
// ---------------------------------------------------------
//
void CLocationExampleSmsEngine::SendSmsL(const TDesC& aAddr, const TDesC& aMsg)
    {
    RSendAsMessage message;
    message.CreateL(iSendAs, KUidMsgTypeSMS);
    CleanupClosePushL(message);

    // Prepare the message
    message.AddRecipientL(aAddr, RSendAsMessage::ESendAsRecipientTo);
    message.SetBodyTextL(aMsg);

    // Send the message
    TRequestStatus status;
    message.SendMessage(status);
    User::WaitForRequest(status);
    message.Close();

    CleanupStack::Pop(); // message
    
    iObserver->MessageSent();
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日av一区二区| 日本韩国欧美三级| 99久久99久久精品免费观看 | 91免费视频网| 日韩女优制服丝袜电影| 国产精品网站在线观看| 美腿丝袜在线亚洲一区| 91在线精品秘密一区二区| 4hu四虎永久在线影院成人| 亚洲国产精品t66y| 麻豆精品一区二区av白丝在线| 91在线看国产| 国产喷白浆一区二区三区| 亚洲bdsm女犯bdsm网站| 97se亚洲国产综合在线| 久久久精品影视| 日一区二区三区| 色综合久久综合中文综合网| 国产欧美日韩在线| 九九九久久久精品| 3d成人动漫网站| 国产成人av自拍| 欧美一区二区视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 成人精品免费视频| 26uuu精品一区二区三区四区在线| 婷婷综合在线观看| 欧美日韩在线观看一区二区| 亚洲精品国产精华液| 99天天综合性| 国产精品进线69影院| 国产91精品一区二区麻豆亚洲| 精品乱人伦小说| 精品一区二区三区视频在线观看| 51午夜精品国产| 日韩制服丝袜av| 欧美一级高清大全免费观看| 视频一区二区中文字幕| 欧洲精品视频在线观看| 亚洲丰满少妇videoshd| 欧美日韩国产综合久久| 亚洲1区2区3区视频| 欧美精品777| 久久精品国产亚洲aⅴ| 91麻豆精品国产自产在线| 日本不卡在线视频| 欧美变态凌虐bdsm| 国产精一品亚洲二区在线视频| 久久精品一区八戒影视| 成人黄色大片在线观看| 亚洲精品久久嫩草网站秘色| 欧美影院一区二区三区| 日日骚欧美日韩| 精品国产一区二区三区忘忧草 | 中文字幕一区二区三区不卡 | 一本久久精品一区二区| 亚洲精品久久久久久国产精华液| 91社区在线播放| 午夜视频在线观看一区| 日韩一区二区三区四区| 国产一区二区美女诱惑| **网站欧美大片在线观看| 欧日韩精品视频| 久久精品国产精品亚洲精品| 国产香蕉久久精品综合网| 97久久超碰国产精品| 亚洲chinese男男1069| 久久久久久一级片| 91蜜桃视频在线| 久久精品国产精品亚洲红杏| 日本一区二区三区久久久久久久久不 | 亚洲一区二区在线观看视频| 日韩欧美一区二区久久婷婷| 黑人巨大精品欧美一区| 亚洲免费电影在线| 欧美成人猛片aaaaaaa| 91丨九色porny丨蝌蚪| 免费成人av资源网| 亚洲色图.com| 精品国产乱码91久久久久久网站| 色综合天天性综合| 国内精品国产成人国产三级粉色| 亚洲乱码国产乱码精品精小说| 精品嫩草影院久久| 欧美在线短视频| 国产成人午夜99999| 日韩激情中文字幕| 亚洲欧美一区二区三区极速播放| 欧美一级搡bbbb搡bbbb| 色呦呦日韩精品| 国产乱人伦精品一区二区在线观看| 亚洲一区二区高清| 国产无人区一区二区三区| 91精品国产综合久久精品性色| 一本久久综合亚洲鲁鲁五月天| 国产成人丝袜美腿| 经典一区二区三区| 免费人成网站在线观看欧美高清| 夜夜亚洲天天久久| 亚洲欧美日本在线| 国产精品久久久久久久久搜平片| 26uuu色噜噜精品一区| 欧美mv和日韩mv国产网站| 欧美日韩国产bt| 欧美日韩电影一区| 欧美日韩一区中文字幕| 欧洲av在线精品| 在线观看成人小视频| 91麻豆免费观看| 91在线观看视频| 91网上在线视频| 色婷婷激情综合| 在线欧美小视频| 91国产视频在线观看| aaa欧美日韩| 午夜电影久久久| 天天做天天摸天天爽国产一区| 国产精品网站导航| 国产精品久久久一本精品| 精品剧情在线观看| 欧美高清视频www夜色资源网| 成人伦理片在线| 一本色道久久综合精品竹菊| 国产东北露脸精品视频| 久久国产精品色婷婷| 国产精品1024| 成人午夜视频在线| 国产一区二区三区免费观看| 日韩成人av影视| 亚洲福利视频导航| 蜜臀精品一区二区三区在线观看| 五月天亚洲精品| 亚洲va欧美va人人爽午夜| 一区二区三区欧美日| 国产精品丝袜在线| 亚洲久草在线视频| 播五月开心婷婷综合| 国产精品亚洲专一区二区三区| 亚洲国产成人av| 日本亚洲天堂网| 肉肉av福利一精品导航| 五月开心婷婷久久| 午夜精品久久久久久久99樱桃| 亚洲精品视频自拍| 日韩**一区毛片| 美洲天堂一区二卡三卡四卡视频 | 亚洲成人免费观看| 亚洲综合色婷婷| 一区二区三区国产| 亚洲午夜在线电影| 亚洲国产一区视频| 捆绑调教一区二区三区| 精品无码三级在线观看视频| 激情综合色综合久久| 国产黄色精品网站| 蜜桃精品在线观看| av资源站一区| 欧美无砖砖区免费| 欧美一区二区在线免费播放 | 日韩黄色片在线观看| 午夜精品福利久久久| 国产高清不卡一区| 成人av网站免费| 92国产精品观看| 欧美电影一区二区三区| 欧美成人国产一区二区| 中文字幕高清不卡| 亚洲精品久久久蜜桃| 国产成人综合自拍| 99精品桃花视频在线观看| 欧美日韩中文精品| 337p日本欧洲亚洲大胆色噜噜| 中文字幕免费不卡在线| 亚洲福利一二三区| 国产美女娇喘av呻吟久久| 97精品超碰一区二区三区| 久久久久久久网| 亚洲欧美日韩国产综合| 蜜臀久久99精品久久久久久9| 成人污污视频在线观看| 精品国产一二三区| 一区二区三区电影在线播| 美女视频黄免费的久久| 国产精品久久777777| 日本亚洲最大的色成网站www| 亚洲国产va精品久久久不卡综合| 东方欧美亚洲色图在线| 欧美三级乱人伦电影| 国产欧美日韩麻豆91| 亚洲午夜精品一区二区三区他趣| 捆绑调教一区二区三区| 色婷婷久久久亚洲一区二区三区| 精品日韩在线观看| 一个色妞综合视频在线观看| 国产精一区二区三区| 欧美日韩精品系列| 国产精品久久久久久久久果冻传媒| 五月天精品一区二区三区| 欧美制服丝袜第一页| 欧美国产在线观看|