ReactOS  0.4.15-dev-1197-g8081ba9
CDefViewDual.cpp
Go to the documentation of this file.
1 /*
2  * ShellFolderViewDual
3  *
4  * Copyright 2016 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 
22 #include "precomp.h"
23 
25 
26 class CDefViewDual :
27  public CComObjectRootEx<CComMultiThreadModelNoCS>,
28  public IDispatchImpl<IShellFolderViewDual2, &IID_IShellFolderViewDual2>
29 {
30  public:
32  {
33  }
34 
36  {
37  }
38 
40  {
41  // Nothing to do for now..
42  return S_OK;
43  }
44 
45  // *** IShellFolderViewDual methods ***
47  {
48  if (!app) return E_INVALIDARG;
49 
51  }
52 
54  {
55  if (!parent) return E_INVALIDARG;
56  *parent = NULL;
57  FIXME("CDefViewDual::get_Parent is UNIMPLEMENTED (%p, %p)\n", this, parent);
58  return E_NOTIMPL;
59  }
60 
61  virtual HRESULT STDMETHODCALLTYPE get_Folder(Folder **folder) override
62  {
63  if (!folder) return E_INVALIDARG;
64  *folder = NULL;
65  FIXME("CDefViewDual::get_Folder is UNIMPLEMENTED (%p, %p)\n", this, folder);
66  return E_NOTIMPL;
67  }
68 
69  virtual HRESULT STDMETHODCALLTYPE SelectedItems(FolderItems **items) override
70  {
71  if (!items) return E_INVALIDARG;
72  *items = NULL;
73  FIXME("CDefViewDual::SelectedItems is UNIMPLEMENTED (%p, %p)\n", this, items);
74  return E_NOTIMPL;
75  }
76 
78  {
79  if (!item) return E_INVALIDARG;
80  *item = NULL;
81  FIXME("CDefViewDual::get_FocusedItem is UNIMPLEMENTED (%p, %p)\n", this, item);
82  return E_NOTIMPL;
83  }
84 
86  {
87  FIXME("CDefViewDual::SelectItem is UNIMPLEMENTED (%p, %p, %i)\n", this, item, flags);
88  return E_NOTIMPL;
89  }
90 
92  {
93  FIXME("CDefViewDual::PopupItemMenu is UNIMPLEMENTED (%p, %p, %s, %s, %p)\n", this, item, wine_dbgstr_variant(&vx), wine_dbgstr_variant(&vy), command);
94  return E_NOTIMPL;
95  }
96 
98  {
99  FIXME("CDefViewDual::get_Script is UNIMPLEMENTED (%p, %p)\n", this, script);
100  return E_NOTIMPL;
101  }
102 
104  {
105  FIXME("CDefViewDual::get_ViewOptions is UNIMPLEMENTED (%p, %p)\n", this, options);
106  return E_NOTIMPL;
107  }
108 
109  // *** IShellFolderViewDual2 methods ***
111  {
112  FIXME("CDefViewDual::get_CurrentViewMode is UNIMPLEMENTED (%p, %p)\n", this, mode);
113  return E_NOTIMPL;
114  }
115 
117  {
118  FIXME("CDefViewDual::put_CurrentViewMode is UNIMPLEMENTED (%p, %u)\n", this, mode);
119  return E_NOTIMPL;
120  }
121 
122  virtual HRESULT STDMETHODCALLTYPE SelectItemRelative(int relative) override
123  {
124  FIXME("CDefViewDual::SelectItemRelative is UNIMPLEMENTED (%p, %i)\n", this, relative);
125  return E_NOTIMPL;
126  }
127 
130  COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewDual, IShellFolderViewDual)
131  COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewDual2, IShellFolderViewDual2)
132  END_COM_MAP()
133 };
134 
135 /**********************************************************
136  * CDefViewDual_Constructor
137  */
138 
140 {
141  return ShellObjectCreatorInit<CDefViewDual>(riid, ppvOut);
142 }
virtual HRESULT STDMETHODCALLTYPE get_Script(IDispatch **script) override
#define REFIID
Definition: guiddef.h:118
Definition: fci.c:115
HRESULT WINAPI CDefViewDual_Constructor(REFIID riid, LPVOID *ppvOut)
REFIID riid
Definition: precomp.h:44
HRESULT WINAPI CShellDispatch_Constructor(REFIID riid, LPVOID *ppvOut)
OLECHAR * BSTR
Definition: compat.h:2041
virtual HRESULT STDMETHODCALLTYPE get_FocusedItem(FolderItem **item) override
virtual HRESULT STDMETHODCALLTYPE PopupItemMenu(FolderItem *item, VARIANT vx, VARIANT vy, BSTR *command) override
virtual HRESULT STDMETHODCALLTYPE SelectItemRelative(int relative) override
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
script
Definition: msipriv.h:374
coclass Shell32::ShellFolderViewOC FolderItem
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
r parent
Definition: btrfs.c:2944
LONG HRESULT
Definition: typedefs.h:79
#define WINAPI
Definition: msvc.h:6
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
virtual HRESULT STDMETHODCALLTYPE put_CurrentViewMode(UINT mode) override
GLbitfield flags
Definition: glext.h:7161
const GUID IID_IDispatch
virtual HRESULT STDMETHODCALLTYPE SelectedItems(FolderItems **items) override
WINE_DEFAULT_DEBUG_CHANNEL(shell)
HRESULT STDMETHODCALLTYPE Initialize()
virtual HRESULT STDMETHODCALLTYPE get_CurrentViewMode(UINT *mode) override
GLenum mode
Definition: glext.h:6217
virtual HRESULT STDMETHODCALLTYPE get_Parent(IDispatch **parent) override
#define S_OK
Definition: intsafe.h:51
static ATOM item
Definition: dde.c:856
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
#define E_NOTIMPL
Definition: ddrawi.h:99
virtual HRESULT STDMETHODCALLTYPE get_Application(IDispatch **app) override
virtual HRESULT STDMETHODCALLTYPE get_Folder(Folder **folder) override
unsigned int UINT
Definition: ndis.h:50
#define END_COM_MAP()
Definition: atlcom.h:552
static TCHAR * items[]
Definition: page1.c:45
virtual HRESULT STDMETHODCALLTYPE SelectItem(VARIANT *item, int flags) override
virtual HRESULT STDMETHODCALLTYPE get_ViewOptions(long *options) override