uiacceltk/hitchcock/backgroundanim/src/sensor.cpp
changeset 64 9f8c0686fb49
equal deleted inserted replaced
-1:000000000000 64:9f8c0686fb49
       
     1 #include <sensrvaccelerometersensor.h>
       
     2 
       
     3 #include "sensor.h"
       
     4 
       
     5 
       
     6 CSensorListener* CSensorListener::NewL(MSensrvDataListener* aDataListener, TUint32 aSensorType)
       
     7     {
       
     8     CSensorListener* self = new (ELeave) CSensorListener(aDataListener);
       
     9     CleanupStack::PushL(self);
       
    10     self->ConstructL(aSensorType);
       
    11     CleanupStack::Pop();
       
    12     return self;    
       
    13     }
       
    14     
       
    15 void CSensorListener::ConstructL(TUint32 aSensorType)
       
    16     {
       
    17     CSensrvChannelFinder* sensrvChannelFinder = CSensrvChannelFinder::NewLC();
       
    18  
       
    19     RSensrvChannelInfoList channelInfoList;
       
    20     CleanupClosePushL(channelInfoList);
       
    21  
       
    22     TSensrvChannelInfo mySearchConditions;
       
    23  
       
    24     mySearchConditions.iChannelType = aSensorType;
       
    25     
       
    26     sensrvChannelFinder->FindChannelsL(channelInfoList,mySearchConditions);
       
    27  
       
    28     if (channelInfoList.Count())
       
    29         {
       
    30         iSensrvChannel = CSensrvChannel::NewL(channelInfoList[0]);
       
    31         }
       
    32  
       
    33     channelInfoList.Close();
       
    34     CleanupStack::Pop( &channelInfoList );
       
    35     CleanupStack::PopAndDestroy( sensrvChannelFinder );
       
    36     }
       
    37     
       
    38 CSensorListener::CSensorListener(MSensrvDataListener* aDataListener) : iDataListener(aDataListener)
       
    39     {
       
    40     }
       
    41     
       
    42 CSensorListener::~CSensorListener()
       
    43     {
       
    44     StopListening();        
       
    45     delete iSensrvChannel;
       
    46     
       
    47     iSensrvChannel = NULL;
       
    48     }
       
    49 
       
    50 void CSensorListener::StopListening()
       
    51     {
       
    52     if (iSensrvChannel && iListening)
       
    53         {
       
    54         iSensrvChannel->StopDataListening();
       
    55         iSensrvChannel->CloseChannel();
       
    56         iListening = EFalse;
       
    57         }
       
    58     }
       
    59     
       
    60 void CSensorListener::StartListeningL()
       
    61     {
       
    62     if (iSensrvChannel && !iListening)
       
    63         {
       
    64         iSensrvChannel->OpenChannelL();    
       
    65         iSensrvChannel->StartDataListeningL( iDataListener, 5,10,0);
       
    66         iListening = ETrue;
       
    67         }
       
    68     }
       
    69     
       
    70 
       
    71         
       
    72 
       
    73