44 #include <QStringList> |
44 #include <QStringList> |
45 #include <QDir> |
45 #include <QDir> |
46 #include <QRegExp> |
46 #include <QRegExp> |
47 #include <QTimer> |
47 #include <QTimer> |
48 |
48 |
49 #include <SysUtil.h> |
49 #include <sysutil.h> |
50 #include <ptiengine.h> |
50 #include <PtiEngine.h> |
51 #include <FeatDiscovery.h> |
51 #include <featdiscovery.h> |
52 #ifndef KFeatureIdMmc |
52 #ifndef KFeatureIdMmc |
53 #include <featureinfo.h> |
53 #include <featureinfo.h> |
54 #endif |
54 #endif |
55 #include <hwrmvibra.h> |
55 #include <hwrmvibra.h> |
56 #include <AknUtils.h> |
56 #include <AknUtils.h> |
57 #include <W32STD.H> |
57 #include <w32std.h> |
58 #include <centralrepository.h> |
58 #include <centralrepository.h> |
59 #include <mproengengine.h> |
59 #include <MProEngEngine.h> |
60 #include <proengfactory.h> |
60 #include <ProEngFactory.h> |
61 #include <mproengnotifyhandler.h> |
61 #include <MProEngNotifyHandler.h> |
62 #include <btserversdkcrkeys.h> |
62 #include <btserversdkcrkeys.h> |
63 #include <bt_subscribe.h> |
63 #include <bt_subscribe.h> |
64 #include <bttypes.h> |
64 #include <bttypes.h> |
65 #include <Etel3rdParty.h> |
65 #include <etel3rdparty.h> |
66 #include <aknkeylock.h> |
66 #include <aknkeylock.h> |
67 |
67 |
68 QTM_BEGIN_NAMESPACE |
68 QTM_BEGIN_NAMESPACE |
69 |
69 |
70 //////// QSystemInfo |
|
71 QSystemInfoPrivate::QSystemInfoPrivate(QObject *parent) |
70 QSystemInfoPrivate::QSystemInfoPrivate(QObject *parent) |
72 : QObject(parent) |
71 : QObject(parent) |
73 { |
72 { |
74 } |
73 } |
75 |
74 |
299 bool isFeatureSupported = false; |
298 bool isFeatureSupported = false; |
300 TRAP_IGNORE(isFeatureSupported = CFeatureDiscovery::IsFeatureSupportedL(featureId);) |
299 TRAP_IGNORE(isFeatureSupported = CFeatureDiscovery::IsFeatureSupportedL(featureId);) |
301 return isFeatureSupported; |
300 return isFeatureSupported; |
302 } |
301 } |
303 |
302 |
304 //////// QSystemNetworkInfo |
|
305 QSystemNetworkInfoPrivate::QSystemNetworkInfoPrivate(QObject *parent) |
303 QSystemNetworkInfoPrivate::QSystemNetworkInfoPrivate(QObject *parent) |
306 : QObject(parent) |
304 : QObject(parent) |
307 { |
305 { |
308 DeviceInfo::instance()->cellSignalStrenghtInfo()->addObserver(this); |
306 DeviceInfo::instance()->cellSignalStrenghtInfo()->addObserver(this); |
309 DeviceInfo::instance()->cellNetworkInfo()->addObserver(this); |
307 DeviceInfo::instance()->cellNetworkInfo()->addObserver(this); |
329 |
327 |
330 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
328 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
331 if (networkMode == CTelephony::ENetworkModeGsm && mode != QSystemNetworkInfo::GsmMode) |
329 if (networkMode == CTelephony::ENetworkModeGsm && mode != QSystemNetworkInfo::GsmMode) |
332 return QSystemNetworkInfo::NoNetworkAvailable; |
330 return QSystemNetworkInfo::NoNetworkAvailable; |
333 |
331 |
334 if ((networkMode == CTelephony::ENetworkModeCdma95 || networkMode == CTelephony::ENetworkModeCdma2000) && |
332 if ((networkMode == CTelephony::ENetworkModeCdma95 || networkMode == CTelephony::ENetworkModeCdma2000) && |
335 mode != QSystemNetworkInfo::CdmaMode) |
333 mode != QSystemNetworkInfo::CdmaMode) |
336 return QSystemNetworkInfo::NoNetworkAvailable; |
334 return QSystemNetworkInfo::NoNetworkAvailable; |
337 |
335 |
338 if (networkMode == CTelephony::ENetworkModeWcdma && mode != QSystemNetworkInfo::WcdmaMode) |
336 if (networkMode == CTelephony::ENetworkModeWcdma && mode != QSystemNetworkInfo::WcdmaMode) |
339 return QSystemNetworkInfo::NoNetworkAvailable; |
337 return QSystemNetworkInfo::NoNetworkAvailable; |
479 } |
477 } |
480 case QSystemNetworkInfo::BluetoothMode: |
478 case QSystemNetworkInfo::BluetoothMode: |
481 { |
479 { |
482 TBuf<20> bluetoothAddr; |
480 TBuf<20> bluetoothAddr; |
483 TPckgBuf<TBTDevAddr> bluetoothAddrPckg; |
481 TPckgBuf<TBTDevAddr> bluetoothAddrPckg; |
484 if (RProperty::Get(KUidSystemCategory, |
482 if (RProperty::Get(KUidSystemCategory, |
485 KPropertyKeyBluetoothGetLocalDeviceAddress, bluetoothAddrPckg) == KErrNone) { |
483 KPropertyKeyBluetoothGetLocalDeviceAddress, bluetoothAddrPckg) == KErrNone) { |
486 bluetoothAddrPckg().GetReadable(bluetoothAddr, KNullDesC, _L(":"), KNullDesC); |
484 bluetoothAddrPckg().GetReadable(bluetoothAddr, KNullDesC, _L(":"), KNullDesC); |
487 address = QString::fromUtf16(bluetoothAddr.Ptr(), bluetoothAddr.Length()); |
485 address = QString::fromUtf16(bluetoothAddr.Ptr(), bluetoothAddr.Length()); |
488 } |
486 } |
489 break; |
487 break; |
514 emit currentMobileNetworkCodeChanged(DeviceInfo::instance()->cellNetworkInfo()->networkCode()); |
512 emit currentMobileNetworkCodeChanged(DeviceInfo::instance()->cellNetworkInfo()->networkCode()); |
515 } |
513 } |
516 |
514 |
517 void QSystemNetworkInfoPrivate::networkNameChanged() |
515 void QSystemNetworkInfoPrivate::networkNameChanged() |
518 { |
516 { |
|
517 emit networkNameChanged(currentMode(), DeviceInfo::instance()->cellNetworkInfo()->networkName()); |
|
518 } |
|
519 |
|
520 void QSystemNetworkInfoPrivate::networkModeChanged() |
|
521 { |
|
522 emit networkModeChanged(currentMode()); |
|
523 } |
|
524 |
|
525 void QSystemNetworkInfoPrivate::cellNetworkSignalStrengthChanged() |
|
526 { |
|
527 emit networkSignalStrengthChanged(currentMode(), |
|
528 DeviceInfo::instance()->cellSignalStrenghtInfo()->cellNetworkSignalStrength()); |
|
529 } |
|
530 |
|
531 void QSystemNetworkInfoPrivate::cellNetworkStatusChanged() |
|
532 { |
|
533 QSystemNetworkInfo::NetworkMode mode = currentMode(); |
|
534 emit networkStatusChanged(mode, networkStatus(mode)); |
|
535 } |
|
536 |
|
537 QSystemNetworkInfo::NetworkMode QSystemNetworkInfoPrivate::currentMode() |
|
538 { |
519 QSystemNetworkInfo::NetworkMode mode = QSystemNetworkInfo::UnknownMode; |
539 QSystemNetworkInfo::NetworkMode mode = QSystemNetworkInfo::UnknownMode; |
520 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
540 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
521 switch (networkMode) { |
541 switch (networkMode) { |
522 case CTelephony::ENetworkModeGsm: mode = QSystemNetworkInfo::GsmMode; break; |
542 case CTelephony::ENetworkModeGsm: mode = QSystemNetworkInfo::GsmMode; break; |
523 case CTelephony::ENetworkModeCdma95: |
543 case CTelephony::ENetworkModeCdma95: |
524 case CTelephony::ENetworkModeCdma2000: mode = QSystemNetworkInfo::CdmaMode; break; |
544 case CTelephony::ENetworkModeCdma2000: mode = QSystemNetworkInfo::CdmaMode; break; |
525 case CTelephony::ENetworkModeWcdma: mode = QSystemNetworkInfo::WcdmaMode; break; |
545 case CTelephony::ENetworkModeWcdma: mode = QSystemNetworkInfo::WcdmaMode; break; |
526 default: |
546 default: |
527 break; |
547 break; |
528 } |
548 } |
529 emit networkNameChanged(mode, DeviceInfo::instance()->cellNetworkInfo()->networkName()); |
549 return mode; |
530 } |
550 } |
531 |
551 |
532 void QSystemNetworkInfoPrivate::networkModeChanged() |
|
533 { |
|
534 QSystemNetworkInfo::NetworkMode newMode = QSystemNetworkInfo::UnknownMode; |
|
535 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
|
536 switch (networkMode) { |
|
537 case CTelephony::ENetworkModeGsm: newMode = QSystemNetworkInfo::GsmMode; break; |
|
538 case CTelephony::ENetworkModeCdma95: |
|
539 case CTelephony::ENetworkModeCdma2000: newMode = QSystemNetworkInfo::CdmaMode; break; |
|
540 case CTelephony::ENetworkModeWcdma: newMode = QSystemNetworkInfo::WcdmaMode; break; |
|
541 default: |
|
542 break; |
|
543 } |
|
544 emit networkModeChanged(newMode); |
|
545 } |
|
546 |
|
547 void QSystemNetworkInfoPrivate::cellNetworkSignalStrengthChanged() |
|
548 { |
|
549 QSystemNetworkInfo::NetworkMode mode = QSystemNetworkInfo::UnknownMode; |
|
550 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
|
551 switch (networkMode) { |
|
552 case CTelephony::ENetworkModeGsm: mode = QSystemNetworkInfo::GsmMode; break; |
|
553 case CTelephony::ENetworkModeCdma95: |
|
554 case CTelephony::ENetworkModeCdma2000: mode = QSystemNetworkInfo::CdmaMode; break; |
|
555 case CTelephony::ENetworkModeWcdma: mode = QSystemNetworkInfo::WcdmaMode; break; |
|
556 default: |
|
557 break; |
|
558 } |
|
559 emit networkSignalStrengthChanged(mode, |
|
560 DeviceInfo::instance()->cellSignalStrenghtInfo()->cellNetworkSignalStrength()); |
|
561 } |
|
562 |
|
563 void QSystemNetworkInfoPrivate::cellNetworkStatusChanged() |
|
564 { |
|
565 QSystemNetworkInfo::NetworkMode mode = QSystemNetworkInfo::UnknownMode; |
|
566 CTelephony::TNetworkMode networkMode = DeviceInfo::instance()->cellNetworkInfo()->networkMode(); |
|
567 switch (networkMode) { |
|
568 case CTelephony::ENetworkModeGsm: mode = QSystemNetworkInfo::GsmMode; break; |
|
569 case CTelephony::ENetworkModeCdma95: |
|
570 case CTelephony::ENetworkModeCdma2000: mode = QSystemNetworkInfo::CdmaMode; break; |
|
571 case CTelephony::ENetworkModeWcdma: mode = QSystemNetworkInfo::WcdmaMode; break; |
|
572 default: |
|
573 break; |
|
574 } |
|
575 |
|
576 emit networkStatusChanged(mode, networkStatus(mode)); |
|
577 } |
|
578 |
|
579 //////// QSystemDisplayInfo |
|
580 QSystemDisplayInfoPrivate::QSystemDisplayInfoPrivate(QObject *parent) |
552 QSystemDisplayInfoPrivate::QSystemDisplayInfoPrivate(QObject *parent) |
581 : QObject(parent) |
553 : QObject(parent) |
582 { |
554 { |
583 } |
555 } |
584 |
556 |
730 if (driveInfo.iType == EMediaRemote) { |
701 if (driveInfo.iType == EMediaRemote) { |
731 return QSystemStorageInfo::RemoteDrive; |
702 return QSystemStorageInfo::RemoteDrive; |
732 } else if (driveInfo.iType == EMediaCdRom) { |
703 } else if (driveInfo.iType == EMediaCdRom) { |
733 return QSystemStorageInfo::CdromDrive; |
704 return QSystemStorageInfo::CdromDrive; |
734 } |
705 } |
735 |
706 |
736 if (driveInfo.iDriveAtt & KDriveAttInternal) { |
707 if (driveInfo.iDriveAtt & KDriveAttInternal) { |
737 return QSystemStorageInfo::InternalDrive; |
708 return QSystemStorageInfo::InternalDrive; |
738 } else if (driveInfo.iDriveAtt & KDriveAttRemovable) { |
709 } else if (driveInfo.iDriveAtt & KDriveAttRemovable) { |
739 return QSystemStorageInfo::RemovableDrive; |
710 return QSystemStorageInfo::RemovableDrive; |
740 } |
711 } |
741 |
712 |
742 return QSystemStorageInfo::NoDrive; |
713 return QSystemStorageInfo::NoDrive; |
743 }; |
714 }; |
744 |
715 |
745 |
|
746 //////// QSystemDeviceInfo |
|
747 QSystemDeviceInfoPrivate::QSystemDeviceInfoPrivate(QObject *parent) |
716 QSystemDeviceInfoPrivate::QSystemDeviceInfoPrivate(QObject *parent) |
748 : QObject(parent), m_profileEngine(NULL), m_proEngNotifyHandler(NULL), |
717 : QObject(parent), m_profileEngine(NULL), m_proEngNotifyHandler(NULL), |
749 m_bluetoothRepository(NULL), m_bluetoothNotifyHandler(NULL) |
718 m_bluetoothRepository(NULL), m_bluetoothNotifyHandler(NULL) |
750 { |
719 { |
751 DeviceInfo::instance()->batteryInfo()->addObserver(this); |
720 DeviceInfo::instance()->batteryInfo()->addObserver(this); |
977 } |
946 } |
978 |
947 |
979 void QSystemDeviceInfoPrivate::batteryLevelChanged() |
948 void QSystemDeviceInfoPrivate::batteryLevelChanged() |
980 { |
949 { |
981 emit batteryLevelChanged(batteryLevel()); |
950 emit batteryLevelChanged(batteryLevel()); |
982 |
951 |
983 int batteryLevel = DeviceInfo::instance()->batteryInfo()->batteryLevel(); |
952 int batteryLevel = DeviceInfo::instance()->batteryInfo()->batteryLevel(); |
984 QSystemDeviceInfo::BatteryStatus status(batteryStatus()); |
953 QSystemDeviceInfo::BatteryStatus status(batteryStatus()); |
985 |
954 |
986 if(batteryLevel < 4 && status != QSystemDeviceInfo::BatteryCritical) { |
955 if(batteryLevel < 4 && status != QSystemDeviceInfo::BatteryCritical) { |
987 emit batteryStatusChanged(QSystemDeviceInfo::BatteryCritical); |
956 emit batteryStatusChanged(QSystemDeviceInfo::BatteryCritical); |
988 } else if (batteryLevel < 11 && status != QSystemDeviceInfo::BatteryVeryLow) { |
957 } else if (batteryLevel < 11 && status != QSystemDeviceInfo::BatteryVeryLow) { |
989 emit batteryStatusChanged(QSystemDeviceInfo::BatteryVeryLow); |
958 emit batteryStatusChanged(QSystemDeviceInfo::BatteryVeryLow); |
990 } else if (batteryLevel < 41 && status != QSystemDeviceInfo::BatteryLow) { |
959 } else if (batteryLevel < 41 && status != QSystemDeviceInfo::BatteryLow) { |