Repository.mk                                                |    1 
 offapi/UnoApi_offapi.mk                                      |    6 
 offapi/org/freedesktop/PackageKit/XModify.idl                |  104 ++++++++++
 offapi/org/freedesktop/PackageKit/XQuery.idl                 |   48 ++++
 offapi/org/freedesktop/PackageKit/XSyncDbusSessionHelper.idl |   31 +++
 postprocess/packcomponents/makefile.mk                       |    1 
 scp2/source/ooo/file_library_ooo.scp                         |    1 
 scp2/source/ooo/module_hidden_ooo.scp                        |    1 
 shell/Library_losessioninstall.mk                            |   41 +++
 shell/Module_shell.mk                                        |    1 
 shell/source/sessioninstall/SyncDbusSessionHelper.cxx        |  113 +++++++++++
 shell/source/sessioninstall/SyncDbusSessionHelper.hxx        |   60 +++++
 shell/source/sessioninstall/losessioninstall.component       |   15 +
 shell/source/sessioninstall/services.cxx                     |   31 +++
 14 files changed, 454 insertions(+)

New commits:
commit 8cd6a947d92a5657e4133693df5392c34bf115ca
Author: Bjoern Michaelsen <bjoern.michael...@canonical.com>
Date:   Fri Nov 9 19:10:38 2012 +0100

    making org.freedesktop.PackageKit.Query and .Modify available
    
     - partial implementation of the SessionInstaller interfaces
     - accessable via service:
       org.freedesktop.PackageKit.SyncDbusSessionHelper
    
    Change-Id: Ica91f481d041a066215fba3e808bf587e1271f1b

diff --git a/Repository.mk b/Repository.mk
index f4b6985..657e841 100755
--- a/Repository.mk
+++ b/Repository.mk
@@ -558,6 +558,7 @@ $(eval $(call gb_Helper_register_libraries,UNOLIBS_OOO, \
     ldapbe2 \
     localebe1 \
     lomenubar \
+    losessioninstall \
     macbe1 \
     migrationoo2 \
     migrationoo3 \
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index d812927..0f15482 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -4292,4 +4292,10 @@ $(eval $(call 
gb_UnoApi_add_idlfiles,offapi,offapi/com/sun/star/xsd,\
        XDataType \
 ))
 
+$(eval $(call gb_UnoApi_add_idlfiles,offapi,offapi/org/freedesktop/PackageKit,\
+    XSyncDbusSessionHelper \
+    XModify \
+    XQuery \
+))
+
 # vim: set noet sw=4 ts=4:
diff --git a/offapi/org/freedesktop/PackageKit/XModify.idl 
b/offapi/org/freedesktop/PackageKit/XModify.idl
new file mode 100644
index 0000000..79e2f79
--- /dev/null
+++ b/offapi/org/freedesktop/PackageKit/XModify.idl
@@ -0,0 +1,104 @@
+/* -*- 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/.
+ */
+
+#ifndef org_freedesktop_PackageKit_XModify_idl
+#define org_freedesktop_PackageKit_XModify_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module org
+{
+module freedesktop
+{
+module PackageKit
+{
+/**
+ *  The interface used for modifying the package database.
+ */
+interface XModify : com::sun::star::uno::XInterface
+{
+    /**
+     * Installs local package sequence< string > files or service packs.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallPackageFiles( [in] unsigned long xid, [in] sequence< string > 
files, [in] string interaction);
+
+    /**
+     * Installs sequence< string > packages to provide sequence< string > 
files.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallProvideFiles( [in] unsigned long xid, [in] sequence< string > 
files, [in] string interaction);
+
+    /**
+     * Installs sequence< string > packages to provide sequence< string > 
files.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallCatalogs( [in] unsigned long xid, [in] sequence< string > 
files, [in] string interaction);
+
+    /**
+     * Installs sequence< string > packages from a configured software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallPackageNames( [in] unsigned long xid, [in] sequence< string > 
packages, [in] string interaction);
+
+    /**
+     * Installs mimetype handlers from a configured software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallMimeTypes( [in] unsigned long xid, [in] sequence< string > 
mime_types, [in] string interaction);
+
+    /**
+     * Installs fontconfig resources ( [in] usually fonts) from a configured 
software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallFontconfigRessources( [in] unsigned long xid, [in] sequence< 
string > resources, [in] string interaction);
+
+    /**
+     * Installs GStreamer resources ( [in] usually codecs) from a configured 
software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstalliGStreamerRessources( [in] unsigned long xid, [in] sequence< 
string > resources, [in] string interaction);
+
+    /**
+     * Installs resources of a given type from a configured software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallRessources( [in] unsigned long xid, [in] sequence< string > 
types, [in] sequence< string > resources, [in] string interaction);
+
+    /**
+     * Removes sequence< string > packages that provide the given local 
sequence< string > files.
+     * @since LibreOffice 3.7
+     */
+
+    void RemovePackageByFiles( [in] unsigned long xid, [in] sequence< string > 
files, [in] string interaction);
+
+    /**
+     * Installs printer drivers from a configured software source.
+     * @since LibreOffice 3.7
+     */
+
+    void InstallPrinterDrivers( [in] unsigned long xid, [in] sequence< string 
> files, [in] string interaction);
+};
+
+} ; // PackageKit
+} ; // freedesktop
+} ; // org
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/org/freedesktop/PackageKit/XQuery.idl 
b/offapi/org/freedesktop/PackageKit/XQuery.idl
new file mode 100644
index 0000000..9eb4483
--- /dev/null
+++ b/offapi/org/freedesktop/PackageKit/XQuery.idl
@@ -0,0 +1,48 @@
+/* -*- 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/.
+ */
+#ifndef org_freedesktop_PakageKit_XQuery_idl
+#define org_freedesktop_PakageKit_XQuery_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module org
+{
+module freedesktop
+{
+module PackageKit
+{
+/**
+ *  The interface used for quering the package database.
+ */
+interface XQuery : com::sun::star::uno::XInterface
+{
+    /**
+     * Installs local package files or service packs.
+     * @since LibreOffice 3.7
+     */
+
+    void IsInstalled([in] string package_name, [in] string interaction, [out] 
boolean installed);
+
+    /**
+     * Installs packages to provide files.
+     * @since LibreOffice 3.7
+     */
+
+    void SearchFile([in] string file_name, [in] string interaction, [out] 
boolean installed, [out] string package_name);
+
+};
+
+} ; // PackageKit
+} ; // freedesktop
+} ; // org
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/org/freedesktop/PackageKit/XSyncDbusSessionHelper.idl 
b/offapi/org/freedesktop/PackageKit/XSyncDbusSessionHelper.idl
new file mode 100644
index 0000000..bc19f77
--- /dev/null
+++ b/offapi/org/freedesktop/PackageKit/XSyncDbusSessionHelper.idl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+#ifndef org_freedesktop_PackageKit_XSyncDbusSessionHelper_idl
+#define org_freedesktop_PackageKit_XSyncDbusSessionHelper_idl
+
+#include <org/freedesktop/PackageKit/XModify.idl>
+#include <org/freedesktop/PackageKit/XQuery.idl>
+
+module org {
+module freedesktop {
+module PackageKit {
+
+interface XSyncDbusSessionHelper
+{
+    interface XModify;
+    interface XQuery;
+};
+
+} ; // PackageKit
+} ; // freedesktop
+} ; // org
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/postprocess/packcomponents/makefile.mk 
b/postprocess/packcomponents/makefile.mk
index 269bf58..27447e2 100644
--- a/postprocess/packcomponents/makefile.mk
+++ b/postprocess/packcomponents/makefile.mk
@@ -93,6 +93,7 @@ my_components = \
     component/sot/util/sot \
     component/starmath/util/sm \
     component/starmath/util/smd \
+    component/shell/source/sessioninstall/losessioninstall \
     component/svl/source/fsstor/fsstorage \
     component/svl/source/passwordcontainer/passwordcontainer \
     component/svl/util/svl \
diff --git a/scp2/source/ooo/file_library_ooo.scp 
b/scp2/source/ooo/file_library_ooo.scp
index d3c08f3..27c5b2b 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -94,6 +94,7 @@ End
 #endif
 
 SPECIAL_COMPONENT_LIB_FILE(gid_File_Lib_Configmgr, configmgr.uno)
+SPECIAL_COMPONENT_LIB_FILE(gid_File_Lib_Losessioninstall, losessioninstall.uno 
)
 
 File gid_File_Lib_Ldapbe2
     LIB_FILE_BODY;
diff --git a/scp2/source/ooo/module_hidden_ooo.scp 
b/scp2/source/ooo/module_hidden_ooo.scp
index 435b157..6712648 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -312,6 +312,7 @@ Module gid_Module_Root_Files_5
     gid_File_Lib_Textconv_Dict,
        gid_File_Lib_Basprov,
        gid_File_Lib_Configmgr,
+       gid_File_Lib_Losessioninstall,
        gid_File_Lib_Crypto,
        gid_File_Lib_Dlgprov,
        gid_File_Lib_Stringresource,
diff --git a/shell/Library_losessioninstall.mk 
b/shell/Library_losessioninstall.mk
new file mode 100644
index 0000000..eb5f123
--- /dev/null
+++ b/shell/Library_losessioninstall.mk
@@ -0,0 +1,41 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_Library_Library,losessioninstall))
+
+$(eval $(call 
gb_Library_set_componentfile,losessioninstall,shell/source/sessioninstall/losessioninstall))
+
+$(eval $(call gb_Library_use_api,losessioninstall,\
+    offapi \
+    udkapi \
+))
+
+$(eval $(call gb_Library_use_libraries,losessioninstall,\
+       comphelper \
+       cppu \
+       cppuhelper \
+       sal \
+       $(gb_STDLIBS) \
+))
+
+ifeq ($(RTL_OS),Linux)
+ifeq ($(ENABLE_GIO),TRUE)
+$(eval $(call gb_Library_use_externals,losessioninstall,\
+    dbus \
+    gio \
+))
+
+$(eval $(call gb_Library_add_exception_objects,losessioninstall,\
+       shell/source/sessioninstall/SyncDbusSessionHelper \
+       shell/source/sessioninstall/services \
+))
+endif
+endif
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk
index f520aea..50687ac 100644
--- a/shell/Module_shell.mk
+++ b/shell/Module_shell.mk
@@ -30,6 +30,7 @@ $(eval $(call gb_Module_Module,shell))
 $(eval $(call gb_Module_add_targets,shell,\
        Library_desktopbe \
        Library_localebe \
+       Library_losessioninstall \
 ))
 
 ifeq ($(ENABLE_GCONF),TRUE)
diff --git a/shell/source/sessioninstall/SyncDbusSessionHelper.cxx 
b/shell/source/sessioninstall/SyncDbusSessionHelper.cxx
new file mode 100644
index 0000000..1653cb3
--- /dev/null
+++ b/shell/source/sessioninstall/SyncDbusSessionHelper.cxx
@@ -0,0 +1,113 @@
+/* -*- 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/.
+ */
+
+#include <SyncDbusSessionHelper.hxx>
+
+#include <comphelper/stlunosequence.hxx>
+#include <gio/gio.h>
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::uno;
+using namespace ::comphelper;
+using namespace ::std;;
+using namespace ::rtl;;
+
+namespace
+{
+    struct GVariantDeleter { void operator()(GVariant* pV) { 
g_variant_unref(pV); } };
+    struct GVariantBuilderDeleter { void operator()(GVariantBuilder* pVB) { 
g_variant_builder_unref(pVB); } };
+    template <typename T> struct GObjectDeleter { void operator()(T* pO) { 
g_object_unref(pO); } };
+    class GErrorWrapper
+    {
+        GError* m_pError;
+        public:
+            GErrorWrapper(GError* pError) : m_pError(pError) {};
+            ~GErrorWrapper()
+            {
+                if(!m_pError)
+                    return;
+                OUString sMsg = OUString::createFromAscii(m_pError->message);
+                g_error_free(m_pError);
+                throw RuntimeException(sMsg, NULL);
+            }
+            GError** getRef() { return &m_pError; }
+    };
+    static inline GDBusProxy* lcl_GetPackageKitProxy(const OUString sInterface)
+    {
+        const OString sFullInterface = 
rtl::OUStringToOString("org.freedesktop.PackageKit." + sInterface, 
RTL_TEXTENCODING_ASCII_US);
+        GErrorWrapper error(NULL);
+        GDBusProxy* proxy = NULL;
+        proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+                               G_DBUS_PROXY_FLAGS_NONE, NULL,
+                               "org.freedesktop.PackageKit",
+                               "/org/freedesktop/PackageKit",
+                               reinterpret_cast<const 
gchar*>(sFullInterface.getStr()),
+                               NULL,
+                               error.getRef());
+        if(!proxy)
+            throw RuntimeException(OUString("couldnt get a proxy!"),NULL);
+        return proxy;
+    };
+}
+
+namespace shell { namespace sessioninstall
+{
+    SyncDbusSessionHelper::SyncDbusSessionHelper(Reference<XComponentContext> 
const&)
+    {
+        g_type_init ();
+    }
+    void SAL_CALL SyncDbusSessionHelper::InstallPackageNames( const 
::sal_uInt32 nXid, const Sequence< OUString >& vPackages, const OUString& 
sInteraction ) throw (RuntimeException)
+    {
+        vector< OString > vPackagesOString;
+        vPackagesOString.reserve(vPackages.getLength());
+        boost::shared_ptr<GVariantBuilder> 
pBuilder(g_variant_builder_new(G_VARIANT_TYPE ("as")), 
GVariantBuilderDeleter());
+        for( const OUString* pPackage = stl_begin(vPackages); pPackage != 
stl_end(vPackages); ++pPackage)
+        {
+            vPackagesOString.push_back(rtl::OUStringToOString(*pPackage, 
RTL_TEXTENCODING_ASCII_US));
+            g_variant_builder_add(pBuilder.get(), "s", 
vPackagesOString.back().getStr());
+        }
+
+        const OString sInteractionAscii = OUStringToOString(sInteraction, 
RTL_TEXTENCODING_ASCII_US);
+        boost::shared_ptr<GDBusProxy> proxy(lcl_GetPackageKitProxy("Modify"), 
GObjectDeleter<GDBusProxy>());
+        GErrorWrapper error(NULL);
+        g_dbus_proxy_call_sync (proxy.get(),
+                         "InstallPackageNames",
+                         g_variant_new ("(uass)",
+                                sal::static_int_cast<guint32>(nXid),
+                                pBuilder.get(),
+                                sInteractionAscii.getStr()),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         -1, /* timeout */
+                         NULL, /* cancellable */
+                         error.getRef());
+    }
+
+    void SAL_CALL SyncDbusSessionHelper::IsInstalled( const OUString& 
sPackagename, const OUString& sInteraction, ::sal_Bool& o_isInstalled ) throw 
(RuntimeException)
+    {
+        const OString sPackagenameAscii = OUStringToOString(sPackagename, 
RTL_TEXTENCODING_ASCII_US);
+        const OString sInteractionAscii = OUStringToOString(sInteraction, 
RTL_TEXTENCODING_ASCII_US);
+        boost::shared_ptr<GDBusProxy> proxy(lcl_GetPackageKitProxy("Query"), 
GObjectDeleter<GDBusProxy>());
+        GErrorWrapper error(NULL);
+        boost::shared_ptr<GVariant> result(g_dbus_proxy_call_sync (proxy.get(),
+                         "IsInstalled",
+                         g_variant_new ("(ss)",
+                                sPackagenameAscii.getStr(),
+                                sInteractionAscii.getStr()),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         -1, /* timeout */
+                         NULL, /* cancellable */
+                         error.getRef()),GVariantDeleter());
+        if(result.get())
+            o_isInstalled = 
g_variant_get_boolean(g_variant_get_child_value(result.get(),0)) ? sal_True : 
sal_False;
+    }
+}}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/sessioninstall/SyncDbusSessionHelper.hxx 
b/shell/source/sessioninstall/SyncDbusSessionHelper.hxx
new file mode 100644
index 0000000..bbb1201
--- /dev/null
+++ b/shell/source/sessioninstall/SyncDbusSessionHelper.hxx
@@ -0,0 +1,60 @@
+/* -*- 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/.
+ */
+
+#ifndef SHELL_SESSIONINSTALL_SYNCDBUSSESSIONHELPER_HXX
+#define SHELL_SESSIONINSTALL_SYNCDBUSSESSIONHELPER_HXX
+
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <org/freedesktop/PackageKit/XSyncDbusSessionHelper.hpp>
+#include <cppuhelper/implbase1.hxx>
+
+namespace shell { namespace sessioninstall
+{
+    class SyncDbusSessionHelper : public ::cppu::WeakImplHelper1< 
::org::freedesktop::PackageKit::XSyncDbusSessionHelper >
+    {
+        public:
+            SyncDbusSessionHelper(::com::sun::star::uno::Reference< 
::com::sun::star::uno::XComponentContext> const&);
+            virtual ~SyncDbusSessionHelper() {};
+            // XModify Methods
+            virtual void SAL_CALL InstallPackageNames( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& packages, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException);
+
+            virtual void SAL_CALL InstallPackageFiles( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& files, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallProvideFiles( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& files, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallCatalogs( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& files, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallMimeTypes( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& mime_types, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallFontconfigRessources( ::sal_uInt32 
xid, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& resources, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstalliGStreamerRessources( ::sal_uInt32 
xid, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& resources, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallRessources( ::sal_uInt32 xid, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& types, const 
::com::sun::star::uno::Sequence< ::rtl::OUString >& resources, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL RemovePackageByFiles( ::sal_uInt32 xid, 
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& files, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            virtual void SAL_CALL InstallPrinterDrivers( ::sal_uInt32 xid, 
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& files, const 
::rtl::OUString& interaction ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+            // XQuery Methods
+            virtual void SAL_CALL IsInstalled( const ::rtl::OUString& 
package_name, const ::rtl::OUString& interaction, ::sal_Bool& installed ) throw 
(::com::sun::star::uno::RuntimeException);
+
+            virtual void SAL_CALL SearchFile( const ::rtl::OUString& 
file_name, const ::rtl::OUString& interaction, ::sal_Bool& installed, 
::rtl::OUString& package_name ) throw (::com::sun::star::uno::RuntimeException)
+                { throw ::com::sun::star::uno::RuntimeException(); }; // not 
implemented
+
+        private:
+            SyncDbusSessionHelper(); // never implemented
+            SyncDbusSessionHelper( const SyncDbusSessionHelper& ); // never 
implemented
+            SyncDbusSessionHelper& operator=( const SyncDbusSessionHelper& ); 
// never implemented
+    };
+}}
+
+#endif // SHELL_SESSIONINSTALL_SYNCDBUSSESSIONHELPER_HXX
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/sessioninstall/losessioninstall.component 
b/shell/source/sessioninstall/losessioninstall.component
new file mode 100644
index 0000000..d01c357
--- /dev/null
+++ b/shell/source/sessioninstall/losessioninstall.component
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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/.
+ *
+-->
+<component loader="com.sun.star.loader.SharedLibrary"
+    xmlns="http://openoffice.org/2010/uno-components";>
+  <implementation 
name="org.libreoffice.comp.shell.sessioninstall.SyncDbusSessionHelper">
+    <service name="org.freedesktop.PackageKit.SyncDbusSessionHelper"/>
+  </implementation>
+</component>
diff --git a/shell/source/sessioninstall/services.cxx 
b/shell/source/sessioninstall/services.cxx
new file mode 100644
index 0000000..caf3321
--- /dev/null
+++ b/shell/source/sessioninstall/services.cxx
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+#include <SyncDbusSessionHelper.hxx>
+#include <comphelper/servicedecl.hxx>
+#include <uno/environment.h>
+
+namespace sdecl = ::comphelper::service_decl;
+
+sdecl::class_< ::shell::sessioninstall::SyncDbusSessionHelper> 
SyncDbusSessionHelperServiceImpl;
+
+const sdecl::ServiceDecl SyncDbusSessionHelperServiceDecl(
+    SyncDbusSessionHelperServiceImpl,
+    "org.libreoffice.comp.shell.sessioninstall.SyncDbusSessionHelper",
+    "org.freedesktop.PackageKit.SyncDbusSessionHelper");
+
+COMPHELPER_SERVICEDECL_EXPORTS1(losessioninstall, 
SyncDbusSessionHelperServiceDecl);
+extern "C"
+{
+    SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( sal_Char const* 
pImplName, ::com::sun::star::lang::XMultiServiceFactory* pServiceManager, 
::com::sun::star::registry::XRegistryKey* pRegistryKey )
+        { return losessioninstall_component_getFactory(pImplName, 
pServiceManager, pRegistryKey); }
+}
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to