remotemgmt_plat/syncml_ds_customization_api/tsrc/synchconfigvalidator/customdatasynchdeviceinfo.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:04:06 +0300
branchRCL_3
changeset 25 b183ec05bd8c
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*
*/

#ifndef CIMEIREADER_H
#define CIMEIREADER_H

#include <exception>
#include <e32base.h>
#include <Etel3rdParty.h>

class CDeviceInfo : public CActive
{
public:
    enum States
    {
        EModel, 
        EManufacturer, 
        ESerialnumber,
    };
    
    static CDeviceInfo* NewL();
    static CDeviceInfo* NewLC();
    ~CDeviceInfo();

    TBuf<CTelephony::KPhoneSerialNumberSize> imei();
    TBuf<CTelephony::KPhoneModelIdSize> model();
    TBuf<CTelephony::KPhoneManufacturerIdSize> manufacturer();
    TBuf<CTelephony::KIMSISize> imsi();
    TUint batteryLevel();
    TInt32 signalStrength();
    
protected:  
    void DoCancel();
    void RunL();
    
private:
    CDeviceInfo();
    void ConstructL();

private:
    CTelephony*                 iTelephony;
        
    CTelephony::TBatteryInfoV1Pckg iBatteryInfoV1Pkg; 
    CTelephony::TBatteryInfoV1 iBatteryInfoV1;
    
    CTelephony::TPhoneIdV1      iPhoneIdV1;    
    CTelephony::TPhoneIdV1Pckg  iPhoneIdV1Pkg;
        
    CTelephony::TSignalStrengthV1Pckg iSignalStrengthV1Pckg; 
    CTelephony::TSignalStrengthV1 iSignalStrengthV1;
    
    CTelephony::TSubscriberIdV1Pckg iSubscriberIdV1Pckg;
    CTelephony::TSubscriberIdV1 iSubscriberIdV1; 
    
    CActiveSchedulerWait *iWait;
    
    bool phoneIdFetched;
};

#endif /* CIMEIREADER_H */