summaryrefslogtreecommitdiff
path: root/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
commit2e626373db2412ac22e8c5c27a60d11cd29e875b (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx
parentf7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx')
-rw-r--r--setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx139
1 files changed, 0 insertions, 139 deletions
diff --git a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx b/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx
deleted file mode 100644
index 03a19523d..000000000
--- a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-// UserRegistrar.cpp: Implementierung der Klasse UserRegistrar.
-//
-//////////////////////////////////////////////////////////////////////
-
-#include "userregistrar.hxx"
-#include "registryvalueimpl.hxx"
-#include "windowsregistry.hxx"
-#include "registryexception.hxx"
-
-#ifdef _MSC_VER
-#pragma warning(disable : 4350)
-#endif
-
-//--------------------------------------
-/**
-*/
-UserRegistrar::UserRegistrar(const RegistrationContextInformation& RegContext) :
- Registrar(RegContext)
-{
- RegistryKey RegKey = WindowsRegistry().GetCurrentUserKey();
- m_RootKey = RegKey->OpenSubKey(L"Software\\Classes");
-}
-
-//###################################
-// Command
-//###################################
-
-//--------------------------------------
-/**
-*/
-void UserRegistrar::UnregisterAsHtmlEditorForInternetExplorer() const
-{
- Registrar::UnregisterAsHtmlEditorForInternetExplorer();
-
- DeleteHtmFileAssociationKeys();
-
- try
- {
- RegistryKey RegKey = m_RootKey->OpenSubKey(L"Applications");
- if ((0 == RegKey->GetSubValueCount()) && (0 == RegKey->GetSubKeyCount()))
- {
- RegKey->Close();
- m_RootKey->DeleteSubKey(L"Applications");
- }
- }
- catch(RegistryKeyNotFoundException&)
- {
- }
-}
-
-//--------------------------------------
-/**
-*/
-void UserRegistrar::RegisterAsDefaultShellHtmlEditor() const
-{
- RegistryKey LocalHtmKey = m_RootKey->CreateSubKey(L".htm");
-
- if (!LocalHtmKey->HasValue(DEFAULT_VALUE_NAME))
- {
- RegistryKey HKCRKey = WindowsRegistry().GetClassesRootKey();
-
- if (HKCRKey->HasSubKey(L".htm"))
- {
- RegistryKey RootHtmKey = HKCRKey->OpenSubKey(L".htm", false);
-
- if (RootHtmKey->HasValue(DEFAULT_VALUE_NAME))
- {
- RegistryValue RegVal = RootHtmKey->GetValue(DEFAULT_VALUE_NAME);
-
- std::wstring RootHtmFwdKey = RegVal->GetDataAsUniString();
-
- if (HKCRKey->HasSubKey(RootHtmFwdKey))
- {
- m_RootKey->CreateSubKey(RootHtmFwdKey);
- LocalHtmKey->CopyValue(RootHtmKey, DEFAULT_VALUE_NAME);
- }
- }
- }
- }
-
- // calling base class method
- Registrar::RegisterAsDefaultShellHtmlEditor();
-}
-
-//--------------------------------------
-/**
-*/
-void UserRegistrar::UnregisterAsDefaultShellHtmlEditor() const
-{
- // calling base class method
- Registrar::UnregisterAsDefaultShellHtmlEditor();
- DeleteHtmFileAssociationKeys();
-}
-
-//--------------------------------------
-/**
-*/
-void UserRegistrar::UnregisterForMsOfficeApplication(
- const std::wstring& FileExtension) const
-{
- /// calling base class method
- Registrar::UnregisterForMsOfficeApplication(FileExtension);
-
- if (m_RootKey->HasSubKey(FileExtension))
- {
- RegistryKey RegKey = m_RootKey->OpenSubKey(FileExtension);
-
- if ((0 == RegKey->GetSubKeyCount()) && (0 == RegKey->GetSubValueCount()))
- {
- RegKey->Close();
- m_RootKey->DeleteSubKey(FileExtension);
- }
- }
-}
-
-//--------------------------------------
-/**
-*/
-RegistryKey UserRegistrar::GetRootKeyForDefHtmlEditorForIERegistration() const
-{
- return WindowsRegistry().GetCurrentUserKey();
-}
-
-//--------------------------------------
-/**
-*/
-void UserRegistrar::DeleteHtmFileAssociationKeys() const
-{
- // Later delete the created keys if they are empty and have not changed meanwhile.
- // Remeber: if we create a new registry key in the user part of the
- // registry, changes to that key via the merged key HKEY_CLASSES_ROOT
- // go into the user branch HKEY_CURRENT_USER and are not visible for other users.
- // so we must carefully detect if the keys have not changed in order to prevent accidentally
- // deleting a key and so destroying existing associations
- // See MSDN: "Merged View of HKEY_CLASSES_ROOT"
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */