sensorservices/orientationssy/src/SsyOrientation.cpp
branchRCL_3
changeset 22 8cb079868133
parent 21 ccb4f6b3db21
equal deleted inserted replaced
21:ccb4f6b3db21 22:8cb079868133
   184 //
   184 //
   185 
   185 
   186 void CSSYOrientation::ConstructL()
   186 void CSSYOrientation::ConstructL()
   187     {
   187     {
   188     iRepository = CRepository::NewL( KCRUidOrientationSsySettings );
   188     iRepository = CRepository::NewL( KCRUidOrientationSsySettings );
   189      User::LeaveIfError(CreateConfigurations());
   189     CreateConfigurations();
   190     
   190     
   191 #ifdef AUTO_ORIENTAION_TEST
   191 #ifdef AUTO_ORIENTAION_TEST
   192     iCRListener = CSsyOrientationCRListener::NewL( *this, iRepository );
   192     iCRListener = CSsyOrientationCRListener::NewL( *this, iRepository );
   193 #endif
   193 #endif
   194     }
   194     }
  1088 
  1088 
  1089 // ----------------------------------------------------------------------------------
  1089 // ----------------------------------------------------------------------------------
  1090 // CSSYOrientation::SetConfigurationForState()
  1090 // CSSYOrientation::SetConfigurationForState()
  1091 // ----------------------------------------------------------------------------------
  1091 // ----------------------------------------------------------------------------------
  1092 //
  1092 //
  1093 TInt CSSYOrientation::SetConfigurationForState(
  1093 void CSSYOrientation::SetConfigurationForState(
  1094  const TOrientationConfiguration& aConfigurationForState )
  1094  const TOrientationConfiguration& aConfigurationForState )
  1095     {
  1095     {
  1096     SSY_TRACE_IN();
  1096     SSY_TRACE_IN();
  1097     TBool wasFound( EFalse );
  1097     TBool wasFound( EFalse );
  1098     TInt retVal( KErrNone );
       
  1099     
       
  1100     // Check if is in array
  1098     // Check if is in array
  1101     for( TInt i = 0; i != iConfigArray.Count(); i++ )
  1099     for( TInt i = 0; i != iConfigArray.Count(); i++ )
  1102         {
  1100         {
  1103         TOrientationConfiguration ori = iConfigArray[ i ];
  1101         TOrientationConfiguration ori = iConfigArray[ i ];
  1104         if( aConfigurationForState.iOrientationState == iConfigArray[ i ].iOrientationState )
  1102         if( aConfigurationForState.iOrientationState == iConfigArray[ i ].iOrientationState )
  1105             {
  1103             {
  1106             iConfigArray.Remove( i );
  1104             iConfigArray.Remove( i );
  1107             retVal = iConfigArray.Insert( aConfigurationForState, i );
  1105             iConfigArray.Insert( aConfigurationForState, i );
  1108             wasFound = ETrue;
  1106             wasFound = ETrue;
  1109             }
  1107             }
  1110         }
  1108         }
  1111     if( !wasFound )
  1109     if( !wasFound )
  1112         {
  1110         {
  1113         retVal = iConfigArray.Append( aConfigurationForState );
  1111         iConfigArray.Append( aConfigurationForState );
  1114         }
  1112         }
  1115 	
  1113     SSY_TRACE_OUT();
  1116     SSY_TRACE_OUT();
       
  1117     return retVal;
       
  1118     }
  1114     }
  1119 
  1115 
  1120 // ----------------------------------------------------------------------------------
  1116 // ----------------------------------------------------------------------------------
  1121 // CSSYOrientation::GetConfigurationForState()
  1117 // CSSYOrientation::GetConfigurationForState()
  1122 // ----------------------------------------------------------------------------------
  1118 // ----------------------------------------------------------------------------------
  1141 
  1137 
  1142 // ----------------------------------------------------------------------------------
  1138 // ----------------------------------------------------------------------------------
  1143 // CSSYOrientation::CreteConfigurations()
  1139 // CSSYOrientation::CreteConfigurations()
  1144 // ----------------------------------------------------------------------------------
  1140 // ----------------------------------------------------------------------------------
  1145 //
  1141 //
  1146 TInt CSSYOrientation::CreateConfigurations()
  1142 void CSSYOrientation::CreateConfigurations()
  1147     {
  1143     {
  1148     SSY_TRACE_IN();
  1144     SSY_TRACE_IN();
  1149     
  1145     
  1150     TInt repValue( 0 );
  1146     TInt repValue( 0 );
  1151     TInt retVal( KErrNone );
       
  1152     
  1147     
  1153     // This is used in initialisation
  1148     // This is used in initialisation
  1154     if( iConfigForCurrentState.iOrientationState == TSensrvOrientationData::EOrientationUndefined )
  1149     if( iConfigForCurrentState.iOrientationState == TSensrvOrientationData::EOrientationUndefined )
  1155         {
  1150         {
  1156         iConfigForCurrentState.iOrientationDisplayUp.iAngle = 0;
  1151         iConfigForCurrentState.iOrientationDisplayUp.iAngle = 0;
  1211     
  1206     
  1212     iRepository->Get( KOriStateDisplayUpToDisplayDownwardsTimerKey, repValue );
  1207     iRepository->Get( KOriStateDisplayUpToDisplayDownwardsTimerKey, repValue );
  1213     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1208     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1214     configForDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1209     configForDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1215     
  1210     
  1216     retVal = SetConfigurationForState( configForDisplayUp );
  1211     SetConfigurationForState( configForDisplayUp );
  1217     if( retVal != KErrNone)
       
  1218         {
       
  1219         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayUp)=%d", retVal);
       
  1220         SSY_TRACE_OUT();
       
  1221 	return retVal;
       
  1222          }
       
  1223     
  1212     
  1224     // Configuration for display down
  1213     // Configuration for display down
  1225     TOrientationConfiguration configForDisplayDown;
  1214     TOrientationConfiguration configForDisplayDown;
  1226     configForDisplayDown.iOrientationState = TSensrvOrientationData::EOrientationDisplayDown;
  1215     configForDisplayDown.iOrientationState = TSensrvOrientationData::EOrientationDisplayDown;
  1227     
  1216     
  1265     configForDisplayDown.iOrientationDisplayDownwards.iAngle = repValue;
  1254     configForDisplayDown.iOrientationDisplayDownwards.iAngle = repValue;
  1266     
  1255     
  1267     iRepository->Get( KOriStateDisplayDownToDisplayDownwardsTimerKey, repValue );
  1256     iRepository->Get( KOriStateDisplayDownToDisplayDownwardsTimerKey, repValue );
  1268     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1257     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1269     configForDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1258     configForDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1270 
  1259     SetConfigurationForState( configForDisplayDown );
  1271     retVal = SetConfigurationForState( configForDisplayDown);
       
  1272     if( retVal != KErrNone)
       
  1273         {
       
  1274         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayDown)=%d", retVal);
       
  1275         SSY_TRACE_OUT();
       
  1276 	return retVal;
       
  1277          }
       
  1278     
  1260     
  1279     // Configuration for left up
  1261     // Configuration for left up
  1280     TOrientationConfiguration configForDisplayLeftUp;
  1262     TOrientationConfiguration configForDisplayLeftUp;
  1281     configForDisplayLeftUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayLeftUp;
  1263     configForDisplayLeftUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayLeftUp;
  1282     
  1264     
  1320     configForDisplayLeftUp.iOrientationDisplayDownwards.iAngle = repValue;
  1302     configForDisplayLeftUp.iOrientationDisplayDownwards.iAngle = repValue;
  1321     
  1303     
  1322     iRepository->Get( KOriStateDisplayLeftUpToDisplayDownwardsTimerKey, repValue );
  1304     iRepository->Get( KOriStateDisplayLeftUpToDisplayDownwardsTimerKey, repValue );
  1323     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1305     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1324     configForDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1306     configForDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1325 
  1307     SetConfigurationForState( configForDisplayLeftUp );
  1326     retVal = SetConfigurationForState( configForDisplayLeftUp );
       
  1327     if( retVal != KErrNone)
       
  1328         {
       
  1329         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayLeftUp)=%d", retVal);
       
  1330         SSY_TRACE_OUT();
       
  1331 	return retVal;
       
  1332          }
       
  1333     
  1308     
  1334     // Configuration for right up
  1309     // Configuration for right up
  1335     TOrientationConfiguration configForDisplayRightUp;
  1310     TOrientationConfiguration configForDisplayRightUp;
  1336     configForDisplayRightUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayRightUp;
  1311     configForDisplayRightUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayRightUp;
  1337     
  1312     
  1375     configForDisplayRightUp.iOrientationDisplayDownwards.iAngle = repValue;
  1350     configForDisplayRightUp.iOrientationDisplayDownwards.iAngle = repValue;
  1376     
  1351     
  1377     iRepository->Get( KOriStateDisplayRightUpToDisplayDownwardsTimerKey, repValue );
  1352     iRepository->Get( KOriStateDisplayRightUpToDisplayDownwardsTimerKey, repValue );
  1378     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1353     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1379     configForDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1354     configForDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1380 
  1355     SetConfigurationForState( configForDisplayRightUp );
  1381     retVal = SetConfigurationForState( configForDisplayRightUp );
       
  1382     if( retVal != KErrNone)
       
  1383         {
       
  1384         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayRightUp)=%d", retVal);
       
  1385         SSY_TRACE_OUT();
       
  1386 	return retVal;
       
  1387          }
       
  1388     
  1356     
  1389     // Configuration for upwards
  1357     // Configuration for upwards
  1390     TOrientationConfiguration configForDisplayUpwards;
  1358     TOrientationConfiguration configForDisplayUpwards;
  1391     configForDisplayUpwards.iOrientationState = TSensrvOrientationData::EOrientationDisplayUpwards;
  1359     configForDisplayUpwards.iOrientationState = TSensrvOrientationData::EOrientationDisplayUpwards;
  1392     
  1360     
  1430     configForDisplayUpwards.iOrientationDisplayDownwards.iAngle = repValue;
  1398     configForDisplayUpwards.iOrientationDisplayDownwards.iAngle = repValue;
  1431     
  1399     
  1432     iRepository->Get( KOriStateDisplayUpwardsToDisplayDownwardsTimerKey, repValue );
  1400     iRepository->Get( KOriStateDisplayUpwardsToDisplayDownwardsTimerKey, repValue );
  1433     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1401     SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue );
  1434     configForDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1402     configForDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue;
  1435 
  1403     SetConfigurationForState( configForDisplayUpwards );
  1436     retVal = SetConfigurationForState( configForDisplayUpwards);
       
  1437     if( retVal != KErrNone)
       
  1438         {
       
  1439         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayUpwards)=%d", retVal);
       
  1440         SSY_TRACE_OUT();
       
  1441 	return retVal;
       
  1442          }
       
  1443     
  1404     
  1444     // Configuration for downwards
  1405     // Configuration for downwards
  1445     TOrientationConfiguration configForDisplayDownwards;
  1406     TOrientationConfiguration configForDisplayDownwards;
  1446     configForDisplayDownwards.iOrientationState =
  1407     configForDisplayDownwards.iOrientationState =
  1447          TSensrvOrientationData::EOrientationDisplayDownwards;
  1408          TSensrvOrientationData::EOrientationDisplayDownwards;
  1487     configForDisplayDownwards.iOrientationDisplayUpwards.iTimerValueInMilSeconds = repValue;
  1448     configForDisplayDownwards.iOrientationDisplayUpwards.iTimerValueInMilSeconds = repValue;
  1488     
  1449     
  1489     configForDisplayDownwards.iOrientationDisplayDownwards.iAngle = 0;
  1450     configForDisplayDownwards.iOrientationDisplayDownwards.iAngle = 0;
  1490     configForDisplayDownwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = 0;
  1451     configForDisplayDownwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = 0;
  1491     
  1452     
  1492 
  1453     SetConfigurationForState( configForDisplayDownwards );
  1493     retVal = SetConfigurationForState( configForDisplayDownwards);
       
  1494     if( retVal != KErrNone)
       
  1495         {
       
  1496         SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayDownwards)=%d", retVal);
       
  1497         SSY_TRACE_OUT();
       
  1498 	return retVal;
       
  1499         }
       
  1500     
  1454     
  1501     if( iConfigForCurrentState.iOrientationState != TSensrvOrientationData::EOrientationUndefined )
  1455     if( iConfigForCurrentState.iOrientationState != TSensrvOrientationData::EOrientationUndefined )
  1502         {
  1456         {
  1503         GetConfigurationForState(
  1457         GetConfigurationForState(
  1504         iCurrentOrientationState.iDeviceOrientation, iConfigForCurrentState );
  1458         iCurrentOrientationState.iDeviceOrientation, iConfigForCurrentState );
  1505         }
  1459         }
  1506     
  1460     
  1507     SSY_TRACE_OUT();
  1461     SSY_TRACE_OUT();
  1508     return retVal;
       
  1509     }
  1462     }
  1510 
  1463 
  1511 // ----------------------------------------------------------------------------------
  1464 // ----------------------------------------------------------------------------------
  1512 // CSSYOrientation::GetDataListenerInterfaceL()
  1465 // CSSYOrientation::GetDataListenerInterfaceL()
  1513 // ----------------------------------------------------------------------------------
  1466 // ----------------------------------------------------------------------------------