aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java')
-rw-r--r--src/net/java/sip/communicator/plugin/msofficecomm/MsOfficeCommActivator.java75
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);
+ }
+ }
+}