summaryrefslogtreecommitdiff
path: root/comphelper/source/misc/uieventslogger.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'comphelper/source/misc/uieventslogger.cxx')
-rw-r--r--comphelper/source/misc/uieventslogger.cxx171
1 files changed, 80 insertions, 91 deletions
diff --git a/comphelper/source/misc/uieventslogger.cxx b/comphelper/source/misc/uieventslogger.cxx
index 738a5ec6a8d3..0491d9991271 100644
--- a/comphelper/source/misc/uieventslogger.cxx
+++ b/comphelper/source/misc/uieventslogger.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -28,7 +29,6 @@
#include "precompiled_comphelper.hxx"
#include <comphelper/uieventslogger.hxx>
-#include <boost/shared_ptr.hpp>
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
@@ -49,6 +49,7 @@
#include <osl/mutex.hxx>
#include <osl/time.h>
#include <rtl/ustrbuf.hxx>
+#include <rtl/instance.hxx>
using namespace com::sun::star::beans;
@@ -60,41 +61,42 @@ using namespace com::sun::star::uno;
using namespace com::sun::star::util;
using namespace cppu;
using namespace osl;
-using namespace rtl;
using namespace std;
+using ::rtl::OUString;
+using ::rtl::OUStringBuffer;
namespace
{
static void lcl_SetupOriginAppAbbr(map<OUString, OUString>& abbrs)
{
- abbrs[OUString::createFromAscii("com.sun.star.text.TextDocument")] = OUString::createFromAscii("W"); // Writer
- abbrs[OUString::createFromAscii("com.sun.star.sheet.SpreadsheetDocument")] = OUString::createFromAscii("C"); // Calc
- abbrs[OUString::createFromAscii("com.sun.star.presentation.PresentationDocument")] = OUString::createFromAscii("I"); // Impress
- abbrs[OUString::createFromAscii("com.sun.star.drawing.DrawingDocument")] = OUString::createFromAscii("D"); // Draw
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.TextDocument"))] = OUString(sal_Unicode('W')); // Writer
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SpreadsheetDocument"))] = OUString(sal_Unicode('C')); // Calc
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.presentation.PresentationDocument"))] = OUString(sal_Unicode('I')); // Impress
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.DrawingDocument"))] = OUString(sal_Unicode('D')); // Draw
};
static void lcl_SetupOriginWidgetAbbr(map<OUString,OUString>& abbrs)
{
- abbrs[OUString::createFromAscii("ButtonToolbarController")] = OUString::createFromAscii("0");
- abbrs[OUString::createFromAscii("ComplexToolbarController")] = OUString::createFromAscii("1");
- abbrs[OUString::createFromAscii("ControlMenuController")] = OUString::createFromAscii("2");
- abbrs[OUString::createFromAscii("FontMenuController")] = OUString::createFromAscii("3");
- abbrs[OUString::createFromAscii("FontSizeMenuController")] = OUString::createFromAscii("4");
- abbrs[OUString::createFromAscii("FooterMenuController")] = OUString::createFromAscii("5");
- abbrs[OUString::createFromAscii("GenericToolbarController")] = OUString::createFromAscii("6");
- abbrs[OUString::createFromAscii("HeaderMenuController")] = OUString::createFromAscii("7");
- abbrs[OUString::createFromAscii("LanguageSelectionMenuController")] = OUString::createFromAscii("8");
- abbrs[OUString::createFromAscii("LangSelectionStatusbarController")] = OUString::createFromAscii("9");
- abbrs[OUString::createFromAscii("MacrosMenuController")] = OUString::createFromAscii("10");
- abbrs[OUString::createFromAscii("MenuBarManager")] = OUString::createFromAscii("11");
- abbrs[OUString::createFromAscii("NewMenuController")] = OUString::createFromAscii("12");
- abbrs[OUString::createFromAscii("ObjectMenuController")] = OUString::createFromAscii("13");
- abbrs[OUString::createFromAscii("RecentFilesMenuController")] = OUString::createFromAscii("14");
- abbrs[OUString::createFromAscii("ToolbarsMenuController")] = OUString::createFromAscii("15");
- abbrs[OUString::createFromAscii("SfxToolBoxControl")] = OUString::createFromAscii("16");
- abbrs[OUString::createFromAscii("SfxAsyncExec")] = OUString::createFromAscii("17");
- abbrs[OUString::createFromAscii("AcceleratorExecute")] = OUString::createFromAscii("18");
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("ButtonToolbarController"))] = OUString(sal_Unicode('0'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("ComplexToolbarController"))] = OUString(sal_Unicode('1'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("ControlMenuController"))] = OUString(sal_Unicode('2'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("FontMenuController"))] = OUString(sal_Unicode('3'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("FontSizeMenuController"))] = OUString(sal_Unicode('4'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("FooterMenuController"))] = OUString(sal_Unicode('5'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("GenericToolbarController"))] = OUString(sal_Unicode('6'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderMenuController"))] = OUString(sal_Unicode('7'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("LanguageSelectionMenuController"))] = OUString(sal_Unicode('8'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("LangSelectionStatusbarController"))] = OUString(sal_Unicode('9'));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("MacrosMenuController"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("10"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("MenuBarManager"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("11"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("NewMenuController"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("12"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("ObjectMenuController"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("13"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("RecentFilesMenuController"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("14"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("ToolbarsMenuController"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("15"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("SfxToolBoxControl"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("16"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("SfxAsyncExec"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("17"));
+ abbrs[OUString(RTL_CONSTASCII_USTRINGPARAM("AcceleratorExecute"))] = OUString(RTL_CONSTASCII_USTRINGPARAM("18"));
};
}
@@ -142,7 +144,6 @@ namespace comphelper
// static methods and data
static ptr getInstance();
- static void prepareMutex();
static bool shouldActivate();
static bool getEnabledFromCoreController();
static bool getEnabledFromCfg();
@@ -151,7 +152,6 @@ namespace comphelper
static sal_Int32 findIdx(const Sequence<PropertyValue>& args, const OUString& key);
static ptr instance;
- static Mutex * singleton_mutex;
static const sal_Int32 COLUMNS;
static const OUString CFG_ENABLED;
static const OUString CFG_IDLETIMEOUT;
@@ -184,35 +184,39 @@ namespace comphelper
{
// consts
const sal_Int32 UiEventsLogger_Impl::COLUMNS = 9;
- const OUString UiEventsLogger_Impl::CFG_ENABLED = OUString::createFromAscii("EnablingAllowed");
- const OUString UiEventsLogger_Impl::CFG_IDLETIMEOUT = OUString::createFromAscii("IdleTimeout");
- const OUString UiEventsLogger_Impl::CFG_LOGGING = OUString::createFromAscii("/org.openoffice.Office.Logging");
- const OUString UiEventsLogger_Impl::CFG_LOGPATH = OUString::createFromAscii("LogPath");
- const OUString UiEventsLogger_Impl::CFG_OOOIMPROVEMENT = OUString::createFromAscii("OOoImprovement");
-
- const OUString UiEventsLogger_Impl::CSSL_CSVFORMATTER = OUString::createFromAscii("com.sun.star.logging.CsvFormatter");
- const OUString UiEventsLogger_Impl::CSSL_FILEHANDLER = OUString::createFromAscii("com.sun.star.logging.FileHandler");
- const OUString UiEventsLogger_Impl::CSSL_LOGGERPOOL = OUString::createFromAscii("com.sun.star.logging.LoggerPool");
- const OUString UiEventsLogger_Impl::CSSO_CORECONTROLLER = OUString::createFromAscii("com.sun.star.oooimprovement.CoreController");
- const OUString UiEventsLogger_Impl::CSSU_PATHSUB = OUString::createFromAscii("com.sun.star.util.PathSubstitution");
-
- const OUString UiEventsLogger_Impl::ETYPE_DISPATCH = OUString::createFromAscii("dispatch");
- const OUString UiEventsLogger_Impl::ETYPE_ROTATED = OUString::createFromAscii("rotated");
- const OUString UiEventsLogger_Impl::ETYPE_VCL = OUString::createFromAscii("vcl");
-
- const OUString UiEventsLogger_Impl::LOGGERNAME = OUString::createFromAscii("org.openoffice.oooimprovement.Core.UiEventsLogger");
- const OUString UiEventsLogger_Impl::LOGORIGINWIDGET = OUString::createFromAscii("comphelper.UiEventsLogger.LogOriginWidget");
- const OUString UiEventsLogger_Impl::LOGORIGINAPP = OUString::createFromAscii("comphelper.UiEventsLogger.LogOriginApp");
-
- const OUString UiEventsLogger_Impl::UNKNOWN_ORIGIN = OUString::createFromAscii("unknown origin");
- const OUString UiEventsLogger_Impl::FN_CURRENTLOG = OUString::createFromAscii("Current");
- const OUString UiEventsLogger_Impl::FN_ROTATEDLOG = OUString::createFromAscii("OOoImprove");
- const OUString UiEventsLogger_Impl::LOGROTATE_EVENTNAME = OUString::createFromAscii("onOOoImprovementLogRotated");
-
- const OUString UiEventsLogger_Impl::URL_UNO = OUString::createFromAscii(".uno:");
- const OUString UiEventsLogger_Impl::URL_SPECIAL = OUString::createFromAscii(".special:");
- const OUString UiEventsLogger_Impl::URL_FILE = OUString::createFromAscii("file:");
-
+ const OUString UiEventsLogger_Impl::CFG_ENABLED(RTL_CONSTASCII_USTRINGPARAM("EnablingAllowed"));
+ const OUString UiEventsLogger_Impl::CFG_IDLETIMEOUT(RTL_CONSTASCII_USTRINGPARAM("IdleTimeout"));
+ const OUString UiEventsLogger_Impl::CFG_LOGGING(RTL_CONSTASCII_USTRINGPARAM("/org.openoffice.Office.Logging"));
+ const OUString UiEventsLogger_Impl::CFG_LOGPATH(RTL_CONSTASCII_USTRINGPARAM("LogPath"));
+ const OUString UiEventsLogger_Impl::CFG_OOOIMPROVEMENT(RTL_CONSTASCII_USTRINGPARAM("OOoImprovement"));
+
+ const OUString UiEventsLogger_Impl::CSSL_CSVFORMATTER(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.logging.CsvFormatter"));
+ const OUString UiEventsLogger_Impl::CSSL_FILEHANDLER(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.logging.FileHandler"));
+ const OUString UiEventsLogger_Impl::CSSL_LOGGERPOOL(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.logging.LoggerPool"));
+ const OUString UiEventsLogger_Impl::CSSO_CORECONTROLLER(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.oooimprovement.CoreController"));
+ const OUString UiEventsLogger_Impl::CSSU_PATHSUB(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.PathSubstitution"));
+
+ const OUString UiEventsLogger_Impl::ETYPE_DISPATCH(RTL_CONSTASCII_USTRINGPARAM("dispatch"));
+ const OUString UiEventsLogger_Impl::ETYPE_ROTATED(RTL_CONSTASCII_USTRINGPARAM("rotated"));
+ const OUString UiEventsLogger_Impl::ETYPE_VCL(RTL_CONSTASCII_USTRINGPARAM("vcl"));
+
+ const OUString UiEventsLogger_Impl::LOGGERNAME(RTL_CONSTASCII_USTRINGPARAM("org.openoffice.oooimprovement.Core.UiEventsLogger"));
+ const OUString UiEventsLogger_Impl::LOGORIGINWIDGET(RTL_CONSTASCII_USTRINGPARAM("comphelper.UiEventsLogger.LogOriginWidget"));
+ const OUString UiEventsLogger_Impl::LOGORIGINAPP(RTL_CONSTASCII_USTRINGPARAM("comphelper.UiEventsLogger.LogOriginApp"));
+
+ const OUString UiEventsLogger_Impl::UNKNOWN_ORIGIN(RTL_CONSTASCII_USTRINGPARAM("unknown origin"));
+ const OUString UiEventsLogger_Impl::FN_CURRENTLOG(RTL_CONSTASCII_USTRINGPARAM("Current"));
+ const OUString UiEventsLogger_Impl::FN_ROTATEDLOG(RTL_CONSTASCII_USTRINGPARAM("OOoImprove"));
+ const OUString UiEventsLogger_Impl::LOGROTATE_EVENTNAME(RTL_CONSTASCII_USTRINGPARAM("onOOoImprovementLogRotated"));
+
+ const OUString UiEventsLogger_Impl::URL_UNO(RTL_CONSTASCII_USTRINGPARAM(".uno:"));
+ const OUString UiEventsLogger_Impl::URL_SPECIAL(RTL_CONSTASCII_USTRINGPARAM(".special:"));
+ const OUString UiEventsLogger_Impl::URL_FILE(RTL_CONSTASCII_USTRINGPARAM("file:"));
+
+ namespace
+ {
+ struct theSingletonMutex : public rtl::Static< Mutex, theSingletonMutex > {};
+ }
// public UiEventsLogger interface
sal_Bool UiEventsLogger::isEnabled()
@@ -220,8 +224,7 @@ namespace comphelper
if ( UiEventsLogger_Impl::getEnabledFromCfg() )
{
try {
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
return UiEventsLogger_Impl::getInstance()->m_Active;
} catch(...) { return false; } // never throws
} // if ( )
@@ -231,8 +234,7 @@ namespace comphelper
sal_Int32 UiEventsLogger::getSessionLogEventCount()
{
try {
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
return UiEventsLogger_Impl::getInstance()->m_SessionLogEventCount;
} catch(...) { return 0; } // never throws
}
@@ -268,8 +270,7 @@ namespace comphelper
const Sequence<PropertyValue>& args)
{
try {
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
UiEventsLogger_Impl::getInstance()->logDispatch(url, args);
} catch(...) { } // never throws
}
@@ -282,8 +283,7 @@ namespace comphelper
const OUString& param)
{
try {
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
UiEventsLogger_Impl::getInstance()->logVcl(parent_id, window_type, id, method, param);
} catch(...) { } // never throws
}
@@ -312,16 +312,14 @@ namespace comphelper
void UiEventsLogger::disposing()
{
// we dont want to create an instance just to dispose it
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
if(UiEventsLogger_Impl::instance!=UiEventsLogger_Impl::ptr())
UiEventsLogger_Impl::getInstance()->disposing();
}
void UiEventsLogger::reinit()
{
- UiEventsLogger_Impl::prepareMutex();
- Guard<Mutex> singleton_guard(UiEventsLogger_Impl::singleton_mutex);
+ Guard<Mutex> singleton_guard(theSingletonMutex::get());
if(UiEventsLogger_Impl::instance)
{
UiEventsLogger_Impl::instance->disposing();
@@ -538,10 +536,10 @@ namespace comphelper
// It will call disposing and make sure we clear all our references
{
Reference<XTerminateListener> xCore(
- sm->createInstance(OUString::createFromAscii("com.sun.star.oooimprovement.Core")),
+ sm->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.oooimprovement.Core"))),
UNO_QUERY);
Reference<XDesktop> xDesktop(
- sm->createInstance(OUString::createFromAscii("com.sun.star.frame.Desktop")),
+ sm->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))),
UNO_QUERY);
if(!(xCore.is() && xDesktop.is()))
{
@@ -574,15 +572,15 @@ namespace comphelper
if(m_Formatter.is() && m_LogHandler.is() && m_Logger.is())
{
Sequence<OUString> columns = Sequence<OUString>(COLUMNS);
- columns[0] = OUString::createFromAscii("eventtype");
- columns[1] = OUString::createFromAscii("originapp");
- columns[2] = OUString::createFromAscii("originwidget");
- columns[3] = OUString::createFromAscii("uno url");
- columns[4] = OUString::createFromAscii("parent id");
- columns[5] = OUString::createFromAscii("window type");
- columns[6] = OUString::createFromAscii("id");
- columns[7] = OUString::createFromAscii("method");
- columns[8] = OUString::createFromAscii("parameter");
+ columns[0] = OUString(RTL_CONSTASCII_USTRINGPARAM("eventtype"));
+ columns[1] = OUString(RTL_CONSTASCII_USTRINGPARAM("originapp"));
+ columns[2] = OUString(RTL_CONSTASCII_USTRINGPARAM("originwidget"));
+ columns[3] = OUString(RTL_CONSTASCII_USTRINGPARAM("uno url"));
+ columns[4] = OUString(RTL_CONSTASCII_USTRINGPARAM("parent id"));
+ columns[5] = OUString(RTL_CONSTASCII_USTRINGPARAM("window type"));
+ columns[6] = OUString(RTL_CONSTASCII_USTRINGPARAM("id"));
+ columns[7] = OUString(RTL_CONSTASCII_USTRINGPARAM("method"));
+ columns[8] = OUString(RTL_CONSTASCII_USTRINGPARAM("parameter"));
m_Formatter->setColumnnames(columns);
m_LogHandler->setFormatter(Reference<XLogFormatter>(m_Formatter, UNO_QUERY));
m_Logger->setLevel(LogLevel::ALL);
@@ -650,7 +648,7 @@ namespace comphelper
{
Reference<XMultiServiceFactory> sm = getProcessServiceFactory();
Reference<XCoreController> core_c(
- sm->createInstance(OUString::createFromAscii("com.sun.star.oooimprovement.CoreController")),
+ sm->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.oooimprovement.CoreController"))),
UNO_QUERY);
if(!core_c.is()) return false;
return core_c->enablingUiEventsLoggerAllowed(1);
@@ -664,17 +662,6 @@ namespace comphelper
return instance;
}
- Mutex * UiEventsLogger_Impl::singleton_mutex = NULL;
- void UiEventsLogger_Impl::prepareMutex()
- {
- if(singleton_mutex == NULL)
- {
- Guard<Mutex> global_guard(Mutex::getGlobalMutex());
- if(singleton_mutex == NULL)
- singleton_mutex = new Mutex();
- }
- }
-
sal_Int32 UiEventsLogger_Impl::findIdx(const Sequence<PropertyValue>& args, const OUString& key)
{
for(sal_Int32 i=0; i<args.getLength(); i++)
@@ -691,3 +678,5 @@ namespace comphelper
m_Formatter.clear();
}
}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */