Back

// PSLHardware.h : Declaration of the CPSLHardware

#pragma once
#include "resource.h"       // main symbols
#include "GUIDs.h"
#include "AutoObject.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"

#include "PSLProcessor.h"
#include "PSLMonitors.h"

class ATL_NO_VTABLE CPSLHardware :
   public CComObjectRootEx<CComMultiThreadModel>,
   public CComCoClass<CPSLHardware, &CLSID_PSLHardware>,
   public IDispatchImpl<IPSLHardware, &IID_IPSLHardware, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
   public CPSLException<&CLSID_PSLHardware, &IID_IPSLHardware>
{
public:

   CPSLHardware();

BEGIN_COM_MAP(CPSLHardware)
   COM_INTERFACE_ENTRY(IPSLHardware)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()

   DECLARE_PROTECT_FINAL_CONSTRUCT()
   HRESULT FinalConstruct();
   void FinalRelease();

////////////////////////////
// Interface Implementation:
////////////////////////////

   STDMETHOD(get_Processor)(IPSLProcessor ** ppValue);
   STDMETHOD(get_Monitors)(IPSLMonitors ** ppValue);

private:

   CAutoObject<CPSLProcessor> m_Processor;
   CAutoObject<CPSLMonitors> m_Monitors;
};

Top