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

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

?? clocationexampleengine.cpp

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

#include <aknquerydialog.h>
#include <locationexample.rsg>
#include <eikedwin.h>
#include <aknquerydialog.h>
#include <aknnotewrappers.h>

#include "clocationexampleengine.h"
#include "clocationexamplelocationengine.h"
#include "clocationexamplepositionrequestor.h"
#include "clocationexampleapplication.h"


const TInt KSecond = 1000000;
const TInt KUpdateInterval = 10*KSecond;


// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
CLocationExampleEngine* CLocationExampleEngine::NewL(MPositionObserver* aPositionListener)
    {
    CLocationExampleEngine* self = NewLC(aPositionListener);
    CleanupStack::Pop(self);
	return self;
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
CLocationExampleEngine* CLocationExampleEngine::NewLC(MPositionObserver* aPositionListener)
    {
    CLocationExampleEngine* self = new (ELeave) CLocationExampleEngine(aPositionListener);
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::ConstructL()
    {
    iSmsEngine = CLocationExampleSmsEngine::NewL(this);
    iLocationEngine = CLocationExampleLocationEngine::NewL();
    } 

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
CLocationExampleEngine::CLocationExampleEngine(MPositionObserver* aPositionListener) 
: iPositionRequestor(NULL), iPositionListener(aPositionListener), iEngineState(EIdle), 
iSmsEngine(NULL),iLocationEngine(NULL)
    {
    }   

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
CLocationExampleEngine::~CLocationExampleEngine()
    {
    delete iPositionRequestor;
    delete iSmsEngine;
    delete iLocationEngine;
    }


// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::ActivateGpsL()
    {
    // Create and initialise position requestor
    if (!iPositionRequestor)
        {
        iPositionRequestor = CLocationExamplePositionRequestor::NewL(KUpdateInterval,*this);
        SetEngineState(EScanningGps);
        }
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::DeactivateGpsL()
    {
    // Create and initialise position requestor
    if (iPositionRequestor)
        {
        delete iPositionRequestor;
        iPositionRequestor = NULL;
        }
    SetEngineState(EIdle);
    }


// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::PositionUpdatedL(TPositionInfoBase& aPosInfo)
    {
    iPositionListener->PositionUpdatedL(aPosInfo);
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::FriendPositionUpdatedL(const TDesC& aInfo, const TCoordinate& aCoordinate)
    {
    iPositionListener->FriendPositionUpdatedL(aInfo,aCoordinate);
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::ErrorL(const TDesC& aErrorString)
    {
    iPositionListener->ErrorL(aErrorString);
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::MessageL(const TDesC& aMessage)
    {
    iPositionListener->MessageL(aMessage);
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::SetEngineState(TEngineState aNewState)
    {
    iEngineState = aNewState;
    };



// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
TBool CLocationExampleEngine::SendSMSQueryL()
    {
    TBool ret = EFalse;

    HBufC * prompt = CEikonEnv::Static()->AllocReadResourceLC(R_SMS_SEND_LOCATION);
    HBufC * cap = CEikonEnv::Static()->AllocReadResourceLC(R_CAPTION);

    ret =  CEikonEnv::Static()->QueryWinL(*cap,*prompt);

    CleanupStack::PopAndDestroy(cap);
    CleanupStack::PopAndDestroy(prompt);
    return ret;
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
TInt CLocationExampleEngine::NumberQueryL()
    {
    TInt ret = KErrNotReady;
    HBufC * prompt = CEikonEnv::Static()->AllocReadResourceLC(R_GIVE_PHONE_NUMBER);

    CAknTextQueryDialog* dlg = new(ELeave) CAknTextQueryDialog(iPhonenumber, *prompt);
    dlg->SetMaxLength(KQueryStringInputMaxLength);
    if (dlg->ExecuteLD(R_LOCATIONEXAMPLE_ADDRESS_QUERY))
        {
        ret = KErrNone;
        }
    CleanupStack::PopAndDestroy(prompt);
    return ret;
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
//
// Message body: RES E01FF1Cd latitude_value longitude_value
// Message body: REQ E01FF1Cd latitude_value longitude_value
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::DoMessageAndSendL(const TPositionType& aType)
    {
    HBufC* message = HBufC::NewLC(KSMSMessageLength);
    TPtr16 ptr = message->Des();

    // Write postition request type REQUEST or RESPONSE
    if (aType == EPositionResponse)
        {
        ptr.Append(KPosResponse);
        }
    else
        {
        ptr.Append(KPosRequest);
        }
    ptr.Append(KMark);

    // Write App UID to SMS message
    ptr.AppendFormat(_L("%X"),KUidLocationExampleApp.iUid);
    ptr.Append(KMark);
    
    if (iPositionRequestor)
        {
        TPositionInfoBase* pos = iPositionRequestor->CurrentPosition();

        // Check if position information class type is TPositionInfo
        if (pos && pos->PositionClassType() & EPositionInfoClass)
            {
            // Cast the TPositionInfoBase object to TPositionInfo
            TPositionInfo* posInfo = static_cast<TPositionInfo*>(pos);
            // Get basic position data
            TPosition position;
            posInfo->GetPosition(position);

            // If the aDegree is a proper number
            if ( !Math::IsNaN(position.Latitude()) && !Math::IsNaN(position.Longitude()))
                {
                TBuf<KSMSMessageDegreeLength> latStr;
                latStr.Format(_L("%.8f"), position.Latitude());
                ptr.Append(latStr);

                ptr.Append(KMark);
                
                TBuf<KSMSMessageDegreeLength> longStr;
                longStr.Format(_L("%.8f"), position.Longitude());
                ptr.Append(longStr);

                // Send message
                TRAP_IGNORE(iSmsEngine->SendSmsL(iPhonenumber,*message));
                }
            else
                {
                User::Leave(KErrNotReady);
                }
            }
        else
            {
            User::Leave(KErrNotReady);
            }
        }
    else
        {
        User::Leave(KErrNotReady);
        }


    CleanupStack::PopAndDestroy(); //message
    }


// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::MessageSent()
    {
    HBufC* text = CEikonEnv::Static()->AllocReadResourceAsDes16LC(R_SMS_SENT);
    ShowMessageToUser(*text);
    CleanupStack::PopAndDestroy(text);
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::MessageReceived(TDesC& aMsg, TDesC& aAddr)
    {
    // You are reseiving your friend location
    TInt err = iSmsEngine->ParseMsgCoordinates(aMsg,iFriendCoordinate);
    if (!err)
        {
        iPositionListener->FriendPositionUpdatedL(aAddr,iFriendCoordinate);
        }
    }

// -----------------------------------------------------------------------------
// MessageRequested
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::MessageRequested(TDesC& /*aMsg*/, TDesC& aAddr)
    {
    // Your friend ask your location
    // Send your location to number from received SMS request

    // Set SMS requster phone number
    iPhonenumber.Copy(aAddr);

    TBool ret = SendSMSQueryL();
    if (ret)
        {
        TRAP_IGNORE(DoMessageAndSendL(EPositionResponse));
        }
    }



// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::SmsEngineError(TInt aErrorCode)
    {
    TRAP_IGNORE(
        HBufC* text = CEikonEnv::Static()->AllocReadResourceAsDes16LC(R_SMS_ERROR);
        ShowErrorToUser(*text, aErrorCode);
        CleanupStack::PopAndDestroy();
        );
    }
    

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::ShowErrorToUser(const TDesC& aMessage, const TInt aErrorCode)
    {
    const TInt LengthForErrorCode = 10;

    TRAP_IGNORE(
        HBufC* errorText = HBufC::NewLC(aMessage.Length() + LengthForErrorCode);
        TPtr16 ptr = errorText->Des();
        ptr.Copy(aMessage);    
        ptr.AppendFormat(_L("%d"),aErrorCode);

        CAknErrorNote* note = new (ELeave) CAknErrorNote();
        CleanupStack::PushL(note);
        note->SetTextL(*errorText);
        CleanupStack::Pop();
        note->ExecuteLD();

        CleanupStack::PopAndDestroy(errorText);
        );
    }

// -----------------------------------------------------------------------------
// CLocationExampleEngine
// -----------------------------------------------------------------------------
//  
void CLocationExampleEngine::ShowMessageToUser(const TDesC& aMessage)
    {
    TRAP_IGNORE(
        CAknInformationNote* note = new (ELeave) CAknInformationNote();
        CleanupStack::PushL(note);
        note->SetTextL(aMessage);
        CleanupStack::Pop();
        note->ExecuteLD();
        );
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频自拍| 日本一区二区三区电影| 91麻豆免费视频| 成人爽a毛片一区二区免费| 精品亚洲国内自在自线福利| 日本不卡123| 精品一区二区三区的国产在线播放| 青青草97国产精品免费观看无弹窗版 | 青椒成人免费视频| 日本在线播放一区二区三区| 美女网站视频久久| 国产在线一区二区综合免费视频| 麻豆高清免费国产一区| 韩国精品一区二区| 国产成人精品一区二区三区四区| 丰满亚洲少妇av| 99在线精品免费| 欧美日韩久久不卡| 欧美成人激情免费网| 国产亚洲成av人在线观看导航| 国产婷婷色一区二区三区四区 | 国产91在线|亚洲| 不卡一区二区中文字幕| 在线观看欧美日本| 欧美一卡二卡三卡四卡| 久久久不卡网国产精品二区| 中文字幕综合网| 日本aⅴ免费视频一区二区三区| 激情欧美日韩一区二区| 99国产一区二区三精品乱码| 制服.丝袜.亚洲.另类.中文| 国产喂奶挤奶一区二区三区| 亚洲中国最大av网站| 美女国产一区二区三区| 成人午夜碰碰视频| 欧美一区二区三区婷婷月色| 欧美国产日韩一二三区| 亚洲v日本v欧美v久久精品| 国产精品一区2区| 精品视频一区三区九区| 久久久一区二区三区捆绑**| 一区二区视频在线| 国产一区999| 51精品久久久久久久蜜臀| 国产精品网友自拍| 青青草原综合久久大伊人精品 | 成人午夜视频福利| 欧美一级专区免费大片| 亚洲黄色小说网站| 国产乱对白刺激视频不卡| 欧美亚洲精品一区| 中文字幕一区二区三中文字幕| 久久99这里只有精品| 欧美视频一二三区| 中文字幕一区二区三区在线播放 | 最新欧美精品一区二区三区| 麻豆视频一区二区| 欧美性生活久久| 国产精品三级av在线播放| 美女被吸乳得到大胸91| 欧美日韩aaaaaa| 亚洲一区二区三区爽爽爽爽爽| 不卡av在线网| 国产欧美日韩精品一区| 黄色日韩三级电影| 精品欧美久久久| 青青草97国产精品免费观看 | 99精品欧美一区| 日本一区二区三区国色天香| 精品一区二区三区不卡| 日韩一级片网址| 蜜臀av亚洲一区中文字幕| 91精品国产手机| 日韩电影免费在线看| 欧美精品久久99久久在免费线 | 亚洲综合自拍偷拍| 91理论电影在线观看| 国产精品国产自产拍高清av | 亚洲人成网站影音先锋播放| 成人免费av资源| 国产精品视频免费看| 99re热视频精品| 亚洲图片欧美激情| 日本韩国欧美国产| 亚洲午夜久久久久| 欧美日韩免费在线视频| 免费欧美在线视频| 欧美精品一区二区久久婷婷 | 日本韩国欧美一区| 亚洲一区二区三区四区五区黄| 欧美日韩你懂的| 美女网站一区二区| 国产欧美一区二区三区网站| av在线这里只有精品| 亚洲激情图片小说视频| 欧美丰满嫩嫩电影| 国产一区欧美二区| 亚洲精品国产一区二区精华液| 欧美三级乱人伦电影| 久久99精品久久久久久久久久久久| wwwwxxxxx欧美| 93久久精品日日躁夜夜躁欧美| 亚洲图片欧美一区| 26uuu国产日韩综合| 91色九色蝌蚪| 免费一级欧美片在线观看| 国产欧美日韩另类一区| 欧美午夜一区二区| 激情综合网av| 亚洲精品水蜜桃| 精品少妇一区二区三区视频免付费| 处破女av一区二区| 午夜精品福利一区二区三区av| 精品久久久久99| 色综合色狠狠综合色| 久久99久久精品欧美| 自拍偷自拍亚洲精品播放| 日韩一区二区三区三四区视频在线观看| 国产精品一区二区三区99| 一区二区三区电影在线播| 精品精品国产高清a毛片牛牛 | 欧美va在线播放| 91美女在线观看| 国产精品影视在线| 午夜精品久久久久影视| 国产精品久久久久永久免费观看 | 日韩精品在线一区二区| 91国产成人在线| 成人av中文字幕| 久久精品国产久精国产爱| 一区二区三区日韩欧美精品| 欧美国产一区二区| 精品欧美黑人一区二区三区| 欧美日韩国产一级片| 色综合天天综合网国产成人综合天| 久草热8精品视频在线观看| 污片在线观看一区二区| 亚洲人成在线观看一区二区| 国产欧美视频一区二区三区| 日韩区在线观看| 91麻豆精品国产91久久久久久久久| 不卡影院免费观看| 岛国av在线一区| 国产福利91精品一区| 六月丁香综合在线视频| 青椒成人免费视频| 日韩高清不卡一区二区| 五月天一区二区| 午夜视黄欧洲亚洲| 日日夜夜精品视频免费| 亚洲福中文字幕伊人影院| 国产米奇在线777精品观看| 秋霞av亚洲一区二区三| 三级精品在线观看| 日日摸夜夜添夜夜添国产精品| 亚洲综合免费观看高清在线观看| 一区二区三区不卡视频| 亚洲中国最大av网站| 天堂蜜桃一区二区三区| 日本女人一区二区三区| 麻豆国产欧美日韩综合精品二区 | 国产精品久久久久aaaa| 中文字幕免费不卡在线| 中文字幕一区二区三区四区 | 久久一留热品黄| 日本一区二区三区视频视频| 国产精品国产自产拍在线| 亚洲精品国产无套在线观| 亚洲一区二区三区精品在线| 五月综合激情网| 国产一区二区调教| 91亚洲国产成人精品一区二区三| 91老师片黄在线观看| 欧美精品一卡两卡| 精品国产乱码久久久久久图片| 国产色产综合色产在线视频| 中文字幕一区二区三区在线播放 | 日韩欧美久久久| 国产亚洲人成网站| 亚洲自拍偷拍综合| 精品无人区卡一卡二卡三乱码免费卡| 国产寡妇亲子伦一区二区| 91丨porny丨在线| 91精品国产高清一区二区三区 | 色婷婷一区二区三区四区| 欧美精品 国产精品| 久久女同性恋中文字幕| 亚洲精品成人在线| 久久av资源网| 91久久奴性调教| 久久综合视频网| 亚洲资源在线观看| 国产成人午夜高潮毛片| 欧美日韩在线观看一区二区| 久久人人超碰精品| 亚洲国产精品天堂| 成人免费看黄yyy456| 91精品国产一区二区三区| 国产精品国产三级国产三级人妇 | 蜜臀av一区二区在线观看 |