ai_database.h 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved
  3. *
  4. * @file ai_database.h
  5. * AI Layer Database Header File
  6. *
  7. * @brief The internel header file of database module.
  8. *
  9. */
  10. #ifndef __AI_DATABASE_DBMERGE_H__
  11. #define __AI_DATABASE_DBMERGE_H__
  12. #ifdef __cplusplus
  13. extern "C"{
  14. #endif
  15. #include "al_database.h"
  16. #include "al_service.h"
  17. /******************************************************************************
  18. * Internal Function definition
  19. ******************************************************************************/
  20. AL_Return_t AI_DB_Store_ATV(AL_DB_EDBType_t eDBType);
  21. AL_Return_t AI_DB_Store_DTV(AL_DB_EDBType_t eDBType);
  22. AL_Return_t AI_DB_SetDefault_ATV(AL_DB_EDBType_t eDBType);
  23. AL_Return_t AI_DB_SetDefault_DTV(AL_DB_EDBType_t eDBType);
  24. AL_Return_t AI_DB_Empty_ATV(AL_DB_EDBType_t eDBType);
  25. AL_Return_t AI_DB_Empty_DTV(AL_DB_EDBType_t eDBType);
  26. AL_Return_t AI_DB_AddRecord(AL_DB_EDBType_t eDBType,
  27. AL_DB_ERecordType_t eRecType, const al_void * pstRecDetail,
  28. AL_RecHandle_t hParentHdl, AL_RecHandle_t *phRecHdl);
  29. AL_Return_t AI_DB_GetFistRecord(AL_DB_EDBType_t eDBType,
  30. AL_DB_ERecordType_t eRecType, AL_RecHandle_t *phRecHdl);
  31. AL_Return_t AI_DB_GetLastRecord(AL_DB_EDBType_t eDBType,
  32. AL_DB_ERecordType_t eRecType, AL_RecHandle_t *phRecHdl);
  33. AL_Return_t AI_DB_GetNextRecord(AL_RecHandle_t hRefHdl, AL_DB_ERecordType_t eRecType, AL_RecHandle_t *phRecHdl);
  34. AL_Return_t AI_DB_GetPrevRecord(AL_RecHandle_t hRefHdl, AL_DB_ERecordType_t eRecType, AL_RecHandle_t *phRecHdl);
  35. AL_Return_t AI_DB_GetParentRecord(AL_RecHandle_t hRefHdl, AL_RecHandle_t *phRecHdl);
  36. AL_Return_t AI_DB_GetChildRecordNum(AL_RecHandle_t hParentHdl, al_uint32 *puiRecCnt);
  37. AL_Return_t AI_DB_GetChildRecord(AL_RecHandle_t hParentHdl, AL_RecHandle_t *phRecHdl);
  38. AL_Return_t AI_DB_MatchRecord(AL_DB_RecordMatchFunc fRecMatch,
  39. al_void *pMatchParam, AL_DB_EDBType_t eDBType, AL_DB_ERecordType_t eRecType, al_bool bNext, AL_RecHandle_t *phRecHdl);
  40. AL_Return_t AI_DB_MatchRecordExt(AL_DB_RecordMatchFunc fRecMatch,
  41. al_void *pMatchParam, AL_DB_EDBType_t eDBType, AL_DB_ERecordType_t eRecType,
  42. al_bool bAscending, al_uint32 uiSkipNum, AL_RecHandle_t *phRecHdl, al_uint32 *puiRecNum);
  43. AL_Return_t AI_DB_GetRecordType(AL_RecHandle_t hRecHdl,
  44. AL_DB_EDBType_t *peDBType, AL_DB_ERecordType_t *peRecType);
  45. AL_Return_t AI_DB_MoveRecordToFirst(AL_RecHandle_t hRecHdl);
  46. AL_Return_t AI_DB_MoveRecordToLast(AL_RecHandle_t hRecHdl);
  47. AL_Return_t AI_DB_MoveRecordToFront(AL_RecHandle_t hCurrRecHdl, AL_RecHandle_t hRefRecHdl);
  48. AL_Return_t AI_DB_MoveRecordToBehind(AL_RecHandle_t hCurrRecHdl, AL_RecHandle_t hRefRecHdl);
  49. AL_Return_t AI_DB_SwapRecord(AL_RecHandle_t hCurrRecHdl, AL_RecHandle_t hRefRecHdl);
  50. AL_Return_t AI_DB_RemoveRecord(AL_RecHandle_t hRecHdl);
  51. AL_Return_t AI_DB_GetTotalNum(AL_DB_EDBType_t eDBType,
  52. AL_DB_ERecordType_t eRecType, al_uint32 *pu32Num);
  53. AL_Return_t AI_DB_SearchChildRecords(AL_DB_RecordMatchFunc fRecMatch,al_void *pMatchParam,
  54. AL_DB_EDBType_t eDBType, AL_DB_ERecordType_t eRecType, CDBIHandle_t hHdl,
  55. al_uint32 u32NeedNum, al_uint32 u32SearchOffset, al_uint32 *pu32TotalNum,
  56. al_uint32 *pu32GotNum, AL_RecHandle_t *pstRecList);
  57. AL_Return_t AI_DB_SearchRecords(AL_DB_RecordMatchFunc fRecMatch,al_void *pMatchParam,
  58. AL_DB_EDBType_t eDBType, AL_DB_ERecordType_t eRecType, al_uint32 u32NeedNum,
  59. al_uint32 u32SearchOffset, al_uint32 *pu32TotalNum, al_uint32 *pu32GotNum, AL_RecHandle_t *pstRecList);
  60. AL_Return_t AI_DB_QueryDetail(AL_RecHandle_t hRecHdl, al_void *pDetailData);
  61. AL_Return_t AI_DB_QueryDetailField(AL_RecHandle_t hRecHdl,
  62. al_uint16 u16ItemOffset, al_uint16 u16ItemBytes, al_void *pItemData);
  63. AL_Return_t AI_DB_QueryDetailFieldByName(AL_RecHandle_t hRecHdl,
  64. al_uint8 *pItemName, al_void *pItemData);
  65. AL_Return_t AI_DB_UpdateDetail(AL_RecHandle_t hRecHdl, const al_void *pDetailData);
  66. AL_Return_t AI_DB_UpdateDetailField(AL_RecHandle_t hRecHdl,
  67. al_uint16 u16ItemOffset, al_uint16 u16ItemBytes, al_void *pItemData);
  68. AL_Return_t AI_DB_UpdateDetailFieldByName(AL_RecHandle_t hRecHdl,
  69. al_uint8 *pItemName, al_void *pItemData);
  70. AL_Return_t AI_DB_GetCapability(AL_DB_EDBType_t eDBType,AL_DBCapability_t *pstCapability);
  71. AL_Return_t AI_DB_SortRecords(AL_DB_EDBType_t eDBType,
  72. AL_DB_ERecordType_t eRecType, AL_DB_ESortType_t eSortCmd, al_bool bAscending);
  73. AL_Return_t AI_DB_SortRecordsByUser(AL_DB_EDBType_t eDBType,
  74. AL_DB_ERecordType_t eRecType, AL_DB_RecordUserCmp fRecUserCmpCB);
  75. #ifdef __cplusplus
  76. }
  77. #endif /* __cplusplus */
  78. #endif /* __AL_DATABASE_H__ */
  79. /*****************************************************************************
  80. ** $Rev$
  81. **
  82. *****************************************************************************/