diff --git a/src/net/java/sip/communicator/impl/gui/GuiActivator.java b/src/net/java/sip/communicator/impl/gui/GuiActivator.java
index 9e5b5fa3f..dd8be7210 100644
--- a/src/net/java/sip/communicator/impl/gui/GuiActivator.java
+++ b/src/net/java/sip/communicator/impl/gui/GuiActivator.java
@@ -17,6 +17,7 @@
import net.java.sip.communicator.service.contactlist.MetaContactListService;
import net.java.sip.communicator.service.gui.UIService;
import net.java.sip.communicator.service.protocol.ProtocolProviderFactory;
+import net.java.sip.communicator.service.protocol.ProtocolProviderService;
import net.java.sip.communicator.util.Logger;
import org.osgi.framework.BundleActivator;
@@ -67,7 +68,7 @@ public void start(BundleContext bundleContext) throws Exception {
.getService(clistReference);
mainFrame.setContactList(contactListService);
-
+
logger.logEntry();
//Create the ui service
@@ -85,11 +86,11 @@ public void start(BundleContext bundleContext) throws Exception {
* this.uiService.setVisible(true);
* SwingUtilities.invokeLater(new RunLogin());
*/
-
WelcomeWindow welcomeWindow = new WelcomeWindow(communicatorMain,
loginManager, bundleContext);
-
+
welcomeWindow.showWindow();
+
} finally {
logger.logExit();
}
@@ -157,6 +158,33 @@ public static Map getProtocolProviderFactories() {
return providerFactoriesMap;
}
+ /**
+ * Returns a ProtocolProviderFactory for a given protocol
+ * provider.
+ * @return a ProtocolProviderFactory for a given protocol
+ * provider
+ */
+ public static ProtocolProviderFactory getProtocolProviderFactory(
+ ProtocolProviderService protocolProvider) {
+
+ ServiceReference[] serRefs = null;
+
+ String osgiFilter = "("
+ + ProtocolProviderFactory.PROTOCOL
+ + "="+protocolProvider.getProtocolName()+")";
+
+ try {
+ serRefs = GuiActivator.bundleContext.getServiceReferences(
+ ProtocolProviderFactory.class.getName(), osgiFilter);
+ }
+ catch (InvalidSyntaxException ex){
+ logger.error("GuiActivator : " + ex);
+ }
+
+ return (ProtocolProviderFactory) GuiActivator
+ .bundleContext.getService(serRefs[0]);
+ }
+
public static UIService getUIService() {
return uiService;
}