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