diff -r e5618cc85d74 -r 6c158198356e javamanager/javacaptain/extensionplugins/settingslistener/src/settingslistenerextension.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javamanager/javacaptain/extensionplugins/settingslistener/src/settingslistenerextension.cpp Thu Aug 19 09:48:13 2010 +0300 @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation for creating system settings listener plugin +* +*/ + +#include "logger.h" +#include "settingslistenerextension.h" +#include "settingslistenerimpl.h" + +#ifdef __SYMBIAN32__ +java::captain::ExtensionPluginInterface* getExtensionPlugin() +{ +#else +extern "C" java::captain::ExtensionPluginInterface* getExtensionPlugin() +{ +#endif + return new java::captain::SettingsListenerExtension(); +} + +namespace java +{ +namespace captain +{ + +SettingsListenerExtension::SettingsListenerExtension() : mCore(0), mSettingsListenerImpl(0) +{ +} + +SettingsListenerExtension::~SettingsListenerExtension() +{ +} + +void SettingsListenerExtension::startPlugin(CoreInterface* core) +{ + if (mSettingsListenerImpl || mCore) + { + WLOG(EJavaCaptain, "Settingslistener plugin already running, terminating previous instance first!"); + stopPlugin(); + } + mCore = core; + mSettingsListenerImpl = new SettingsListenerImpl(mCore); + mSettingsListenerImpl->startListening(); +} + +void SettingsListenerExtension::stopPlugin() +{ + mCore = 0; + if (mSettingsListenerImpl) + { + mSettingsListenerImpl->stopListening(); + delete mSettingsListenerImpl; + mSettingsListenerImpl = 0; + } +} + + +} // namespace captain +} // namespace java +