ReactOS 0.4.15-dev-7842-g558ab78
CFolder Class Reference

#include <CFolder.h>

Inheritance diagram for CFolder:
Collaboration diagram for CFolder:

Public Member Functions

 CFolder ()
 
 ~CFolder ()
 
HRESULT Initialize (LPITEMIDLIST idlist)
 
STDMETHOD() get_Title (BSTR *pbs) override
 
STDMETHOD() get_Application (IDispatch **ppid) override
 
STDMETHOD() get_Parent (IDispatch **ppid) override
 
STDMETHOD() get_ParentFolder (Folder **ppsf) override
 
STDMETHOD() Items (FolderItems **ppid) override
 
STDMETHOD() ParseName (BSTR bName, FolderItem **ppid) override
 
STDMETHOD() NewFolder (BSTR bName, VARIANT vOptions) override
 
STDMETHOD() MoveHere (VARIANT vItem, VARIANT vOptions) override
 
STDMETHOD() CopyHere (VARIANT vItem, VARIANT vOptions) override
 
STDMETHOD() GetDetailsOf (VARIANT vItem, int iColumn, BSTR *pbs) override
 
STDMETHOD() get_Self (FolderItem **ppfi) override
 
STDMETHOD() get_OfflineStatus (LONG *pul) override
 
STDMETHOD() Synchronize () override
 
STDMETHOD() get_HaveToShowWebViewBarricade (VARIANT_BOOL *pbHaveToShowWebViewBarricade) override
 
STDMETHOD() DismissedWebViewBarricade () override
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 

Private Member Functions

HRESULT GetShellFolder (CComPtr< IShellFolder > &psfCurrent)
 

Private Attributes

CComHeapPtr< ITEMIDLISTm_idlist
 
CComPtr< IShellDispatch > m_Application
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

Definition at line 12 of file CFolder.h.

Constructor & Destructor Documentation

◆ CFolder()

CFolder::CFolder ( )

Definition at line 13 of file CFolder.cpp.

14{
15}

◆ ~CFolder()

CFolder::~CFolder ( )

Definition at line 17 of file CFolder.cpp.

18{
19}

Member Function Documentation

◆ CopyHere()

HRESULT STDMETHODCALLTYPE CFolder::CopyHere ( VARIANT  vItem,
VARIANT  vOptions 
)
override

Definition at line 126 of file CFolder.cpp.

127{
128 TRACE("(%p, %s, %s)\n", this, wine_dbgstr_variant(&vItem), wine_dbgstr_variant(&vOptions));
129 return E_NOTIMPL;
130}
#define E_NOTIMPL
Definition: ddrawi.h:99
#define TRACE(s)
Definition: solgame.cpp:4

◆ DismissedWebViewBarricade()

HRESULT STDMETHODCALLTYPE CFolder::DismissedWebViewBarricade ( )
override

Definition at line 167 of file CFolder.cpp.

168{
169 TRACE("(%p)\n", this);
170 return E_NOTIMPL;
171}

◆ get_Application()

HRESULT STDMETHODCALLTYPE CFolder::get_Application ( IDispatch **  ppid)
override

Definition at line 53 of file CFolder.cpp.

54{
55 TRACE("(%p, %p)\n", this, ppid);
56
57 if (!ppid)
58 return E_INVALIDARG;
59
60 *ppid = m_Application;
61 (*ppid)->AddRef();
62
63 return S_OK;
64}
CComPtr< IShellDispatch > m_Application
Definition: CFolder.h:21
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:52

◆ get_HaveToShowWebViewBarricade()

HRESULT STDMETHODCALLTYPE CFolder::get_HaveToShowWebViewBarricade ( VARIANT_BOOL pbHaveToShowWebViewBarricade)
override

Definition at line 161 of file CFolder.cpp.

162{
163 TRACE("(%p, %p)\n", this, pbHaveToShowWebViewBarricade);
164 return E_NOTIMPL;
165}

◆ get_OfflineStatus()

HRESULT STDMETHODCALLTYPE CFolder::get_OfflineStatus ( LONG pul)
override

Definition at line 149 of file CFolder.cpp.

150{
151 TRACE("(%p, %p)\n", this, pul);
152 return E_NOTIMPL;
153}

◆ get_Parent()

HRESULT STDMETHODCALLTYPE CFolder::get_Parent ( IDispatch **  ppid)
override

Definition at line 66 of file CFolder.cpp.

67{
68 TRACE("(%p %p)\n", this, ppid);
69
70 if (ppid)
71 *ppid = NULL;
72
73 return E_NOTIMPL;
74}
#define NULL
Definition: types.h:112

◆ get_ParentFolder()

HRESULT STDMETHODCALLTYPE CFolder::get_ParentFolder ( Folder **  ppsf)
override

Definition at line 76 of file CFolder.cpp.

77{
78 TRACE("(%p, %p)\n", this);
79
80 *ppsf = NULL;
81
82 return E_NOTIMPL;
83}

◆ get_Self()

HRESULT STDMETHODCALLTYPE CFolder::get_Self ( FolderItem **  ppfi)
override

Definition at line 140 of file CFolder.cpp.

141{
142 TRACE("(%p, %p)\n", this, ppfi);
143 if (!ppfi)
144 return E_POINTER;
145
146 return ShellObjectCreatorInit<CFolderItem>(this, static_cast<LPITEMIDLIST>(m_idlist), IID_PPV_ARG(FolderItem, ppfi));
147}
CComHeapPtr< ITEMIDLIST > m_idlist
Definition: CFolder.h:20
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
#define E_POINTER
Definition: winerror.h:2365
#define IID_PPV_ARG(Itype, ppType)

◆ get_Title()

HRESULT STDMETHODCALLTYPE CFolder::get_Title ( BSTR pbs)
override

Definition at line 39 of file CFolder.cpp.

40{
41 if (!pbs)
42 return E_POINTER;
43
44 WCHAR path[MAX_PATH+2] = {0};
47 return hr;
48
49 *pbs = SysAllocString(path);
50 return S_OK;
51}
#define E_FAIL
Definition: ddrawi.h:102
#define MAX_PATH
Definition: compat.h:34
#define FAILED_UNEXPECTEDLY(hr)
Definition: precomp.h:121
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type)
Definition: pidl.c:91
HRESULT hr
Definition: shlfolder.c:183
#define ILGDN_INFOLDER
Definition: undocshell.h:67
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ GetDetailsOf()

HRESULT STDMETHODCALLTYPE CFolder::GetDetailsOf ( VARIANT  vItem,
int  iColumn,
BSTR pbs 
)
override

Definition at line 132 of file CFolder.cpp.

133{
134 TRACE("(%p, %s, %i, %p)\n", this, wine_dbgstr_variant(&vItem), iColumn, pbs);
135 return E_NOTIMPL;
136}

◆ GetShellFolder()

HRESULT CFolder::GetShellFolder ( CComPtr< IShellFolder > &  psfCurrent)
private

Definition at line 27 of file CFolder.cpp.

28{
29 CComPtr<IShellFolder> psfDesktop;
30
31 HRESULT hr = SHGetDesktopFolder(&psfDesktop);
33 return hr;
34
35 return psfDesktop->BindToObject(m_idlist, NULL, IID_PPV_ARG(IShellFolder, &psfCurrent));
36}
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)

Referenced by ParseName().

◆ Initialize()

HRESULT CFolder::Initialize ( LPITEMIDLIST  idlist)

Definition at line 21 of file CFolder.cpp.

22{
23 m_idlist.Attach(ILClone(idlist));
25}
HRESULT WINAPI CShellDispatch_Constructor(REFIID riid, LPVOID *ppvOut)
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:228

◆ Items()

HRESULT STDMETHODCALLTYPE CFolder::Items ( FolderItems **  ppid)
override

Definition at line 85 of file CFolder.cpp.

86{
87 /* FolderItems_Constructor */
88 return ShellObjectCreatorInit<CFolderItems>(static_cast<LPITEMIDLIST>(m_idlist), this, IID_PPV_ARG(FolderItems, ppid));
89}

◆ MoveHere()

HRESULT STDMETHODCALLTYPE CFolder::MoveHere ( VARIANT  vItem,
VARIANT  vOptions 
)
override

Definition at line 120 of file CFolder.cpp.

121{
122 TRACE("(%p, %s, %s)\n", this, wine_dbgstr_variant(&vItem), wine_dbgstr_variant(&vOptions));
123 return E_NOTIMPL;
124}

◆ NewFolder()

HRESULT STDMETHODCALLTYPE CFolder::NewFolder ( BSTR  bName,
VARIANT  vOptions 
)
override

Definition at line 114 of file CFolder.cpp.

115{
116 TRACE("(%p, %s, %s)\n", this, wine_dbgstr_w(bName), wine_dbgstr_variant(&vOptions));
117 return E_NOTIMPL;
118}
#define wine_dbgstr_w
Definition: kernel32.h:34

◆ ParseName()

HRESULT STDMETHODCALLTYPE CFolder::ParseName ( BSTR  bName,
FolderItem **  ppid 
)
override

Definition at line 91 of file CFolder.cpp.

92{
93 TRACE("(%p, %s, %p)\n", this, wine_dbgstr_w(bName), ppid);
94 if (!ppid)
95 return E_POINTER;
96 *ppid = NULL;
97
98 CComPtr<IShellFolder> psfCurrent;
99 HRESULT hr = GetShellFolder(psfCurrent);
101 return hr;
102
104 hr = psfCurrent->ParseDisplayName(NULL, NULL, bName, NULL, &relativePidl, NULL);
105 if (!SUCCEEDED(hr))
106 return S_FALSE;
107
109 combined.Attach(ILCombine(m_idlist, relativePidl));
110
111 return ShellObjectCreatorInit<CFolderItem>(this, static_cast<LPITEMIDLIST>(combined), IID_PPV_ARG(FolderItem, ppid));
112}
HRESULT GetShellFolder(CComPtr< IShellFolder > &psfCurrent)
Definition: CFolder.cpp:27
void Attach(T *lp)
Definition: atlalloc.h:162
#define SUCCEEDED(hr)
Definition: intsafe.h:50
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
Definition: pidl.c:703
#define S_FALSE
Definition: winerror.h:2357

◆ Synchronize()

HRESULT STDMETHODCALLTYPE CFolder::Synchronize ( )
override

Definition at line 155 of file CFolder.cpp.

156{
157 TRACE("(%p)\n", this);
158 return E_NOTIMPL;
159}

Member Data Documentation

◆ m_Application

CComPtr<IShellDispatch> CFolder::m_Application
private

Definition at line 21 of file CFolder.h.

Referenced by get_Application(), and Initialize().

◆ m_idlist

CComHeapPtr<ITEMIDLIST> CFolder::m_idlist
private

Definition at line 20 of file CFolder.h.

Referenced by get_Self(), get_Title(), GetShellFolder(), Initialize(), Items(), and ParseName().


The documentation for this class was generated from the following files: