accessoryservices/accessoryserver/src/Policy/AccPolAccessoryPolicy.cpp
changeset 63 09d657f1ee00
parent 35 f7565e9c9ce8
equal deleted inserted replaced
54:072a9626b290 63:09d657f1ee00
   828         resSB.Val( val64, EDecimal );
   828         resSB.Val( val64, EDecimal );
   829         TUint64 valU64( ( TUint64 ) val64 );
   829         TUint64 valU64( ( TUint64 ) val64 );
   830         TAccPolGenericIDAccessor::SetFeatureAttributeL( 
   830         TAccPolGenericIDAccessor::SetFeatureAttributeL( 
   831             genericID, KAccPolSBCapabilities, valU64 );
   831             genericID, KAccPolSBCapabilities, valU64 );
   832 
   832 
   833         ParseSubblocks( valU64, foundCapabilityGroups );
   833         ParseSubblocksL( valU64, foundCapabilityGroups );
   834 
   834 
   835         //set "values" to point to firts value
   835         //set "values" to point to firts value
   836         TLex8 values;
   836         TLex8 values;
   837         values.Assign( buf );
   837         values.Assign( buf );
   838         while ( ( values.Peek() != KLineEnd1 ) &&
   838         while ( ( values.Peek() != KLineEnd1 ) &&
   880                     }
   880                     }
   881                 TLex lVal( capabilityGroupVal );
   881                 TLex lVal( capabilityGroupVal );
   882                 TUint32 capabilityGroupValue(0);
   882                 TUint32 capabilityGroupValue(0);
   883                 lVal.Val( capabilityGroupValue, EDecimal );
   883                 lVal.Val( capabilityGroupValue, EDecimal );
   884 
   884 
   885                 ParseNames( capabilityGroupValue, foundCapability );
   885                 ParseNamesL( capabilityGroupValue, foundCapability );
   886 
   886 
   887                 TInt capabilityIter(0);
   887                 TInt capabilityIter(0);
   888                 TInt foundCapabilityCount( foundCapability.Count() );
   888                 TInt foundCapabilityCount( foundCapability.Count() );
   889                 while ( capabilityIter < foundCapabilityCount )
   889                 while ( capabilityIter < foundCapabilityCount )
   890                     {
   890                     {
   979                         val.Val( value );
   979                         val.Val( value );
   980                         TAccPolNameValueRecord nameValueRecord( capability,
   980                         TAccPolNameValueRecord nameValueRecord( capability,
   981                                                                 value,
   981                                                                 value,
   982                                                               ( TAccPolValueType )type,
   982                                                               ( TAccPolValueType )type,
   983                                                               ( TAccPolValueLocation )location );
   983                                                               ( TAccPolValueLocation )location );
   984                         nameValueArray.Append( nameValueRecord );
   984                         nameValueArray.AppendL( nameValueRecord );
   985                         }
   985                         }
   986                     ++capabilityIter;
   986                     ++capabilityIter;
   987                     }
   987                     }
   988                 ++iterations;
   988                 ++iterations;
   989                 }
   989                 }
  1013 
  1013 
  1014     API_TRACE_( "[AccFW:SrvUtil] CAccPolAccessoryPolicy::ParseGenericIDContentL -  return void" );
  1014     API_TRACE_( "[AccFW:SrvUtil] CAccPolAccessoryPolicy::ParseGenericIDContentL -  return void" );
  1015     }
  1015     }
  1016 
  1016 
  1017 // -----------------------------------------------------------------------------
  1017 // -----------------------------------------------------------------------------
  1018 // CAccPolAccessoryPolicy::ParseSubblocks
  1018 // CAccPolAccessoryPolicy::ParseSubblocksL
  1019 // Detecting subblocks and store them to destination array
  1019 // Detecting subblocks and store them to destination array
  1020 // (other items were commented in a header).
  1020 // (other items were commented in a header).
  1021 // -----------------------------------------------------------------------------
  1021 // -----------------------------------------------------------------------------
  1022 //
  1022 //
  1023 void CAccPolAccessoryPolicy::ParseSubblocks( const TUint64& aVal, RArray<TUint64>& aCaps )
  1023 void CAccPolAccessoryPolicy::ParseSubblocksL( const TUint64& aVal, RArray<TUint64>& aCaps )
  1024     {
  1024     {
  1025     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseSubblocks()" );
  1025     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseSubblocksL()" );
  1026 
  1026 
  1027     TUint64 sum( 0 );
  1027     TUint64 sum( 0 );
  1028     TUint64 curVal( 1 );
  1028     TUint64 curVal( 1 );
  1029     TInt curBit( 0 );
  1029     TInt curBit( 0 );
  1030 
  1030 
  1034 
  1034 
  1035         // Check if this subblock is defined in SB-def block
  1035         // Check if this subblock is defined in SB-def block
  1036         if ( ( curVal & aVal ) == curVal )
  1036         if ( ( curVal & aVal ) == curVal )
  1037             {
  1037             {
  1038             COM_TRACE_2( "[AccFW:SrvUtil] CAccConfigFileParser::(Cap) MATCH! HI:0x%x LO:0x%x", I64HIGH( curVal ), I64LOW( curVal ) );
  1038             COM_TRACE_2( "[AccFW:SrvUtil] CAccConfigFileParser::(Cap) MATCH! HI:0x%x LO:0x%x", I64HIGH( curVal ), I64LOW( curVal ) );
  1039             aCaps.Append( curVal ); // Append to found caps array
  1039             aCaps.AppendL( curVal ); // Append to found caps array
  1040             sum += curVal;
  1040             sum += curVal;
  1041             }
  1041             }
  1042         curBit++;
  1042         curBit++;
  1043         curVal = 2 * curVal;
  1043         curVal = 2 * curVal;
  1044         }
  1044         }
  1045     while ( sum < aVal && curBit < KAccConfigMaxCapabilityGroups );
  1045     while ( sum < aVal && curBit < KAccConfigMaxCapabilityGroups );
  1046 
  1046 
  1047     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseSubblocks - return void" );
  1047     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseSubblocksL - return void" );
  1048     }
  1048     }
  1049 
  1049 
  1050 // -----------------------------------------------------------------------------
  1050 // -----------------------------------------------------------------------------
  1051 // CAccPolAccessoryPolicy::ParseNames
  1051 // CAccPolAccessoryPolicy::ParseNamesL
  1052 // Detect all subblock names and append them to the gicen array.
  1052 // Detect all subblock names and append them to the gicen array.
  1053 // (other items were commented in a header).
  1053 // (other items were commented in a header).
  1054 // -----------------------------------------------------------------------------
  1054 // -----------------------------------------------------------------------------
  1055 //
  1055 //
  1056 void CAccPolAccessoryPolicy::ParseNames( const TUint32& aVal, RArray<TUint32>& aNames )
  1056 void CAccPolAccessoryPolicy::ParseNamesL( const TUint32& aVal, RArray<TUint32>& aNames )
  1057     {
  1057     {
  1058     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNames()" );
  1058     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNamesL()" );
  1059     TUint32 sum( 0 );
  1059     TUint32 sum( 0 );
  1060     TUint32 curVal( 1 );
  1060     TUint32 curVal( 1 );
  1061     TInt curBit( 0 );
  1061     TInt curBit( 0 );
  1062 
  1062 
  1063     do {
  1063     do {
  1064         COM_TRACE_2( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNames Binary for this roundtrip is 0x%x, total sum is 0x%x", curVal, sum );
  1064         COM_TRACE_2( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNamesL Binary for this roundtrip is 0x%x, total sum is 0x%x", curVal, sum );
  1065         COM_TRACE_1( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNames & 0x%x", curVal & aVal );
  1065         COM_TRACE_1( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNamesL & 0x%x", curVal & aVal );
  1066         // Check if this subblock is defined in SB-def block
  1066         // Check if this subblock is defined in SB-def block
  1067 
  1067 
  1068         if ( ( curVal & aVal ) == curVal )
  1068         if ( ( curVal & aVal ) == curVal )
  1069             {
  1069             {
  1070             COM_TRACE_1( "[AccFW:SrvUtil] (Name) MATCH! 0x%x",curVal );
  1070             COM_TRACE_1( "[AccFW:SrvUtil] (Name) MATCH! 0x%x",curVal );
  1071             aNames.Append( curVal ); // Append to found caps array
  1071             aNames.AppendL( curVal ); // Append to found caps array
  1072             sum += curVal;
  1072             sum += curVal;
  1073             }
  1073             }
  1074         curBit++;
  1074         curBit++;
  1075         curVal = 2 * curVal;
  1075         curVal = 2 * curVal;
  1076         }
  1076         }
  1077     while ( sum < aVal && curBit < KAccConfigMaxCapabilityGroups );
  1077     while ( sum < aVal && curBit < KAccConfigMaxCapabilityGroups );
  1078 
  1078 
  1079     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNames - return void" );
  1079     COM_TRACE_( "[AccFW:SrvUtil] CAccConfigFileParser::ParseNamesL - return void" );
  1080     }
  1080     }
  1081 
  1081 
  1082 // -----------------------------------------------------------------------------
  1082 // -----------------------------------------------------------------------------
  1083 // CAccPolAccessoryPolicy::BitNumber
  1083 // CAccPolAccessoryPolicy::BitNumber
  1084 // Find a bit from aBitmask.
  1084 // Find a bit from aBitmask.