kernel/eka/drivers/hcr/hcr_api.cpp
changeset 13 46fffbe7b5a7
parent 9 96e5fb8b040d
equal deleted inserted replaced
12:0bf4040442f9 13:46fffbe7b5a7
    44     HCR_FUNC("GetUValueWordSetting");
    44     HCR_FUNC("GetUValueWordSetting");
    45                  
    45                  
    46     if (HCRNotReady)
    46     if (HCRNotReady)
    47         HCR_TRACE_RETURN(KErrNotReady);
    47         HCR_TRACE_RETURN(KErrNotReady);
    48 
    48 
       
    49 	__NK_ASSERT_DEBUG((aType & KMaskWordTypes) != 0);
       
    50 
    49     TSettingRef sref(0,0);
    51     TSettingRef sref(0,0);
    50     TInt err = 0;
    52     TInt err = 0;
    51     err = HCRSingleton->FindSetting(aId, aType, sref);
    53     err = HCRSingleton->FindSetting(aId, aType, sref);
    52     if (err != KErrNone)
    54     if (err != KErrNone)
    53         HCR_TRACE_RETURN(err);
    55         HCR_TRACE_RETURN(err);
    54 
    56 
    55     err = sref.iRep->GetValue(sref, aValue);
    57     err = sref.iRep->GetValue(sref, aValue);
    56     if (err != KErrNone)
    58 	__NK_ASSERT_DEBUG(err == KErrNone);
    57         HCR_TRACE_RETURN(err);
       
    58     
    59     
    59     return KErrNone;	
    60     return KErrNone;	
    60     }
    61     }
    61     
    62     
    62 LOCAL_C TInt GetUValueLargeSetting64 (const TSettingId& aId, 
    63 LOCAL_C TInt GetUValueLargeSetting64 (const TSettingId& aId, 
    74     err = HCRSingleton->FindSetting(aId, aType, sref);
    75     err = HCRSingleton->FindSetting(aId, aType, sref);
    75     if (err != KErrNone)
    76     if (err != KErrNone)
    76         HCR_TRACE_RETURN(err);
    77         HCR_TRACE_RETURN(err);
    77 
    78 
    78     err = sref.iRep->GetLargeValue(sref, aValue);
    79     err = sref.iRep->GetLargeValue(sref, aValue);
    79     if (err != KErrNone)
    80 	__NK_ASSERT_DEBUG(err == KErrNone);
    80         HCR_TRACE_RETURN(err);
       
    81     
    81     
    82     return KErrNone;	
    82     return KErrNone;	
    83     }
    83     }
    84     
    84     
    85 
    85 
    99     if (err != KErrNone)
    99     if (err != KErrNone)
   100         HCR_TRACE_RETURN(err);
   100         HCR_TRACE_RETURN(err);
   101 
   101 
   102     UValueLarge value;
   102     UValueLarge value;
   103     err = sref.iRep->GetLargeValue(sref, value);
   103     err = sref.iRep->GetLargeValue(sref, value);
   104     if (err != KErrNone)
   104     __NK_ASSERT_DEBUG(err == KErrNone);
   105         HCR_TRACE_RETURN(err);
       
   106    
   105    
   107     TInt len = sref.iRep->GetLength(sref);
   106     TInt len = sref.iRep->GetLength(sref);
   108     if (len > aValue.MaxSize())
   107     if (len > aValue.MaxSize())
   109         HCR_TRACE_RETURN(KErrTooBig);    
   108         HCR_TRACE_RETURN(KErrTooBig);    
   110     
   109     
   132     if (err != KErrNone)
   131     if (err != KErrNone)
   133         HCR_TRACE_RETURN(err);
   132         HCR_TRACE_RETURN(err);
   134 
   133 
   135     UValueLarge value;
   134     UValueLarge value;
   136     err = sref.iRep->GetLargeValue(sref, value);
   135     err = sref.iRep->GetLargeValue(sref, value);
   137 	    if (err != KErrNone)
   136 	__NK_ASSERT_DEBUG(err == KErrNone);
   138         HCR_TRACE_RETURN(err);
   137     
   139    
       
   140     aLen = sref.iRep->GetLength(sref);
   138     aLen = sref.iRep->GetLength(sref);
   141     if (aLen > aMaxLen)
   139     if (aLen > aMaxLen)
   142         HCR_TRACE_RETURN(KErrTooBig);    
   140         HCR_TRACE_RETURN(KErrTooBig);    
   143     
   141     
   144     if (aType == ETypeBinData)
   142     if (aType == ETypeBinData)
   490     err = HCRSingleton->GetWordSettings(aNum, aIds, aValues, aTypes, aErrors);
   488     err = HCRSingleton->GetWordSettings(aNum, aIds, aValues, aTypes, aErrors);
   491 
   489 
   492     //All de-allocations are done, leave a critical section
   490     //All de-allocations are done, leave a critical section
   493     NKern::ThreadLeaveCS();
   491     NKern::ThreadLeaveCS();
   494 
   492 
   495     if(err < KErrNone)
   493     __NK_ASSERT_DEBUG(err >= KErrNone);
   496         HCR_TRACE_RETURN(err);
       
   497 
   494 
   498     return err;
   495     return err;
   499     
   496     
   500 #else    
   497 #else    
   501     HCR_TRACE_RETURN(KErrGeneral);
   498     HCR_TRACE_RETURN(KErrGeneral);
   514         HCR_TRACE_RETURN(KErrNotReady);
   511         HCR_TRACE_RETURN(KErrNotReady);
   515 
   512 
   516     TSettingRef sref(0,0);
   513     TSettingRef sref(0,0);
   517     TInt err = HCRSingleton->FindSettingWithType(aId, aType, sref);
   514     TInt err = HCRSingleton->FindSettingWithType(aId, aType, sref);
   518 	
   515 	
   519     if(err == KErrNone)
   516 	__NK_ASSERT_DEBUG(err == KErrNone || err == KErrNotFound);
   520         {
   517 
   521         aLen = sref.iRep->GetLength(sref);
   518 	if(err == KErrNotFound)
   522         }
       
   523     else if(err == KErrNotFound)
       
   524         {
   519         {
   525         aLen = 0;
   520         aLen = 0;
   526         HCR_TRACE_RETURN(KErrNotFound);
   521         HCR_TRACE_RETURN(KErrNotFound);
   527         }
   522         }
   528     else
   523     
   529         HCR_TRACE_RETURN(err);
   524 	aLen = sref.iRep->GetLength(sref);
   530     
       
   531     return KErrNone;
   525     return KErrNone;
   532    
   526    
   533 #else
   527 #else
   534     HCR_TRACE_RETURN(KErrGeneral);
   528     HCR_TRACE_RETURN(KErrGeneral);
   535 #endif //MAKE_DEF_FILE
   529 #endif //MAKE_DEF_FILE
   557 #else    
   551 #else    
   558 	HCR_TRACE_RETURN(KErrGeneral);
   552 	HCR_TRACE_RETURN(KErrGeneral);
   559 #endif // MAKE_DEF_FILE
   553 #endif // MAKE_DEF_FILE
   560     }
   554     }
   561 
   555 
   562 
       
   563 EXPORT_C TInt HCR::FindSettings(TCategoryUid aCat, TInt aMaxNum,
   556 EXPORT_C TInt HCR::FindSettings(TCategoryUid aCat, TInt aMaxNum,
   564         TElementId aElIds[], TSettingType aTypes[], TUint16 aLens[])
   557         TElementId aElIds[], TSettingType aTypes[], TUint16 aLens[])
   565 	{
   558 	{
   566 #ifndef MAKE_DEF_FILE
   559 #ifndef MAKE_DEF_FILE
   567 
   560