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.

82 lines
2.1 KiB

  1. // Action.h: interface for the CAction class.
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // 03/18/00 v-marfin : bug 59492 : Changed CActionStatusListener from protected to public
  6. // for access in CActionPolicy::CreateNewChildAction(). See comments there.
  7. //
  8. //
  9. //////////////////////////////////////////////////////////////////////
  10. #if !defined(AFX_ACTION_H__10AC036A_5D70_11D3_939D_00A0CC406605__INCLUDED_)
  11. #define AFX_ACTION_H__10AC036A_5D70_11D3_939D_00A0CC406605__INCLUDED_
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif // _MSC_VER > 1000
  15. #include "HMObject.h"
  16. #include "ActionScopeItem.h"
  17. #include "ActionStatusListener.h"
  18. class CAction : public CHMObject
  19. {
  20. DECLARE_DYNCREATE(CAction)
  21. // construction/destruction
  22. public:
  23. CAction();
  24. virtual ~CAction();
  25. // WMI Operations
  26. public:
  27. CString GetObjectPath();
  28. CString GetConsumerClassName() { return m_sConsumerClassName; }
  29. CWbemClassObject* GetConsumerClassObject();
  30. CWbemClassObject* GetAssociatedConfigObjects();
  31. CWbemClassObject* GetAssociationObjects();
  32. CWbemClassObject* GetA2CAssociation(const CString& sConfigGuid);
  33. CString GetConditionString(const CString& sConfigGuid);
  34. bool CreateStatusListener();
  35. void DestroyStatusListener();
  36. // v-marfin 59492 : Added this function to get the state at load time
  37. CString GetStatusObjectPath();
  38. // v-marfin : bug 59492 : Changed CActionStatusListener from protected to public
  39. // for access in CActionPolicy::CreateNewChildAction(). See comments there.
  40. CActionStatusListener* m_pActionStatusListener;
  41. protected:
  42. CString m_sConsumerClassName;
  43. // Clipboard Operations
  44. public:
  45. virtual bool Cut();
  46. virtual bool Copy();
  47. virtual bool Paste();
  48. // Operations
  49. public:
  50. virtual bool Refresh();
  51. // Scope Item Members
  52. public:
  53. virtual CScopePaneItem* CreateScopeItem();
  54. // Action Type Info
  55. public:
  56. CString GetTypeGuid();
  57. void SetTypeGuid(const CString& sGuid);
  58. int GetType();
  59. void SetType(int iType);
  60. CString GetUITypeName();
  61. protected:
  62. int m_iType;
  63. CString m_sTypeGuid;
  64. };
  65. #include "Action.inl"
  66. #endif // !defined(AFX_ACTION_H__10AC036A_5D70_11D3_939D_00A0CC406605__INCLUDED_)