00001 #ifndef QVIBRAPRIVATE_H
00002 #define QVIBRAPRIVATE_H
00003
00004 #include <QTimer>
00005 #include "qvibra.h"
00006 #include <e32base.h>
00007 #include <HWRMVibra.h>
00008
00009 class QVibraPrivate : public CBase, public MHWRMVibraObserver
00010 {
00011 public:
00012 static QVibraPrivate* NewL(QVibra *aPublicAPI = 0);
00013 virtual ~QVibraPrivate();
00014
00015 public:
00016 bool start(int duration = QVibra::InfiniteDuration, int intensity=QVibra::MaxIntensity);
00017 bool stop();
00018
00019 QVibra::Status currentStatus() const;
00020 QVibra::Error error() const;
00021 void reserve();
00022 void release();
00023
00024 private:
00025 virtual void VibraModeChanged(CHWRMVibra::TVibraModeState aStatus);
00026 virtual void VibraStatusChanged(CHWRMVibra::TVibraStatus aStatus);
00027
00028
00029 private:
00030 QVibraPrivate(QVibra *aPublicAPI);
00031 void ConstructL();
00032 CHWRMVibra* iVibra;
00033 QVibra* iPublicQVibra;
00034 QVibra::Status iStatus;
00035 QTimer iTimer;
00036 int iDuration;
00037 int iError;
00038 };
00039 #endif