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.

55 lines
1.5 KiB

  1. // Suite.h: interface for the CSuite class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "test.h"
  5. #if !defined(AFX_SUITE_H__F1A2E086_3DAE_4F83_ABEA_BF59D1571439__INCLUDED_)
  6. #define AFX_SUITE_H__F1A2E086_3DAE_4F83_ABEA_BF59D1571439__INCLUDED_
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif // _MSC_VER > 1000
  10. class ATL_NO_VTABLE CSuite :
  11. public CComObjectRootEx<CComSingleThreadModel>,
  12. // public CComCoClass<CTest, &CLSID_TSDiagnosis>,
  13. public IDispatchImpl<ITestSuite, &IID_ITestSuite, &LIBID_TSDIAGLib>
  14. {
  15. public:
  16. CSuite();
  17. virtual ~CSuite();
  18. DECLARE_NO_REGISTRY()
  19. DECLARE_PROTECT_FINAL_CONSTRUCT()
  20. BEGIN_COM_MAP(CSuite)
  21. COM_INTERFACE_ENTRY(ITestSuite)
  22. COM_INTERFACE_ENTRY2(IDispatch, ITest)
  23. END_COM_MAP()
  24. // ITestSuite
  25. public:
  26. STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
  27. STDMETHOD(get_Description)(/*[out, retval]*/ BSTR *pVal);
  28. STDMETHOD(get_IsApplicable)(/*[out, retval]*/ BOOL *pVal);
  29. STDMETHOD(get_WhyNotApplicable)(/*[out, retval]*/ BSTR *pVal);
  30. STDMETHOD(get_Count)(/*[out, retval]*/ long *pVal);
  31. STDMETHOD(get__NewEnum)(/*[out, retval]*/ LPUNKNOWN *pVal);
  32. STDMETHOD(get_Item)(/*[in]*/ VARIANT Index, /*[out, retval]*/ VARIANT *pVal);
  33. void SetSuiteIndex (DWORD dwSuite);
  34. private:
  35. DWORD m_dwSuiteIndex;
  36. void SetInvalidSuiteIndex() {m_dwSuiteIndex = 0xffffffff;};
  37. bool IsValid() const {return m_dwSuiteIndex != 0xffffffff;};
  38. bool GetTest(const VARIANT &Index, DWORD dwSuiteIndex, PTVerificationTest *ppTest);
  39. };
  40. #endif // !defined(AFX_SUITE_H__F1A2E086_3DAE_4F83_ABEA_BF59D1571439__INCLUDED_)