/*
* TelInfoInterfejs.inf
* Autor: Pawe Gala
*/

#ifndef __TELINFOINTERFEJS_H__
#define __TELINFOINTERFEJS_H__

#include <e32base.h>

_LIT( KTelInfoPolyDll, "TelInfoPoly.dll" );

const TInt KTelInfoUidValue = 0x10004262;
const TUid KTelInfoUid = { KTelInfoUidValue };


class CTelInfoInterfejs : public CBase
    {
public:
    /**
    * Konstruktor drugiej fazy. Musi zosta wywoany przez klienta (proces adujcy) 
          * przed uyciem metod interfejsu.
    */
    virtual void ConstructL() = 0;

    /**
    * Pobiera nazw producenta urzdzenia mobilnego.
    *
    * @param aProducent Deskryptor o dugoci 
    * CTelephony::KPhoneManufacturerIdSize
    *
    * @return Jeden ze zdefiniowanych kodw bdu
    */
    virtual TInt Producent( TDes& aProducent ) = 0;
    
    /**
    * Pobiera model urzdzenia mobilnego.
    *
    * @param aModel Deskryptor o dugoci CTelephony::KPhoneModelIdSize
    *
    * @return Jeden ze zdefiniowanych kodw bdu
    */
    virtual TInt Model( TDes& aModel ) = 0;

    /**
    * Pobiera numer seryjny urzdzenia mobilnego (IMEI).
    *
    * @param aImei Deskryptor o dugoci CTelephony::KPhoneSerialNumberSize
    *
    * @return Jeden ze zdefiniowanych kodw bdu
    */    
    virtual TInt Imei( TDes& aImei ) = 0;
    
    /**
    * Pobiera numer seryjny karty SIM (IMSI).
    *
    * @param aImsi Deskryptor o dugoci CTelephony::KIMSISize
    *
    * @return Jeden ze zdefiniowanych kodw bdu
    */    
    virtual TInt Imsi( TDes& aImsi ) = 0;
    };

#endif    // __TELINFOINTERFEJS_H__
