equal
deleted
inserted
replaced
32 #include "hcr_pil.h" |
32 #include "hcr_pil.h" |
33 |
33 |
34 |
34 |
35 // -- FUNCTIONS --------------------------------------------------------------- |
35 // -- FUNCTIONS --------------------------------------------------------------- |
36 |
36 |
|
37 |
37 #ifndef MAKE_DEF_FILE |
38 #ifndef MAKE_DEF_FILE |
38 namespace HCR |
39 namespace HCR |
39 { |
40 { |
40 |
41 |
41 LOCAL_C TInt GetUValueWordSetting (const TSettingId& aId, |
42 LOCAL_C TInt GetUValueWordSetting (const TSettingId& aId, |
371 TUint8* aValue, TUint16& aLen) |
372 TUint8* aValue, TUint16& aLen) |
372 { |
373 { |
373 #ifndef MAKE_DEF_FILE |
374 #ifndef MAKE_DEF_FILE |
374 HCR_FUNC("HCR::GetDataTUint8"); |
375 HCR_FUNC("HCR::GetDataTUint8"); |
375 |
376 |
|
377 if(aValue == NULL || aMaxLen == 0) |
|
378 HCR_TRACE_RETURN(KErrArgument); |
|
379 |
376 TInt err = GetUValueLargeSettingTUint8(aId, ETypeBinData, aMaxLen, aValue, aLen); |
380 TInt err = GetUValueLargeSettingTUint8(aId, ETypeBinData, aMaxLen, aValue, aLen); |
377 if (err != KErrNone) |
381 if (err != KErrNone) |
378 HCR_TRACE_RETURN(err); |
382 HCR_TRACE_RETURN(err); |
379 |
383 |
380 return KErrNone; |
384 return KErrNone; |
386 |
390 |
387 EXPORT_C TInt HCR::GetData(const TSettingId& aId, TDes8& aValue) |
391 EXPORT_C TInt HCR::GetData(const TSettingId& aId, TDes8& aValue) |
388 { |
392 { |
389 #ifndef MAKE_DEF_FILE |
393 #ifndef MAKE_DEF_FILE |
390 HCR_FUNC("HCR::GetDataTDes8"); |
394 HCR_FUNC("HCR::GetDataTDes8"); |
|
395 |
|
396 if(aValue.MaxLength()==0) |
|
397 HCR_TRACE_RETURN(KErrArgument); |
391 |
398 |
392 TInt err = GetUValueLargeSettingTDes8(aId, ETypeBinData, aValue); |
399 TInt err = GetUValueLargeSettingTDes8(aId, ETypeBinData, aValue); |
393 if (err != KErrNone) |
400 if (err != KErrNone) |
394 HCR_TRACE_RETURN(err); |
401 HCR_TRACE_RETURN(err); |
395 |
402 |
404 TText8* aValue, TUint16& aLen) |
411 TText8* aValue, TUint16& aLen) |
405 { |
412 { |
406 #ifndef MAKE_DEF_FILE |
413 #ifndef MAKE_DEF_FILE |
407 HCR_FUNC("HCR::GetStringTUint8"); |
414 HCR_FUNC("HCR::GetStringTUint8"); |
408 |
415 |
|
416 if(aValue == NULL || aMaxLen == 0) |
|
417 HCR_TRACE_RETURN(KErrArgument); |
|
418 |
409 TInt err = GetUValueLargeSettingTUint8(aId, ETypeText8, aMaxLen, aValue, aLen); |
419 TInt err = GetUValueLargeSettingTUint8(aId, ETypeText8, aMaxLen, aValue, aLen); |
410 if (err != KErrNone) |
420 if (err != KErrNone) |
411 HCR_TRACE_RETURN(err); |
421 HCR_TRACE_RETURN(err); |
412 |
422 |
413 return KErrNone; |
423 return KErrNone; |
420 EXPORT_C TInt HCR::GetString(const TSettingId& aId, TDes8& aValue) |
430 EXPORT_C TInt HCR::GetString(const TSettingId& aId, TDes8& aValue) |
421 { |
431 { |
422 #ifndef MAKE_DEF_FILE |
432 #ifndef MAKE_DEF_FILE |
423 HCR_FUNC("HCR::GetStringTUint8"); |
433 HCR_FUNC("HCR::GetStringTUint8"); |
424 |
434 |
|
435 if(aValue.MaxLength() == 0) |
|
436 HCR_TRACE_RETURN(KErrArgument); |
|
437 |
425 TInt err = GetUValueLargeSettingTDes8(aId, ETypeText8, aValue); |
438 TInt err = GetUValueLargeSettingTDes8(aId, ETypeText8, aValue); |
426 if (err != KErrNone) |
439 if (err != KErrNone) |
427 HCR_TRACE_RETURN(err); |
440 HCR_TRACE_RETURN(err); |
428 |
441 |
429 return KErrNone; |
442 return KErrNone; |
436 TInt32* aValue, TUint16& aLen) |
449 TInt32* aValue, TUint16& aLen) |
437 { |
450 { |
438 #ifndef MAKE_DEF_FILE |
451 #ifndef MAKE_DEF_FILE |
439 HCR_FUNC("HCR::GetArrayTInt32"); |
452 HCR_FUNC("HCR::GetArrayTInt32"); |
440 |
453 |
|
454 if(aValue == NULL || aMaxLen == 0) |
|
455 HCR_TRACE_RETURN(KErrArgument); |
|
456 |
441 TInt err = GetUValueLargeSettingArray(aId, ETypeArrayInt32, aMaxLen, (TUint32*)aValue, aLen); |
457 TInt err = GetUValueLargeSettingArray(aId, ETypeArrayInt32, aMaxLen, (TUint32*)aValue, aLen); |
442 if (err != KErrNone) |
458 if (err != KErrNone) |
443 HCR_TRACE_RETURN(err); |
459 HCR_TRACE_RETURN(err); |
444 |
460 |
445 return KErrNone; |
461 return KErrNone; |
451 EXPORT_C TInt HCR::GetArray(const TSettingId& aId, TUint16 aMaxLen, |
467 EXPORT_C TInt HCR::GetArray(const TSettingId& aId, TUint16 aMaxLen, |
452 TUint32* aValue, TUint16& aLen) |
468 TUint32* aValue, TUint16& aLen) |
453 { |
469 { |
454 #ifndef MAKE_DEF_FILE |
470 #ifndef MAKE_DEF_FILE |
455 HCR_FUNC("HCR::GetArrayTUInt32"); |
471 HCR_FUNC("HCR::GetArrayTUInt32"); |
|
472 |
|
473 if(aValue == NULL || aMaxLen == 0) |
|
474 HCR_TRACE_RETURN(KErrArgument); |
456 |
475 |
457 TInt err = GetUValueLargeSettingArray(aId, ETypeArrayUInt32, aMaxLen, aValue, aLen); |
476 TInt err = GetUValueLargeSettingArray(aId, ETypeArrayUInt32, aMaxLen, aValue, aLen); |
458 if (err != KErrNone) |
477 if (err != KErrNone) |
459 HCR_TRACE_RETURN(err); |
478 HCR_TRACE_RETURN(err); |
460 |
479 |
479 |
498 |
480 if(aNum <= 0 || aIds == NULL || aErrors == NULL || aValues == NULL) |
499 if(aNum <= 0 || aIds == NULL || aErrors == NULL || aValues == NULL) |
481 HCR_TRACE_RETURN(KErrArgument); |
500 HCR_TRACE_RETURN(KErrArgument); |
482 |
501 |
483 TInt err = KErrNone; |
502 TInt err = KErrNone; |
|
503 |
|
504 //Only UDEB, check is the user provided array aIds ordered? |
|
505 #ifdef _DEBUG |
|
506 for(TInt cursor = 0; cursor < aNum - 1; cursor ++) |
|
507 { |
|
508 //Check the element at cursor position and one above |
|
509 err = CompareSSettingIds(aIds[cursor], aIds[cursor+1]); |
|
510 //if next element is less than previous one then array is not ordered. |
|
511 //Critical error, report to user |
|
512 if(err >= 0) |
|
513 HCR_TRACE_RETURN(KErrArgument); |
|
514 } |
|
515 #endif |
|
516 |
|
517 |
484 |
518 |
485 //Don't leave while the resources are not fully allocated/deallocated |
519 //Don't leave while the resources are not fully allocated/deallocated |
486 NKern::ThreadEnterCS(); |
520 NKern::ThreadEnterCS(); |
487 |
521 |
488 err = HCRSingleton->GetWordSettings(aNum, aIds, aValues, aTypes, aErrors); |
522 err = HCRSingleton->GetWordSettings(aNum, aIds, aValues, aTypes, aErrors); |