summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/EventLoggerI.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2009-05-11 12:33:14 -0230
committerDwayne Boone <dwayne@zeroc.com>2009-05-11 12:33:14 -0230
commit1fb6c38f2f6e33e3ef804aafda324c1bcb0ac7b5 (patch)
treed95f06135aa5844e5d914e8bb37b96d4b2401dca /cpp/src/Ice/EventLoggerI.cpp
parentBug 3885 - do not use localhost as node name in demos (diff)
downloadice-1fb6c38f2f6e33e3ef804aafda324c1bcb0ac7b5.tar.bz2
ice-1fb6c38f2f6e33e3ef804aafda324c1bcb0ac7b5.tar.xz
ice-1fb6c38f2f6e33e3ef804aafda324c1bcb0ac7b5.zip
Bug 3878 - remove some deprecated features
Diffstat (limited to 'cpp/src/Ice/EventLoggerI.cpp')
-rw-r--r--cpp/src/Ice/EventLoggerI.cpp177
1 files changed, 0 insertions, 177 deletions
diff --git a/cpp/src/Ice/EventLoggerI.cpp b/cpp/src/Ice/EventLoggerI.cpp
deleted file mode 100644
index 0967e18f818..00000000000
--- a/cpp/src/Ice/EventLoggerI.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <IceUtil/StringUtil.h>
-#include <Ice/EventLoggerI.h>
-#include <Ice/EventLoggerMsg.h>
-#include <Ice/LocalException.h>
-#include <IceUtil/StaticMutex.h>
-
-using namespace std;
-
-HMODULE Ice::EventLoggerI::_module = 0;
-
-static IceUtil::StaticMutex outputMutex = ICE_STATIC_MUTEX_INITIALIZER;
-
-Ice::EventLoggerI::EventLoggerI(const string& theAppName) :
- _source(0)
-{
- string appName = theAppName;
- if(appName.empty())
- {
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "event logger requires a value for Ice.ProgramName";
- throw ex;
- }
-
- //
- // We first need to ensure that there is a registry entry for this application
- // under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application.
- // The application name cannot contain backslashes.
- //
- string::size_type pos = 0;
- while((pos = appName.find('\\', pos)) != string::npos)
- {
- appName[pos] = '/';
- }
- string key = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\" + appName;
-
- HKEY hKey;
- DWORD d;
-
- //
- // Try to create the key and set the values.
- //
- LONG err = RegCreateKeyEx(HKEY_LOCAL_MACHINE, key.c_str(), 0, "REG_SZ", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0,
- &hKey, &d);
- if(err == ERROR_SUCCESS)
- {
- //
- // Get the filename of this DLL.
- //
- char path[_MAX_PATH];
- assert(_module != 0);
- if(!GetModuleFileName(_module, path, _MAX_PATH))
- {
- RegCloseKey(hKey);
- SyscallException ex(__FILE__, __LINE__);
- ex.error = GetLastError();
- throw ex;
- }
-
- //
- // The event resources are bundled into this DLL, therefore the
- // "EventMessageFile" key should contain the path to this DLL.
- //
- err = RegSetValueEx(hKey, "EventMessageFile", 0, REG_EXPAND_SZ,
- reinterpret_cast<unsigned char*>(path), static_cast<DWORD>(strlen(path) + 1));
- if(err != ERROR_SUCCESS)
- {
- RegCloseKey(hKey);
- SyscallException ex(__FILE__, __LINE__);
- ex.error = err;
- throw ex;
- }
-
- //
- // The "TypesSupported" key indicates the supported event types.
- //
- DWORD typesSupported = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE;
- err = RegSetValueEx(hKey, "TypesSupported", 0, REG_DWORD, reinterpret_cast<unsigned char*>(&typesSupported),
- sizeof(typesSupported));
- if(err != ERROR_SUCCESS)
- {
- RegCloseKey(hKey);
- SyscallException ex(__FILE__, __LINE__);
- ex.error = err;
- throw ex;
- }
- RegCloseKey(hKey);
- }
-
-
- //
- // The event source must match the registry key.
- //
- _source = RegisterEventSource(0, appName.c_str());
- if(_source == 0)
- {
- SyscallException ex(__FILE__, __LINE__);
- ex.error = GetLastError();
- throw ex;
- }
-}
-
-Ice::EventLoggerI::~EventLoggerI()
-{
- assert(_source != 0);
- DeregisterEventSource(_source);
-}
-
-void
-Ice::EventLoggerI::print(const string& message)
-{
- const char* str[1];
- str[0] = message.c_str();
- if(!ReportEvent(_source, EVENTLOG_INFORMATION_TYPE, 0, EVENT_LOGGER_MSG, 0, 1, 0, str, 0))
- {
- IceUtil::StaticMutex::Lock sync(outputMutex);
- cerr << "ReportEvent failed `" << IceUtilInternal::errorToString(GetLastError()) << "':\n" << message << endl;
- }
-}
-
-void
-Ice::EventLoggerI::trace(const string& category, const string& message)
-{
- string s;
- if(!category.empty())
- {
- s = category;
- s.append(": ");
- }
- s.append(message);
-
- const char* str[1];
- str[0] = s.c_str();
- if(!ReportEvent(_source, EVENTLOG_INFORMATION_TYPE, 0, EVENT_LOGGER_MSG, 0, 1, 0, str, 0))
- {
- IceUtil::StaticMutex::Lock sync(outputMutex);
- cerr << "ReportEvent failed `" << IceUtilInternal::errorToString(GetLastError()) << "':\n" << message << endl;
- }
-}
-
-void
-Ice::EventLoggerI::warning(const string& message)
-{
- const char* str[1];
- str[0] = message.c_str();
- if(!ReportEvent(_source, EVENTLOG_WARNING_TYPE, 0, EVENT_LOGGER_MSG, 0, 1, 0, str, 0))
- {
- IceUtil::StaticMutex::Lock sync(outputMutex);
- cerr << "ReportEvent failed `" << IceUtilInternal::errorToString(GetLastError()) << "':\n" << message << endl;
- }
-}
-
-void
-Ice::EventLoggerI::error(const string& message)
-{
- const char* str[1];
- str[0] = message.c_str();
- if(!ReportEvent(_source, EVENTLOG_ERROR_TYPE, 0, EVENT_LOGGER_MSG, 0, 1, 0, str, 0))
- {
- IceUtil::StaticMutex::Lock sync(outputMutex);
- cerr << "ReportEvent failed `" << IceUtilInternal::errorToString(GetLastError()) << "':\n" << message << endl;
- }
-}
-
-void
-Ice::EventLoggerI::setModuleHandle(HMODULE module)
-{
- _module = module;
-}