pizzamakeimp.h

来自「VC++串口通信设。本书详细说明讲解了在VC++环境下编写串口通信得过程。值得一」· C头文件 代码 · 共 68 行

H
68
字号
#ifndef PIZZAMAKEIMP_H
#define PIZZAMAKEIMP_H


// Get needed include files
#include "Resource.h"
#include "GUIDs.h"


class ATL_NO_VTABLE ComPizzaMaker : 
   public CComObjectRoot,
   public CComCoClass<ComPizzaMaker, &CLSID_PizzaMaker1>,
   public IConnectionPointContainerImpl<ComPizzaMaker>,
   public IConnectionPointImpl<ComPizzaMaker, &IID_IPizzaNotifySink>,
   public IPizzaMaker
{
public:

   // Ctor and dtors
   ComPizzaMaker();
   virtual ~ComPizzaMaker();

   // Overriden public methods
   HRESULT FinalConstruct();
   void    FinalRelease();

   // IPizzaMaker
   STDMETHOD(MakePizza)(PizzaSize      ePizzaSize,
                        ULONG          ulNumToppings,
                        ToppingInfo    aToppingInfo[],
                        DeliveryInfo*  pDeliveryInfo,
                        PULONG         pulPizzaID);

   BEGIN_COM_MAP(ComPizzaMaker)
      COM_INTERFACE_ENTRY(IPizzaMaker)
      COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
   END_COM_MAP()

   BEGIN_CONNECTION_POINT_MAP(ComPizzaMaker)
      CONNECTION_POINT_ENTRY(IID_IPizzaNotifySink)
   END_CONNECTION_POINT_MAP()

   DECLARE_REGISTRY_RESOURCEID(IDR_REGSCRIPT)
   DECLARE_PROTECT_FINAL_CONSTRUCT()

private:

   // Misc private methods
   void SendIncomingOrderEvents (PizzaSize      ePizzaSize,
                                 ULONG          ulNumToppings,
                                 ToppingInfo    aToppingInfo[],
                                 DeliveryInfo*  pDeliveryInfo,
                                 ULONG          ulNewPizzaID);
   void SendCompletedOrderEvents(ULONG          ulNewPizzaID);

   // Our static class-wide pizza ID counter
   static ULONG m_ulPizzaIDCounter;

   // Private data members
   IMoniker* m_pIMoniker;
   DWORD     m_dwROTCookie;
};

typedef ComPizzaMaker* PComPizzaMaker;


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?