'encoding UTF-8 Do not remove or change this line! '************************************************************************** ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '/************************************************************************ '* '* owner : joerg.skottke@oracle.com '* '* short description : helper functions for SPAdmin '* '\****************************************************************************** function hGetPrinterPosition( cName as string, bWarn as boolean ) as integer '///

Find a printer queue in the SpAdmin list

' IN: ' cName = Name of the queue to look for ' bWarn = if TRUE we warn if the queue does not exist const CFN = "hGetPrinterPosition::" if ( cName = "" ) then warnlog( CFN & "Invalid Parameter passed to function: Empty String" ) hGetPrinterPosition() = -1 exit function endif dim iCurrentQueue as integer dim bFound as boolean dim iPrinterCount as integer iPrintercount = LBPrinters.getItemCount() Kontext "SpAdmin" bFound = false for iCurrentQueue = 1 to iPrinterCount wait( 200 ) LBPrinters.select( iCurrentQueue ) if ( LBPrinters.getseltext() = cName ) then bFound = true exit for endif next iCurrentQueue ' warn if queue was not found and we requested a warning if ( not bFound and bWarn ) then iCurrentQueue = 0 printlog( CFN & "The specified printer queue could not be found" ) endif ' print a message that the printer queue exists if ( bFound ) then printlog( CFN & "Printer Queue was found at pos " & iCurrentQueue ) endif Kontext "SpAdmin" hGetPrinterPosition() = iCurrentQueue end function '******************************************************************************* function hDelPrinter( cPrinterName as string ) as integer '///

Delete a printer queue by its name in SpAdmin

const CFN = "hDelPrinter::" ' delete a printer-queue from the printers-list by name. Only exact matches ' will be removed. ' IN: ' - Name of the queue ' OUT: ' -1 = Bad function call ' 0 = Success ' 1 = Confirmation Dialog for Delete is missing ' 2 = Unable to press "OK" on Confirm-Delete Dialog ' 3 = Printer queue does not exist so it was not deleted if ( cPrinterName = "" ) then warnlog( CFN & "Invalid Parameter passed to function: Empty String" ) hDelPrinter() = -1 exit function endif dim iPrinterPos as integer Kontext "SpAdmin" iPrinterPos = hGetPrinterPosition( cPrinterName , true ) if ( iPrinterPos > 0 ) then LBPrinters.select( iPrinterPos ) PBRemove.click() try Kontext "Active" if ( active.exists( 2 ) ) then Active.Yes() printlog( CFN & "Printer Queue deleted" ) hDelPrinter() = 0 else warnlog( CFN & "Confirm Delete Dialog is missing" ) hDelPrinter() = 1 endif catch warnlog( CFN & "Unable to confirm printer deletion" ) hDelPrinter() = 2 endcatch else printlog( CFN & "The printer queue does not exist" ) hDelPrinter() = 3 endif Kontext "SpAdmin" end function '******************************************************************************* function hGetSpadminPath() as string hGetSpadminPath() = convertpath( gNetzOfficePath & "program\spadmin" ) end function '******************************************************************************* function hShutdownOffice() hFileCloseAll() FileExit( "SynchronMode", TRUE ) Wait( 5000 ) end function '******************************************************************************* function hOpenSpadmin() as boolean dim cSpadminPath as string : cSpadminPath = hGetSpadminPath() try start( cSpadminPath , "-enableautomation" ) printlog( "Printer administration start-command was dispatched correctly" ) hOpenSpAdmin() = true catch warnlog( "hOpenSpAdmin(): Failed to open printer administration tool" ) hOpenSpAdmin() = false endcatch end function '******************************************************************************** function hWaitForSpAdmin() as boolean kontext "SpAdmin" if ( SpAdmin.exists( 10 ) ) then printlog( "Printer administration tool is open" ) hWaitForSpadmin() = true sleep( 10 ) else warnlog( "hWaitForSpAdmin(): The dialog did not open within 10 seconds, aborting" ) hWaitForSpadmin() = false endif end function '******************************************************************************* function hCreateFaxDevice( cName as string ) as boolean '///

Open the printer creation dialog and create a fax device

' The function verifies that the device has been created and returns ' TRUE on success '/// end function