⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcpippluginifce.h

📁 lwip tcp/ip 协议栈 adsp BF533 DSP 移植 用 visual dsp++ 编译
💻 H
字号:
// TCPIPpluginIfce.h : Declaration of the CTCPIPpluginIfce

#ifndef __TCPIPPLUGINIFCE_H__
#define __TCPIPPLUGINIFCE_H__

#include "resource.h"       // main symbols
#include <atlctl.h>

class CTCPIPpluginIfce;	// forward declaration

extern _ATL_FUNC_INFO IADspMenuManagerEvents_OnMenuClickedInfo;
extern _ATL_FUNC_INFO IADspProjectListEvents_OnProjectCreatedInfo;
extern _ATL_FUNC_INFO IADspProjectListEvents_OnProjectAddedInfo;
extern _ATL_FUNC_INFO IADspProjectListEvents_OnProjectRemovedInfo;

typedef IDispEventSimpleImpl<1, CTCPIPpluginIfce, &__uuidof(_IADspMenuManagerEvents)> ADspMenuManagerEventHandler;
typedef IDispEventSimpleImpl<2, CTCPIPpluginIfce, &__uuidof(_IADspProjectListEvents)> ADspProjectListEventHandler;

#ifndef __ADSPCOMMON_H__

typedef struct {
	TCHAR *pszPluginName;
	TCHAR *pszCLSID;
	BOOL bAllowMultipleInstances;
	TCHAR *pszDebugProcessorsSupported;
	TCHAR *pszDescription;
	BOOL bEnabled;
	TCHAR *pszFileExtensions;
	TCHAR *pszMenuDescription;
	TCHAR *pszMenuHelpPath;
	TCHAR *pszMenuItem;
	TCHAR *pszProjectProcessorsSupported;
	WORD  wStartupStyle;
	TCHAR *pszWindowHelpPath;
	WORD wWindowType;
} ADSPCOMMON_PLUGININFO;

typedef BOOL (*ADSPCOMMONINITIALIZE)( const HINSTANCE hInstance, LPCTSTR pszSystemDirectory );
typedef void (*ADSPCOMMONUNINITIALIZE)();
typedef BOOL (*ADSPREGISTERPLUGIN)( const ADSPCOMMON_PLUGININFO *pPluginInfo );
typedef BOOL (*ADSPUNREGISTERPLUGIN)( LPCTSTR pszPluginName );

#endif

/////////////////////////////////////////////////////////////////////////////
// class CTCPIPpluginIfce
/////////////////////////////////////////////////////////////////////////////

class ATL_NO_VTABLE CTCPIPpluginIfce :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CStockPropImpl<CTCPIPpluginIfce, ITCPIPpluginIfce, &IID_ITCPIPpluginIfce, &LIBID_TCPIPPLUGINLib>,
	public CComCompositeControl<CTCPIPpluginIfce>,
	public IPersistStreamInitImpl<CTCPIPpluginIfce>,
	public IPersistPropertyBagImpl<CTCPIPpluginIfce>,
	public IOleControlImpl<CTCPIPpluginIfce>,
	public IOleObjectImpl<CTCPIPpluginIfce>,
	public IOleInPlaceActiveObjectImpl<CTCPIPpluginIfce>,
	public IViewObjectExImpl<CTCPIPpluginIfce>,
	public IOleInPlaceObjectWindowlessImpl<CTCPIPpluginIfce>,
	public IPersistStorageImpl<CTCPIPpluginIfce>,
	public ISpecifyPropertyPagesImpl<CTCPIPpluginIfce>,
	public IQuickActivateImpl<CTCPIPpluginIfce>,
	public IDataObjectImpl<CTCPIPpluginIfce>,
	public IProvideClassInfo2Impl<&CLSID_TCPIPpluginIfce, NULL, &LIBID_TCPIPPLUGINLib>,
	public CComCoClass<CTCPIPpluginIfce, &CLSID_TCPIPpluginIfce>,
	public ADspMenuManagerEventHandler,
	public ADspProjectListEventHandler
{

public:

	CTCPIPpluginIfce()
	{
		m_bWindowOnly = TRUE;
		m_bstrCaption = _T("TCPIPpluginIfce");
		CalcExtent(m_sizeExtent);
	}

//DECLARE_REGISTRY_RESOURCEID(IDR_TCPIPPLUGINIFCE)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CTCPIPpluginIfce)
	COM_INTERFACE_ENTRY(ITCPIPpluginIfce)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IViewObjectEx)
	COM_INTERFACE_ENTRY(IViewObject2)
	COM_INTERFACE_ENTRY(IViewObject)
	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceObject)
	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
	COM_INTERFACE_ENTRY(IOleControl)
	COM_INTERFACE_ENTRY(IOleObject)
	COM_INTERFACE_ENTRY(IPersistStreamInit)
	COM_INTERFACE_ENTRY(IPersistPropertyBag)
	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
	COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
	COM_INTERFACE_ENTRY(IQuickActivate)
	COM_INTERFACE_ENTRY(IPersistStorage)
	COM_INTERFACE_ENTRY(IDataObject)
	COM_INTERFACE_ENTRY(IProvideClassInfo)
	COM_INTERFACE_ENTRY(IProvideClassInfo2)
END_COM_MAP()

BEGIN_PROP_MAP(CTCPIPpluginIfce)
	PROP_ENTRY("Caption", DISPID_CAPTION, CLSID_NULL)
	// Example entries
	// PROP_ENTRY("Property Description", dispid, clsid)
	// PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

BEGIN_MSG_MAP(CTCPIPpluginIfce)
	CHAIN_MSG_MAP(CComCompositeControl<CTCPIPpluginIfce>)
END_MSG_MAP()
// Handler prototypes:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

BEGIN_SINK_MAP(CTCPIPpluginIfce)
	SINK_ENTRY_INFO(1, __uuidof(_IADspMenuManagerEvents), 1, OnMenuItemClicked, &IADspMenuManagerEvents_OnMenuClickedInfo)
	SINK_ENTRY_INFO(2, __uuidof(_IADspProjectListEvents), 1, OnProjectAdded, &IADspProjectListEvents_OnProjectAddedInfo)
	SINK_ENTRY_INFO(2, __uuidof(_IADspProjectListEvents), 2, OnProjectRemoved, &IADspProjectListEvents_OnProjectRemovedInfo)
	SINK_ENTRY_INFO(2, __uuidof(_IADspProjectListEvents), 4, OnProjectAdded, &IADspProjectListEvents_OnProjectCreatedInfo)
END_SINK_MAP()

	// InPlaceObject methods
	STDMETHOD(InPlaceActivate)( LONG iVerb, const RECT* pRect );
	STDMETHOD(InPlaceDeactivate)();

	// IDDE IDispatch methods
	STDMETHOD(OpenFile)( BSTR szFileName );
	STDMETHOD(OpenFile2)(LPDISPATCH FileName  );



	DECLARE_VIEW_STATUS(0)

// ITCPIPpluginIfce
public:

	CComBSTR m_bstrCaption;

	enum { IDD = IDD_TCPIPPLUGINIFCE };

	STDMETHOD(OnMenuItemClicked)( short );
	STDMETHOD(OnProjectAdded)( LPDISPATCH );
	STDMETHOD(OnProjectRemoved)();


	BOOL CreateFiles( LPCTSTR, LPCTSTR, LPCTSTR, LPCTSTR );

	static HRESULT WINAPI UpdateRegistry(BOOL bRegister);
	bool OpenDialog(char *filename);

protected:

	IADspApplicationPtr m_pApp;
	IADspMenuManagerPtr m_pMenuMgr;
	IADspProjectListPtr m_pProjectList;

};

#endif //__TCPIPPLUGINIFCE_H__

⌨️ 快捷键说明

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