Index: src/ch/TShellExtensionClient.h
===================================================================
diff -u -N -rbfa621d15810c821a147b2499926996b158b6444 -rb556d023b748dfea230575959b6513acf29fd7b3
--- src/ch/TShellExtensionClient.h	(.../TShellExtensionClient.h)	(revision bfa621d15810c821a147b2499926996b158b6444)
+++ src/ch/TShellExtensionClient.h	(.../TShellExtensionClient.h)	(revision b556d023b748dfea230575959b6513acf29fd7b3)
@@ -20,6 +20,8 @@
 #define __TSHELLEXTENSIONCLIENT_H__
 
 #include "../chext/chext.h"
+#include "../liblogger/TLogger.h"
+#include "../common/ERegistrationResult.h"
 
 class TShellExtensionClient
 {
@@ -28,8 +30,8 @@
 	~TShellExtensionClient();
 
 	// registers or unregisters shell extension
-	HRESULT RegisterShellExtDll(const CString& strPath, long lClientVersion, long& rlExtensionVersion, CString& rstrExtensionStringVersion);
-	HRESULT UnRegisterShellExtDll(const CString& strPath);
+	ERegistrationResult RegisterShellExtDll(long lClientVersion, long& rlExtensionVersion, CString& rstrExtensionStringVersion);
+	ERegistrationResult UnRegisterShellExtDll();
 
 	// enables the extension if compatible with the client (CH) version
 	// returns S_OK if enabled, S_FALSE if not
@@ -42,10 +44,15 @@
 	void FreeControlInterface();
 	HRESULT InitializeCOM();
 	void UninitializeCOM();
+	bool DetectRegExe();
 
+	logger::TLoggerPtr& GetLogger();
+
 private:
+	logger::TLoggerPtr m_spLog;
 	bool m_bInitialized;
 	IShellExtControl* m_piShellExtControl;
+	std::wstring m_strRegExe;
 };
 
 #endif
\ No newline at end of file