Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright(C) 2000 Microsoft Corporation all rights reserved.
  4. //
  5. // Module: BaseTable.H
  6. //
  7. // Project: Windows 2000 IAS
  8. //
  9. // Description: Declaration of the CBaseTable class
  10. //
  11. // Author: tperraut
  12. //
  13. // Revision 02/24/2000 created
  14. //
  15. /////////////////////////////////////////////////////////////////////////////
  16. #ifndef _BASE_TABLE_H_2836DAC4_B4E1_4658_9EB5_EB9301AA3951
  17. #define _BASE_TABLE_H_2836DAC4_B4E1_4658_9EB5_EB9301AA3951
  18. #if _MSC_VER > 1000
  19. #pragma once
  20. #endif // _MSC_VER > 1000
  21. ///////////////////////////////////////////////////////////////////////////
  22. // CBaseTable
  23. template <class TAccessor>
  24. class CBaseTable : public CTable<TAccessor>
  25. {
  26. public:
  27. void Init(CSession& Session, LPCWSTR TableName);
  28. virtual ~CBaseTable() throw();
  29. void Reset();
  30. HRESULT GetNext();
  31. };
  32. //////////////////////////////////////////////////////////////////////////////
  33. // Init
  34. //////////////////////////////////////////////////////////////////////////////
  35. template <class TAccessor> void CBaseTable<TAccessor>::Init(
  36. CSession& Session,
  37. LPCWSTR TableName
  38. )
  39. {
  40. _com_util::CheckError(Open(Session, TableName));
  41. _com_util::CheckError(MoveFirst());
  42. }
  43. //////////////////////////////////////////////////////////////////////////////
  44. // Destructor
  45. //////////////////////////////////////////////////////////////////////////////
  46. template <class TAccessor> CBaseTable<TAccessor>::~CBaseTable()
  47. {
  48. Close();
  49. }
  50. //////////////////////////////////////////////////////////////////////////
  51. // Reset
  52. //////////////////////////////////////////////////////////////////////////
  53. template <class TAccessor> void CBaseTable<TAccessor>::Reset()
  54. {
  55. _com_util::CheckError(MoveFirst());
  56. }
  57. //////////////////////////////////////////////////////////////////////////
  58. // GetNext
  59. //////////////////////////////////////////////////////////////////////////
  60. template <class TAccessor> HRESULT CBaseTable<TAccessor>::GetNext()
  61. {
  62. return MoveNext();
  63. }
  64. #endif // _BASE_TABLE_H_2836DAC4_B4E1_4658_9EB5_EB9301AA3951