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.

57 lines
1.2 KiB

  1. //
  2. // ICSInst.h
  3. //
  4. #include <netcon.h>
  5. #pragma once
  6. // Public functions
  7. //
  8. BOOL IsOtherNATAlreadyInstalled(LPTSTR pszOtherNatDescription, int cchOtherNatDescription);
  9. typedef enum
  10. {
  11. ICS_NOACTION = 0,
  12. ICS_INSTALL,
  13. ICS_UNINSTALL,
  14. ICS_ENABLE,
  15. ICS_DISABLE,
  16. ICS_UPDATEBINDINGS,
  17. ICS_CLIENTSETUP
  18. } ICSOPTION;
  19. class CICSInst
  20. {
  21. public:
  22. CICSInst();
  23. ~CICSInst();
  24. BOOL InitICSAPI();
  25. ICSOPTION m_option;
  26. LPTSTR m_pszHostName;
  27. BOOL m_bInstalledElsewhere;
  28. BOOL m_bShowTrayIcon;
  29. void DoInstallOption(BOOL* pfRebootRequired, UINT ipaInternal);
  30. void Install(BOOL* pfRebootRequired, UINT ipaInternal);
  31. void UpdateBindings(BOOL* pfRebootRequired, UINT ipaInternal);
  32. void Uninstall(BOOL* pfRebootRequired);
  33. BOOL IsInstalled();
  34. BOOL IsEnabled();
  35. BOOL IsInstalledElsewhere();
  36. void SetInternetConnection();
  37. BOOL GetICSConnections(LPTSTR szExternalConnection, LPTSTR szInternalConnection);
  38. void SetHomeConnection(UINT ipaInternal);
  39. BOOL IsHomeConnectionValid();
  40. BOOL Enable();
  41. BOOL Disable();
  42. void SetupClient();
  43. private:
  44. void UpdateIcsTrayIcon();
  45. };