EngInc/rrsensorapi.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 RRSENSORAPI_H
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    19
#define RRSENSORAPI_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
#include <e32std.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    23
#include <e32base.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    24
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    25
const TInt KMaxSensorName = 128;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    26
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    27
// CLASS DECLARATION
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    28
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    29
/**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    30
*  TRRSensorInfo.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    31
*  Contains info of sensor
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    32
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    33
*  iSensorId identifies individual sensors
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    34
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    35
*  iSensorCategory can have following values:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    36
*  0x10010FFF for sensor server internal sensors and
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    37
*  0x10010321 for external sensors.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    38
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    39
*  iSensorName contains string name of sensor. This
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    40
*  can be used e.g. to show name of sensor to user.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    41
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    42
*  @lib rrsensorapi.lib
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    43
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    44
class TRRSensorInfo
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    45
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    46
    public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    47
    TInt iSensorCategory;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    48
    TInt iSensorId;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    49
    TBuf<KMaxSensorName> iSensorName;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    50
    };
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    51
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    52
/**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    53
*  TRRSensorEvent
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    54
*  Data obtained from sensor 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    55
*  --------------------------------------------------------------------------
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    56
*  E.g. to sensor server internal Accelerator sensor id: 0x10273024
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    57
*  these fields contain following information:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    58
*  iSensorData1 = acceleration in axis X
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    59
*  iSensorData2 = acceleration in axis Y
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    60
*  iSensorData3 = acceleration in axis Z
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    61
*  --------------------------------------------------------------------------
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    62
*  Data from external sensors may vary.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    63
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    64
*  @lib rrsensorapi.lib
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    65
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    66
class TRRSensorEvent
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    67
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    68
    public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    69
    TInt iSensorData1;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    70
    TInt iSensorData2;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    71
    TInt iSensorData3;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    72
    };
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    73
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    74
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    75
/**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    76
*  MRRSensorDataListener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    77
*  Callback function for receiving sensor
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    78
*  data events
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    79
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    80
*  TRRSensorInfo identifies sensor that created the event.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    81
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    82
*  TTRRSensorEvent contains data about created event.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    83
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    84
*  @lib rrsensorapi.lib
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    85
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    86
class MRRSensorDataListener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    87
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    88
    public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    89
        virtual void HandleDataEventL( TRRSensorInfo aSensor, 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    90
                                       TRRSensorEvent aEvent ) = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    91
    };
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    92
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    93
/**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    94
*  CRRSensorApi
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    95
*  User access to sensor server
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    96
*  data events
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    97
*  @lib rrsensorapi.lib
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    98
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    99
class CRRSensorApi : public CBase
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   100
{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   101
public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   102
    /**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   103
    * Create new sensor access
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   104
    * @param TRRSensorInfo identifing desired sensor.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   105
    * @return CRRSensorApi*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   106
    */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   107
	IMPORT_C static CRRSensorApi* NewL( TRRSensorInfo aSensor );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   108
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   109
    /**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   110
    * Retrieve list of available sensors
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   111
    * @param RArray<TRRSensorInfo>& upon completion
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   112
    *        contains list of available sensors.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   113
    * @return void
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   114
    */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   115
    IMPORT_C static void FindSensorsL( RArray<TRRSensorInfo>& aSensorInfoArray );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   116
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   117
    /**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   118
    * Register data listener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   119
    * @param MRRSensorDataListener* register this pointer as sensor
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   120
    *        event listener.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   121
    * @return void
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   122
    */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   123
    virtual void AddDataListener( MRRSensorDataListener* aListener ) = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   124
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   125
    /**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   126
    * Remove data listener
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   127
    * @param void
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   128
    * @return void
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   129
    */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   130
    virtual void RemoveDataListener() = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   131
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   132
    /**
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   133
    * Send sensor specific command.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   134
    * This feature is intended for future use and
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   135
    * is not currently supported.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   136
    *
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   137
    * @param TInt& aCommand identify of command.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   138
    *        TInt& aValue desired value for command.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   139
    * @return TInt error code
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   140
    */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   141
	virtual TInt SensorCommand( TInt& aCommand, TInt& aValue ) = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   142
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   143
};
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   144
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   145
#endif  //RRSENSORAPI_H
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   146
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   147
//  End of File