sjob_register.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "main.h"
  2. #include "../nu/AutoChar.h"
  3. #include "./sjob_register.h"
  4. #include "./httpgrab.h"
  5. setup_job_register::setup_job_register() : ref(1), hwndHttp(NULL)
  6. {
  7. }
  8. setup_job_register::~setup_job_register()
  9. {
  10. }
  11. size_t setup_job_register::AddRef()
  12. {
  13. return ++ref;
  14. }
  15. size_t setup_job_register::Release()
  16. {
  17. if (1 == ref)
  18. {
  19. delete(this);
  20. return 0;
  21. }
  22. return --ref;
  23. }
  24. HRESULT setup_job_register::Execute(HWND hwndText)
  25. {
  26. if (!isInetAvailable()) return S_OK;
  27. if (!config_newverchk2) return S_OK;
  28. // TODO re-enable at some point as needed
  29. #if 0
  30. char data[8192] = {0};
  31. SecureZeroMemory(data, sizeof(data));
  32. INT s = GetPrivateProfileInt("WinampReg", "RegDataLen", 0, INI_FILEA);
  33. if (s> 0)
  34. {
  35. if (GetPrivateProfileStruct("WinampReg", "RegData2", data, s, INI_FILEA))
  36. {
  37. wchar_t szEmail[256] = {0};
  38. GetMetricsValueW(data, MAKEINTRESOURCEA(METRICS_EMAIL), szEmail, sizeof(szEmail));
  39. }
  40. // if (!*szEmail) return S_OK;
  41. }
  42. HWND hwndHost = BeginGrabHTTPText(hwndText, HTTPGRAB_USEWINDOWTEXT, &hwndHttp);
  43. HRESULT hr = (SendMetrics(data, hwndHost)) ? S_OK : S_FALSE;
  44. hwndHttp = NULL;
  45. EndGrabHTTPText(hwndHost);
  46. return hr;
  47. #else
  48. return S_OK;
  49. #endif
  50. }
  51. HRESULT setup_job_register::Cancel(HWND hwndText)
  52. {
  53. if (hwndHttp) SendMessageW(hwndHttp, WM_COMMAND, MAKEWPARAM(IDCANCEL, BN_CLICKED),
  54. (LPARAM)GetDlgItem(hwndHttp, IDCANCEL));
  55. return S_OK;
  56. }
  57. HRESULT setup_job_register::IsCancelSupported()
  58. {
  59. return S_OK;
  60. }
  61. #ifdef CBCLASS
  62. #undef CBCLASS
  63. #endif
  64. #define CBCLASS setup_job_register
  65. START_DISPATCH
  66. CB(ADDREF, AddRef)
  67. CB(RELEASE, Release)
  68. CB(API_SETUPJOB_EXECUTE, Execute)
  69. CB(API_SETUPJOB_CANCEL, Cancel)
  70. CB(API_SETUPJOB_ISCANCELSUPPORTED, IsCancelSupported)
  71. END_DISPATCH
  72. #undef CBCLASS