summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/mozilla
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /offapi/com/sun/star/mozilla
parentInitial commit. (diff)
downloadlibreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz
libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/mozilla')
-rw-r--r--offapi/com/sun/star/mozilla/MenuMultipleChange.idl78
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxy.idl47
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxyListener.idl46
-rw-r--r--offapi/com/sun/star/mozilla/MenuSingleChange.idl54
-rw-r--r--offapi/com/sun/star/mozilla/MozillaBootstrap.idl45
-rw-r--r--offapi/com/sun/star/mozilla/MozillaProductType.idl55
-rw-r--r--offapi/com/sun/star/mozilla/XCloseSessionListener.idl46
-rw-r--r--offapi/com/sun/star/mozilla/XCodeProxy.idl56
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxy.idl67
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxyListener.idl63
-rw-r--r--offapi/com/sun/star/mozilla/XMozillaBootstrap.idl53
-rw-r--r--offapi/com/sun/star/mozilla/XProfileDiscover.idl116
-rw-r--r--offapi/com/sun/star/mozilla/XProfileManager.idl103
-rw-r--r--offapi/com/sun/star/mozilla/XProxyRunner.idl54
14 files changed, 883 insertions, 0 deletions
diff --git a/offapi/com/sun/star/mozilla/MenuMultipleChange.idl b/offapi/com/sun/star/mozilla/MenuMultipleChange.idl
new file mode 100644
index 000000000..b27a05a28
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuMultipleChange.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MenuMultipleChange_idl__
+#define __com_sun_star_mozilla_MenuMultipleChange_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Explains properties of a menu item
+ */
+published struct MenuMultipleChange
+{
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ /** unique ID of the group this menu item belongs to
+ */
+ short GroupID;
+
+ /** unique ID of the item directly above this menu item, used for fuzzy placement
+ */
+ short PreItemID;
+
+ /** text of the menu item
+ */
+ string ItemText;
+
+ /** true if visible
+ */
+ boolean IsVisible;
+
+ /** true if active, so clickable
+ */
+ boolean IsActive;
+
+ /** true if checkable, so there can be a checkmark
+ */
+ boolean IsCheckable;
+
+ /** true if there is a checkmark
+ */
+ boolean IsChecked;
+
+ /** sequence of bytes representing a possible image
+ */
+ sequence<byte> Image;
+ };
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuProxy.idl b/offapi/com/sun/star/mozilla/MenuProxy.idl
new file mode 100644
index 000000000..106a99933
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxy.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MenuProxy_idl__
+#define __com_sun_star_mozilla_MenuProxy_idl__
+
+#include <com/sun/star/mozilla/XMenuProxy.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published service MenuProxy
+{
+ /** @see XMenuProxy
+ */
+ interface XMenuProxy;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuProxyListener.idl b/offapi/com/sun/star/mozilla/MenuProxyListener.idl
new file mode 100644
index 000000000..185d56de4
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxyListener.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MenuProxyListener_idl__
+#define __com_sun_star_mozilla_MenuProxyListener_idl__
+
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listens for changes in menu items.
+ */
+published service MenuProxyListener
+{
+ /** @see XMenuProxyListener
+ */
+ interface XMenuProxyListener;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MenuSingleChange.idl b/offapi/com/sun/star/mozilla/MenuSingleChange.idl
new file mode 100644
index 000000000..aeca14fc8
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuSingleChange.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MenuSingleChange_idl__
+#define __com_sun_star_mozilla_MenuSingleChange_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Explains a change for a menu item
+ */
+published struct MenuSingleChange
+{
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ /** ID identifying the type of change in the any type change
+ */
+ short ChangeID;
+
+ /** value of change
+ */
+ any Change;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MozillaBootstrap.idl b/offapi/com/sun/star/mozilla/MozillaBootstrap.idl
new file mode 100644
index 000000000..9a27bef97
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaBootstrap.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MozillaBootstrap_idl__
+#define __com_sun_star_mozilla_MozillaBootstrap_idl__
+
+#include <com/sun/star/mozilla/XMozillaBootstrap.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** Allow to discover Mozilla/Thunderbird profiles
+ Allow init Mozilla XPCOM using selected profile and switch profiles.
+
+ @see XMozillaBootstrap
+ */
+published service MozillaBootstrap : XMozillaBootstrap;
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/MozillaProductType.idl b/offapi/com/sun/star/mozilla/MozillaProductType.idl
new file mode 100644
index 000000000..d0d8e0f7d
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaProductType.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_MozillaProductType_idl__
+#define __com_sun_star_mozilla_MozillaProductType_idl__
+
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** Mozilla Product Types
+ */
+published enum MozillaProductType
+{
+ /** Any product
+ */
+ Default = 0,
+ /** Mozilla browse and mail suite
+ */
+ Mozilla = 1,
+ /** Mozilla's next generation web browser.
+ */
+ Firefox = 2,
+ /** Mozilla's next generation e-mail client.
+ */
+ Thunderbird = 3
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XCloseSessionListener.idl b/offapi/com/sun/star/mozilla/XCloseSessionListener.idl
new file mode 100644
index 000000000..3747b8292
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCloseSessionListener.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XCloseSessionListener_idl__
+#define __com_sun_star_mozilla_XCloseSessionListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listener for closing of the corresponding session.
+*/
+published interface XCloseSessionListener: com::sun::star::uno::XInterface
+{
+
+ /** Notifies a closesession listener that the corresponding session was logged out
+
+ @param sessionData [in]: the data identifying the session that was closed
+
+ */
+ void sessionClosed( [in] any sessionData );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XCodeProxy.idl b/offapi/com/sun/star/mozilla/XCodeProxy.idl
new file mode 100644
index 000000000..dc2552aab
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCodeProxy.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XCodeProxy_idl__
+#define __com_sun_star_mozilla_XCodeProxy_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface to run Mozilla XPCOM code
+ to run Mozilla XPCOM code in OOo,you should first implement this interface, then pass this object to
+ xProxyRunner->Run
+
+ @see XProxyRunner
+ @see XMozillaBootstrap
+ */
+published interface XCodeProxy: com::sun::star::uno::XInterface
+{
+
+ /** all Mozilla XPCOM code must be called in run() or functions called by run()
+ */
+ long run();
+ /** which Mozilla product this code is write for
+ */
+ MozillaProductType getProductType();
+ /** which Mozilla profile this code will use
+ */
+ string getProfileName();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMenuProxy.idl b/offapi/com/sun/star/mozilla/XMenuProxy.idl
new file mode 100644
index 000000000..1219b78e6
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxy.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_XMenuProxy_idl__
+#define __com_sun_star_mozilla_XMenuProxy_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published interface XMenuProxy: com::sun::star::lang::XComponent
+{
+ /** Executes dispatch for the given menu id
+
+ @param ID [in]: the menu item
+
+ */
+ void executeMenuItem([in] short ID);
+
+ /** Registers an event listener, which will be called when the menu changes
+
+ @param xListener [in]: the listener to be set
+
+ */
+ void addMenuProxyListener([in] XMenuProxyListener xListener );
+
+ /** Unregisters an event listener which was registered with
+ XMenuProxy::addMenuProxyListener().
+
+ @param xListener [in]: the listener to be removed
+
+ */
+ void removeMenuProxyListener([in] XMenuProxyListener xListener );
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMenuProxyListener.idl b/offapi/com/sun/star/mozilla/XMenuProxyListener.idl
new file mode 100644
index 000000000..911d63ac5
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxyListener.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#ifndef __com_sun_star_mozilla_XMenuProxyListener_idl__
+#define __com_sun_star_mozilla_XMenuProxyListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/mozilla/MenuMultipleChange.idl>
+
+#include <com/sun/star/mozilla/MenuSingleChange.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+/** Listens for changes in menu items.
+ */
+published interface XMenuProxyListener: com::sun::star::uno::XInterface
+{
+ /** is called, if the content or graphical representation/state of the menu changes
+ completely, for one or more menu items
+ */
+ void menuChangedMultiple([in] sequence<MenuMultipleChange> MenuMultipleChanges);
+
+ /** is called, if the content or graphical representation/state of the menu changes,
+ by one property for one or more menu items
+ */
+ void menuChangedSingle([in] sequence<MenuSingleChange> MenuSingleChanges);
+
+ /** is called, if one menu item designated by the ID, is deleted.
+
+ @param ID [in]: the menu item
+
+ */
+ void menuItemDeleted([in] short ID);
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl b/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl
new file mode 100644
index 000000000..d5f8a9322
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XMozillaBootstrap_idl__
+#define __com_sun_star_mozilla_XMozillaBootstrap_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/XProfileDiscover.idl>
+#include <com/sun/star/mozilla/XProfileManager.idl>
+#include <com/sun/star/mozilla/XProxyRunner.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+published interface XProfileDiscover;
+published interface XProfileManager;
+published interface XProxyRunner;
+ /**
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::XProfileManager
+ @see com::sun::star::mozilla::XProxyRunner
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XMozillaBootstrap
+{
+ interface XProfileDiscover;
+ interface XProfileManager;
+ interface XProxyRunner;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProfileDiscover.idl b/offapi/com/sun/star/mozilla/XProfileDiscover.idl
new file mode 100644
index 000000000..ffbbbf695
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileDiscover.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XProfileDiscover_idl__
+#define __com_sun_star_mozilla_XProfileDiscover_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface used to list and get information for Mozilla/Thunderbird profiles
+
+
+ @see com::sun::star::mozilla::XProfileManager
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProfileDiscover: com::sun::star::uno::XInterface
+{
+
+ /** attempts to get the profiles count.
+
+ @param product
+ is the product name to get profiles count.Currently support "Mozilla" and "Thunderbird".
+ @returns
+ the profiles count of selected product.
+
+ */
+ long getProfileCount( [in]MozillaProductType product);
+
+ /** attempts to get the profile list for the given product.
+
+ @param product
+ is the product name to get profile list.Currently support "Mozilla" and "Thunderbird".
+ @param list
+ is a list of all profile of the given product.
+ @returns
+ the profile count for the given product.
+
+ */
+ long getProfileList( [in]MozillaProductType product,[out] sequence<string> list);
+
+ /** attempts to get the default profile name for the given product.
+
+ @param product
+ is the product name to get default profile.Currently support "Mozilla" and "Thunderbird".
+ @returns
+ the default profile name for the given product.
+
+ */
+ string getDefaultProfile( [in]MozillaProductType product);
+
+
+ /** attempts to get the full path for the given profile.
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to get full path.
+ @returns
+ the full path of the given profile.
+
+ */
+ string getProfilePath( [in]MozillaProductType product,[in]string profileName);
+
+ /** attempts to get whether profile is locked by other applications.
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to check.
+ @returns
+ true is the given profile is locked.
+
+ */
+ boolean isProfileLocked( [in]MozillaProductType product,[in]string profileName);
+
+ /** return true if the given profile exists
+
+ @param product
+ is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
+ @param profileName
+ the profile name to check.
+ @returns
+ whether given profile exists
+
+ */
+ boolean getProfileExists( [in]MozillaProductType product,[in]string profileName);
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProfileManager.idl b/offapi/com/sun/star/mozilla/XProfileManager.idl
new file mode 100644
index 000000000..fc5a8adf7
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileManager.idl
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XProfileManager_idl__
+#define __com_sun_star_mozilla_XProfileManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface to boot up and switch Mozilla/Thunderbird profiles
+
+ @see com::sun::star::mozilla::MozillaProductType
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProfileManager: com::sun::star::uno::XInterface
+{
+ /** attempts to init XPCOM runtime using given profile.
+
+ @param product
+ is the product to start up.
+ @param profileName
+ the profile name to be used.
+ @returns
+ the current reference count for the given profile.
+
+ */
+ long bootupProfile( [in]MozillaProductType product,[in]string profileName);
+
+ /** attempts to shutdown the current profile.
+
+ @returns
+ the current reference count for the current profile.
+
+ */
+ long shutdownProfile();
+
+ /** attempts to get the current product.
+
+ @returns
+ the current used product.
+
+ */
+ MozillaProductType getCurrentProduct();
+
+ /** attempts to get the current profile name.
+
+ @returns
+ the current used profile.
+
+ */
+ string getCurrentProfile();
+
+ /** attempts to check whether the current profile locked or not
+
+ @returns
+ return sal_True is current profile is locked
+
+ */
+ boolean isCurrentProfileLocked();
+
+ /** attempts to set the current used profile name for the given product.
+
+ @param product
+ is the product to be used.
+ @param profileName
+ the profile name to be used.
+ @returns
+ the current used profile name for the given product.
+
+ */
+ string setCurrentProfile( [in]MozillaProductType product,[in]string profileName);
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/mozilla/XProxyRunner.idl b/offapi/com/sun/star/mozilla/XProxyRunner.idl
new file mode 100644
index 000000000..d3974e17e
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProxyRunner.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_mozilla_XProxyRunner_idl__
+#define __com_sun_star_mozilla_XProxyRunner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/mozilla/XCodeProxy.idl>
+
+
+ module com { module sun { module star { module mozilla {
+
+
+published interface XCodeProxy;
+/** is the interface run Mozilla XPCOM code in a managed environment
+
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProxyRunner: com::sun::star::uno::XInterface
+{
+ /** attempts to Run XPCOM code in a managed environment
+
+ @param aCode
+ is a com:sun:star:mozilla:XCodeProxy object to be run.
+ @returns
+ the error code, is 0 when no error happened.
+
+ */
+ long Run( [in]XCodeProxy aCode);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */