diff options
Diffstat (limited to 'src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java')
-rw-r--r-- | src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java b/src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java new file mode 100644 index 0000000..05bd7cc --- /dev/null +++ b/src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java @@ -0,0 +1,75 @@ +/* + * Jitsi, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.plugin.msofficecomm; + +import org.osgi.framework.*; + +/** + * Implements {@link BundleActivator} for the <tt>msofficecomm</tt> bundle. + * + * @author Lyubomir Marinov + */ +public class MsOfficeCommActivator + implements BundleActivator +{ + /** + * Starts the <tt>msofficecomm</tt> bundle in a specific + * {@link BundleContext}. + * + * @param bundleContext the <tt>BundleContext</tt> in which the + * <tt>msofficecomm</tt> bundle is to be started + * @throws Exception if anything goes wrong while starting the + * <tt>msofficecomm</tt> bundle in the specified <tt>BundleContext</tt> + */ + public void start(BundleContext bundleContext) + throws Exception + { + Messenger.start(bundleContext); + + boolean stopMessenger = true; + + try + { + int hresult = OutOfProcessServer.start(); + + if (hresult < 0) + throw new RuntimeException("HRESULT " + hresult); + else + stopMessenger = false; + } + finally + { + if (stopMessenger) + Messenger.stop(bundleContext); + } + } + + /** + * Stops the <tt>msofficecomm</tt> bundle in a specific + * {@link BundleContext}. + * + * @param bundleContext the <tt>BundleContext</tt> in which the + * <tt>msofficecomm</tt> bundle is to be stopped + * @throws Exception if anything goes wrong while stopping the + * <tt>msofficecomm</tt> bundle in the specified <tt>BundleContext</tt> + */ + public void stop(BundleContext bundleContext) + throws Exception + { + try + { + int hresult = OutOfProcessServer.stop(); + + if (hresult < 0) + throw new RuntimeException("HRESULT " + hresult); + } + finally + { + Messenger.stop(bundleContext); + } + } +} |