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.

90 lines
2.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1999 - 1999
  6. //
  7. // File: employee.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // Employee.h: interface for the CEmployee class.
  11. //
  12. //////////////////////////////////////////////////////////////////////
  13. #if !defined(AFX_EMPLOYEE_H__374DBB66_D945_11D1_8474_00104B211BE5__INCLUDED_)
  14. #define AFX_EMPLOYEE_H__374DBB66_D945_11D1_8474_00104B211BE5__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. //
  19. // Structure to help track an employee's health plan.
  20. //
  21. typedef struct tagHEALTHPLAN
  22. {
  23. GUID PlanID; // A global ID of the employee's currently enrolled
  24. // health plan.
  25. } HEALTHPLAN, FAR* PHEALTHPLAN;
  26. //
  27. // Structure to help track an employee's retirement plan.
  28. //
  29. typedef struct tagRETIREMENTPLAN
  30. {
  31. GUID PlanID; // An ID of the employee's currently enrolled
  32. // retirement plan.
  33. int nContributionRate; // The employee's contribution rate, in percentage points.
  34. } RETIREMENTPLAN, FAR* PRETIREMENTPLAN;
  35. //
  36. // Structure to help track an employee's card key access.
  37. //
  38. typedef struct tagACCESS
  39. {
  40. DWORD dwAccess; // A bitmask indicating which buildings we have access
  41. // to.
  42. } ACCESS, FAR* PACCESS;
  43. class CEmployee
  44. {
  45. public:
  46. //
  47. // Standard constructor. Initializes data.
  48. //
  49. CEmployee()
  50. {
  51. //
  52. // Ensure that everything is zeroed.
  53. //
  54. memset( this, 0, sizeof( CEmployee ) );
  55. //
  56. // Always grant a newly created employee full access.
  57. //
  58. m_Access.dwAccess = 0xFFFF;
  59. };
  60. virtual ~CEmployee() {};
  61. //
  62. // Typical information usually retained about an employee.
  63. //
  64. WCHAR m_szFirstName[ 256 ]; // Holds first name.
  65. WCHAR m_szLastName[ 256 ]; // Holds last name.
  66. WCHAR m_szSocialSecurity[ 256 ]; // Holds the social security number.
  67. WCHAR m_szMotherMaiden[ 256 ]; // Holds mother's maiden name for identification.
  68. WCHAR m_szAddress1[ 256 ]; // Holds first line of address.
  69. WCHAR m_szAddress2[ 256 ]; // Holds second line of address.
  70. WCHAR m_szCity[ 256 ]; // Holds city name.
  71. WCHAR m_szState[ 256 ]; // Hold the state.
  72. WCHAR m_szZip[ 256 ]; // Hold the zip code.
  73. WCHAR m_szPhone[ 256 ]; // Holds a phone number.
  74. // Information used for the sub-nodes.
  75. HEALTHPLAN m_Health; // Health information.
  76. RETIREMENTPLAN m_Retirement; // Retirement information.
  77. ACCESS m_Access; // Card-key access information.
  78. };
  79. #endif // !defined(AFX_EMPLOYEE_H__374DBB66_D945_11D1_8474_00104B211BE5__INCLUDED_)