From 0f55127195a897ca7b13c25ded2208476dba3a08 Mon Sep 17 00:00:00 2001 From: brinzing Date: Fri, 10 May 2019 20:12:35 +0200 Subject: tdf#125207 [API CHANGE] extend css.awt.PrinterServer: XPrinterServer2 Change-Id: Ic2df8ac676ae786d9c0ea2ab3619f9f9de087ca7 Reviewed-on: https://gerrit.libreoffice.org/72135 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- include/toolkit/awt/vclxprinter.hxx | 7 +++-- offapi/UnoApi_offapi.mk | 1 + offapi/com/sun/star/awt/PrinterServer.idl | 2 +- offapi/com/sun/star/awt/XPrinterServer2.idl | 49 +++++++++++++++++++++++++++++ toolkit/source/awt/vclxprinter.cxx | 7 ++++- 5 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 offapi/com/sun/star/awt/XPrinterServer2.idl diff --git a/include/toolkit/awt/vclxprinter.hxx b/include/toolkit/awt/vclxprinter.hxx index 60fb105b77d9..a22f52432136 100644 --- a/include/toolkit/awt/vclxprinter.hxx +++ b/include/toolkit/awt/vclxprinter.hxx @@ -22,7 +22,7 @@ #include -#include +#include #include #include @@ -175,14 +175,15 @@ public: // class VCLXPrinterServer -typedef ::cppu::WeakImplHelper < css::awt::XPrinterServer, +typedef ::cppu::WeakImplHelper < css::awt::XPrinterServer2, css::lang::XServiceInfo > VCLXPrinterServer_Base; class VCLXPrinterServer : public VCLXPrinterServer_Base { public: - // css::awt::XPrinterServer + // css::awt::XPrinterServer2 css::uno::Sequence< OUString > SAL_CALL getPrinterNames( ) override; + OUString SAL_CALL getDefaultPrinterName() override; css::uno::Reference< css::awt::XPrinter > SAL_CALL createPrinter( const OUString& printerName ) override; css::uno::Reference< css::awt::XInfoPrinter > SAL_CALL createInfoPrinter( const OUString& printerName ) override; diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index 4c79c9d04328..c86e7d5a7800 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -1856,6 +1856,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/awt,\ XPrinter \ XPrinterPropertySet \ XPrinterServer \ + XPrinterServer2 \ XProgressBar \ XProgressMonitor \ XRadioButton \ diff --git a/offapi/com/sun/star/awt/PrinterServer.idl b/offapi/com/sun/star/awt/PrinterServer.idl index 3725eeefcc8d..063e75bc1d3f 100644 --- a/offapi/com/sun/star/awt/PrinterServer.idl +++ b/offapi/com/sun/star/awt/PrinterServer.idl @@ -18,7 +18,7 @@ module com { module sun { module star { module awt { @since LibreOffice 4.1 */ -service PrinterServer: com::sun::star::awt::XPrinterServer; +service PrinterServer: com::sun::star::awt::XPrinterServer2; }; }; }; }; diff --git a/offapi/com/sun/star/awt/XPrinterServer2.idl b/offapi/com/sun/star/awt/XPrinterServer2.idl new file mode 100644 index 000000000000..8ceb54fcfa50 --- /dev/null +++ b/offapi/com/sun/star/awt/XPrinterServer2.idl @@ -0,0 +1,49 @@ +/* -*- 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_awt_XPrinterServer2_idl__ +#define __com_sun_star_awt_XPrinterServer2_idl__ + +#include + + module com { module sun { module star { module awt { + +/** + extends printer server interface + + @since LibreOffice 6.3 +*/ + +interface XPrinterServer2: ::com::sun::star::awt::XPrinterServer +{ + + /** returns the current default printer name + + @returns + current default printer name + */ + string getDefaultPrinterName(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/toolkit/source/awt/vclxprinter.cxx b/toolkit/source/awt/vclxprinter.cxx index 6d78cdce558c..2897d3bafdb0 100644 --- a/toolkit/source/awt/vclxprinter.cxx +++ b/toolkit/source/awt/vclxprinter.cxx @@ -328,7 +328,7 @@ css::uno::Reference< css::awt::XDevice > VCLXInfoPrinter::createDevice( ) // class VCLXPrinterServer // ---------------------------------------------------- -// css::awt::XPrinterServer +// css::awt::XPrinterServer2 css::uno::Sequence< OUString > VCLXPrinterServer::getPrinterNames( ) { const std::vector& rQueues = Printer::GetPrinterQueues(); @@ -341,6 +341,11 @@ css::uno::Sequence< OUString > VCLXPrinterServer::getPrinterNames( ) return aNames; } +OUString VCLXPrinterServer::getDefaultPrinterName() +{ + return Printer::GetDefaultPrinterName(); +} + css::uno::Reference< css::awt::XPrinter > VCLXPrinterServer::createPrinter( const OUString& rPrinterName ) { css::uno::Reference< css::awt::XPrinter > xP = new VCLXPrinter( rPrinterName ); -- cgit