diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2012-11-09 19:10:38 +0100 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2012-11-09 19:18:34 +0100 |
commit | 8cd6a947d92a5657e4133693df5392c34bf115ca (patch) | |
tree | 5f7f89b976268aca4e4e0f69cb312de8005e271b | |
parent | 812052063db50b8fb432bde85fab017f5a7e8d6e (diff) |
making org.freedesktop.PackageKit.Query and .Modify available
- partial implementation of the SessionInstaller interfaces
- accessable via service:
org.freedesktop.PackageKit.SyncDbusSessionHelper
Change-Id: Ica91f481d041a066215fba3e808bf587e1271f1b
-rwxr-xr-x | Repository.mk | 1 | ||||
-rw-r--r-- | offapi/UnoApi_offapi.mk | 6 | ||||
-rw-r--r-- | offapi/org/freedesktop/PackageKit/XModify.idl | 104 | ||||
-rw-r--r-- | offapi/org/freedesktop/PackageKit/XQuery.idl | 48 | ||||
-rw-r--r-- | offapi/org/freedesktop/PackageKit/XSyncDbusSessionHelper.idl | 31 | ||||
-rw-r--r-- | postprocess/packcomponents/makefile.mk | 1 | ||||
-rw-r--r-- | scp2/source/ooo/file_library_ooo.scp | 1 | ||||
-rw-r--r-- | scp2/source/ooo/module_hidden_ooo.scp | 1 | ||||
-rw-r--r-- | shell/Library_losessioninstall.mk | 41 | ||||
-rw-r--r-- | shell/Module_shell.mk | 1 | ||||
-rw-r--r-- | shell/source/sessioninstall/SyncDbusSessionHelper.cxx | 113 | ||||
-rw-r--r-- | shell/source/sessioninstall/SyncDbusSessionHelper.hxx | 60 | ||||
-rw-r--r-- | shell/source/sessioninstall/losessioninstall.component | 15 | ||||
-rw-r--r-- | shell/source/sessioninstall/services.cxx | 31 |
14 files changed, 454 insertions, 0 deletions
diff --git a/Repository.mk b/Repository.mk index f4b6985b871c..657e8418f73a 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 d8129272bc7b..0f154828a4f7 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 000000000000..79e2f79cd2a4 --- /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 000000000000..9eb4483a85c7 --- /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 000000000000..bc19f776fc11 --- /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 269bf5863f8a..27447e2961b9 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 d3c08f3dc921..27c5b2b9d9d5 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 435b157d26fb..671264880469 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 000000000000..eb5f1232e384 --- /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 f520aea372a7..50687acc4e4c 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 000000000000..1653cb3f8603 --- /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 000000000000..bbb1201246fb --- /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 000000000000..d01c357ef6cb --- /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 000000000000..caf332197a96 --- /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: */ |