ReactOS  0.4.15-dev-506-ga3ec01c
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 {
29 private:
30  CComPtr<IContextMenu> m_contextmenu;
31  CComBSTR m_name;
32 
33 public:
36 
37  void Init(IContextMenu* menu, BSTR name);
38 
39  // *** FolderItemVerb methods ***
42  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR *pbs);
43  virtual HRESULT STDMETHODCALLTYPE DoIt();
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 {
61 private:
62  CComPtr<IContextMenu> m_contextmenu;
64  int m_count;
65 
66 public:
68  virtual ~CFolderItemVerbs();
69 
70  HRESULT Init(LPITEMIDLIST idlist);
71 
72  // *** FolderItemVerbs methods ***
73  virtual HRESULT STDMETHODCALLTYPE get_Count(LONG *plCount);
76  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT index, FolderItemVerb **ppid);
77  virtual HRESULT STDMETHODCALLTYPE _NewEnum(IUnknown **ppunk);
78 
81 
83  COM_INTERFACE_ENTRY_IID(IID_FolderItemVerbs, FolderItemVerbs)
86 };
87 
88 #endif
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:611
OLECHAR * BSTR
Definition: compat.h:1943
virtual HRESULT STDMETHODCALLTYPE get_Application(IDispatch **ppid)
CComPtr< IContextMenu > m_contextmenu
long LONG
Definition: pedump.c:60
virtual HRESULT STDMETHODCALLTYPE get_Parent(IDispatch **ppid)
void Init(IContextMenu *menu, BSTR name)
GLuint index
Definition: glext.h:6031
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
LONG HRESULT
Definition: typedefs.h:78
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
const GUID IID_IDispatch
virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR *pbs)
CComPtr< IContextMenu > m_contextmenu
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
virtual HRESULT STDMETHODCALLTYPE DoIt()
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:639
Definition: name.c:38
const WCHAR * class
Definition: main.c:68
#define END_COM_MAP()
Definition: atlcom.h:552
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60