summaryrefslogtreecommitdiff
path: root/catchcopy-windows-explorer-plugin/DDShellExt.h
diff options
context:
space:
mode:
Diffstat (limited to 'catchcopy-windows-explorer-plugin/DDShellExt.h')
-rwxr-xr-xcatchcopy-windows-explorer-plugin/DDShellExt.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/catchcopy-windows-explorer-plugin/DDShellExt.h b/catchcopy-windows-explorer-plugin/DDShellExt.h
new file mode 100755
index 0000000..9e9f68f
--- /dev/null
+++ b/catchcopy-windows-explorer-plugin/DDShellExt.h
@@ -0,0 +1,46 @@
+// DDShellExt.h : Declaration of the CDDShellExt
+
+#pragma once
+#include "resource.h" // main symbols
+#include "shlobj.h"
+#include "ClientCatchcopy.h"
+#include "Variable.h"
+#include "Deque.h"
+
+static bool connected=false;
+static ClientCatchcopy m_ac;
+
+// CDDShellExt
+
+extern const CLSID CLSID_DDShellExt;
+
+class CDDShellExt :
+ public IShellExtInit,
+ public IContextMenu
+{
+private:
+ static int fBaselistHandle;
+ bool fFromExplorer;
+ WCHAR fDestDir[MAX_PATH];
+ //static ClientCatchcopy m_ac;
+ CDeque sources;
+ //static bool connected;
+
+ // Reference count of component.
+ long m_cRef;
+public:
+ // IUnknown
+ IFACEMETHODIMP QueryInterface(REFIID riid, void **ppv);
+ IFACEMETHODIMP_(ULONG) AddRef();
+ IFACEMETHODIMP_(ULONG) Release();
+
+ // IShellExtInit
+ STDMETHODIMP Initialize(LPCITEMIDLIST, LPDATAOBJECT, HKEY);
+
+ CDDShellExt(void);
+ ~CDDShellExt(void);
+ // IContextMenu
+ STDMETHODIMP GetCommandString(UINT_PTR idCmd,UINT uFlags,UINT* pwReserved,LPSTR pszName,UINT cchMax){(void)idCmd;(void)uFlags;(void)pwReserved;(void)pszName;(void)cchMax;(void)connected;return E_NOTIMPL;};
+ STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO);
+ STDMETHODIMP QueryContextMenu(HMENU,UINT,UINT,UINT,UINT);
+};