ReactOS 0.4.15-dev-7958-gcd0bb1a
CFolderItemVerbs.h
Go to the documentation of this file.
1/*
2 * FolderItemVerb(s) implementation
3 *
4 * Copyright 2015 Mark Jansen
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef _FOLDERITEMVERBS_H_
22#define _FOLDERITEMVERBS_H_
23
25 public CComCoClass<CFolderItemVerb>,
26 public CComObjectRootEx<CComMultiThreadModelNoCS>,
27 public IDispatchImpl<FolderItemVerb, &IID_FolderItemVerb>
28{
29private:
30 CComPtr<IContextMenu> m_contextmenu;
31 CComBSTR m_name;
32
33public:
36
37 void Init(IContextMenu* menu, BSTR name);
38
39 // *** FolderItemVerb methods ***
40 STDMETHOD(get_Application)(IDispatch **ppid) override;
41 STDMETHOD(get_Parent)(IDispatch **ppid) override;
42 STDMETHOD(get_Name)(BSTR *pbs) override;
43 STDMETHOD(DoIt)() override;
44
45
48
50 COM_INTERFACE_ENTRY_IID(IID_FolderItemVerb, FolderItemVerb)
53};
54
55
57 public CComCoClass<CFolderItemVerbs>,
58 public CComObjectRootEx<CComMultiThreadModelNoCS>,
59 public IDispatchImpl<FolderItemVerbs, &IID_FolderItemVerbs>
60{
61private:
62 CComPtr<IContextMenu> m_contextmenu;
65
66public:
68 virtual ~CFolderItemVerbs();
69
71
72 // *** FolderItemVerbs methods ***
73 STDMETHOD(get_Count)(LONG *plCount) override;
74 STDMETHOD(get_Application)(IDispatch **ppid) override;
75 STDMETHOD(get_Parent)(IDispatch **ppid) override;
76 STDMETHOD(Item)(VARIANT index, FolderItemVerb **ppid) override;
77 STDMETHOD(_NewEnum)(IUnknown **ppunk) override;
78
81
83 COM_INTERFACE_ENTRY_IID(IID_FolderItemVerbs, FolderItemVerbs)
86};
87
88#endif
const WCHAR * class
Definition: main.c:68
#define index(s, c)
Definition: various.h:29
#define STDMETHOD(m)
Definition: basetyps.h:62
STDMETHOD() get_Parent(IDispatch **ppid) override
CComPtr< IContextMenu > m_contextmenu
STDMETHOD() get_Name(BSTR *pbs) override
STDMETHOD() get_Application(IDispatch **ppid) override
STDMETHOD() DoIt() override
CComPtr< IContextMenu > m_contextmenu
OLECHAR * BSTR
Definition: compat.h:2293
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define END_COM_MAP()
Definition: atlcom.h:592
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
const GUID IID_IDispatch
long LONG
Definition: pedump.c:60
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
Definition: name.c:39
_In_ WDFCOLLECTION _In_ WDFOBJECT Item