/ src / modules / powerrename / unittests / MockPowerRenameRegExEvents.cpp
MockPowerRenameRegExEvents.cpp
 1  #include "pch.h"
 2  #include "MockPowerRenameRegExEvents.h"
 3  
 4  IFACEMETHODIMP_(ULONG)
 5  CMockPowerRenameRegExEvents::AddRef()
 6  {
 7      return InterlockedIncrement(&m_refCount);
 8  }
 9  
10  IFACEMETHODIMP_(ULONG)
11  CMockPowerRenameRegExEvents::Release()
12  {
13      long refCount = InterlockedDecrement(&m_refCount);
14  
15      if (refCount == 0)
16      {
17          delete this;
18      }
19      return refCount;
20  }
21  
22  IFACEMETHODIMP CMockPowerRenameRegExEvents::QueryInterface(_In_ REFIID riid, _Outptr_ void** ppv)
23  {
24      static const QITAB qit[] = {
25          QITABENT(CMockPowerRenameRegExEvents, IPowerRenameRegExEvents),
26          { 0 }
27      };
28      return QISearch(this, qit, riid, ppv);
29  }
30  
31  IFACEMETHODIMP CMockPowerRenameRegExEvents::OnSearchTermChanged(_In_ PCWSTR searchTerm)
32  {
33      CoTaskMemFree(m_searchTerm);
34      m_searchTerm = nullptr;
35      if (searchTerm != nullptr)
36      {
37          SHStrDup(searchTerm, &m_searchTerm);
38      }
39      return S_OK;
40  }
41  
42  IFACEMETHODIMP CMockPowerRenameRegExEvents::OnReplaceTermChanged(_In_ PCWSTR replaceTerm)
43  {
44      CoTaskMemFree(m_replaceTerm);
45      m_replaceTerm = nullptr;
46      if (replaceTerm != nullptr)
47      {
48          SHStrDup(replaceTerm, &m_replaceTerm);
49      }
50      return S_OK;
51  }
52  
53  IFACEMETHODIMP CMockPowerRenameRegExEvents::OnFlagsChanged(_In_ DWORD flags)
54  {
55      m_flags = flags;
56      return S_OK;
57  }
58  
59  IFACEMETHODIMP CMockPowerRenameRegExEvents::OnFileTimeChanged(_In_ SYSTEMTIME fileTime)
60  {
61      m_fileTime = fileTime;
62      return S_OK;
63  }
64  
65  IFACEMETHODIMP CMockPowerRenameRegExEvents::OnMetadataChanged()
66  {
67      return S_OK;
68  }
69  
70  
71  HRESULT CMockPowerRenameRegExEvents::s_CreateInstance(_Outptr_ IPowerRenameRegExEvents** ppsrree)
72  {
73      *ppsrree = nullptr;
74      CMockPowerRenameRegExEvents* psrree = new CMockPowerRenameRegExEvents();
75      HRESULT hr = E_OUTOFMEMORY;
76      if (psrree)
77      {
78          hr = psrree->QueryInterface(IID_PPV_ARGS(ppsrree));
79          psrree->Release();
80      }
81      return hr;
82  }
83