EngInc/IESensorMonitor.h
author jkauppin
Fri, 15 Oct 2010 10:18:29 +0900
changeset 3 93fff7023be8
permissions -rw-r--r--
Initial version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     1
/*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     3
* All rights reserved.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     4
* This component and the accompanying materials are made available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     6
* which accompanies this distribution, and is available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     8
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     9
* Initial Contributors:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    11
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    12
* Contributors: Juha Kauppinen, Mika Hokkanen
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    13
* 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    14
* Description: Photo Browser
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    15
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    16
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    17
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    18
#ifndef __IESensorMonitor_H__
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    19
#define __IESensorMonitor_H__
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    20
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    21
// INCLUDES
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    22
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    23
#include <e32base.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    24
#include <e32uid.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    25
#include "ImagicConsts.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    26
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    27
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    28
#define SENSOR_API_LOAD_DYNAMICALLY
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    29
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    30
#include "RRSensorApi.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    31
#include "IESensorDataFilter.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    32
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    33
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    34
#ifdef _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    35
    #include <sensrvproperty.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    36
    #include <sensrvtypes.h> 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    37
    #include <sensrvchannelfinder.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    38
    #include <sensrvchannel.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    39
    #include <sensrvgeneralproperties.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    40
    //#include <sensrvmagnetometersensor.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    41
    #include <sensrvaccelerometersensor.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    42
    #include <sensrvorientationsensor.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    43
    #include <sensrvdatalistener.h> 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    44
//#include <sensrvtappingsensor.h> 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    45
#endif 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    46
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    47
//#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    48
#ifdef _ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    49
enum TImagicDeviceOrientation
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    50
	{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    51
	EOrientationDisplayUp = 1,// Portrait Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    52
	EOrientationDisplayDown,// Portrait Down
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    53
	EOrientationDisplayLeftUp,// Landscape Down
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    54
	EOrientationDisplayRigthUp// Landscape Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    55
	};
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    56
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    57
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    58
#ifdef _ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    59
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    60
class MIESensorMonitorObserver
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    61
{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    62
public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    63
    virtual void SensorDataAvailable(TImagicDeviceOrientation aOrientation, TBool aValue) = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    64
    virtual void SetImageRotation(TInt aIndex) = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    65
};
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    66
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    67
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    68
    class CIESensorMonitor : public MRRSensorDataListener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    69
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    70
#ifdef _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    71
    class CIESensorMonitor : public MSensrvDataListener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    72
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    73
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    74
    public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    75
        static CIESensorMonitor* NewL(MIESensorMonitorObserver& aSensorObserver);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    76
        ~CIESensorMonitor();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    77
 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    78
    private:         
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    79
        void ConstructL();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    80
        CIESensorMonitor(MIESensorMonitorObserver& aSensorObserver);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    81
    public:    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    82
        void StartMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    83
        void StopMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    84
    protected:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    85
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    86
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    87
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    88
        void HandleDataEventL(TRRSensorInfo aSensor, TRRSensorEvent aEvent);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    89
#endif  
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    90
#ifdef _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    91
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    92
   		void DataReceived( CSensrvChannel& aChannel, TInt aCount, TInt aDataLost );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    93
    	void DataError( CSensrvChannel& aChannel, TSensrvErrorSeverity aError );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    94
    	void GetDataListenerInterfaceL( TUid /*aInterfaceUid*/, TAny*& /*aInterface*/ ){};
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    95
    	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    96
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    97
    	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    98
    private: 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    99
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   100
        MIESensorMonitorObserver& iSensorObserver;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   101
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   102
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   103
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   104
		// S60 3x Code
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   105
		RArray <TRRSensorInfo> iSensorList;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   106
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   107
#ifdef SENSOR_API_LOAD_DYNAMICALLY
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   108
        RLibrary iSensorApi;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   109
#endif //SENSOR_API_LOAD_DYNAMICALLY
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   110
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   111
        CRRSensorApi* iAccelerometerSensor;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   112
		TInt	iAccelerometerSensorIndex;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   113
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   114
        TInt iAccSensorDataX;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   115
        TInt iAccSensorDataY;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   116
        TInt iAccSensorDataZ;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   117
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   118
        CIESensorDataFilter* iSensorDataFilterX;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   119
        CIESensorDataFilter* iSensorDataFilterY;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   120
        CIESensorDataFilter* iSensorDataFilterZ;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   121
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   122
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   123
            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   124
#ifdef _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   125
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   126
        CSensrvChannelFinder*	iSensrvChannelFinder;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   127
        RSensrvChannelInfoList  iChannelInfoList;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   128
        CSensrvChannel*			iSensrvSensorChannel;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   129
    	TInt					iUpdateInterval;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   130
    	//TUint32					iDataCount,iDataLostCount;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   131
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   132
    };
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   133
#endif//_ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   134
  
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   135
#endif // __IESensorMonitor_H__
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   136