Leaked source code of windows server 2003
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.

65 lines
1.9 KiB

  1. #ifndef _CDL_AGENT_HXX_INCLUDED
  2. #define _CDL_AGENT_HXX_INCLUDED
  3. class CDLAgentBSC;
  4. class CCDLAgent : public CDeliveryAgent,
  5. public CRunDeliveryAgentSink
  6. {
  7. private:
  8. virtual ~CCDLAgent();
  9. public:
  10. CCDLAgent();
  11. // virtual functions overriding CDeliveryAgent
  12. public:
  13. void CleanUp();
  14. HRESULT AgentAbort(DWORD dwFlags);
  15. HRESULT AgentPause(DWORD dwFlags);
  16. HRESULT AgentResume(DWORD dwFlags);
  17. protected:
  18. HRESULT StartOperation();
  19. HRESULT StartDownload();
  20. HRESULT ModifyUpdateEnd(ISubscriptionItem *pEndItem, UINT *puiRes);
  21. public:
  22. void SetEndStatus(HRESULT hr) { CDeliveryAgent::SetEndStatus(hr); }
  23. void SetErrorEndText(LPCWSTR szErrorText);
  24. LPWSTR GetErrorMessage(HRESULT hr);
  25. HRESULT StartNextDownload(LPWSTR szCodeBase, DWORD dwSize);
  26. HRESULT OnAgentEnd(const SUBSCRIPTIONCOOKIE *, long, HRESULT, LPCWSTR, BOOL);
  27. private:
  28. IXMLElement* m_pSoftDistElement;
  29. union {
  30. LPWSTR m_szCDF;
  31. LPWSTR m_szURL;
  32. };
  33. LPWSTR m_szDistUnit;
  34. SOFTDISTINFO m_sdi;
  35. LPWSTR m_szErrorText;
  36. DWORD m_dwVersionMS;
  37. DWORD m_dwVersionLS;
  38. CDLAgentBSC *m_pCCDLAgentBSC;
  39. ISoftDistExt *m_pSoftDistExt;
  40. BOOL m_bAcceptSoftware;
  41. BOOL m_bSendEmail;
  42. BOOL m_bSilentMode;
  43. DWORD m_dwChannelFlags;
  44. DWORD m_dwAgentFlags;
  45. DWORD m_dwMaxSizeKB;
  46. DWORD m_dwCurSize;
  47. CRunDeliveryAgent *m_pAgent;
  48. };
  49. #endif