ReactOS 0.4.15-dev-7942-gd23573b
ACLCustomMRU.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS browseui
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Custom MRU AutoComplete List
5 * COPYRIGHT: Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
6 * Copyright 2020 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
7 */
8
9#pragma once
10
12 public CComCoClass<CACLCustomMRU, &CLSID_ACLCustomMRU>,
13 public CComObjectRootEx<CComMultiThreadModelNoCS>,
14 public IEnumString,
15 public IACList,
16 public IACLCustomMRU
17{
18private:
19 CRegKey m_Key;
20 CStringW m_MRUList;
25
26 void PersistMRU();
29
30public:
33
34 // *** IEnumString methods ***
35 STDMETHODIMP Next(ULONG celt, LPWSTR *rgelt, ULONG *pceltFetched) override;
36 STDMETHODIMP Skip(ULONG celt) override;
37 STDMETHODIMP Reset() override;
38 STDMETHODIMP Clone(IEnumString ** ppenum) override;
39
40 // *** IACList methods ***
41 STDMETHODIMP Expand(LPCOLESTR pszExpand) override;
42
43 // *** IACLCustomMRU methods ***
44 STDMETHODIMP Initialize(LPCWSTR pwszMRURegKey, DWORD dwMax) override;
45 STDMETHODIMP AddMRUString(LPCWSTR pwszEntry) override;
46
47public:
48
51
53
56 COM_INTERFACE_ENTRY_IID(IID_IACList, IACList)
57 COM_INTERFACE_ENTRY_IID(IID_IACLCustomMRU, IACLCustomMRU)
59};
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP Next(ULONG celt, LPWSTR *rgelt, ULONG *pceltFetched) override
STDMETHODIMP Expand(LPCOLESTR pszExpand) override
CStringW m_MRUList
Definition: ACLCustomMRU.h:20
STDMETHODIMP Skip(ULONG celt) override
STDMETHODIMP Clone(IEnumString **ppenum) override
STDMETHODIMP Reset() override
HRESULT LoadTypedURLs(DWORD dwMax)
CRegKey m_Key
Definition: ACLCustomMRU.h:19
CSimpleArray< CStringW > m_MRUData
Definition: ACLCustomMRU.h:21
HRESULT LoadMRUList(DWORD dwMax)
#define AddMRUString
#define IDR_ACLCUSTOMMRU
Definition: resource.h:106
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#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 DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
const GUID IID_IEnumString
uint32_t ULONG
Definition: typedefs.h:59
static void Initialize()
Definition: xlate.c:212
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185