summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2011-03-25 10:57:30 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2011-03-25 10:57:30 +0100
commit400586f02807f21ee532e858b9c63eac47f1cd65 (patch)
treecef1abd6bf08b2a5e4a27ca798e74d0274b9d829
parentgridfixes: #i117398# published two more types (diff)
parentCWS-TOOLING: integrate CWS tkr38 (diff)
downloadcore-400586f02807f21ee532e858b9c63eac47f1cd65.tar.gz
core-400586f02807f21ee532e858b9c63eac47f1cd65.zip
gridfixes: pulled and merged DEV300:m104
-rwxr-xr-x[-rw-r--r--]cli_ure/version/version.txt24
-rw-r--r--codemaker/source/bonobowrappermaker/corbaoptions.cxx3
-rw-r--r--codemaker/source/cppumaker/cppuoptions.cxx17
-rw-r--r--codemaker/source/cunomaker/cunooptions.cxx5
-rw-r--r--codemaker/source/idlmaker/idloptions.cxx5
-rw-r--r--codemaker/source/javamaker/javaoptions.cxx17
-rw-r--r--cppu/source/typelib/typelib.cxx14
-rw-r--r--cpputools/source/registercomponent/registercomponent.cxx4
-rw-r--r--idlc/inc/idlc/idlctypes.hxx2
-rw-r--r--idlc/inc/idlc/options.hxx17
-rw-r--r--idlc/source/astexpression.cxx21
-rw-r--r--idlc/source/idlcmain.cxx19
-rw-r--r--idlc/source/options.cxx547
-rw-r--r--idlc/source/preproc/eval.c15
-rw-r--r--idlc/source/preproc/lex.c10
-rw-r--r--idlc/source/preproc/unix.c1
-rw-r--r--io/source/TextInputStream/TextInputStream.cxx4
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl2
-rw-r--r--offapi/com/sun/star/animations/XAnimationListener.idl2
-rw-r--r--offapi/com/sun/star/awt/EnhancedMouseEvent.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlButtonModel.idl12
-rw-r--r--offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl8
-rw-r--r--offapi/com/sun/star/awt/UnoControlComboBoxModel.idl4
-rw-r--r--offapi/com/sun/star/awt/UnoControlContainerModel.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl10
-rw-r--r--offapi/com/sun/star/awt/UnoControlDateFieldModel.idl12
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModel.idl6
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlEditModel.idl14
-rw-r--r--offapi/com/sun/star/awt/UnoControlFileControlModel.idl6
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl4
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedTextModel.idl4
-rw-r--r--offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl10
-rw-r--r--offapi/com/sun/star/awt/UnoControlImageControlModel.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBoxModel.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl10
-rw-r--r--offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl6
-rw-r--r--offapi/com/sun/star/awt/UnoControlProgressBarModel.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl8
-rw-r--r--offapi/com/sun/star/awt/UnoControlScrollBarModel.idl12
-rwxr-xr-x[-rw-r--r--]offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl2
-rw-r--r--offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl12
-rw-r--r--offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumn.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumnEvent.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridDataEvent.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidDataException.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidModelException.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGrid.idl3
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGridModel.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumn.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnModel.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControl.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataListener.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataModel.idl2
-rw-r--r--offapi/com/sun/star/configuration/DefaultProvider.idl4
-rw-r--r--offapi/com/sun/star/configuration/Update.idl2
-rw-r--r--offapi/com/sun/star/configuration/XUpdate.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/InteractionHandler.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/Layer.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerFilter.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/Schema.idl2
-rw-r--r--offapi/com/sun/star/configuration/backend/StratumCreationException.idl2
-rw-r--r--offapi/com/sun/star/deployment/DeploymentException.idl2
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl2
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl2
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl2
-rw-r--r--offapi/com/sun/star/deployment/PackageRegistryBackend.idl2
-rw-r--r--offapi/com/sun/star/deployment/PlatformException.idl2
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl2
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/deployment/XPackage.idl4
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl2
-rw-r--r--offapi/com/sun/star/deployment/XPackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl2
-rw-r--r--offapi/com/sun/star/deployment/XPackageTypeInfo.idl2
-rw-r--r--offapi/com/sun/star/deployment/thePackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl2
-rw-r--r--offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl2
-rw-r--r--offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl2
-rw-r--r--offapi/com/sun/star/document/DocumentEvent.idl2
-rw-r--r--offapi/com/sun/star/document/XDocumentEventBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/document/XDocumentEventListener.idl2
-rw-r--r--offapi/com/sun/star/document/XMLBasicExporter.idl2
-rw-r--r--offapi/com/sun/star/document/XMLBasicImporter.idl2
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicExporter.idl2
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicImporter.idl2
-rw-r--r--offapi/com/sun/star/form/FormComponent.idl2
-rw-r--r--offapi/com/sun/star/form/XErrorListener.idl1
-rw-r--r--offapi/com/sun/star/form/component/GridControl.idl2
-rw-r--r--offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl4
-rw-r--r--offapi/com/sun/star/form/runtime/FeatureState.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/FilterEvent.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/FormFeature.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/FormOperations.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterController.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterControllerListener.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/XFormController.idl2
-rw-r--r--offapi/com/sun/star/form/runtime/XFormOperations.idl2
-rw-r--r--offapi/com/sun/star/frame/CommandGroup.idl2
-rw-r--r--offapi/com/sun/star/frame/DispatchInformation.idl2
-rw-r--r--offapi/com/sun/star/frame/Frame.idl2
-rw-r--r--offapi/com/sun/star/frame/LayoutManager.idl2
-rw-r--r--offapi/com/sun/star/frame/LayoutManagerEvents.idl2
-rw-r--r--offapi/com/sun/star/frame/ModuleManager.idl2
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl2
-rw-r--r--offapi/com/sun/star/frame/PopupMenuControllerFactory.idl2
-rw-r--r--offapi/com/sun/star/frame/StatusbarController.idl2
-rw-r--r--offapi/com/sun/star/frame/StatusbarControllerFactory.idl2
-rw-r--r--offapi/com/sun/star/frame/ToolbarController.idl2
-rw-r--r--offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl2
-rw-r--r--offapi/com/sun/star/frame/UnknownModuleException.idl2
-rw-r--r--offapi/com/sun/star/frame/XDispatchInformationProvider.idl2
-rw-r--r--offapi/com/sun/star/frame/XInplaceLayout.idl2
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager.idl2
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerListener.idl2
-rw-r--r--offapi/com/sun/star/frame/XMenuBarAcceptor.idl2
-rw-r--r--offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl2
-rw-r--r--offapi/com/sun/star/frame/XModule.idl2
-rw-r--r--offapi/com/sun/star/frame/XModuleManager.idl2
-rw-r--r--offapi/com/sun/star/frame/XPopupMenuController.idl2
-rw-r--r--offapi/com/sun/star/frame/XStatusbarController.idl2
-rw-r--r--offapi/com/sun/star/frame/XSubToolbarController.idl2
-rw-r--r--offapi/com/sun/star/frame/XSynchronousDispatch.idl2
-rw-r--r--offapi/com/sun/star/frame/XToolbarController.idl2
-rw-r--r--offapi/com/sun/star/frame/XToolbarControllerListener.idl2
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl2
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix3D.idl2
-rw-r--r--offapi/com/sun/star/geometry/EllipticalArc.idl2
-rw-r--r--offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/IntegerPoint2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/IntegerRectangle2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/IntegerSize2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/Matrix2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/RealBezierSegment2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/RealPoint2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle3D.idl2
-rw-r--r--offapi/com/sun/star/geometry/RealSize2D.idl2
-rw-r--r--offapi/com/sun/star/geometry/XMapping2D.idl2
-rw-r--r--offapi/com/sun/star/i18n/OrdinalSuffix.idl2
-rw-r--r--offapi/com/sun/star/i18n/TextConversionOption.idl2
-rw-r--r--offapi/com/sun/star/i18n/XOrdinalSuffix.idl2
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionary.idl2
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl2
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionPropertyType.idl2
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionPropertyType.idl2
-rw-r--r--offapi/com/sun/star/mail/MailAttachment.idl2
-rw-r--r--offapi/com/sun/star/mail/MailException.idl2
-rw-r--r--offapi/com/sun/star/mail/MailMessage.idl2
-rw-r--r--offapi/com/sun/star/mail/MailServer.idl2
-rw-r--r--offapi/com/sun/star/mail/MailServiceProvider.idl2
-rw-r--r--offapi/com/sun/star/mail/MailServiceType.idl2
-rw-r--r--offapi/com/sun/star/mail/NoMailServiceProviderException.idl2
-rw-r--r--offapi/com/sun/star/mail/NoMailTransportProviderException.idl2
-rw-r--r--offapi/com/sun/star/mail/SendMailMessageFailedException.idl2
-rw-r--r--offapi/com/sun/star/mail/XAuthenticator.idl2
-rw-r--r--offapi/com/sun/star/mail/XConnectionListener.idl2
-rw-r--r--offapi/com/sun/star/mail/XMailMessage.idl2
-rw-r--r--offapi/com/sun/star/mail/XMailServer.idl2
-rw-r--r--offapi/com/sun/star/mail/XMailService.idl2
-rw-r--r--offapi/com/sun/star/mail/XMailServiceProvider.idl2
-rw-r--r--offapi/com/sun/star/mail/XSmtpService.idl2
-rw-r--r--offapi/com/sun/star/rendering/AnimationAttributes.idl2
-rw-r--r--offapi/com/sun/star/rendering/AnimationRepeat.idl2
-rw-r--r--offapi/com/sun/star/rendering/CanvasFactory.idl2
-rw-r--r--offapi/com/sun/star/rendering/Caret.idl2
-rw-r--r--offapi/com/sun/star/rendering/CompositeOperation.idl2
-rw-r--r--offapi/com/sun/star/rendering/EmphasisMark.idl2
-rw-r--r--offapi/com/sun/star/rendering/FillRule.idl2
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl2
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl2
-rw-r--r--offapi/com/sun/star/rendering/FontInfo.idl2
-rw-r--r--offapi/com/sun/star/rendering/FontMetrics.idl2
-rw-r--r--offapi/com/sun/star/rendering/FontRequest.idl2
-rw-r--r--offapi/com/sun/star/rendering/IntegerBitmapLayout.idl2
-rw-r--r--offapi/com/sun/star/rendering/InterpolationMode.idl2
-rw-r--r--offapi/com/sun/star/rendering/PathCapType.idl2
-rw-r--r--offapi/com/sun/star/rendering/PathJoinType.idl2
-rw-r--r--offapi/com/sun/star/rendering/RenderState.idl2
-rw-r--r--offapi/com/sun/star/rendering/RenderingIntent.idl2
-rw-r--r--offapi/com/sun/star/rendering/RepaintResult.idl2
-rw-r--r--offapi/com/sun/star/rendering/StringContext.idl2
-rw-r--r--offapi/com/sun/star/rendering/TextDirection.idl2
-rw-r--r--offapi/com/sun/star/rendering/TextHit.idl2
-rw-r--r--offapi/com/sun/star/rendering/Texture.idl2
-rw-r--r--offapi/com/sun/star/rendering/TexturingMode.idl2
-rw-r--r--offapi/com/sun/star/rendering/ViewState.idl2
-rw-r--r--offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl2
-rw-r--r--offapi/com/sun/star/rendering/XAnimatedSprite.idl2
-rw-r--r--offapi/com/sun/star/rendering/XAnimation.idl2
-rw-r--r--offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl2
-rw-r--r--offapi/com/sun/star/rendering/XBitmap.idl2
-rw-r--r--offapi/com/sun/star/rendering/XBitmapCanvas.idl2
-rw-r--r--offapi/com/sun/star/rendering/XBitmapPalette.idl2
-rw-r--r--offapi/com/sun/star/rendering/XBufferController.idl2
-rw-r--r--offapi/com/sun/star/rendering/XCachedPrimitive.idl2
-rw-r--r--offapi/com/sun/star/rendering/XCanvas.idl2
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmap.idl2
-rw-r--r--offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl2
-rw-r--r--offapi/com/sun/star/rendering/XPolyPolygon2D.idl2
-rw-r--r--offapi/com/sun/star/rendering/XTextLayout.idl2
-rw-r--r--offapi/com/sun/star/report/XReportControlFormat.idl2
-rw-r--r--offapi/com/sun/star/resource/OfficeResourceLoader.idl2
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNode.idl2
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNodeFactory.idl4
-rw-r--r--offapi/com/sun/star/sdb/DatabaseContext.idl2
-rw-r--r--offapi/com/sun/star/sdb/DatabaseDocument.idl2
-rw-r--r--offapi/com/sun/star/sdb/DocumentSaveRequest.idl2
-rw-r--r--offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl2
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrations.idl2
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl2
-rw-r--r--offapi/com/sun/star/sdb/XInteractionDocumentSave.idl2
-rw-r--r--offapi/com/sun/star/sdb/application/DatabaseObject.idl2
-rw-r--r--offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl2
-rw-r--r--offapi/com/sun/star/sdb/application/XTableUIProvider.idl2
-rw-r--r--offapi/com/sun/star/sdbc/DataType.idl2
-rw-r--r--offapi/com/sun/star/security/CertAltNameEntry.idl (renamed from offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl)40
-rw-r--r--offapi/com/sun/star/security/ExtAltNameType.idl110
-rw-r--r--offapi/com/sun/star/security/SerialNumberAdapter.idl2
-rw-r--r--offapi/com/sun/star/security/XSanExtension.idl57
-rw-r--r--offapi/com/sun/star/security/makefile.mk8
-rw-r--r--offapi/com/sun/star/sheet/ActivationEvent.idl2
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLink.idl2
-rw-r--r--offapi/com/sun/star/sheet/DDEItemInfo.idl2
-rw-r--r--offapi/com/sun/star/sheet/DDELinkInfo.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotDescriptor.idl23
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItem.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSource.idl6
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMember.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTable.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionData.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionType.idl2
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableResultData.idl2
-rw-r--r--offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl4
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRange.idl4
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLink.idl2
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLinks.idl2
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkInfo.idl2
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkType.idl2
-rw-r--r--offapi/com/sun/star/sheet/ExternalSheetCache.idl2
-rw-r--r--offapi/com/sun/star/sheet/FormulaParser.idl2
-rw-r--r--offapi/com/sun/star/sheet/SheetCell.idl2
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRange.idl2
-rw-r--r--offapi/com/sun/star/sheet/TablePageStyle.idl4
-rw-r--r--offapi/com/sun/star/sheet/XActivationBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/sheet/XActivationEventListener.idl2
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTable2.idl2
-rw-r--r--offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl2
-rw-r--r--offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLink.idl2
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLinks.idl2
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetCache.idl2
-rw-r--r--offapi/com/sun/star/sheet/XScenarioEnhanced.idl2
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagAction.idl2
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizer.idl2
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl2
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagAction.idl2
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl2
-rw-r--r--offapi/com/sun/star/style/CharacterProperties.idl2
-rw-r--r--offapi/com/sun/star/style/NumberingType.idl2
-rw-r--r--offapi/com/sun/star/task/XRestartManager.idl2
-rw-r--r--offapi/com/sun/star/text/BaseFrameProperties.idl2
-rw-r--r--offapi/com/sun/star/text/Cell.idl2
-rw-r--r--offapi/com/sun/star/text/DocumentSettings.idl8
-rw-r--r--offapi/com/sun/star/text/FootnoteSettings.idl2
-rw-r--r--offapi/com/sun/star/text/GenericTextDocument.idl18
-rw-r--r--offapi/com/sun/star/text/LineNumberingProperties.idl2
-rw-r--r--offapi/com/sun/star/text/Paragraph.idl2
-rw-r--r--offapi/com/sun/star/text/PositionLayoutDir.idl2
-rw-r--r--offapi/com/sun/star/text/RelOrientation.idl2
-rw-r--r--offapi/com/sun/star/text/Shape.idl10
-rw-r--r--offapi/com/sun/star/text/TextMarkupType.idl2
-rw-r--r--offapi/com/sun/star/text/TextPortion.idl2
-rw-r--r--offapi/com/sun/star/text/TextTableRow.idl2
-rw-r--r--offapi/com/sun/star/text/ViewSettings.idl20
-rw-r--r--offapi/com/sun/star/text/XTextMarkup.idl2
-rw-r--r--offapi/com/sun/star/text/fieldmaster/Database.idl4
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseName.idl4
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNextSet.idl4
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl4
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl4
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl2
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl2
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl2
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl2
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl2
-rw-r--r--offapi/com/sun/star/ui/ConfigurableUIElement.idl2
-rw-r--r--offapi/com/sun/star/ui/ConfigurationEvent.idl2
-rw-r--r--offapi/com/sun/star/ui/DockingArea.idl2
-rw-r--r--offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl2
-rw-r--r--offapi/com/sun/star/ui/ImageType.idl2
-rw-r--r--offapi/com/sun/star/ui/ItemDescriptor.idl2
-rw-r--r--offapi/com/sun/star/ui/ItemStyle.idl2
-rw-r--r--offapi/com/sun/star/ui/ItemType.idl2
-rw-r--r--offapi/com/sun/star/ui/ModuleUICategoryDescription.idl2
-rw-r--r--offapi/com/sun/star/ui/ModuleUICommandDescription.idl2
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl2
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl2
-rw-r--r--offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl2
-rw-r--r--offapi/com/sun/star/ui/UICategoryDescription.idl2
-rw-r--r--offapi/com/sun/star/ui/UICommandDescription.idl2
-rw-r--r--offapi/com/sun/star/ui/UIConfigurationManager.idl2
-rw-r--r--offapi/com/sun/star/ui/UIElement.idl2
-rw-r--r--offapi/com/sun/star/ui/UIElementFactory.idl2
-rw-r--r--offapi/com/sun/star/ui/UIElementFactoryManager.idl2
-rw-r--r--offapi/com/sun/star/ui/UIElementSettings.idl2
-rw-r--r--offapi/com/sun/star/ui/UIElementType.idl2
-rw-r--r--offapi/com/sun/star/ui/WindowContentFactory.idl2
-rw-r--r--offapi/com/sun/star/ui/WindowStateConfiguration.idl2
-rw-r--r--offapi/com/sun/star/ui/XAcceleratorConfiguration.idl2
-rw-r--r--offapi/com/sun/star/ui/XDockingAreaAcceptor.idl2
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl2
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfiguration.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationListener.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManager.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationPersistence.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationStorage.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactory.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIElementSettings.idl2
-rw-r--r--offapi/com/sun/star/ui/XUIFunctionListener.idl2
-rw-r--r--offapi/com/sun/star/util/Endianness.idl2
-rw-r--r--offapi/com/sun/star/util/OfficeInstallationDirectories.idl2
-rw-r--r--offapi/com/sun/star/util/PathSubstitution.idl82
-rw-r--r--offapi/com/sun/star/util/XBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/util/XOfficeInstallationDirectories.idl2
-rw-r--r--offapi/com/sun/star/xml/dom/XNode.idl2
-rw-r--r--offapi/drafts/com/sun/star/form/ListEntryEvent.idl77
-rw-r--r--offapi/drafts/com/sun/star/form/XBindableValue.idl81
-rw-r--r--offapi/drafts/com/sun/star/form/XListEntryListener.idl92
-rw-r--r--offapi/drafts/com/sun/star/form/XListEntrySink.idl71
-rw-r--r--offapi/drafts/com/sun/star/form/XListEntrySource.idl103
-rw-r--r--offapi/drafts/com/sun/star/form/XValueBinding.idl101
-rw-r--r--offapi/drafts/com/sun/star/form/makefile.mk52
-rw-r--r--offapi/prj/build.lst3
-rw-r--r--offapi/prj/d.lst8
-rw-r--r--offapi/type_reference/typelibrary_history.txt5
-rw-r--r--offapi/type_reference/types.rdbbin7307264 -> 7307264 bytes
-rw-r--r--offapi/util/makefile.mk1
-rw-r--r--registry/tools/checksingleton.cxx459
-rw-r--r--registry/tools/fileurl.cxx90
-rw-r--r--registry/tools/fileurl.hxx43
-rw-r--r--registry/tools/makefile.mk18
-rw-r--r--registry/tools/options.cxx153
-rw-r--r--registry/tools/options.hxx67
-rw-r--r--registry/tools/rdbedit.cxx318
-rw-r--r--registry/tools/regcompare.cxx1555
-rw-r--r--registry/tools/regmerge.cxx277
-rw-r--r--registry/tools/regview.cxx72
-rw-r--r--sal/cppunittester/cppunittester.cxx102
-rw-r--r--sal/inc/cppunittester/protectorfactory.hxx45
-rw-r--r--sal/osl/os2/diagnose.c3
-rw-r--r--sal/osl/unx/diagnose.c14
-rw-r--r--sal/osl/unx/file.cxx3
-rw-r--r--sal/osl/unx/file_misc.cxx6
-rw-r--r--sal/osl/unx/file_path_helper.cxx80
-rw-r--r--sal/osl/unx/process_impl.cxx19
-rw-r--r--sal/osl/unx/profile.c1
-rw-r--r--sal/osl/unx/socket.c39
-rwxr-xr-xsal/osl/w32/diagnose.c50
-rw-r--r--sal/osl/w32/file_dirvol.cxx4
-rwxr-xr-x[-rw-r--r--]sal/osl/w32/module.cxx23
-rwxr-xr-x[-rw-r--r--]sal/osl/w32/procimpl.cxx35
-rw-r--r--sal/prj/d.lst2
-rw-r--r--sal/rtl/source/alloc.c1541
-rw-r--r--sal/rtl/source/alloc_arena.c37
-rw-r--r--sal/rtl/source/alloc_cache.c53
-rwxr-xr-xsal/rtl/source/alloc_fini.cxx (renamed from sal/rtl/source/memory_fini.cxx)23
-rw-r--r--sal/rtl/source/alloc_global.c10
-rw-r--r--sal/rtl/source/alloc_impl.h24
-rw-r--r--sal/rtl/source/makefile.mk9
-rw-r--r--store/source/lockbyte.cxx3
-rw-r--r--store/source/lockbyte.hxx2
-rw-r--r--store/source/object.hxx2
-rw-r--r--store/source/storbase.cxx3
-rw-r--r--store/source/stordir.hxx2
-rw-r--r--udkapi/com/sun/star/container/XStringKeyMap.idl2
-rw-r--r--udkapi/com/sun/star/io/XAsyncOutputMonitor.idl2
-rwxr-xr-xudkapi/com/sun/star/java/InvalidJavaSettingsException.idl2
-rw-r--r--udkapi/com/sun/star/java/JavaNotFoundException.idl2
-rwxr-xr-xudkapi/com/sun/star/java/RestartRequiredException.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XParameter.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XPublished.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl2
-rw-r--r--udkapi/com/sun/star/reflection/XStructTypeDescription.idl2
-rw-r--r--udkapi/com/sun/star/script/BasicErrorException.idl2
-rw-r--r--udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl2
-rw-r--r--udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl2
-rw-r--r--udkapi/com/sun/star/uri/UriReferenceFactory.idl2
-rw-r--r--udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl2
-rw-r--r--udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl2
-rw-r--r--udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl2
-rw-r--r--udkapi/com/sun/star/uri/XUriReference.idl2
-rw-r--r--udkapi/com/sun/star/uri/XUriReferenceFactory.idl2
-rw-r--r--udkapi/com/sun/star/uri/XUriSchemeParser.idl2
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl2
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl2
-rwxr-xr-x[-rw-r--r--]unoil/climaker/version.txt6
-rw-r--r--unoil/util/makefile.mk2
413 files changed, 3094 insertions, 4600 deletions
diff --git a/cli_ure/version/version.txt b/cli_ure/version/version.txt
index 8cbdedf654d4..b5ec562837f6 100644..100755
--- a/cli_ure/version/version.txt
+++ b/cli_ure/version/version.txt
@@ -25,23 +25,23 @@
#
#*************************************************************************
-CLI_URETYPES_NEW_VERSION=1.0.7.0
-CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.6.0
-CLI_URETYPES_POLICY_VERSION=7.0.0.0
+CLI_URETYPES_NEW_VERSION=1.0.8.0
+CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.7.0
+CLI_URETYPES_POLICY_VERSION=8.0.0.0
CLI_URETYPES_POLICY_ASSEMBLY=policy.1.0.cli_uretypes
-CLI_BASETYPES_NEW_VERSION=1.0.18.0
-CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.17.0
-CLI_BASETYPES_POLICY_VERSION=18.0.0.0
+CLI_BASETYPES_NEW_VERSION=1.0.19.0
+CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.18.0
+CLI_BASETYPES_POLICY_VERSION=19.0.0.0
CLI_BASETYPES_POLICY_ASSEMBLY=policy.1.0.cli_basetypes
-CLI_URE_NEW_VERSION=1.0.21.0
-CLI_URE_OLD_VERSION=1.0.0.0-1.0.20.0
-CLI_URE_POLICY_VERSION=21.0.0.0
+CLI_URE_NEW_VERSION=1.0.22.0
+CLI_URE_OLD_VERSION=1.0.0.0-1.0.21.0
+CLI_URE_POLICY_VERSION=22.0.0.0
CLI_URE_POLICY_ASSEMBLY=policy.1.0.cli_ure
-CLI_CPPUHELPER_NEW_VERSION=1.0.21.0
-CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.20.0
-CLI_CPPUHELPER_POLICY_VERSION=21.0.0.0
+CLI_CPPUHELPER_NEW_VERSION=1.0.22.0
+CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.21.0
+CLI_CPPUHELPER_POLICY_VERSION=22.0.0.0
CLI_CPPUHELPER_POLICY_ASSEMBLY=policy.1.0.cli_cppuhelper
diff --git a/codemaker/source/bonobowrappermaker/corbaoptions.cxx b/codemaker/source/bonobowrappermaker/corbaoptions.cxx
index 3c644b6ff4dd..1bb75810031a 100644
--- a/codemaker/source/bonobowrappermaker/corbaoptions.cxx
+++ b/codemaker/source/bonobowrappermaker/corbaoptions.cxx
@@ -247,9 +247,8 @@ OString CorbaOptions::prepareHelp()
OString CorbaOptions::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
+ OString version(m_program);
version += m_program + " Version 2.0\n\n";
-
return version;
}
diff --git a/codemaker/source/cppumaker/cppuoptions.cxx b/codemaker/source/cppumaker/cppuoptions.cxx
index 1bc398391c9d..da8ce2089c6e 100644
--- a/codemaker/source/cppumaker/cppuoptions.cxx
+++ b/codemaker/source/cppumaker/cppuoptions.cxx
@@ -34,6 +34,12 @@
#include "osl/thread.h"
#include "osl/process.h"
+#ifdef SAL_UNX
+#define SEPARATOR '/'
+#else
+#define SEPARATOR '\\'
+#endif
+
using namespace rtl;
sal_Bool CppuOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
@@ -46,7 +52,9 @@ sal_Bool CppuOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
{
bCmdFile = sal_True;
- m_program = av[0];
+ OString name(av[0]);
+ sal_Int32 index = name.lastIndexOf(SEPARATOR);
+ m_program = name.copy((index > 0 ? index+1 : 0));
if (ac < 2)
{
@@ -338,7 +346,7 @@ OString CppuOptions::prepareHelp()
help += " necessary information is available for bridging the type in UNO.\n";
help += " -G = generate only target files which does not exists.\n";
help += " -Gc = generate only target files which content will be changed.\n";
- help += " -X<file> = extra types which will not be taken into account for generation.\n";
+ help += " -X<file> = extra types which will not be taken into account for generation.\n\n";
help += prepareVersion();
return help;
@@ -346,9 +354,8 @@ OString CppuOptions::prepareHelp()
OString CppuOptions::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 2.0\n\n";
-
+ OString version(m_program);
+ version += " Version 2.0\n\n";
return version;
}
diff --git a/codemaker/source/cunomaker/cunooptions.cxx b/codemaker/source/cunomaker/cunooptions.cxx
index 50a1223d004f..909ab3edc8dd 100644
--- a/codemaker/source/cunomaker/cunooptions.cxx
+++ b/codemaker/source/cunomaker/cunooptions.cxx
@@ -321,9 +321,8 @@ OString CunoOptions::prepareHelp()
OString CunoOptions::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 1.0\n\n";
-
+ OString version(m_program);
+ version += " Version 1.0\n\n";
return version;
}
diff --git a/codemaker/source/idlmaker/idloptions.cxx b/codemaker/source/idlmaker/idloptions.cxx
index 306e43293223..e495f555e5cb 100644
--- a/codemaker/source/idlmaker/idloptions.cxx
+++ b/codemaker/source/idlmaker/idloptions.cxx
@@ -242,9 +242,8 @@ OString IdlOptions::prepareHelp()
OString IdlOptions::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 2.0\n\n";
-
+ OString version(m_program);
+ version += " Version 2.0\n\n";
return version;
}
diff --git a/codemaker/source/javamaker/javaoptions.cxx b/codemaker/source/javamaker/javaoptions.cxx
index 24b9b1509cfc..58235bd32616 100644
--- a/codemaker/source/javamaker/javaoptions.cxx
+++ b/codemaker/source/javamaker/javaoptions.cxx
@@ -33,6 +33,12 @@
#include "osl/process.h"
#include "osl/thread.h"
+#ifdef SAL_UNX
+#define SEPARATOR '/'
+#else
+#define SEPARATOR '\\'
+#endif
+
using namespace rtl;
sal_Bool JavaOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
@@ -45,7 +51,9 @@ sal_Bool JavaOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
{
bCmdFile = sal_True;
- m_program = av[0];
+ OString name(av[0]);
+ sal_Int32 index = name.lastIndexOf(SEPARATOR);
+ m_program = name.copy((index > 0 ? index+1 : 0));
if (ac < 2)
{
@@ -282,7 +290,7 @@ OString JavaOptions::prepareHelp()
help += " -nD = no dependent types are generated.\n";
help += " -G = generate only target files which does not exists.\n";
help += " -Gc = generate only target files which content will be changed.\n";
- help += " -X<file> = extra types which will not be taken into account for generation.\n";
+ help += " -X<file> = extra types which will not be taken into account for generation.\n\n";
help += prepareVersion();
return help;
@@ -290,9 +298,8 @@ OString JavaOptions::prepareHelp()
OString JavaOptions::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 2.0\n\n";
-
+ OString version(m_program);
+ version += " Version 2.0\n\n";
return version;
}
diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx
index aa0d18589a89..935a64397505 100644
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@ -330,20 +330,6 @@ TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() SAL_THROW( () )
delete pWeakMap;
pWeakMap = 0;
}
-#if OSL_DEBUG_LEVEL > 1
- OSL_ASSERT( nTypeDescriptionCount == 0 );
- OSL_ASSERT( nCompoundTypeDescriptionCount == 0 );
- OSL_ASSERT( nUnionTypeDescriptionCount == 0 );
- OSL_ASSERT( nIndirectTypeDescriptionCount == 0 );
- OSL_ASSERT( nArrayTypeDescriptionCount == 0 );
- OSL_ASSERT( nEnumTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceMethodTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceAttributeTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceTypeDescriptionCount == 0 );
- OSL_ASSERT( nTypeDescriptionReferenceCount == 0 );
-
- OSL_ASSERT( !pCallbacks || pCallbacks->empty() );
-#endif
delete pCallbacks;
pCallbacks = 0;
diff --git a/cpputools/source/registercomponent/registercomponent.cxx b/cpputools/source/registercomponent/registercomponent.cxx
index c487d95c59a5..f13fae54c508 100644
--- a/cpputools/source/registercomponent/registercomponent.cxx
+++ b/cpputools/source/registercomponent/registercomponent.cxx
@@ -575,7 +575,7 @@ void DoIt::operator() (const OUString & url) throw()
if ( ! _bSilent )
{
- fprintf(stderr, "register component '%s' in registry '%s' succesful!\n", sUrl.getStr(), _sRegName.getStr());
+ fprintf(stderr, "register component '%s' in registry '%s' successful!\n", sUrl.getStr(), _sRegName.getStr());
}
}
@@ -604,7 +604,7 @@ void DoIt::operator() (const OUString & url) throw()
if (bRet)
{
if ( ! _bSilent )
- fprintf(stderr, "revoke component '%s' from registry '%s' succesful!\n", sUrl.getStr(), _sRegName.getStr());
+ fprintf(stderr, "revoke component '%s' from registry '%s' successful!\n", sUrl.getStr(), _sRegName.getStr());
}
else
{
diff --git a/idlc/inc/idlc/idlctypes.hxx b/idlc/inc/idlc/idlctypes.hxx
index 47eaa802b28d..41451ee9060f 100644
--- a/idlc/inc/idlc/idlctypes.hxx
+++ b/idlc/inc/idlc/idlctypes.hxx
@@ -32,7 +32,9 @@
#include <hash_map>
#include <list>
#include <vector>
+#include <string>
#include <set>
+
#include <sal/types.h>
#include <rtl/ustring.hxx>
diff --git a/idlc/inc/idlc/options.hxx b/idlc/inc/idlc/options.hxx
index 7eba788a4ea9..383150bd4b40 100644
--- a/idlc/inc/idlc/options.hxx
+++ b/idlc/inc/idlc/options.hxx
@@ -50,18 +50,29 @@ public:
class Options
{
public:
- Options();
+ explicit Options(char const * progname);
~Options();
+ static bool checkArgument(std::vector< std::string > & rArgs, char const * arg, size_t len);
+ static bool checkCommandFile(std::vector< std::string > & rArgs, char const * filename);
+
+ bool initOptions(std::vector< std::string > & rArgs)
+ throw(IllegalArgument);
+ bool badOption(char const * reason, std::string const & rArg)
+ throw(IllegalArgument);
+ bool setOption(char const * option, std::string const & rArg);
+
+#if 0 /* @@@ */
sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False)
throw( IllegalArgument );
+#endif /* @@@ */
::rtl::OString prepareHelp();
::rtl::OString prepareVersion();
const ::rtl::OString& getProgramName() const;
- sal_Bool isValid(const ::rtl::OString& option);
- const ::rtl::OString getOption(const ::rtl::OString& option)
+ bool isValid(const ::rtl::OString& option);
+ const ::rtl::OString& getOption(const ::rtl::OString& option)
throw( IllegalArgument );
const StringVector& getInputFiles() const { return m_inputFiles; }
diff --git a/idlc/source/astexpression.cxx b/idlc/source/astexpression.cxx
index a93c13ecf8ba..357da1ab362e 100644
--- a/idlc/source/astexpression.cxx
+++ b/idlc/source/astexpression.cxx
@@ -27,6 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_idlc.hxx"
+
#include <idlc/astexpression.hxx>
#include <idlc/astconstant.hxx>
#include <idlc/astscope.hxx>
@@ -34,6 +35,7 @@
#include <limits.h>
#include <float.h>
+#include <memory> // auto_ptr<>
#undef MAXCHAR
#define MAXCHAR 127
@@ -927,7 +929,6 @@ AstExprValue* AstExpression::eval_internal(EvalKind ek)
AstExprValue* AstExpression::eval_bin_op(EvalKind ek)
{
- AstExprValue *retval = NULL;
ExprType eType = ET_double;
if ( m_combOperator == EC_mod )
@@ -950,7 +951,7 @@ AstExprValue* AstExpression::eval_bin_op(EvalKind ek)
if (m_subExpr2->getExprValue() == NULL)
return NULL;
- retval = new AstExprValue();
+ std::auto_ptr< AstExprValue > retval(new AstExprValue());
retval->et = eType;
switch (m_combOperator)
@@ -971,20 +972,18 @@ AstExprValue* AstExpression::eval_bin_op(EvalKind ek)
break;
case EC_div:
if (m_subExpr2->getExprValue()->u.dval == 0.0)
- return NULL;
+ return NULL;
retval->u.dval = m_subExpr1->getExprValue()->u.dval / m_subExpr2->getExprValue()->u.dval;
break;
default:
return NULL;
}
- return retval;
+ return retval.release();
}
AstExprValue* AstExpression::eval_bit_op(EvalKind ek)
{
- AstExprValue *retval = NULL;
-
if (ek != EK_const && ek != EK_positive_int)
return NULL;
if (m_subExpr1 == NULL || m_subExpr2 == NULL)
@@ -1002,7 +1001,7 @@ AstExprValue* AstExpression::eval_bit_op(EvalKind ek)
if (m_subExpr2->getExprValue() == NULL)
return NULL;
- retval = new AstExprValue;
+ std::auto_ptr< AstExprValue > retval(new AstExprValue());
retval->et = ET_long;
switch (m_combOperator)
@@ -1026,13 +1025,11 @@ AstExprValue* AstExpression::eval_bit_op(EvalKind ek)
return NULL;
}
- return retval;
+ return retval.release();
}
AstExprValue* AstExpression::eval_un_op(EvalKind ek)
{
- AstExprValue *retval = NULL;
-
if (m_exprValue != NULL)
return m_exprValue;
@@ -1047,7 +1044,7 @@ AstExprValue* AstExpression::eval_un_op(EvalKind ek)
if (m_subExpr1->getExprValue() == NULL)
return NULL;
- retval = new AstExprValue();
+ std::auto_ptr< AstExprValue > retval(new AstExprValue());
retval->et = ET_double;
switch (m_combOperator)
@@ -1068,7 +1065,7 @@ AstExprValue* AstExpression::eval_un_op(EvalKind ek)
return NULL;
}
- return retval;
+ return retval.release();
}
AstExprValue* AstExpression::eval_symbol(EvalKind ek)
diff --git a/idlc/source/idlcmain.cxx b/idlc/source/idlcmain.cxx
index 006131f727df..cc2963f5f446 100644
--- a/idlc/source/idlcmain.cxx
+++ b/idlc/source/idlcmain.cxx
@@ -27,26 +27,35 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_idlc.hxx"
-#include <idlc/idlc.hxx>
+
+#include "idlc/idlc.hxx"
#include "sal/main.h"
+#include <string.h>
+
using namespace ::rtl;
SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
{
- Options options;
+ std::vector< std::string > args;
+ for (int i = 1; i < argc; i++)
+ {
+ if (!Options::checkArgument (args, argv[i], strlen(argv[i])))
+ return (1);
+ }
+ Options options(argv[0]);
try
{
- if (!options.initOptions(argc, argv))
- exit(1);
+ if (!options.initOptions(args))
+ return (0);
}
catch( IllegalArgument& e)
{
fprintf(stderr, "Illegal argument: %s\n%s",
e.m_message.getStr(),
options.prepareVersion().getStr());
- exit(99);
+ return (99);
}
setIdlc(&options);
diff --git a/idlc/source/options.cxx b/idlc/source/options.cxx
index c90bce43b3bc..310afa2a4d60 100644
--- a/idlc/source/options.cxx
+++ b/idlc/source/options.cxx
@@ -28,13 +28,26 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_idlc.hxx"
+#include "idlc/options.hxx"
+
+#include "osl/diagnose.h"
+#include "rtl/string.hxx"
+#include "rtl/strbuf.hxx"
+
#include <stdio.h>
-#include /*MSVC trouble: <cstring>*/ <string.h>
-#include <idlc/options.hxx>
+#include <string.h>
+
+using rtl::OString;
+using rtl::OStringBuffer;
-using namespace rtl;
+#ifdef SAL_UNX
+#define SEPARATOR '/'
+#else
+#define SEPARATOR '\\'
+#endif
-Options::Options(): m_stdin(false), m_verbose(false), m_quiet(false)
+Options::Options(char const * progname)
+ : m_program(progname), m_stdin(false), m_verbose(false), m_quiet(false)
{
}
@@ -42,273 +55,282 @@ Options::~Options()
{
}
-sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile)
- throw( IllegalArgument )
+// static
+bool Options::checkArgument (std::vector< std::string > & rArgs, char const * arg, size_t len)
{
- sal_Bool ret = sal_True;
- sal_uInt16 j=0;
-
- if (!bCmdFile)
+ bool result = ((arg != 0) && (len > 0));
+ OSL_PRECOND(result, "idlc::Options::checkArgument(): invalid arguments");
+ if (result)
+ {
+ switch(arg[0])
{
- bCmdFile = sal_True;
-
- m_program = av[0];
-
- if (ac < 2)
+ case '@':
+ if ((result = (len > 1)) == true)
+ {
+ // "@<cmdfile>"
+ result = Options::checkCommandFile (rArgs, &(arg[1]));
+ }
+ break;
+ case '-':
+ if ((result = (len > 1)) == true)
+ {
+ // "-<option>"
+ switch (arg[1])
{
- fprintf(stderr, "%s", prepareHelp().getStr());
- ret = sal_False;
+ case 'O':
+ case 'I':
+ case 'D':
+ {
+ // "-<option>[<param>]
+ std::string option(&(arg[0]), 2);
+ rArgs.push_back(option);
+ if (len > 2)
+ {
+ // "-<option><param>"
+ std::string param(&(arg[2]), len - 2);
+ rArgs.push_back(param);
+ }
+ break;
+ }
+ default:
+ // "-<option>" ([long] option, w/o param)
+ rArgs.push_back(std::string(arg, len));
+ break;
}
+ }
+ break;
+ default:
+ // "<param>"
+ rArgs.push_back(std::string(arg, len));
+ break;
+ }
+ }
+ return (result);
+}
- j = 1;
- } else
+// static
+bool Options::checkCommandFile (std::vector< std::string > & rArgs, char const * filename)
+{
+ FILE * fp = fopen(filename, "r");
+ if (fp == 0)
{
- j = 0;
+ fprintf(stderr, "ERROR: can't open command file \"%s\"\n", filename);
+ return (false);
}
- char *s=NULL;
- for (; j < ac; j++)
+ std::string buffer;
+ buffer.reserve(256);
+
+ bool quoted = false;
+ int c = EOF;
+ while ((c = fgetc(fp)) != EOF)
{
- if (av[j][0] == '-')
+ switch(c)
{
- switch (av[j][1])
- {
- case 'O':
- if (av[j][2] == '\0')
- {
- if (j < ac - 1 && av[j+1][0] != '-')
- {
- j++;
- s = av[j];
- } else
- {
- OString tmp("'-O', please check");
- if (j <= ac - 1)
- {
- tmp += " your input '" + OString(av[j+1]) + "'";
- }
-
- throw IllegalArgument(tmp);
- }
- } else
- {
- s = av[j] + 2;
- }
-
- m_options["-O"] = OString(s);
- break;
- case 'I':
- {
- if (av[j][2] == '\0')
- {
- if (j < ac - 1 && av[j+1][0] != '-')
- {
- j++;
- s = av[j];
- } else
- {
- OString tmp("'-I', please check");
- if (j <= ac - 1)
- {
- tmp += " your input '" + OString(av[j+1]) + "'";
- }
-
- throw IllegalArgument(tmp);
- }
- } else
- {
- s = av[j] + 2;
- }
+ case '\"':
+ quoted = !quoted;
+ break;
+ case ' ':
+ case '\t':
+ case '\r':
+ case '\n':
+ if (!quoted)
+ {
+ if (!buffer.empty())
+ {
+ // append current argument.
+ if (!Options::checkArgument(rArgs, buffer.c_str(), buffer.size()))
+ {
+ (void) fclose(fp);
+ return (false);
+ }
+ buffer.clear();
+ }
+ break;
+ }
+ default:
+ // quoted white-space fall through
+ buffer.push_back(sal::static_int_cast<char>(c));
+ break;
+ }
+ }
+ if (!buffer.empty())
+ {
+ // append unterminated argument.
+ if (!Options::checkArgument(rArgs, buffer.c_str(), buffer.size()))
+ {
+ (void) fclose(fp);
+ return (false);
+ }
+ buffer.clear();
+ }
+ return (fclose(fp) == 0);
+}
- OString inc(s);
- if ( inc.indexOf(';') > 0 )
- {
- OString tmp(s);
- sal_Int32 nIndex = 0;
- inc = OString();
- do inc = inc + " -I\"" + tmp.getToken( 0, ';', nIndex ) +"\""; while( nIndex != -1 );
- } else
- inc = OString("-I\"") + s + "\"";
+bool Options::badOption(char const * reason, std::string const & rArg) throw(IllegalArgument)
+{
+ OStringBuffer message;
+ if (reason != 0)
+ {
+ message.append(reason); message.append(" option '"); message.append(rArg.c_str()); message.append("'");
+ throw IllegalArgument(message.makeStringAndClear());
+ }
+ return false;
+}
- if (m_options.count("-I") > 0)
- {
- OString tmp(m_options["-I"]);
- tmp = tmp + " " + inc;
- m_options["-I"] = tmp;
- } else
- {
- m_options["-I"] = inc;
- }
- }
- break;
- case 'D':
- if (av[j][2] == '\0')
- {
- if (j < ac - 1 && av[j+1][0] != '-')
- {
- j++;
- s = av[j];
- } else
- {
- OString tmp("'-D', please check");
- if (j <= ac - 1)
- {
- tmp += " your input '" + OString(av[j+1]) + "'";
- }
+bool Options::setOption(char const * option, std::string const & rArg)
+{
+ bool result = (0 == strcmp(option, rArg.c_str()));
+ if (result)
+ m_options[rArg.c_str()] = OString(rArg.c_str(), rArg.size());
+ return (result);
+}
- throw IllegalArgument(tmp);
- }
- } else
- {
- s = av[j];
- }
+bool Options::initOptions(std::vector< std::string > & rArgs) throw(IllegalArgument)
+{
+ std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end();
+ for (; first != last; ++first)
+ {
+ if ((*first)[0] != '-')
+ {
+ OString filename((*first).c_str(), (*first).size());
+ OString tmp(filename.toAsciiLowerCase());
+ if (tmp.lastIndexOf(".idl") != (tmp.getLength() - 4))
+ {
+ throw IllegalArgument("'" + filename + "' is not a valid input file, only '*.idl' files will be accepted");
+ }
+ m_inputFiles.push_back(filename);
+ continue;
+ }
- if (m_options.count("-D") > 0)
- {
- OString tmp(m_options["-D"]);
- tmp = tmp + " " + s;
- m_options["-D"] = tmp;
- } else
- m_options["-D"] = OString(s);
- break;
- case 'C':
- if (av[j][2] != '\0')
- {
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- }
- if (m_options.count("-C") == 0)
- m_options["-C"] = OString(av[j]);
- break;
- case 'c':
- if (av[j][2] == 'i' && av[j][3] == 'd' && av[j][4] == '\0')
- {
- if (m_options.count("-cid") == 0)
- m_options["-cid"] = OString(av[j]);
- } else
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- break;
- case 'v':
- if ( 0 == strcmp( &av[j][1], "verbose" ) )
- {
- m_verbose = true;
- }
- else
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- break;
- case 'q':
- if ( 0 == strcmp( &av[j][1], "quiet" ) )
- {
- m_quiet = true;
- }
- else
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- break;
- case 'w':
- if (av[j][2] == 'e' && av[j][3] == '\0') {
- if (m_options.count("-we") == 0)
- m_options["-we"] = OString(av[j]);
- } else {
- if (av[j][2] == '\0') {
- if (m_options.count("-w") == 0)
- m_options["-w"] = OString(av[j]);
- } else
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- }
- break;
- case 'h':
- case '?':
- if (av[j][2] != '\0')
- {
- throw IllegalArgument(OString(av[j]) + ", please check your input");
- } else
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- exit(0);
- }
- case 's':
- if (/*MSVC trouble: std::*/strcmp(&av[j][2], "tdin") == 0)
- {
- m_stdin = true;
- break;
- }
- // fall through
- default:
- throw IllegalArgument("the option is unknown" + OString(av[j]));
- }
- } else
+ std::string const option(*first);
+ switch((*first)[1])
+ {
+ case 'O':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- if (av[j][0] == '@')
- {
- FILE* cmdFile = fopen(av[j]+1, "r");
- if( cmdFile == NULL )
- {
- fprintf(stderr, "%s", prepareHelp().getStr());
- ret = sal_False;
- } else
- {
- int rargc=0;
- char* rargv[512];
- char buffer[512]="";
-
- int i=0;
- int found = 0;
- char c;
- while ( fscanf(cmdFile, "%c", &c) != EOF )
- {
- if (c=='\"') {
- if (found) {
- found=0;
- } else {
- found=1;
- continue;
- }
- } else {
- if (c!=13 && c!=10) {
- if (found || c!=' ') {
- buffer[i++]=c;
- continue;
- }
- }
- if (i==0)
- continue;
- }
- buffer[i]='\0';
- found=0;
- i=0;
- rargv[rargc]= strdup(buffer);
- rargc++;
- buffer[0]='\0';
- }
- if (buffer[0] != '\0') {
- buffer[i]='\0';
- rargv[rargc]= strdup(buffer);
- rargc++;
- }
- fclose(cmdFile);
-
- ret = initOptions(rargc, rargv, bCmdFile);
-
- long ii = 0;
- for (ii=0; ii < rargc; ii++)
- {
- free(rargv[ii]);
- }
- }
- } else
- {
- OString name(av[j]);
- name = name.toAsciiLowerCase();
- if ( name.lastIndexOf(".idl") != (name.getLength() - 4) )
- {
- throw IllegalArgument("'" + OString(av[j]) +
- "' is not a valid input file, only '*.idl' files will be accepted");
- }
- m_inputFiles.push_back(av[j]);
- }
+ return badOption("invalid", option);
+ }
+ OString param((*first).c_str(), (*first).size());
+ m_options["-O"] = param;
+ break;
+ }
+ case 'I':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option);
+ }
+ OString param((*first).c_str(), (*first).size());
+ {
+ // quote param token(s).
+ OStringBuffer buffer;
+ sal_Int32 k = 0;
+ do
+ {
+ OStringBuffer token; token.append("-I\""); token.append(param.getToken(0, ';', k)); token.append("\"");
+ if (buffer.getLength() > 0)
+ buffer.append(' ');
+ buffer.append(token);
+ } while (k != -1);
+ param = buffer.makeStringAndClear();
+ }
+ if (m_options.count("-I") > 0)
+ {
+ // append param.
+ OStringBuffer buffer(m_options["-I"]);
+ buffer.append(' '); buffer.append(param);
+ param = buffer.makeStringAndClear();
+ }
+ m_options["-I"] = param;
+ break;
+ }
+ case 'D':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option);
+ }
+ OString param("-D"); param += OString((*first).c_str(), (*first).size());
+ if (m_options.count("-D") > 0)
+ {
+ OStringBuffer buffer(m_options["-D"]);
+ buffer.append(' '); buffer.append(param);
+ param = buffer.makeStringAndClear();
}
+ m_options["-D"] = param;
+ break;
+ }
+ case 'C':
+ {
+ if (!setOption("-C", option))
+ {
+ return badOption("invalid", option);
+ }
+ break;
+ }
+ case 'c':
+ {
+ if (!setOption("-cid", option))
+ {
+ return badOption("invalid", option);
+ }
+ break;
+ }
+ case 'q':
+ {
+ if (!setOption("-quiet", option))
+ {
+ return badOption("invalid", option);
+ }
+ m_quiet = true;
+ break;
+ }
+ case 'v':
+ {
+ if (!setOption("-verbose", option))
+ {
+ return badOption("invalid", option);
+ }
+ m_verbose = true;
+ break;
+ }
+ case 'w':
+ {
+ if (!(setOption("-w", option) || setOption("-we", option)))
+ {
+ return badOption("invalid", option);
+ }
+ break;
+ }
+ case 'h':
+ case '?':
+ {
+ if (!(setOption("-h", option) || setOption("-?", option)))
+ {
+ return badOption("invalid", option);
+ }
+ {
+ (void) fprintf(stdout, "%s", prepareHelp().getStr());
+ return (false);
+ }
+ // break; // Unreachable
+ }
+ case 's':
+ {
+ if (!setOption("-stdin", option))
+ {
+ return badOption("invalid", option);
+ }
+ m_stdin = true;
+ break;
+ }
+ default:
+ return badOption("unknown", option);
}
-
- return ret;
+ }
+ return (true);
}
OString Options::prepareHelp()
@@ -335,7 +357,7 @@ OString Options::prepareHelp()
help += " requirements.\n";
help += " -w = display warning messages.\n";
help += " -we = treat warnings as errors.\n";
- help += " -h|-? = print this help message and exit.\n";
+ help += " -h|-? = print this help message and exit.\n\n";
help += prepareVersion();
return help;
@@ -343,8 +365,8 @@ OString Options::prepareHelp()
OString Options::prepareVersion()
{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 1.1\n\n";
+ OString version(m_program);
+ version += " Version 1.1\n\n";
return version;
}
@@ -353,19 +375,18 @@ const OString& Options::getProgramName() const
return m_program;
}
-sal_Bool Options::isValid(const OString& option)
+bool Options::isValid(const OString& option)
{
return (m_options.count(option) > 0);
}
-const OString Options::getOption(const OString& option)
+const OString& Options::getOption(const OString& option)
throw( IllegalArgument )
{
- if (m_options.count(option) > 0)
- {
- return m_options[option];
- } else
+ if (!isValid(option))
{
throw IllegalArgument("Option is not valid or currently not set.");
}
+ return m_options[option];
}
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/idlc/source/preproc/eval.c b/idlc/source/preproc/eval.c
index cd3adc2204c7..bed61eb95f00 100644
--- a/idlc/source/preproc/eval.c
+++ b/idlc/source/preproc/eval.c
@@ -24,9 +24,11 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+
+#include "cpp.h"
+
#include <stdlib.h>
#include <string.h>
-#include "cpp.h"
#define NSTAK 32
#define SGN 0
@@ -736,10 +738,10 @@ struct value
}
else
{
- static char cvcon[]
- = "b\bf\fn\nr\rt\tv\v''\"\"??\\\\";
+ static char cvcon[] = "b\bf\fn\nr\rt\tv\v''\"\"??\\\\";
+ static int cvlen = sizeof(cvcon) - 1;
- for (i = 0; i < (int)sizeof(cvcon); i += 2)
+ for (i = 0; i < cvlen; i += 2)
{
if (*p == cvcon[i])
{
@@ -748,9 +750,8 @@ struct value
}
}
p += 1;
- if (i >= (int)sizeof(cvcon))
- error(WARNING,
- "Undefined escape in character constant");
+ if (i >= cvlen)
+ error(WARNING,"Undefined escape in character constant");
}
}
else
diff --git a/idlc/source/preproc/lex.c b/idlc/source/preproc/lex.c
index fd6d00792984..856ee72bfc53 100644
--- a/idlc/source/preproc/lex.c
+++ b/idlc/source/preproc/lex.c
@@ -290,7 +290,7 @@ void
bigfsm[j][fp->state] = (short) nstate;
continue;
case C_ALPH:
- for (j = 0; j <= 256; j++)
+ for (j = 0; j < 256; j++)
if (('a' <= j && j <= 'z') || ('A' <= j && j <= 'Z')
|| j == '_')
bigfsm[j][fp->state] = (short) nstate;
@@ -687,9 +687,13 @@ void
if (s->fd >= 0)
{
- close(s->fd);
- dofree(s->inb);
+ (void) close(s->fd);
+ dofree(s->filename);
}
+
+ if (s->inb)
+ dofree(s->inb);
+
cursource = s->next;
dofree(s);
}
diff --git a/idlc/source/preproc/unix.c b/idlc/source/preproc/unix.c
index 4997e317e697..808b1d90dbd3 100644
--- a/idlc/source/preproc/unix.c
+++ b/idlc/source/preproc/unix.c
@@ -91,6 +91,7 @@ void
maketokenrow(3, &tr);
gettokens(&tr, 1);
doadefine(&tr, c);
+ dofree(tr.bp); tr.bp = 0;
unsetsource();
break;
diff --git a/io/source/TextInputStream/TextInputStream.cxx b/io/source/TextInputStream/TextInputStream.cxx
index bb91337fc40a..5829fe43cce3 100644
--- a/io/source/TextInputStream/TextInputStream.cxx
+++ b/io/source/TextInputStream/TextInputStream.cxx
@@ -171,10 +171,10 @@ OUString OTextInputStream::readLine( )
return implReadString( aDummySeq, sal_True, sal_True );
}
-OUString OTextInputStream::readString( const Sequence< sal_Unicode >& Delimiters, sal_Bool )
+OUString OTextInputStream::readString( const Sequence< sal_Unicode >& Delimiters, sal_Bool bRemoveDelimiter )
throw(IOException, RuntimeException)
{
- return implReadString( Delimiters, sal_True, sal_False );
+ return implReadString( Delimiters, bRemoveDelimiter, sal_False );
}
sal_Bool OTextInputStream::isEOF()
diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
index 95afd25a634d..645925c312f6 100644
--- a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
+++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module accessibility {
<type>XAccessibleText</type> interface and extents it with a notion
of line numbers</p>
- @since OOo 3.0.0
+ @since OOo 3.0
*/
/// not yet published
diff --git a/offapi/com/sun/star/animations/XAnimationListener.idl b/offapi/com/sun/star/animations/XAnimationListener.idl
index 1a71cae3457b..d1f4f453ee60 100644
--- a/offapi/com/sun/star/animations/XAnimationListener.idl
+++ b/offapi/com/sun/star/animations/XAnimationListener.idl
@@ -43,7 +43,7 @@
/** makes it possible to register listeners, which are called whenever
an animation event occurs.
- @since #i71351#
+ @since OOo 3.0
*/
interface XAnimationListener : ::com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
index f866397e0613..99f0ee3c8b01 100644
--- a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
+++ b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
@@ -42,7 +42,7 @@
@see MouseEvent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published struct EnhancedMouseEvent: com::sun::star::awt::MouseEvent
diff --git a/offapi/com/sun/star/awt/UnoControlButtonModel.idl b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
index bbcf7000157e..8b1b7bee2052 100644
--- a/offapi/com/sun/star/awt/UnoControlButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
@@ -95,7 +95,7 @@ published service UnoControlButtonModel
If set to <FALSE/>, the focus is preserved when the user operates the button control with
the mouse.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean FocusOnClick;
@@ -183,7 +183,7 @@ published service UnoControlButtonModel
/** specifies that the text may be displayed on more than one line.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean MultiLine;
@@ -208,7 +208,7 @@ published service UnoControlButtonModel
set to <TRUE/>, the button is repeatedly pressed while you hold
down the mouse button.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -222,7 +222,7 @@ published service UnoControlButtonModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -261,7 +261,7 @@ published service UnoControlButtonModel
<p>The default for this property is <FALSE/>, which means the button behaves like a usual
push button.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Toggle;
@@ -269,7 +269,7 @@ published service UnoControlButtonModel
/** specifies the vertical alignment of the text in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
diff --git a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
index 7870f03f4aec..e6eb9754175d 100644
--- a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
@@ -65,7 +65,7 @@ published service UnoControlCheckBoxModel
2: right
</pre>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short Align;
@@ -155,7 +155,7 @@ published service UnoControlCheckBoxModel
/** specifies that the text may be displayed on more than one line.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean MultiLine;
@@ -205,7 +205,7 @@ published service UnoControlCheckBoxModel
/** specifies the vertical alignment of the text in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
@@ -218,7 +218,7 @@ published service UnoControlCheckBoxModel
@see com::sun::star::awt::VisualEffect
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short VisualEffect;
diff --git a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
index eedd7b78c346..c332d19c989a 100644
--- a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
@@ -96,7 +96,7 @@ published service UnoControlComboBoxModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -149,7 +149,7 @@ published service UnoControlComboBoxModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
diff --git a/offapi/com/sun/star/awt/UnoControlContainerModel.idl b/offapi/com/sun/star/awt/UnoControlContainerModel.idl
index 9fda3791781f..1fa71bcf1b7c 100644
--- a/offapi/com/sun/star/awt/UnoControlContainerModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlContainerModel.idl
@@ -79,7 +79,7 @@ published service UnoControlContainerModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
index 1789e23fff32..b9ee632dad73 100644
--- a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
@@ -80,7 +80,7 @@ published service UnoControlCurrencyFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -139,7 +139,7 @@ published service UnoControlCurrencyFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -167,7 +167,7 @@ published service UnoControlCurrencyFieldModel
/** specifies whether the mouse should show repeating behaviour, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -181,7 +181,7 @@ published service UnoControlCurrencyFieldModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -267,7 +267,7 @@ published service UnoControlCurrencyFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
index 193f1a325b72..d134d0fc450c 100644
--- a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
@@ -80,7 +80,7 @@ published service UnoControlDateFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -180,7 +180,7 @@ published service UnoControlDateFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -201,7 +201,7 @@ published service UnoControlDateFieldModel
/** specifies whether the mouse should show repeating behaviour, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -215,7 +215,7 @@ published service UnoControlDateFieldModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -241,7 +241,7 @@ published service UnoControlDateFieldModel
/** specifies the text displayed in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string Text;
@@ -279,7 +279,7 @@ published service UnoControlDateFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModel.idl b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
index ff6188e5276e..f8970413cdd3 100644
--- a/offapi/com/sun/star/awt/UnoControlDialogModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
@@ -161,7 +161,7 @@ published service UnoControlDialogModel
/** If set to true the dialog will have the desktop as parent.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean DesktopAsParent;
@@ -169,7 +169,7 @@ published service UnoControlDialogModel
background image.
@see Graphic
- @since OOo 2.4.0
+ @since OOo 2.4
*/
[optional, property] string ImageURL;
@@ -184,7 +184,7 @@ published service UnoControlDialogModel
to an empty string.</li>
</ul></p>
- @since OOo 2.4.0
+ @since OOo 2.4
*/
[optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
index a91065f72d66..e153c8c47370 100644
--- a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
+++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module awt {
/** specifies a service to load a dialog model and allows to access the control models inside
- @since OOo 3.3.0
+ @since OOo 3.3
*/
service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer
{
diff --git a/offapi/com/sun/star/awt/UnoControlEditModel.idl b/offapi/com/sun/star/awt/UnoControlEditModel.idl
index 2cd7a55725f5..dffbae58da48 100644
--- a/offapi/com/sun/star/awt/UnoControlEditModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl
@@ -72,7 +72,7 @@ published service UnoControlEditModel
/** If set to true an horizontal scrollbar will be added automaticly
when needed.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean AutoHScroll;
@@ -81,7 +81,7 @@ published service UnoControlEditModel
/** If set to true an vertical scrollbar will be added automaticly
when needed.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean AutoVScroll;
@@ -110,7 +110,7 @@ published service UnoControlEditModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -170,7 +170,7 @@ published service UnoControlEditModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -196,7 +196,7 @@ published service UnoControlEditModel
No matter which line end format is used in this new text then, usual control implementations
should recognize all line end formats and display them properly.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short LineEndFormat;
@@ -218,7 +218,7 @@ published service UnoControlEditModel
/** specifies whether the control paints it background or not.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean PaintTransparent;
@@ -279,7 +279,7 @@ published service UnoControlEditModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
index e609a51512ae..cec080c3fcb2 100644
--- a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
@@ -80,7 +80,7 @@ published service UnoControlFileControlModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -127,7 +127,7 @@ published service UnoControlFileControlModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -173,7 +173,7 @@ published service UnoControlFileControlModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
index 8d5938d21f6f..e4a6bd3dbd58 100644
--- a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
@@ -93,7 +93,7 @@ service UnoControlFixedHyperlinkModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -175,7 +175,7 @@ service UnoControlFixedHyperlinkModel
/** specifies the vertical alignment of the text in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
index b6981556a8f4..84e8311fbc32 100644
--- a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
@@ -93,7 +93,7 @@ published service UnoControlFixedTextModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -169,7 +169,7 @@ published service UnoControlFixedTextModel
/** specifies the vertical alignment of the text in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
index 9ada06455b1e..0f61b6910b7d 100644
--- a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
@@ -96,7 +96,7 @@ published service UnoControlFormattedFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -196,7 +196,7 @@ published service UnoControlFormattedFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -226,7 +226,7 @@ published service UnoControlFormattedFieldModel
/** specifies whether the mouse should show repeating behaviour, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -240,7 +240,7 @@ published service UnoControlFormattedFieldModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -312,7 +312,7 @@ published service UnoControlFormattedFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
index aadf3074fcbe..7e6dfa8641be 100644
--- a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
@@ -75,7 +75,7 @@ published service UnoControlImageControlModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
index 1ecf338bf095..3a9ea516c257 100644
--- a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
@@ -91,7 +91,7 @@ published service UnoControlListBoxModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
index fd3b4c0877bb..5b019d7f82c5 100644
--- a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
@@ -80,7 +80,7 @@ published service UnoControlNumericFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -133,7 +133,7 @@ published service UnoControlNumericFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -155,7 +155,7 @@ published service UnoControlNumericFieldModel
/** specifies whether the mouse should show repeating behaviour, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -169,7 +169,7 @@ published service UnoControlNumericFieldModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -255,7 +255,7 @@ published service UnoControlNumericFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
index 8b4b6ccf601c..2f9f09fd5b3f 100644
--- a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
@@ -80,7 +80,7 @@ published service UnoControlPatternFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -133,7 +133,7 @@ published service UnoControlPatternFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -214,7 +214,7 @@ published service UnoControlPatternFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
index 1ffb7ace534a..3d54d391e3db 100644
--- a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
@@ -73,7 +73,7 @@ published service UnoControlProgressBarModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
index 6676e98e7e6e..cd8568f956ea 100644
--- a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
@@ -66,7 +66,7 @@ published service UnoControlRadioButtonModel
2: right
</pre>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short Align;
@@ -156,7 +156,7 @@ published service UnoControlRadioButtonModel
/** specifies that the text may be displayed on more than one line.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean MultiLine;
@@ -199,7 +199,7 @@ published service UnoControlRadioButtonModel
/** specifies the vertical alignment of the text in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
@@ -212,7 +212,7 @@ published service UnoControlRadioButtonModel
@see com::sun::star::awt::VisualEffect
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short VisualEffect;
diff --git a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
index 3a190405430f..d81e25e369f7 100644
--- a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
@@ -52,7 +52,7 @@ published service UnoControlScrollBarModel
/** specifies the RGB color to be used for the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::util::Color BackgroundColor;
@@ -81,7 +81,7 @@ published service UnoControlScrollBarModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -118,7 +118,7 @@ published service UnoControlScrollBarModel
<FALSE/> means, that the window is only updated after the user has
released the mouse button.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean LiveScroll;
@@ -144,7 +144,7 @@ published service UnoControlScrollBarModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -174,7 +174,7 @@ published service UnoControlScrollBarModel
/** specifies the RGB color to be used when painting symbols which are
part of the control's appearance, such as the arrow buttons.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] com::sun::star::util::Color SymbolColor;
@@ -182,7 +182,7 @@ published service UnoControlScrollBarModel
/** specifies that the control can be reached with the TAB key.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Tabstop;
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
index cb55a369a15d..c2e4eca935e1 100644..100755
--- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
@@ -76,7 +76,7 @@ service UnoControlSpinButtonModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
index 2673e152bb00..ba62cca41c7f 100644
--- a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
@@ -80,7 +80,7 @@ published service UnoControlTimeFieldModel
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
@@ -127,7 +127,7 @@ published service UnoControlTimeFieldModel
/** specifies whether the selection in the control should be hidden when
the control is not active (focused).
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean HideInactiveSelection;
@@ -148,7 +148,7 @@ published service UnoControlTimeFieldModel
/** specifies whether the mouse should show repeating behaviour, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@ -162,7 +162,7 @@ published service UnoControlTimeFieldModel
mouse button and to press it again. The delay between two such triggers
is specified with this property.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RepeatDelay;
@@ -188,7 +188,7 @@ published service UnoControlTimeFieldModel
/** specifies the text displayed in the control.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string Text;
@@ -259,7 +259,7 @@ published service UnoControlTimeFieldModel
/** specifies the vertical alignment of the text in the control.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
};
diff --git a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
index 547bab7c6efc..64dde0ed9390 100644
--- a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
+++ b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module awt {
/** makes it possible to receive enhanced events from the mouse.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XEnhancedMouseClickHandler: ::com::sun::star::lang::XEventListener
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
index db69a6b5d842..36e41d9384f9 100644
--- a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
+++ b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
@@ -38,7 +38,7 @@
//=============================================================================
/** If you do not want to implement the <type>XGridColumnModel</type> yourself, use this service.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
service DefaultGridColumnModel
{
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
index 11bc34432674..5fce0f1ae325 100644
--- a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
+++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
@@ -43,7 +43,7 @@
<p>The implementation will implicitly increase its column count if you add a row which has more values than
the current column count.</p>
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published service DefaultGridDataModel : ::com::sun::star::awt::grid::XMutableGridDataModel;
diff --git a/offapi/com/sun/star/awt/grid/GridColumn.idl b/offapi/com/sun/star/awt/grid/GridColumn.idl
index a87aef84f7d3..383ff37eb673 100644
--- a/offapi/com/sun/star/awt/grid/GridColumn.idl
+++ b/offapi/com/sun/star/awt/grid/GridColumn.idl
@@ -39,7 +39,7 @@
/** Represents a column as used by the <type>DefaultGridColumnModel</type>
- @since OOo 3.3.0
+ @since OOo 3.3
*/
service GridColumn
{
diff --git a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
index dc082fb14864..ae9b88989750 100644
--- a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
+++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
/** An event used by a <type>XGridColumn</type> to notify changes in the column.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published struct GridColumnEvent : ::com::sun::star::lang::EventObject
{
diff --git a/offapi/com/sun/star/awt/grid/GridDataEvent.idl b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
index 3ac05f0ec1ae..7430f3d97e66 100644
--- a/offapi/com/sun/star/awt/grid/GridDataEvent.idl
+++ b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module awt { module grid {
@see XMutableGridDataModel
@see XGridDataListener
- @since OOo 3.3.0
+ @since OOo 3.3
*/
struct GridDataEvent: com::sun::star::lang::EventObject
{
diff --git a/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
index af1f90dfdc8b..ab180207a187 100644
--- a/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
+++ b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module awt { module grid {
/** Exception is thrown to indicate that set data is invalid, e.g. type of data is unknown
or data count doesn't match with column count.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
exception GridInvalidDataException : com::sun::star::uno::RuntimeException
{
diff --git a/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
index 9d96daf624bb..791f691f20c6 100644
--- a/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
+++ b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module awt { module grid {
/** Exception is thrown when data or column model isn't set.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
exception GridInvalidModelException : com::sun::star::uno::RuntimeException
{
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
index bdd4d175d564..0c7cbd76fa70 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
@@ -68,7 +68,8 @@
<member>XGridRowSelection::addSelectionListener()</member>.
You than will be notified for any selection change.</p>
- @since OOo 3.3.0
+ <p>The <type>XGridSelection</type> interface provides a bunch of methods to set and get selection for the grid control.</p>
+ @since OOo 3.3
*/
service UnoControlGrid
{
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
index a1aa9f787efa..6f373aea580f 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module awt { module grid {
/** specifies the standard model of a <type>UnoControlGrid</type> control.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published service UnoControlGridModel
{
diff --git a/offapi/com/sun/star/awt/grid/XGridColumn.idl b/offapi/com/sun/star/awt/grid/XGridColumn.idl
index 8e61a3432dd2..d19225fbc6c2 100644
--- a/offapi/com/sun/star/awt/grid/XGridColumn.idl
+++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
/** The <type>XGridColumn</types> defines the properties and behavior of a column in a grid control
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published interface XGridColumn
{
diff --git a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
index b2943c6131eb..4604920e56a3 100644
--- a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
+++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module awt { module grid {
If you do not need your own model implementation, you can also use the <type>DefaultGridColumnModel</type>.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published interface XGridColumnModel
{
diff --git a/offapi/com/sun/star/awt/grid/XGridControl.idl b/offapi/com/sun/star/awt/grid/XGridControl.idl
index 8decdb294931..152b63c34a0c 100644
--- a/offapi/com/sun/star/awt/grid/XGridControl.idl
+++ b/offapi/com/sun/star/awt/grid/XGridControl.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module awt { module grid {
@see UnoControlGrid
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published interface XGridControl
{
diff --git a/offapi/com/sun/star/awt/grid/XGridDataListener.idl b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
index 709f048c08ce..9a324aee2668 100644
--- a/offapi/com/sun/star/awt/grid/XGridDataListener.idl
+++ b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module awt { module grid {
<p>Usually you must not implement this interface yourself, but you must notify it correctly if
you implement the <type>XGridDataModel</type> yourself</p>.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
interface XGridDataListener: com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/awt/grid/XGridDataModel.idl b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
index d77cbd7d78a5..dee29a1a8f10 100644
--- a/offapi/com/sun/star/awt/grid/XGridDataModel.idl
+++ b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module awt { module grid {
If you do not need your own model implementation, you can also use the <type>DefaultGridDataModel</type>.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
published interface XGridDataModel
{
diff --git a/offapi/com/sun/star/configuration/DefaultProvider.idl b/offapi/com/sun/star/configuration/DefaultProvider.idl
index b41bdeec33a5..0fc09a078acc 100644
--- a/offapi/com/sun/star/configuration/DefaultProvider.idl
+++ b/offapi/com/sun/star/configuration/DefaultProvider.idl
@@ -78,14 +78,14 @@ published service DefaultProvider
/** Enable setting/getting locale for Provider
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface com::sun::star::lang::XLocalizable;
/** Property to enable/disable asynchronous write-back from in-memory cache to backend(s)
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional,property] boolean EnableAsync;
diff --git a/offapi/com/sun/star/configuration/Update.idl b/offapi/com/sun/star/configuration/Update.idl
index 790a4bb40235..8cd52a1c1a77 100644
--- a/offapi/com/sun/star/configuration/Update.idl
+++ b/offapi/com/sun/star/configuration/Update.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module configuration {
<p>This singleton is unpublished and unstable.</p>
- @since OOo 3.3.0
+ @since OOo 3.3
*/
singleton Update: XUpdate;
diff --git a/offapi/com/sun/star/configuration/XUpdate.idl b/offapi/com/sun/star/configuration/XUpdate.idl
index c3316ea5dc45..16455528fc48 100644
--- a/offapi/com/sun/star/configuration/XUpdate.idl
+++ b/offapi/com/sun/star/configuration/XUpdate.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module configuration {
<p>This interface is unpublished and unstable.</p>
- @since OOo 3.3.0
+ @since OOo 3.3
*/
interface XUpdate {
void insertExtensionXcsFile([in] boolean shared, [in] string fileUri);
diff --git a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl
index 82a3595a6b08..108a3e0484c3 100644
--- a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl
+++ b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl
@@ -67,7 +67,7 @@ module com { module sun { module star { module configuration { module backend {
<LI>Approve, Disapprove, Abort</LI>
</UL></P>
- @since OOo 2.0.0
+ @since OOo 2.0
@see com::sun::star::task::InteractionHandler
*/
diff --git a/offapi/com/sun/star/configuration/backend/Layer.idl b/offapi/com/sun/star/configuration/backend/Layer.idl
index 8b9429810b15..545bddad641e 100644
--- a/offapi/com/sun/star/configuration/backend/Layer.idl
+++ b/offapi/com/sun/star/configuration/backend/Layer.idl
@@ -102,7 +102,7 @@ published service Layer
/**
The URL of the layer data.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[property,optional,readonly] string URL ;
diff --git a/offapi/com/sun/star/configuration/backend/LayerFilter.idl b/offapi/com/sun/star/configuration/backend/LayerFilter.idl
index ec5a209aa8ac..357b5ba6b2e7 100644
--- a/offapi/com/sun/star/configuration/backend/LayerFilter.idl
+++ b/offapi/com/sun/star/configuration/backend/LayerFilter.idl
@@ -54,7 +54,7 @@ module com { module sun { module star { module configuration { module backend {
@see com::sun::star::configuration::backend::DataImporter
Service that supports applying a <type>LayerFilter</type> to imported data.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service LayerFilter
{
diff --git a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl
index c5d44ac4b7bf..133fc8080e66 100644
--- a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl
+++ b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module configuration { module backend {
/** is passed to an <type>InteractionHandler<type> when merging fails due to
invalid layer data or access problems.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception MergeRecoveryRequest: ::com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/configuration/backend/Schema.idl b/offapi/com/sun/star/configuration/backend/Schema.idl
index 873f7c464b15..61150a60435a 100644
--- a/offapi/com/sun/star/configuration/backend/Schema.idl
+++ b/offapi/com/sun/star/configuration/backend/Schema.idl
@@ -72,7 +72,7 @@ published service Schema
/**
The URL of the layer data.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[property,optional,readonly] string URL ;
diff --git a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl
index f425118de937..825c81a254ef 100644
--- a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl
+++ b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module configuration { module backend {
/** is passed to an <type>InteractionHandler<type> when creating a stratum backend fails.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception StratumCreationException : BackendSetupException
{
diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl
index 3c07d803a48a..fd40cf0e8aec 100644
--- a/offapi/com/sun/star/deployment/DeploymentException.idl
+++ b/offapi/com/sun/star/deployment/DeploymentException.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module deployment {
/** A DeploymentException reflects a deployment error.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception DeploymentException : com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
index 1911ce04dd81..4494da1a9d0f 100644
--- a/offapi/com/sun/star/deployment/ExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module deployment {
/singletons/com.sun.star.deployment.ExtensionManager
</code>.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
singleton ExtensionManager : XExtensionManager;
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
index 1cd400e248d6..0d0e06c96977 100644
--- a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
@@ -39,7 +39,7 @@ interface XPackage;
because the extension was removed. <member>XPackage::isRemoved</member> will
return true on that object.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
exception ExtensionRemovedException: com::sun::star::uno::Exception {
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
index 0f0407b0e989..79599b7fb53b 100644
--- a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
@@ -39,7 +39,7 @@ interface XPackage;
called with a different value for the <code>removed</code> parameter and that
the <type>XPackage</type> object created by that call still exist.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
exception InvalidRemovedParameterException: com::sun::star::uno::Exception {
/** the value of the <code>removed</code> parameter which was used in
diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
index 0ac85465284b..ee76030eb54b 100644
--- a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
+++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module deployment {
are related to a <type>XPackageManager</type> instance.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service PackageRegistryBackend : XPackageRegistry
{
diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl
index fca14c2f2c6a..c67b204a59fb 100644
--- a/offapi/com/sun/star/deployment/PlatformException.idl
+++ b/offapi/com/sun/star/deployment/PlatformException.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module deployment {
/** A DeploymentException indicates that the current platform
is not supported.
- @since OOo 3.0.0
+ @since OOo 3.0
*/
exception PlatformException : com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
index 679ba2ba5a66..b7528251d86c 100644
--- a/offapi/com/sun/star/deployment/XExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module deployment {
in the user, shared and bundled repository.
@see ExtensionManager
- @since OOo 3.3.0
+ @since OOo 3.3
*/
interface XExtensionManager
{
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
index a6a2f6adf851..ede234382974 100755..100644
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module deployment {
/** Objects of this interface reflect a bound package and are issued by a
<type>PackageRegistryBackend</type>.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPackage
{
@@ -100,7 +100,7 @@ interface XPackage
After updateing the OpenOffice.org, some dependencies for packages might
no longer be satisfied.
- @since OOo 3.2.0
+ @since OOo 3.2
@param xCmdEnv
command environment for error handling and other interaction.
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index da329bb9367f..5ece66a87392 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -67,7 +67,7 @@ module com { module sun { module star { module deployment {
</p>
@see thePackageManagerFactory
- @since OOo 2.0.0
+ @since OOo 2.0
@deprecated
Use <type>XExtensionManager</type>.
*/
diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
index 4b5b7183ba47..f7e67543f4cd 100644
--- a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module deployment {
exclusively.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@deprecated
Use <type>XExtensionManager</type>.
*/
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
index a8e3f556781d..1ab29f0970ba 100644
--- a/offapi/com/sun/star/deployment/XPackageRegistry.idl
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module deployment {
/** Interface to bind an UNO package.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPackageRegistry
{
diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
index 7252f73d200b..9ba54160ade9 100644
--- a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
+++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module deployment {
/** Objects of this interface provide information about a package's type.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPackageTypeInfo
{
diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
index 85e95acea598..a0fbd4a35b7a 100644
--- a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
@@ -42,7 +42,7 @@ module com { module sun { module star { module deployment {
</code>.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@deprecated
Use <type>XExtensionManager</type>.
*/
diff --git a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl
index 0f2b58d941f9..dc635ebb6347 100644
--- a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl
+++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module deployment { module ui {
packages of the user and shared installation as well as currently open
documents.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service PackageManagerDialog : com::sun::star::ui::dialogs::XAsynchronousExecutableDialog
{
diff --git a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl
index 35b314b74f92..6e475539bab9 100644
--- a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl
+++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module deployment { module ui {
/** The <type>UpdateRequiredDialog</type> is used to show a list of extensions not compatible with this office version.
- @since OOo 3.2.0
+ @since OOo 3.2
*/
service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog
{
diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
index af7116b085ea..e3fbf81c7223 100644
--- a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
+++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module document {
/** This exception is thrown in case the global filter configuration
does not exists or contains corrupted data.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published exception CorruptedFilterConfigurationException : ::com::sun::star::uno::RuntimeException
{
diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl
index 1ec7f599ad6a..caa717a8217a 100644
--- a/offapi/com/sun/star/document/DocumentEvent.idl
+++ b/offapi/com/sun/star/document/DocumentEvent.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module document {
anymore.</p>
@see XDocumentEventBroadcaster
- @since OpenOffice.org 3.1
+ @since OOo 3.1
*/
struct DocumentEvent : ::com::sun::star::lang::EventObject
{
diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
index 845660d9db7b..bd7bbf52722c 100644
--- a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
+++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
@@ -58,7 +58,7 @@ interface XDocumentEventListener;
anymore.</p>
@see DocumentEvent
- @since OpenOffice.org 3.1
+ @since OOo 3.1
*/
interface XDocumentEventBroadcaster
{
diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl
index 207286df8b79..2fa8e1583f1a 100644
--- a/offapi/com/sun/star/document/XDocumentEventListener.idl
+++ b/offapi/com/sun/star/document/XDocumentEventListener.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module document {
anymore.</p>
@see XDocumentEventBroadcaster
- @since OpenOffice.org 3.1
+ @since OOo 3.1
*/
interface XDocumentEventListener : ::com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl
index 4e11911e3181..7766282276dd 100644
--- a/offapi/com/sun/star/document/XMLBasicExporter.idl
+++ b/offapi/com/sun/star/document/XMLBasicExporter.idl
@@ -53,7 +53,7 @@ module com { module sun { module star { module document {
from which the data should be exported. After that, the export is started
by calling the <method>XFilter::filter</method> method.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service XMLBasicExporter
{
diff --git a/offapi/com/sun/star/document/XMLBasicImporter.idl b/offapi/com/sun/star/document/XMLBasicImporter.idl
index 38f3bf3ff086..74b789c954ed 100644
--- a/offapi/com/sun/star/document/XMLBasicImporter.idl
+++ b/offapi/com/sun/star/document/XMLBasicImporter.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module document {
The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
interface is used to stream the XML data into the filter.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service XMLBasicImporter
{
diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
index 8c59e34f4301..b5817e99e8ee 100644
--- a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
+++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
@@ -53,7 +53,7 @@ module com { module sun { module star { module document {
from which the data should be exported. After that, the export is started
by calling the <method>XFilter::filter</method> method.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service XMLOasisBasicExporter
{
diff --git a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
index c0aadd8c4941..c77c6395a9be 100644
--- a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
+++ b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module document {
The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
interface is used to stream the XML data into the filter.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service XMLOasisBasicImporter
{
diff --git a/offapi/com/sun/star/form/FormComponent.idl b/offapi/com/sun/star/form/FormComponent.idl
index 27bae9588631..489f97e66795 100644
--- a/offapi/com/sun/star/form/FormComponent.idl
+++ b/offapi/com/sun/star/form/FormComponent.idl
@@ -104,7 +104,7 @@ published service FormComponent
will always be set, even if you do not specify it in the
<member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p>
- @since OpenOffice.org 2.3.0
+ @since OOo 2.3
*/
[optional] service com::sun::star::beans::PropertyBag;
diff --git a/offapi/com/sun/star/form/XErrorListener.idl b/offapi/com/sun/star/form/XErrorListener.idl
index 4b329e1e6d03..7f6a6c4c74a2 100644
--- a/offapi/com/sun/star/form/XErrorListener.idl
+++ b/offapi/com/sun/star/form/XErrorListener.idl
@@ -51,7 +51,6 @@
<p>Please do <em><b>not</b></em> use anymore, this interface is superseeded
by <type scope="com::sun::star::sdb">XSQLErrorListener</type>.</p>
-@since foo
@deprecated
*/
published interface XErrorListener: com::sun::star::lang::XEventListener
diff --git a/offapi/com/sun/star/form/component/GridControl.idl b/offapi/com/sun/star/form/component/GridControl.idl
index f3077ec037ac..b39dc67e9fef 100644
--- a/offapi/com/sun/star/form/component/GridControl.idl
+++ b/offapi/com/sun/star/form/component/GridControl.idl
@@ -162,7 +162,7 @@ published service GridControl
<p>Not every border style (see <member>Border</member>) may support coloring.
For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long BorderColor;
diff --git a/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl
index b743fe4be85b..11140ee20476 100644
--- a/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl
+++ b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl
@@ -62,7 +62,7 @@ service DefaultFormComponentInspectorModel : com::sun::star::inspection::XObject
/** creates a default DefaultFormComponentInspectorModel, providing factories for all
handlers listed above.
- @since OOo 2.2.0
+ @since OOo 2.2
*/
createDefault();
@@ -85,7 +85,7 @@ service DefaultFormComponentInspectorModel : com::sun::star::inspection::XObject
@see XObjectInspectorModel::MinHelpTextLines
@see XObjectInspectorModel::MaxHelpTextLines
- @since OOo 2.2.0
+ @since OOo 2.2
*/
createWithHelpSection(
[in] long minHelpTextLines,
diff --git a/offapi/com/sun/star/form/runtime/FeatureState.idl b/offapi/com/sun/star/form/runtime/FeatureState.idl
index 996aff1e8076..f50c8d36ce05 100644
--- a/offapi/com/sun/star/form/runtime/FeatureState.idl
+++ b/offapi/com/sun/star/form/runtime/FeatureState.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module form { module runtime {
@see XFormOperations
- @since OpenOffice.org 2.2.0
+ @since OOo 2.2
*/
struct FeatureState
{
diff --git a/offapi/com/sun/star/form/runtime/FilterEvent.idl b/offapi/com/sun/star/form/runtime/FilterEvent.idl
index b7cc035113cb..f58b9e101e6f 100644
--- a/offapi/com/sun/star/form/runtime/FilterEvent.idl
+++ b/offapi/com/sun/star/form/runtime/FilterEvent.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module form { module runtime {
@see XFilterController
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
struct FilterEvent : ::com::sun::star::lang::EventObject
{
diff --git a/offapi/com/sun/star/form/runtime/FormFeature.idl b/offapi/com/sun/star/form/runtime/FormFeature.idl
index 57ebcc8ef7b7..13045b0f6bb9 100644
--- a/offapi/com/sun/star/form/runtime/FormFeature.idl
+++ b/offapi/com/sun/star/form/runtime/FormFeature.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module form { module runtime {
/** specifies the operations on a user interface form, as supported by the
<type>XFormOperations</type> interface.
- @since OpenOffice.org 2.2.0
+ @since OOo 2.2
*/
constants FormFeature
{
diff --git a/offapi/com/sun/star/form/runtime/FormOperations.idl b/offapi/com/sun/star/form/runtime/FormOperations.idl
index aa4b7e825c8c..c96844ded821 100644
--- a/offapi/com/sun/star/form/runtime/FormOperations.idl
+++ b/offapi/com/sun/star/form/runtime/FormOperations.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module form { module runtime {
/** encapsulates operations on a database form which has a UI representation,
and is interacting with the user.
- @since OpenOffice.org 2.2.0
+ @since OOo 2.2
*/
service FormOperations : XFormOperations
{
diff --git a/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl
index b435e64a6d81..0f1ca0df7578 100644
--- a/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl
+++ b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module form { module runtime {
@see XFormOperations
- @since OpenOffice.org 2.2.0
+ @since OOo 2.2
*/
interface XFeatureInvalidation
{
diff --git a/offapi/com/sun/star/form/runtime/XFilterController.idl b/offapi/com/sun/star/form/runtime/XFilterController.idl
index 8f3fded592d9..e1c3f0f69fee 100644
--- a/offapi/com/sun/star/form/runtime/XFilterController.idl
+++ b/offapi/com/sun/star/form/runtime/XFilterController.idl
@@ -73,7 +73,7 @@ interface XFilterControllerListener;
@see com::sun::star::sdb::XSingleSelectQueryAnalyzer::getStructuredFilter
@see com::sun::star::sdb::SQLFilterOperator
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
interface XFilterController
{
diff --git a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl
index c737f9b24c70..86068c745640 100644
--- a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl
+++ b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module form { module runtime {
/** is implemented by components listening for events fired by an <type>XFilterController</type>.
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
interface XFilterControllerListener : ::com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/form/runtime/XFormController.idl b/offapi/com/sun/star/form/runtime/XFormController.idl
index 983b0bd61f07..482c66f06262 100644
--- a/offapi/com/sun/star/form/runtime/XFormController.idl
+++ b/offapi/com/sun/star/form/runtime/XFormController.idl
@@ -248,7 +248,7 @@ interface XFormControllerContext;
@see ::com::sun::star::form::binding::BindableControlModel
@see ::com::sun::star::sdb::DataSource::Settings
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
interface XFormController
{
diff --git a/offapi/com/sun/star/form/runtime/XFormOperations.idl b/offapi/com/sun/star/form/runtime/XFormOperations.idl
index f6f040ccc199..9775fb87e64a 100644
--- a/offapi/com/sun/star/form/runtime/XFormOperations.idl
+++ b/offapi/com/sun/star/form/runtime/XFormOperations.idl
@@ -93,7 +93,7 @@ interface XFeatureInvalidation;
@see FormFeature
- @since OpenOffice.org 2.2.0
+ @since OOo 2.2
*/
interface XFormOperations : ::com::sun::star::lang::XComponent
{
diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl
index d8058379922e..6cad9c9c4f88 100644
--- a/offapi/com/sun/star/frame/CommandGroup.idl
+++ b/offapi/com/sun/star/frame/CommandGroup.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module frame {
@see XDispatchInformationProvider
@see Controller
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published constants CommandGroup
{
diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl
index 49789f003b8a..861699f018e7 100644
--- a/offapi/com/sun/star/frame/DispatchInformation.idl
+++ b/offapi/com/sun/star/frame/DispatchInformation.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module frame {
@see XDispatchInformationProvider
@see Controller
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published struct DispatchInformation
{
diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl
index 2111775c9948..27ae448134dd 100644
--- a/offapi/com/sun/star/frame/Frame.idl
+++ b/offapi/com/sun/star/frame/Frame.idl
@@ -127,7 +127,7 @@ published service Frame
//-------------------------------------------------------------------------
/** provides information about supported commands
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface XDispatchInformationProvider;
diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl
index 7a2f25f39d20..e54df74e59d3 100644
--- a/offapi/com/sun/star/frame/LayoutManager.idl
+++ b/offapi/com/sun/star/frame/LayoutManager.idl
@@ -72,7 +72,7 @@
the size and position of those user interface elements.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service LayoutManager
diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
index 8a7bafcf9880..3a41716d9b61 100644
--- a/offapi/com/sun/star/frame/LayoutManagerEvents.idl
+++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module frame {
@see com::sun::star::frame::LayoutManager
@see com::sun::star::frame::XLayoutManagerEventBroadcaster
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants LayoutManagerEvents
{
diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl
index 4b8c1cb8723a..7a102da72bef 100644
--- a/offapi/com/sun/star/frame/ModuleManager.idl
+++ b/offapi/com/sun/star/frame/ModuleManager.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module frame {
of office modules.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleManager
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
index 0d24f19e6cd5..eab60de2fd2c 100644
--- a/offapi/com/sun/star/frame/PopupMenuController.idl
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -65,7 +65,7 @@ module com { module sun { module star { module frame {
worked on. This list gets changes consistently during a work session.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service PopupMenuController
diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
index b0d6d71bb1bd..4bf62ffb1efa 100644
--- a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
+++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module frame {
it contains a registered command URL.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service PopupMenuControllerFactory
diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl
index 861c4364e1f0..9331f95b1816 100644
--- a/offapi/com/sun/star/frame/StatusbarController.idl
+++ b/offapi/com/sun/star/frame/StatusbarController.idl
@@ -64,7 +64,7 @@
@see com::sun::star::frame::XDispatchProvider
@see com::sun::star::frame::XStatusbarController
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service StatusbarController
diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
index 01d26117f1c1..dd2b756c319a 100644
--- a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
+++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
@@ -51,7 +51,7 @@ module com { module sun { module star { module frame {
if it contains a registered command URL.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service StatusbarControllerFactory
diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl
index 674b35af4e6c..8f49b0ae17ea 100644
--- a/offapi/com/sun/star/frame/ToolbarController.idl
+++ b/offapi/com/sun/star/frame/ToolbarController.idl
@@ -67,7 +67,7 @@
@see com::sun::star::frame::XDispatchProvider
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ToolbarController
diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
index 326981516522..0f982fa0f4cb 100644
--- a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
+++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module frame {
/** specifies a factory for
<type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsDocumentContentFactory
{
diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl
index c1c9aad21d8a..9b3169c1dcbe 100644
--- a/offapi/com/sun/star/frame/UnknownModuleException.idl
+++ b/offapi/com/sun/star/frame/UnknownModuleException.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module frame {
* module could not be classified or does not have
* a valid configuration.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception UnknownModuleException : ::com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
index 3bf6886ba17b..a7f50d78c79c 100644
--- a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
+++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
@@ -56,7 +56,7 @@ module com { module sun { module star { module frame {
@see Frame
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XDispatchInformationProvider: com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl
index 71344418bda3..fa2d8944f878 100644
--- a/offapi/com/sun/star/frame/XInplaceLayout.idl
+++ b/offapi/com/sun/star/frame/XInplaceLayout.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module frame {
@deprecated
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XInplaceLayout : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl
index 5699fe00687b..1801140d2965 100644
--- a/offapi/com/sun/star/frame/XLayoutManager.idl
+++ b/offapi/com/sun/star/frame/XLayoutManager.idl
@@ -95,7 +95,7 @@ module com { module sun { module star { module frame {
@see com::sun::star::frame::XFrame
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XLayoutManager : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
index b79827dd4b3e..fc7636e21e56 100644
--- a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
+++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
@@ -40,7 +40,7 @@
@see ::com::sun::star::frame::LayoutManager
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XLayoutManagerEventBroadcaster : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
index 593ba510c08c..1a1cd9266917 100644
--- a/offapi/com/sun/star/frame/XLayoutManagerListener.idl
+++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module frame {
@see ::com::sun::star::frame::LayoutManager
@see ::com::sun::star::frame::LayoutManagerEvents
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XLayoutManagerListener : com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
index 7eec81bb5308..a5c2f54676d8 100644
--- a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
+++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
@@ -46,7 +46,7 @@ module com { module sun { module star { module frame {
@deprecated
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMenuBarAcceptor : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
index b7c6a1b13c19..500c069006ee 100644
--- a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
+++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module frame {
/** provides functions to set and remove a merged menu bar for inplace
editing.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMenuBarMergingAcceptor : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl
index c302892d5df5..26b2d4cf5f0e 100644
--- a/offapi/com/sun/star/frame/XModule.idl
+++ b/offapi/com/sun/star/frame/XModule.idl
@@ -58,7 +58,7 @@ module com { module sun { module star { module frame {
@see XModuleManager
- @since OOo 2.3.0
+ @since OOo 2.3
*/
interface XModule : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl
index 7c8527c84d73..0e1d8b8fe00e 100644
--- a/offapi/com/sun/star/frame/XModuleManager.idl
+++ b/offapi/com/sun/star/frame/XModuleManager.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module frame {
//===============================================
/** can be used to identify office modules.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XModuleManager : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
index ffc7db109f4a..cf65f41f8038 100644
--- a/offapi/com/sun/star/frame/XPopupMenuController.idl
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module frame {
briefs the controller whenever the popup menu gets activated by a user.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPopupMenuController : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl
index d9e035ad03bc..5ded8dc55c1a 100644
--- a/offapi/com/sun/star/frame/XStatusbarController.idl
+++ b/offapi/com/sun/star/frame/XStatusbarController.idl
@@ -62,7 +62,7 @@ module com { module sun { module star { module frame {
@see com::sun::star::frame::XDispatchProvider
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XStatusbarController : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl
index e0de8b9b8e2f..a9614e5ba04a 100644
--- a/offapi/com/sun/star/frame/XSubToolbarController.idl
+++ b/offapi/com/sun/star/frame/XSubToolbarController.idl
@@ -47,7 +47,7 @@
@see com::sun::star::frame::ToolbarController
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XSubToolbarController : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
index b016e42932a3..7357bc209513 100644
--- a/offapi/com/sun/star/frame/XSynchronousDispatch.idl
+++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module frame {
//=============================================================================
/** additional interfaces for dispatch objects: allow to execute with return value
- @since OOo 2.0.0
+ @since OOo 2.0
@see XDispatch
*/
published interface XSynchronousDispatch: com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl
index 1ca2c8fa9278..07bf0bbd9ec2 100644
--- a/offapi/com/sun/star/frame/XToolbarController.idl
+++ b/offapi/com/sun/star/frame/XToolbarController.idl
@@ -53,7 +53,7 @@
@see com::sun::star::frame::XDispatchProvider
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XToolbarController : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
index 6450d8ef910e..63b7b6ae4cca 100644
--- a/offapi/com/sun/star/frame/XToolbarControllerListener.idl
+++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
@@ -36,7 +36,7 @@
@see com::sun::star::frame::ToolbarController
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XToolbarControllerListener : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
index ec3259b4ad06..9fc7172fd203 100644
--- a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
@@ -56,7 +56,7 @@ module com { module sun { module star { module frame {
@see com::sun::star::document::OfficeDocument
@see com::sun::star::ucb::TransientDocumentsDocumentContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/geometry/AffineMatrix2D.idl b/offapi/com/sun/star/geometry/AffineMatrix2D.idl
index ad122bc7ebeb..2a6c65459c4d 100644
--- a/offapi/com/sun/star/geometry/AffineMatrix2D.idl
+++ b/offapi/com/sun/star/geometry/AffineMatrix2D.idl
@@ -65,7 +65,7 @@ module com { module sun { module star { module geometry {
printer, Then, the total transformation matrix and the device
resolution determine the actual measurement unit.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct AffineMatrix2D
{
diff --git a/offapi/com/sun/star/geometry/AffineMatrix3D.idl b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
index 945fccc1880c..a7d9f9b5b000 100644
--- a/offapi/com/sun/star/geometry/AffineMatrix3D.idl
+++ b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
@@ -67,7 +67,7 @@ module com { module sun { module star { module geometry {
Only then the total transformation matrix (oncluding projection to 2D)
and the device resolution determine the actual measurement unit in 3D.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct AffineMatrix3D
{
diff --git a/offapi/com/sun/star/geometry/EllipticalArc.idl b/offapi/com/sun/star/geometry/EllipticalArc.idl
index 620cbead640a..3dff5ced8c9b 100644
--- a/offapi/com/sun/star/geometry/EllipticalArc.idl
+++ b/offapi/com/sun/star/geometry/EllipticalArc.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module geometry {
constrains. Thus, there are two flags indicating which one of those
ellipses should be taken.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct EllipticalArc
{
diff --git a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
index f26418aaf5c4..3ed8334178b4 100644
--- a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
+++ b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module geometry {
ignored.<p>
@see com.sun.star.rendering.XBezierPolyPolygon2D
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct IntegerBezierSegment2D
{
diff --git a/offapi/com/sun/star/geometry/IntegerPoint2D.idl b/offapi/com/sun/star/geometry/IntegerPoint2D.idl
index 2b1e0d83efa6..ce2d60ab51a7 100644
--- a/offapi/com/sun/star/geometry/IntegerPoint2D.idl
+++ b/offapi/com/sun/star/geometry/IntegerPoint2D.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module geometry {
This structure contains x and y integer-valued coordinates of a
two-dimensional point.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct IntegerPoint2D
{
diff --git a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
index 289c3f081665..a9dc994717bb 100644
--- a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
+++ b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module geometry {
/** This structure contains the necessary information for a
two-dimensional rectangle.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct IntegerRectangle2D
{
diff --git a/offapi/com/sun/star/geometry/IntegerSize2D.idl b/offapi/com/sun/star/geometry/IntegerSize2D.idl
index 3c8b665fedc3..cf3e1a215adb 100644
--- a/offapi/com/sun/star/geometry/IntegerSize2D.idl
+++ b/offapi/com/sun/star/geometry/IntegerSize2D.idl
@@ -33,7 +33,7 @@ module com { module sun { module star { module geometry {
The data is stored integer-valued.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct IntegerSize2D
{
diff --git a/offapi/com/sun/star/geometry/Matrix2D.idl b/offapi/com/sun/star/geometry/Matrix2D.idl
index 4d2bacb24e2f..d0e8bf357f2a 100644
--- a/offapi/com/sun/star/geometry/Matrix2D.idl
+++ b/offapi/com/sun/star/geometry/Matrix2D.idl
@@ -68,7 +68,7 @@ module com { module sun { module star { module geometry {
printer. Then, the total transformation matrix and the device
resolution determine the actual measurement unit.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct Matrix2D
{
diff --git a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
index 97a9772fb006..6ec7e1b8b83d 100644
--- a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
+++ b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module geometry {
ignored.<p>
@see com.sun.star.rendering.XBezierPolyPolygon2D
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RealBezierSegment2D
{
diff --git a/offapi/com/sun/star/geometry/RealPoint2D.idl b/offapi/com/sun/star/geometry/RealPoint2D.idl
index 8c0e594aa5e6..1ac34b7a380e 100644
--- a/offapi/com/sun/star/geometry/RealPoint2D.idl
+++ b/offapi/com/sun/star/geometry/RealPoint2D.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module geometry {
This structure contains x and y real-valued coordinates of a
two-dimensional point.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RealPoint2D
{
diff --git a/offapi/com/sun/star/geometry/RealRectangle2D.idl b/offapi/com/sun/star/geometry/RealRectangle2D.idl
index b12ead639200..39cd783f3c08 100644
--- a/offapi/com/sun/star/geometry/RealRectangle2D.idl
+++ b/offapi/com/sun/star/geometry/RealRectangle2D.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module geometry {
/** This structure contains the necessary information for a
two-dimensional rectangle.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RealRectangle2D
{
diff --git a/offapi/com/sun/star/geometry/RealRectangle3D.idl b/offapi/com/sun/star/geometry/RealRectangle3D.idl
index 826c73c27679..4265ae3088ae 100644
--- a/offapi/com/sun/star/geometry/RealRectangle3D.idl
+++ b/offapi/com/sun/star/geometry/RealRectangle3D.idl
@@ -32,7 +32,7 @@ module com { module sun { module star { module geometry {
/** This structure contains the necessary information for a
three-dimensional cube.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RealRectangle3D
{
diff --git a/offapi/com/sun/star/geometry/RealSize2D.idl b/offapi/com/sun/star/geometry/RealSize2D.idl
index 5ed2fc8a34c3..dab80a5c7deb 100644
--- a/offapi/com/sun/star/geometry/RealSize2D.idl
+++ b/offapi/com/sun/star/geometry/RealSize2D.idl
@@ -33,7 +33,7 @@ module com { module sun { module star { module geometry {
The data is stored real-valued.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RealSize2D
{
diff --git a/offapi/com/sun/star/geometry/XMapping2D.idl b/offapi/com/sun/star/geometry/XMapping2D.idl
index bf435389582a..1d2465d91f8e 100644
--- a/offapi/com/sun/star/geometry/XMapping2D.idl
+++ b/offapi/com/sun/star/geometry/XMapping2D.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module geometry {
pair of real numbers there must be another pair that is mapped
upon them.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMapping2D : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/i18n/OrdinalSuffix.idl b/offapi/com/sun/star/i18n/OrdinalSuffix.idl
index 500ef74ccffc..d754a572e058 100644
--- a/offapi/com/sun/star/i18n/OrdinalSuffix.idl
+++ b/offapi/com/sun/star/i18n/OrdinalSuffix.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module i18n {
/** provides access to locale specific ordinal suffix systems.
- @since OOo2.2
+ @since OOo 2.2
@internal
diff --git a/offapi/com/sun/star/i18n/TextConversionOption.idl b/offapi/com/sun/star/i18n/TextConversionOption.idl
index 8f70cfb08bac..d21e3e3151e1 100644
--- a/offapi/com/sun/star/i18n/TextConversionOption.idl
+++ b/offapi/com/sun/star/i18n/TextConversionOption.idl
@@ -59,7 +59,7 @@ published constants TextConversionOption
/** Use Taiwan, HongKong SAR, and Macao SAR character variants for
Simplified to Traditionary Chinese conversion
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const long USE_CHARACTER_VARIANTS = 2; // (1 << 1)
};
diff --git a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
index 7da294782791..382cb4dafd31 100644
--- a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
+++ b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module i18n {
/** provides access to locale specific ordinal suffix systems.
- @since OOo2.2
+ @since OOo 2.2
@internal
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
index ab242d2c40f6..b501478f8ebd 100644
--- a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
@@ -69,7 +69,7 @@ published service ConversionDictionary
[optional] interface com::sun::star::util::XFlushable;
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface com::sun::star::linguistic2::XConversionPropertyType;
};
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
index cf5d93d49f73..cd06ee9bc5ee 100644
--- a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
@@ -44,7 +44,7 @@ constants ConversionDictionaryType
/** Dictionary type for the conversion between Simplified and Traditionary Chinese
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const short SCHINESE_TCHINESE = 2;
};
diff --git a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
index e0e2e37357fe..424ece6e23d6 100644
--- a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
+++ b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module linguistic2 {
@see com::sun::star::linguistic2::XConversionDictionary
@see com::sun::star::linguistic2::XConversionPropertyType
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants ConversionPropertyType
{
diff --git a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
index 0a847f046e78..7dcccf3d05f8 100644
--- a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
+++ b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
@@ -56,7 +56,7 @@ module com { module sun { module star { module linguistic2 {
@see com::sun::star::linguistic2::XConversionDictionary
@see com::sun::star::linguistic2::ConversionPropertyType
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XConversionPropertyType : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/mail/MailAttachment.idl b/offapi/com/sun/star/mail/MailAttachment.idl
index a30aadfa0304..ef45f157ac31 100644
--- a/offapi/com/sun/star/mail/MailAttachment.idl
+++ b/offapi/com/sun/star/mail/MailAttachment.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module mail {
@see ::com::sun::star::mail::XMailMessage
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct MailAttachment
{
diff --git a/offapi/com/sun/star/mail/MailException.idl b/offapi/com/sun/star/mail/MailException.idl
index 5f5bfff11f81..2022c2aee483 100644
--- a/offapi/com/sun/star/mail/MailException.idl
+++ b/offapi/com/sun/star/mail/MailException.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module mail {
An MailException is the base of all mail related
exceptions.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception MailException: com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/mail/MailMessage.idl b/offapi/com/sun/star/mail/MailMessage.idl
index 2112865d00f8..71dea28cb36c 100644
--- a/offapi/com/sun/star/mail/MailMessage.idl
+++ b/offapi/com/sun/star/mail/MailMessage.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module mail {
interface XMailMessage;
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service MailMessage: XMailMessage
{
diff --git a/offapi/com/sun/star/mail/MailServer.idl b/offapi/com/sun/star/mail/MailServer.idl
index f6b448946eb4..2ae7afc016bf 100644
--- a/offapi/com/sun/star/mail/MailServer.idl
+++ b/offapi/com/sun/star/mail/MailServer.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module mail {
interface XMailServer;
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service MailServer: XMailServer
{
diff --git a/offapi/com/sun/star/mail/MailServiceProvider.idl b/offapi/com/sun/star/mail/MailServiceProvider.idl
index af48d9e9b3e7..0645d9556e66 100644
--- a/offapi/com/sun/star/mail/MailServiceProvider.idl
+++ b/offapi/com/sun/star/mail/MailServiceProvider.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module mail {
interface XMailService;
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service MailServiceProvider: XMailServiceProvider
{
diff --git a/offapi/com/sun/star/mail/MailServiceType.idl b/offapi/com/sun/star/mail/MailServiceType.idl
index 94aa985a06c2..ecb960b3ed12 100644
--- a/offapi/com/sun/star/mail/MailServiceType.idl
+++ b/offapi/com/sun/star/mail/MailServiceType.idl
@@ -31,7 +31,7 @@
module com { module sun { module star { module mail {
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
enum MailServiceType
{
diff --git a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
index a8e3d52396b9..f1a2074d66ea 100644
--- a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
+++ b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::MailService
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception NoMailServiceProviderException: com::sun::star::mail::MailException
{
diff --git a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
index 3cad64b8f900..fa275ed7f7f2 100644
--- a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
+++ b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::MailServer
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception NoMailTransportProviderException: com::sun::star::mail::MailException
{
diff --git a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
index 8987bf587596..91a6cb29b5d8 100644
--- a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
+++ b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
@@ -42,7 +42,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::XMailServer
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception SendMailMessageFailedException: com::sun::star::mail::MailException
{
diff --git a/offapi/com/sun/star/mail/XAuthenticator.idl b/offapi/com/sun/star/mail/XAuthenticator.idl
index 564ad4e484f1..6ae813a161ef 100644
--- a/offapi/com/sun/star/mail/XAuthenticator.idl
+++ b/offapi/com/sun/star/mail/XAuthenticator.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module mail {
An implementation of this interface may for instance show a
dialog to query the user for the necessary data.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XAuthenticator: ::com::sun::star::uno::XInterface {
diff --git a/offapi/com/sun/star/mail/XConnectionListener.idl b/offapi/com/sun/star/mail/XConnectionListener.idl
index 5ca8511f7c97..cd5153f5e96e 100644
--- a/offapi/com/sun/star/mail/XConnectionListener.idl
+++ b/offapi/com/sun/star/mail/XConnectionListener.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::XMailServer
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XConnectionListener: ::com::sun::star::lang::XEventListener {
diff --git a/offapi/com/sun/star/mail/XMailMessage.idl b/offapi/com/sun/star/mail/XMailMessage.idl
index b87ea1ca6c5c..abc3017297d7 100644
--- a/offapi/com/sun/star/mail/XMailMessage.idl
+++ b/offapi/com/sun/star/mail/XMailMessage.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::XMailServer
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMailMessage: ::com::sun::star::uno::XInterface {
diff --git a/offapi/com/sun/star/mail/XMailServer.idl b/offapi/com/sun/star/mail/XMailServer.idl
index 8d0ad232ed61..401a13424566 100644
--- a/offapi/com/sun/star/mail/XMailServer.idl
+++ b/offapi/com/sun/star/mail/XMailServer.idl
@@ -95,7 +95,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::XMailMessage
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMailServer: ::com::sun::star::uno::XInterface {
diff --git a/offapi/com/sun/star/mail/XMailService.idl b/offapi/com/sun/star/mail/XMailService.idl
index cc8ba05e0703..f06937b79d57 100644
--- a/offapi/com/sun/star/mail/XMailService.idl
+++ b/offapi/com/sun/star/mail/XMailService.idl
@@ -82,7 +82,7 @@ module com { module sun { module star { module mail {
/**
Represents a mail server abstraction.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMailService: ::com::sun::star::uno::XInterface {
diff --git a/offapi/com/sun/star/mail/XMailServiceProvider.idl b/offapi/com/sun/star/mail/XMailServiceProvider.idl
index 5f389a57ee58..5430a45fced0 100644
--- a/offapi/com/sun/star/mail/XMailServiceProvider.idl
+++ b/offapi/com/sun/star/mail/XMailServiceProvider.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module mail {
/**
A factory for creating different mail services.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XMailServiceProvider: ::com::sun::star::uno::XInterface {
diff --git a/offapi/com/sun/star/mail/XSmtpService.idl b/offapi/com/sun/star/mail/XSmtpService.idl
index 278e9ebe85f1..9ffec785bf09 100644
--- a/offapi/com/sun/star/mail/XSmtpService.idl
+++ b/offapi/com/sun/star/mail/XSmtpService.idl
@@ -64,7 +64,7 @@ module com { module sun { module star { module mail {
@see com::sun::star::mail::XMailService
@see com::sun::star::mail::XMailMessage
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XSmtpService: ::com::sun::star::mail::XMailService {
diff --git a/offapi/com/sun/star/rendering/AnimationAttributes.idl b/offapi/com/sun/star/rendering/AnimationAttributes.idl
index e1d2f1a1eeb5..330ec3d75b30 100644
--- a/offapi/com/sun/star/rendering/AnimationAttributes.idl
+++ b/offapi/com/sun/star/rendering/AnimationAttributes.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module rendering {
/** This structure contains attributes needed to run an animation.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct AnimationAttributes
{
diff --git a/offapi/com/sun/star/rendering/AnimationRepeat.idl b/offapi/com/sun/star/rendering/AnimationRepeat.idl
index 8bde41c46b99..2f72a6b69fbc 100644
--- a/offapi/com/sun/star/rendering/AnimationRepeat.idl
+++ b/offapi/com/sun/star/rendering/AnimationRepeat.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module rendering {
animation is driven through, thus defining the possible repeat
modes.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants AnimationRepeat
{
diff --git a/offapi/com/sun/star/rendering/CanvasFactory.idl b/offapi/com/sun/star/rendering/CanvasFactory.idl
index d735dc368855..7935d5f30b1a 100644
--- a/offapi/com/sun/star/rendering/CanvasFactory.idl
+++ b/offapi/com/sun/star/rendering/CanvasFactory.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module rendering {
a service name to try first.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service CanvasFactory : com::sun::star::lang::XMultiComponentFactory;
diff --git a/offapi/com/sun/star/rendering/Caret.idl b/offapi/com/sun/star/rendering/Caret.idl
index 7d04213987ee..8d8999160ac2 100644
--- a/offapi/com/sun/star/rendering/Caret.idl
+++ b/offapi/com/sun/star/rendering/Caret.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module rendering {
This structure is used from the <type>XTextLayout</type> interface
to transport information regarding a text caret.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct Caret
{
diff --git a/offapi/com/sun/star/rendering/CompositeOperation.idl b/offapi/com/sun/star/rendering/CompositeOperation.idl
index 0c1c4448ee05..169e7af6517c 100644
--- a/offapi/com/sun/star/rendering/CompositeOperation.idl
+++ b/offapi/com/sun/star/rendering/CompositeOperation.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module rendering {
different composite modes (wherein Aa and Ab denote source and
destination alpha, respectively).<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants CompositeOperation
{
diff --git a/offapi/com/sun/star/rendering/EmphasisMark.idl b/offapi/com/sun/star/rendering/EmphasisMark.idl
index be0847a0dcd2..fe9d3d683f55 100644
--- a/offapi/com/sun/star/rendering/EmphasisMark.idl
+++ b/offapi/com/sun/star/rendering/EmphasisMark.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module rendering {
These constants control the automatic rendering of emphasis marks
for a given font.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants EmphasisMark
{
diff --git a/offapi/com/sun/star/rendering/FillRule.idl b/offapi/com/sun/star/rendering/FillRule.idl
index ff0aab58ab9a..ffea263b4bb3 100644
--- a/offapi/com/sun/star/rendering/FillRule.idl
+++ b/offapi/com/sun/star/rendering/FillRule.idl
@@ -32,7 +32,7 @@ module com { module sun { module star { module rendering {
/** Determines which algorithm to use when determining inside and
outside of filled poly-polygons.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
enum FillRule
{
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
index 7fd0a972f56f..0c10b65ff572 100644
--- a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
@@ -31,7 +31,7 @@ module com { module sun { module star { module rendering {
/** This structure describes format of a floating point bitmap.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants FloatingPointBitmapFormat
{
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
index bef73dc7fc35..714a20e8bf3e 100644
--- a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
@@ -42,7 +42,7 @@ module com { module sun { module star { module rendering {
This structure collects all necessary information to describe the
memory layout of a bitmap having floating point color channels<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct FloatingPointBitmapLayout
{
diff --git a/offapi/com/sun/star/rendering/FontInfo.idl b/offapi/com/sun/star/rendering/FontInfo.idl
index 1492168d45bc..ed2beaba1c5b 100644
--- a/offapi/com/sun/star/rendering/FontInfo.idl
+++ b/offapi/com/sun/star/rendering/FontInfo.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module rendering {
/** This structure provides information about a specific font.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct FontInfo
{
diff --git a/offapi/com/sun/star/rendering/FontMetrics.idl b/offapi/com/sun/star/rendering/FontMetrics.idl
index 3339c17d9bdd..71b8f9d3dce6 100644
--- a/offapi/com/sun/star/rendering/FontMetrics.idl
+++ b/offapi/com/sun/star/rendering/FontMetrics.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module rendering {
underlying font technology, actual device output might be off by
up to one device pixel from the transformed metrics.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct FontMetrics
{
diff --git a/offapi/com/sun/star/rendering/FontRequest.idl b/offapi/com/sun/star/rendering/FontRequest.idl
index a39871968297..b9da5f1425d4 100644
--- a/offapi/com/sun/star/rendering/FontRequest.idl
+++ b/offapi/com/sun/star/rendering/FontRequest.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module rendering {
<member>FontInfo::StyleName</member> empty, if font selection
should only happen via the PANOSE description.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct FontRequest
{
diff --git a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
index 45787bc206e7..fae628f0d9b6 100644
--- a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
+++ b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
@@ -42,7 +42,7 @@ module com { module sun { module star { module rendering {
This structure collects all necessary information to describe the
memory layout of a bitmap having integer color channels<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct IntegerBitmapLayout
{
diff --git a/offapi/com/sun/star/rendering/InterpolationMode.idl b/offapi/com/sun/star/rendering/InterpolationMode.idl
index 01dc1e14c9a2..00fc8e7e4cd0 100644
--- a/offapi/com/sun/star/rendering/InterpolationMode.idl
+++ b/offapi/com/sun/star/rendering/InterpolationMode.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module rendering {
takes place between two consecutive frames of a discrete animation
sequence.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants InterpolationMode
{
diff --git a/offapi/com/sun/star/rendering/PathCapType.idl b/offapi/com/sun/star/rendering/PathCapType.idl
index e436eaa738db..e72f9a24dff2 100644
--- a/offapi/com/sun/star/rendering/PathCapType.idl
+++ b/offapi/com/sun/star/rendering/PathCapType.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module rendering {
different shapes (which are, of course, only visible for strokes
wider than one device pixel).<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants PathCapType
{
diff --git a/offapi/com/sun/star/rendering/PathJoinType.idl b/offapi/com/sun/star/rendering/PathJoinType.idl
index b2fc8d31d747..99e2fad61bb4 100644
--- a/offapi/com/sun/star/rendering/PathJoinType.idl
+++ b/offapi/com/sun/star/rendering/PathJoinType.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module rendering {
several different shapes (which are of course only visible for
strokes wider than one device pixel).<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants PathJoinType
{
diff --git a/offapi/com/sun/star/rendering/RenderState.idl b/offapi/com/sun/star/rendering/RenderState.idl
index 7ba8d8e35536..ecb5b169d3a3 100644
--- a/offapi/com/sun/star/rendering/RenderState.idl
+++ b/offapi/com/sun/star/rendering/RenderState.idl
@@ -45,7 +45,7 @@ interface XPolyPolygon2D;
state, i.e. the common setup required to render each individual
<type>XCanvas</type> primitive.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct RenderState
{
diff --git a/offapi/com/sun/star/rendering/RenderingIntent.idl b/offapi/com/sun/star/rendering/RenderingIntent.idl
index 51ed8a96767b..25ebd6046cc1 100644
--- a/offapi/com/sun/star/rendering/RenderingIntent.idl
+++ b/offapi/com/sun/star/rendering/RenderingIntent.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module rendering {
href="http://en.wikipedia.org/wiki/Rendering_intent">Wikipedia</a>
for a thorough explanation.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants RenderingIntent
{
diff --git a/offapi/com/sun/star/rendering/RepaintResult.idl b/offapi/com/sun/star/rendering/RepaintResult.idl
index 9e221b3ff504..8b66654150fa 100644
--- a/offapi/com/sun/star/rendering/RepaintResult.idl
+++ b/offapi/com/sun/star/rendering/RepaintResult.idl
@@ -32,7 +32,7 @@ module com { module sun { module star { module rendering {
/** These constants specify the result of the
<type>XCachedPrimitive</type> render operation.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants RepaintResult
{
diff --git a/offapi/com/sun/star/rendering/StringContext.idl b/offapi/com/sun/star/rendering/StringContext.idl
index 54c4b5868e98..3f9c833ceb74 100644
--- a/offapi/com/sun/star/rendering/StringContext.idl
+++ b/offapi/com/sun/star/rendering/StringContext.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module rendering {
here, because in several languages, glyph selection is context
dependent.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct StringContext
{
diff --git a/offapi/com/sun/star/rendering/TextDirection.idl b/offapi/com/sun/star/rendering/TextDirection.idl
index 33eea1fd4036..cec5d680be0f 100644
--- a/offapi/com/sun/star/rendering/TextDirection.idl
+++ b/offapi/com/sun/star/rendering/TextDirection.idl
@@ -33,7 +33,7 @@ module com { module sun { module star { module rendering {
This also changes the interpretation of the start point.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants TextDirection
{
diff --git a/offapi/com/sun/star/rendering/TextHit.idl b/offapi/com/sun/star/rendering/TextHit.idl
index 7451086d57a3..2b0c5305b925 100644
--- a/offapi/com/sun/star/rendering/TextHit.idl
+++ b/offapi/com/sun/star/rendering/TextHit.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module rendering {
This structure is used from the <type>XTextLayout</type> interface
to transport information regarding hit tests.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct TextHit
{
diff --git a/offapi/com/sun/star/rendering/Texture.idl b/offapi/com/sun/star/rendering/Texture.idl
index a8eacf515c76..ea033b3e21a8 100644
--- a/offapi/com/sun/star/rendering/Texture.idl
+++ b/offapi/com/sun/star/rendering/Texture.idl
@@ -51,7 +51,7 @@ interface XParametricPolyPolygon2D;
as the hatch and the gradient. The transformation member can then
be used to scale the complete texture as it fits suit.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct Texture
{
diff --git a/offapi/com/sun/star/rendering/TexturingMode.idl b/offapi/com/sun/star/rendering/TexturingMode.idl
index b44a78eae6ce..10ca7679caa5 100644
--- a/offapi/com/sun/star/rendering/TexturingMode.idl
+++ b/offapi/com/sun/star/rendering/TexturingMode.idl
@@ -32,7 +32,7 @@ module com { module sun { module star { module rendering {
/** Enumeration of possible values to spread a texture across a
primitive.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants TexturingMode
{
diff --git a/offapi/com/sun/star/rendering/ViewState.idl b/offapi/com/sun/star/rendering/ViewState.idl
index b0ed7b62d3b5..fe4de1fc17bf 100644
--- a/offapi/com/sun/star/rendering/ViewState.idl
+++ b/offapi/com/sun/star/rendering/ViewState.idl
@@ -41,7 +41,7 @@ interface XPolyPolygon2D;
i.e. the invariant setup used when painting a whole view of
something.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct ViewState
{
diff --git a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
index 23e0531f876f..718444f91a25 100644
--- a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
+++ b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module rendering {
When accessing or rendering XVolatileBitmap data, that has
been invalidated by the system, this exception will be thrown.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception VolatileContentDestroyedException : ::com::sun::star::uno::Exception
{
diff --git a/offapi/com/sun/star/rendering/XAnimatedSprite.idl b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
index 6824b36e4f07..aa10e68f9ae1 100644
--- a/offapi/com/sun/star/rendering/XAnimatedSprite.idl
+++ b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
@@ -54,7 +54,7 @@ module com { module sun { module star { module rendering {
This interface can be used to control an animated sprite object on
an XSpriteCanvas. Sprites are moving, animated objects.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XAnimatedSprite : XSprite
{
diff --git a/offapi/com/sun/star/rendering/XAnimation.idl b/offapi/com/sun/star/rendering/XAnimation.idl
index 004f350ef564..8dd196bb7b6e 100644
--- a/offapi/com/sun/star/rendering/XAnimation.idl
+++ b/offapi/com/sun/star/rendering/XAnimation.idl
@@ -58,7 +58,7 @@ module com { module sun { module star { module rendering {
is used by the <type>XCanvas</type> interface to render generic
animations.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XAnimation : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
index 973d33e8dfd1..8d245d1c00a2 100644
--- a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
+++ b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
@@ -54,7 +54,7 @@ module com { module sun { module star { module rendering {
By convention, a <type>RealBezierSegment2D</type> is a straight
line segment, if all three contained points are strictly equal.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XBezierPolyPolygon2D : XPolyPolygon2D
{
diff --git a/offapi/com/sun/star/rendering/XBitmap.idl b/offapi/com/sun/star/rendering/XBitmap.idl
index 3eedd46357e2..c061d2908f2e 100644
--- a/offapi/com/sun/star/rendering/XBitmap.idl
+++ b/offapi/com/sun/star/rendering/XBitmap.idl
@@ -55,7 +55,7 @@ interface XBitmapCanvas;
<type>XIeeeDoubleBitmap</type>, <type>XIeeeFloatBitmap</type> and
<type>XHalfFloatBitmap</type> interfaces.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XBitmap : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XBitmapCanvas.idl b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
index b87be2ae8394..fed3cd4238dc 100644
--- a/offapi/com/sun/star/rendering/XBitmapCanvas.idl
+++ b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
@@ -59,7 +59,7 @@ module com { module sun { module star { module rendering {
bitmapped canvases, where additional methods for accessing and
moving of bitmap content are provided.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XBitmapCanvas : XCanvas
{
diff --git a/offapi/com/sun/star/rendering/XBitmapPalette.idl b/offapi/com/sun/star/rendering/XBitmapPalette.idl
index b89bc8221cd0..f36629285d9a 100644
--- a/offapi/com/sun/star/rendering/XBitmapPalette.idl
+++ b/offapi/com/sun/star/rendering/XBitmapPalette.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module rendering {
/** Interface to access the palette of a color-indexed bitmap.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XBitmapPalette : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XBufferController.idl b/offapi/com/sun/star/rendering/XBufferController.idl
index d4222e263aac..93bfea9158f3 100644
--- a/offapi/com/sun/star/rendering/XBufferController.idl
+++ b/offapi/com/sun/star/rendering/XBufferController.idl
@@ -42,7 +42,7 @@ module com { module sun { module star { module rendering {
This interface provides methods to enable and control
double/multi-buffering facilities on screen devices.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XBufferController : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XCachedPrimitive.idl b/offapi/com/sun/star/rendering/XCachedPrimitive.idl
index c24a74df3135..9793374ad913 100644
--- a/offapi/com/sun/star/rendering/XCachedPrimitive.idl
+++ b/offapi/com/sun/star/rendering/XCachedPrimitive.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module rendering {
This interface provides a method to quickly redraw some
<type>XCanvas</type> primitives, using cached data.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XCachedPrimitive : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XCanvas.idl b/offapi/com/sun/star/rendering/XCanvas.idl
index e88de735ce7c..e731e535d3c9 100644
--- a/offapi/com/sun/star/rendering/XCanvas.idl
+++ b/offapi/com/sun/star/rendering/XCanvas.idl
@@ -148,7 +148,7 @@ interface XTextLayout;
<member>getDevice()</member> call) - they will then internally
optimize to the underlying graphics subsystem.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XCanvas : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XIntegerBitmap.idl b/offapi/com/sun/star/rendering/XIntegerBitmap.idl
index c56d46d948c1..b416d30debd1 100644
--- a/offapi/com/sun/star/rendering/XIntegerBitmap.idl
+++ b/offapi/com/sun/star/rendering/XIntegerBitmap.idl
@@ -52,7 +52,7 @@ module com { module sun { module star { module rendering {
/** This is a specialized interface for bitmaps having integer color
channels.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XIntegerBitmap : XIntegerReadOnlyBitmap
{
diff --git a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
index a44e1d4fa7dd..bbd2606297ba 100644
--- a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
+++ b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module rendering {
/** Specialized interface for a 2D poly-polygon containing only straight line segments.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XLinePolyPolygon2D : XPolyPolygon2D
{
diff --git a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
index 47b61210d3fd..dc99fabee053 100644
--- a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
+++ b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module rendering {
/** Generic interface for poly-polygons in 2D.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/rendering/XTextLayout.idl b/offapi/com/sun/star/rendering/XTextLayout.idl
index e4e2d2e76eca..062a1c86a4ba 100644
--- a/offapi/com/sun/star/rendering/XTextLayout.idl
+++ b/offapi/com/sun/star/rendering/XTextLayout.idl
@@ -90,7 +90,7 @@ interface XPolyPolygon2D;
might be off by up to one device pixel from the transformed
metrics.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XTextLayout : ::com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/report/XReportControlFormat.idl b/offapi/com/sun/star/report/XReportControlFormat.idl
index 608b1e7aa5f4..672ff99549e7 100644
--- a/offapi/com/sun/star/report/XReportControlFormat.idl
+++ b/offapi/com/sun/star/report/XReportControlFormat.idl
@@ -143,7 +143,7 @@ interface XReportControlFormat
/** If this optional property is <TRUE/>, then the characters are invisible.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[attribute,bound] boolean CharHidden
{
diff --git a/offapi/com/sun/star/resource/OfficeResourceLoader.idl b/offapi/com/sun/star/resource/OfficeResourceLoader.idl
index 7930a34e5571..20178ca533e7 100644
--- a/offapi/com/sun/star/resource/OfficeResourceLoader.idl
+++ b/offapi/com/sun/star/resource/OfficeResourceLoader.idl
@@ -70,7 +70,7 @@ module com { module sun { module star { module resource {
OpenOffice.org build), you are <strong>strongly</strong> discouraged from using the <type>OfficeResoureLoader</type>
service in a component which targets more than one particular OpenOffice.org build.</p>
- @since OpenOffice.org 2.0.3
+ @since OOo 2.0.3
*/
singleton OfficeResourceLoader : XResourceBundleLoader;
diff --git a/offapi/com/sun/star/script/browse/BrowseNode.idl b/offapi/com/sun/star/script/browse/BrowseNode.idl
index fa209b84efa1..502f16f5799a 100755
--- a/offapi/com/sun/star/script/browse/BrowseNode.idl
+++ b/offapi/com/sun/star/script/browse/BrowseNode.idl
@@ -46,7 +46,7 @@ module com {
XBrowseNode interface. XInvocation is an optional interface that is used
to execute macros, or to create/delete/rename macros or macro containers.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service BrowseNode
{
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
index b54d8e7e6137..92897a44080a 100755
--- a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module script { module browse {
/**
This service is used to create Root XBrowseNodes.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service BrowseNodeFactory
{
@@ -52,7 +52,7 @@ service BrowseNodeFactory
/singletons/com.sun.star.script.theBrowseNodeFactory
</pre>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
singleton theBrowseNodeFactory
{
diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl
index d2e660058e70..ac990e02c709 100644
--- a/offapi/com/sun/star/sdb/DatabaseContext.idl
+++ b/offapi/com/sun/star/sdb/DatabaseContext.idl
@@ -96,7 +96,7 @@ published service DatabaseContext
are maintained, so if possible at all, you should use this interface, instead of modifying or
querying the configuration data directly.</p>
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
[optional] interface XDatabaseRegistrations;
};
diff --git a/offapi/com/sun/star/sdb/DatabaseDocument.idl b/offapi/com/sun/star/sdb/DatabaseDocument.idl
index b7a626579ec5..6690c2929de4 100644
--- a/offapi/com/sun/star/sdb/DatabaseDocument.idl
+++ b/offapi/com/sun/star/sdb/DatabaseDocument.idl
@@ -43,7 +43,7 @@
module com { module sun { module star { module sdb {
/** specifies a link to a document associated with a database document
- @since OOo 2.0.0
+ @since OOo 2.0
@deprecated
*/
published service DatabaseDocument
diff --git a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
index f3a90b4f467f..a2a579fc47ac 100644
--- a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
+++ b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
@@ -44,7 +44,7 @@
<p>
Usually thrown if someone tries to save a document which hasn't a name yet.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception DocumentSaveRequest: com::sun::star::task::ClassifiedInteractionRequest
{
diff --git a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
index afbf45b192bb..1d12f2dca011 100644
--- a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
+++ b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
@@ -63,7 +63,7 @@ module com { module sun { module star { module sdb {
@see com::sun::star::sdb::XOfficeDatabaseDocument
@see com::sun::star::document::OfficeDocument
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service OfficeDatabaseDocument
{
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
index 81f878d2441d..8151e7e22de9 100644
--- a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
@@ -47,7 +47,7 @@ interface XDatabaseRegistrationsListener;
if possible at all, use this interface, instead of modifying or querying the configuration
data directly.</p>
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
interface XDatabaseRegistrations
{
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
index 57135f8de012..9ba6c6e6df9a 100644
--- a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module sdb {
@see XDatabaseRegistrations
- @since OpenOffice.org 3.3
+ @since OOo 3.3
*/
interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
index e4de2af39d98..4d89d66a6ca4 100644
--- a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
+++ b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module sdb {
This continuation is typically used in conjunction with a
<type scope="com::sun::star::sdb">DocumentSaveRequest</type>.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XInteractionDocumentSave: com::sun::star::task::XInteractionContinuation
{
diff --git a/offapi/com/sun/star/sdb/application/DatabaseObject.idl b/offapi/com/sun/star/sdb/application/DatabaseObject.idl
index 3239d69a58f4..46f9f95a7500 100644
--- a/offapi/com/sun/star/sdb/application/DatabaseObject.idl
+++ b/offapi/com/sun/star/sdb/application/DatabaseObject.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module sdb { module application {
/** denotes different objects within a database document
- @since OOo 2.2.0
+ @since OOo 2.2
@see DatabaseObjectContainer
*/
diff --git a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
index 7c14255045e1..088ed540897c 100644
--- a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
+++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
@@ -52,7 +52,7 @@ module com { module sun { module star { module sdb { module application {
@see com::sun::star::frame::Controller
@see com::sun::star::sdb::DatabaseDocument
- @since OOo 2.2.0
+ @since OOo 2.2
*/
interface XDatabaseDocumentUI
{
diff --git a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
index ec31ace643aa..85333795d8d2 100644
--- a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
+++ b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
@@ -45,7 +45,7 @@ interface XDatabaseDocumentUI;
@see com::sun::star::sdb::Connection
- @since OOo 2.2.0
+ @since OOo 2.2
*/
interface XTableUIProvider
{
diff --git a/offapi/com/sun/star/sdbc/DataType.idl b/offapi/com/sun/star/sdbc/DataType.idl
index 2d07982530f6..9d3bb20e5c7b 100644
--- a/offapi/com/sun/star/sdbc/DataType.idl
+++ b/offapi/com/sun/star/sdbc/DataType.idl
@@ -133,7 +133,7 @@ published constants DataType
/** identifies the generic SQL type
* <code>BOOLEAN</code>.
*
- * @since OOo 2.0.0
+ * @since OOo 2.0
*/
const long BOOLEAN = 16;
};
diff --git a/offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl b/offapi/com/sun/star/security/CertAltNameEntry.idl
index ec784aa7c2bb..1ef827b77f89 100644
--- a/offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl
+++ b/offapi/com/sun/star/security/CertAltNameEntry.idl
@@ -24,34 +24,36 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__
-#define __drafts_com_sun_star_form_IncompatibleTypesException_idl__
-
-#ifndef __com_sun_star_uno_Exception_idl__
-#include <com/sun/star/uno/Exception.idl>
-#endif
-//=============================================================================
+#ifndef __com_sun_star_security_CertAltNameEntry_idl__
+#define __com_sun_star_security_CertAltNameEntry_idl__
-module drafts { module com { module sun { module star { module form {
+#include <com/sun/star/security/ExtAltNameType.idl>
//=============================================================================
-/** thrown to indicate that the types of an <type>XValueBinding</type> and
- an <type>XBindableValue</type> are incompatible
+ module com { module sun { module star { module security {
- @deprecated
- This exception is superseeded by <type scope="com::sun::star::form::binding">IncompatibleTypesException</type>
-*/
-exception IncompatibleTypesException: com::sun::star::uno::Exception
+//=============================================================================
+/**
+ * struct contains a single entry within a Subject Alternative Name Extension of a
+ * X509 certificate.
+ */
+struct CertAltNameEntry
{
+ /**
+ * defines the type of the value . With this information you can determine how to interprete the Any value.
+ * @see com::sun::star::security::ExtAltNameType
+ */
+ com::sun::star::security::ExtAltNameType Type;
+
+ /**
+ * stores the value of entry.
+ */
+ any Value;
};
-//=============================================================================
-
-}; }; }; }; };
-
-//=============================================================================
+}; }; }; };
#endif
diff --git a/offapi/com/sun/star/security/ExtAltNameType.idl b/offapi/com/sun/star/security/ExtAltNameType.idl
new file mode 100644
index 000000000000..3910772c28c8
--- /dev/null
+++ b/offapi/com/sun/star/security/ExtAltNameType.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_ExtAltNameType_idl_
+#define __com_sun_star_security_ExtAltNameType_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Constant definiton of a certificate container status.
+ */
+enum ExtAltNameType
+{
+ /**
+ * Cutomize name/value pair
+ * The value of CertAltNameEntry contains a NamedValue.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ OTHER_NAME,
+
+ /**
+ * The entry contains rfc822 name.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ RFC822_NAME,
+
+ /**
+ * The entry contains a dns name.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ DNS_NAME,
+
+ /**
+ * Currently unsupported.
+ */
+ DIRECTORY_NAME,
+
+ /**
+ * The entry contains an url.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ URL,
+
+ /**
+ * The entry contains a ip address.
+ * The value of CertAltNameEntry contains a Sequence of sal_Int8.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ IP_ADDRESS,
+
+ /**
+ * The entry contains a registered id.
+ * The value of CertAltNameEntry contains a OUString.
+ *
+ * @see com::sun::star::security::CertAltNameEntry
+ */
+ REGISTERED_ID,
+
+ /**
+ * Currently unsupported.
+ */
+ EDI_PARTY_NAME,
+
+ /**
+ * Currently unsupported.
+ */
+ X400_ADDRESS
+
+};
+
+} ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/security/SerialNumberAdapter.idl b/offapi/com/sun/star/security/SerialNumberAdapter.idl
index 258426fe3f1b..adeb0ca71079 100644
--- a/offapi/com/sun/star/security/SerialNumberAdapter.idl
+++ b/offapi/com/sun/star/security/SerialNumberAdapter.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module security {
<p>An implementation of this service enables the conversion of certificate
serial number to and from a string</p>
- @since OOo 3.1.0
+ @since OOo 3.1
*/
service SerialNumberAdapter : XSerialNumberAdapter;
diff --git a/offapi/com/sun/star/security/XSanExtension.idl b/offapi/com/sun/star/security/XSanExtension.idl
new file mode 100644
index 000000000000..e378e1b0817e
--- /dev/null
+++ b/offapi/com/sun/star/security/XSanExtension.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_XSanExtension_idl_
+#define __com_sun_star_security_XSanExtension_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/security/XCertificateExtension.idl>
+#include <com/sun/star/security/CertAltNameEntry.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of a X509 Subject Alternative Name Certificate Extension
+ *
+ * <p>This interface represents a x509 certificate extension.</p>
+ */
+interface XSanExtension : com::sun::star::security::XCertificateExtension
+{
+ /**
+ * Contains the alternative names of a certificate
+ */
+ [attribute, readonly] sequence< com::sun::star::security::CertAltNameEntry > AlternativeNames;
+};
+
+} ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/security/makefile.mk b/offapi/com/sun/star/security/makefile.mk
index 21667da10972..2064e9fb4bea 100644
--- a/offapi/com/sun/star/security/makefile.mk
+++ b/offapi/com/sun/star/security/makefile.mk
@@ -59,7 +59,13 @@ IDLFILES=\
XSerialNumberAdapter.idl \
SerialNumberAdapter.idl \
CertificateContainer.idl \
- CertificateContainerStatus.idl
+ CertificateContainerStatus.idl \
+ ExtAltNameType.idl \
+ XSanExtension.idl \
+ CertAltNameEntry.idl
+
+
+
# ------------------------------------------------------------------
diff --git a/offapi/com/sun/star/sheet/ActivationEvent.idl b/offapi/com/sun/star/sheet/ActivationEvent.idl
index 481b4cca723a..f53c3509874b 100644
--- a/offapi/com/sun/star/sheet/ActivationEvent.idl
+++ b/offapi/com/sun/star/sheet/ActivationEvent.idl
@@ -44,7 +44,7 @@
/** describes a change of the active sheet. The new active sheet is given
with this event.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published struct ActivationEvent: com::sun::star::lang::EventObject
diff --git a/offapi/com/sun/star/sheet/CellAreaLink.idl b/offapi/com/sun/star/sheet/CellAreaLink.idl
index 75c0a4d810b1..90e51f941eb8 100644
--- a/offapi/com/sun/star/sheet/CellAreaLink.idl
+++ b/offapi/com/sun/star/sheet/CellAreaLink.idl
@@ -106,7 +106,7 @@ published service CellAreaLink
/** specifies the time between two refresh actions in seconds.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RefreshPeriod;
diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl
index bf884ea7cbfb..9ad23080fbd5 100644
--- a/offapi/com/sun/star/sheet/DDEItemInfo.idl
+++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module sheet {
A DDE connection consists of the DDE service name, the DDE topic and a
list of DDE items which may contain cached result sets.
- @since OOo3.1
+ @since OOo 3.1
*/
struct DDEItemInfo
{
diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl
index b9df62f3cd70..96c4b8e5c244 100644
--- a/offapi/com/sun/star/sheet/DDELinkInfo.idl
+++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl
@@ -51,7 +51,7 @@ module com { module sun { module star { module sheet {
single quotes they are escaped by doubling them, as usual, for example
<code>=[2]!'''Sheet name''.A1'</code> in a "soffice" service.</p>
- @since OOo3.1
+ @since OOo 3.1
*/
struct DDELinkInfo
{
diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
index 992afdef5ed9..c01f450676dc 100644
--- a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
+++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
@@ -80,7 +80,7 @@ published service DataPilotDescriptor
/** specifies parameters to create the data pilot table from a database.
@see DatabaseImportDescriptor
- @since OOo 3.3.0
+ @since OOo 3.3
*/
[optional, property] sequence< com::sun::star::beans::PropertyValue > ImportDescriptor;
@@ -90,7 +90,7 @@ published service DataPilotDescriptor
/** specifies the name of a <type>DataPilotSource</type> implementation
for the data pilot table.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
[optional, property] string SourceServiceName;
@@ -100,32 +100,33 @@ published service DataPilotDescriptor
/** specifies arguments that are passed to the implementation named by
<member>SourceServiceName</member>.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
[optional, property] sequence< com::sun::star::beans::PropertyValue > ServiceArguments;
//-------------------------------------------------------------------------
- /** specifies the orientation of the field.
+ /** specifies if empty rows in the source data are ignored.
*/
[optional, property] boolean IgnoreEmptyRows;
//-------------------------------------------------------------------------
- /** specifies the orientation of the field.
+ /** specifies if empty category cells in the source data should be treated
+ as repetition of the content from the previous row.
*/
[optional, property] boolean RepeatIfEmpty;
//-------------------------------------------------------------------------
- /** specifies the orientation of the field.
+ /** specifies if columns for grand total results are created.
*/
[optional, property] boolean ColumnGrand;
//-------------------------------------------------------------------------
- /** specifies the orientation of the field.
+ /** specifies if rows for grand total results are created.
*/
[optional, property] boolean RowGrand;
@@ -142,6 +143,14 @@ published service DataPilotDescriptor
[optional, property] boolean DrillDownOnDoubleClick;
//-------------------------------------------------------------------------
+
+ /** specifies a label for grand total results.
+
+ @since OOo 3.4
+ */
+ [optional, property] string GrandTotalName;
+
+ //-------------------------------------------------------------------------
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl
index 54f21820ed25..84be9bdc879a 100644
--- a/offapi/com/sun/star/sheet/DataPilotItem.idl
+++ b/offapi/com/sun/star/sheet/DataPilotItem.idl
@@ -77,7 +77,7 @@ service DataPilotItem
/** specifies the item's position in its field if sorting is manual.
- @since OOo 2.4.0
+ @since OOo 2.4
*/
[optional, property] long Position;
};
diff --git a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
index 7bb0bbbc9438..ffd9d274db97 100644
--- a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
+++ b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::XDataPilotTable2
- @since OOo 3.0.0
+ @since OOo 3.0
*/
constants DataPilotOutputRangeType
{
diff --git a/offapi/com/sun/star/sheet/DataPilotSource.idl b/offapi/com/sun/star/sheet/DataPilotSource.idl
index d96bd6d1ba76..3629d48fd756 100644
--- a/offapi/com/sun/star/sheet/DataPilotSource.idl
+++ b/offapi/com/sun/star/sheet/DataPilotSource.idl
@@ -100,7 +100,7 @@ published service DataPilotSource
/** specifies the number of row fields.
- @since OOo 3.0.0
+ @since OOo 3.0
*/
[readonly, property, optional] long RowFieldCount;
@@ -108,7 +108,7 @@ published service DataPilotSource
/** specifies the number of column fields.
- @since OOo 3.0.0
+ @since OOo 3.0
*/
[readonly, property, optional] long ColumnFieldCount;
@@ -116,7 +116,7 @@ published service DataPilotSource
/** specifies the number of data fields.
- @since OOo 3.0.0
+ @since OOo 3.0
*/
[readonly, property, optional] long DataFieldCount;
};
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
index 754fc955c30a..c83f1031e57a 100644
--- a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
@@ -86,7 +86,7 @@ published service DataPilotSourceMember
/** specifies the member's position in its hierarchy level if sorting
is manual.
- @since OOo 2.4.0
+ @since OOo 2.4
*/
[optional, property] boolean Position;
};
diff --git a/offapi/com/sun/star/sheet/DataPilotTable.idl b/offapi/com/sun/star/sheet/DataPilotTable.idl
index c2385c46e5fa..19c5b143a952 100644
--- a/offapi/com/sun/star/sheet/DataPilotTable.idl
+++ b/offapi/com/sun/star/sheet/DataPilotTable.idl
@@ -66,7 +66,7 @@ published service DataPilotTable
/** allows notification of modifications to the data pilot table.
- @since OOo 3.3.0
+ @since OOo 3.3
*/
[optional] interface com::sun::star::util::XModifyBroadcaster;
diff --git a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
index c98e4bbc2820..670b47db4f6a 100644
--- a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
+++ b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
@@ -51,7 +51,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::DataPilotFieldFilter
@see com::sun::star::sheet::DataResult
- @since OOo 3.0.0
+ @since OOo 3.0
*/
struct DataPilotTableHeaderData
{
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
index aa97b0dba922..203990299c89 100644
--- a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::DataPiotTableResultData
@see com::sun::star::sheet::DataPiotTableHeaderData
- @since OOo 3.0.0
+ @since OOo 3.0
*/
struct DataPilotTablePositionData
{
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
index 8ef568079f12..f9b254921c6f 100644
--- a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::DataPilotTableResultData
@see com::sun::star::sheet::DataPilotTableHeaderData
- @since OOo 3.0.0
+ @since OOo 3.0
*/
constants DataPilotTablePositionType
{
diff --git a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
index b0adfdfa4e3d..ff8f7064d537 100644
--- a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
+++ b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::DataPilotFieldFilter
@see com::sun::star::sheet::DataResult
- @since OOo 3.0.0
+ @since OOo 3.0
*/
struct DataPilotTableResultData
{
diff --git a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
index eab5d41f3adf..0044b8801a03 100644
--- a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
+++ b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
@@ -72,7 +72,7 @@ published service DatabaseImportDescriptor
/** specifies whether the SQL statement is given directly to the database
or is parsed before.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean IsNative;
@@ -80,7 +80,7 @@ published service DatabaseImportDescriptor
//-------------------------------------------------------------------------
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string ConnectionResource;
diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl
index ef8ddb62e508..09ea307c1b90 100644
--- a/offapi/com/sun/star/sheet/DatabaseRange.idl
+++ b/offapi/com/sun/star/sheet/DatabaseRange.idl
@@ -134,7 +134,7 @@ published service DatabaseRange
/** specifies the time between two refresh actions in seconds.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] long RefreshPeriod;
@@ -142,7 +142,7 @@ published service DatabaseRange
/** specifies whether the imported data is only a selection of the database.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean FromSelection;
diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl
index 357b0b4812ba..2c9842daa50e 100644
--- a/offapi/com/sun/star/sheet/ExternalDocLink.idl
+++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::XExternalDocLink
- @since OOo 3.1.0
+ @since OOo 3.1
*/
service ExternalDocLink : XExternalDocLink
{
diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
index f0f216a0caf9..5f05d8666315 100644
--- a/offapi/com/sun/star/sheet/ExternalDocLinks.idl
+++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::ExternalDocLink
@see com::sun::star::sheet::XExternalDocLinks
- @since OOo 3.1.0
+ @since OOo 3.1
*/
service ExternalDocLinks : XExternalDocLinks
{
diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
index fa8590f7f678..0ad8d6dadeb4 100644
--- a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
+++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module sheet {
//=============================================================================
/** describes an external link in a formula.
- @since OOo3.1
+ @since OOo 3.1
*/
struct ExternalLinkInfo
{
diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl
index 7803a4c3b291..976524506775 100644
--- a/offapi/com/sun/star/sheet/ExternalLinkType.idl
+++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module sheet {
<type>ExternalLinkInfo</type>, used with
<member>FormulaParser::ExternalLinks</member>.
- @since OOo3.1
+ @since OOo 3.1
*/
constants ExternalLinkType
{
diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
index 93652a6058f7..aabfb37d69da 100644
--- a/offapi/com/sun/star/sheet/ExternalSheetCache.idl
+++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::ExternalDocLink
@see com::sun::star::sheet::XExternalSheetCache
- @since OOo 3.1.0
+ @since OOo 3.1
*/
service ExternalSheetCache : XExternalSheetCache
{
diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl
index 27fba17ff0c0..acf4eca4910b 100644
--- a/offapi/com/sun/star/sheet/FormulaParser.idl
+++ b/offapi/com/sun/star/sheet/FormulaParser.idl
@@ -103,7 +103,7 @@ service FormulaParser
that indices are 1-based, the sequence must start with an empty
element.</p>
- @since OOo3.1
+ @since OOo 3.1
*/
[property] sequence< ExternalLinkInfo > ExternalLinks;
diff --git a/offapi/com/sun/star/sheet/SheetCell.idl b/offapi/com/sun/star/sheet/SheetCell.idl
index ecde3d5c3594..3e9f8066a059 100644
--- a/offapi/com/sun/star/sheet/SheetCell.idl
+++ b/offapi/com/sun/star/sheet/SheetCell.idl
@@ -241,7 +241,7 @@ published service SheetCell
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface com::sun::star::util::XModifyBroadcaster;
diff --git a/offapi/com/sun/star/sheet/SheetCellRange.idl b/offapi/com/sun/star/sheet/SheetCellRange.idl
index b87d52b7f0c4..d6b42ffa7cef 100644
--- a/offapi/com/sun/star/sheet/SheetCellRange.idl
+++ b/offapi/com/sun/star/sheet/SheetCellRange.idl
@@ -350,7 +350,7 @@ published service SheetCellRange
/**
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface com::sun::star::util::XModifyBroadcaster;
diff --git a/offapi/com/sun/star/sheet/TablePageStyle.idl b/offapi/com/sun/star/sheet/TablePageStyle.idl
index 6673fb80f9de..686fb113d62c 100644
--- a/offapi/com/sun/star/sheet/TablePageStyle.idl
+++ b/offapi/com/sun/star/sheet/TablePageStyle.idl
@@ -197,7 +197,7 @@ published service TablePageStyle
/** contains the number of horizontal pages the sheet will printed on.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[property, optional] short ScaleToPagesX;
@@ -206,7 +206,7 @@ published service TablePageStyle
/** contains the number of vertical pages the sheet will printed on.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[property, optional] short ScaleToPagesY;
diff --git a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
index 7c57ab280508..e49a97e21d33 100644
--- a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
+++ b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module sheet {
/** provides methods to add and remove XActivationEventListener
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XActivationBroadcaster: com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/sheet/XActivationEventListener.idl b/offapi/com/sun/star/sheet/XActivationEventListener.idl
index ede31cf591d0..7a129c0ae5df 100644
--- a/offapi/com/sun/star/sheet/XActivationEventListener.idl
+++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl
@@ -60,7 +60,7 @@ published interface XActivationEventListener: com::sun::star::lang::XEventListen
@see ActivationEvent
@see XSpreadsheetViewEventProvieder
- @since OOo 2.0.0
+ @since OOo 2.0
*/
void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent );
diff --git a/offapi/com/sun/star/sheet/XDataPilotTable2.idl b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
index df7ec30041a8..a0fbd5934e8d 100644
--- a/offapi/com/sun/star/sheet/XDataPilotTable2.idl
+++ b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
@@ -65,7 +65,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::XDataPilotTable
- @since OOo 3.0.0
+ @since OOo 3.0
*/
interface XDataPilotTable2: com::sun::star::sheet::XDataPilotTable
{
diff --git a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
index ec5e6e2cb9c7..f63d99a65aa1 100644
--- a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
+++ b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
@@ -57,7 +57,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::DataPilotSource
- @since OOo 3.0.0
+ @since OOo 3.0
*/
interface XDrillDownDataSupplier: com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
index 58461f90296a..16de0542a669 100644
--- a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
+++ b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module sheet {
/** provides methods to add and remove EnhancedMouseClickHandler
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XEnhancedMouseClickBroadcaster: com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl
index 1a9662dbeed7..80b249e7d520 100644
--- a/offapi/com/sun/star/sheet/XExternalDocLink.idl
+++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::ExternalDocLink
- @since OOo 3.1.0
+ @since OOo 3.1
*/
interface XExternalDocLink
{
diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
index 642b3c57eb14..0f9085ad7149 100644
--- a/offapi/com/sun/star/sheet/XExternalDocLinks.idl
+++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::ExternalDocLinks
- @since OOo 3.1.0
+ @since OOo 3.1
*/
interface XExternalDocLinks
{
diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
index 23827d7a04e2..89a1f70fb390 100644
--- a/offapi/com/sun/star/sheet/XExternalSheetCache.idl
+++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::ExternalSheetCache
- @since OOo 3.1.0
+ @since OOo 3.1
*/
interface XExternalSheetCache
{
diff --git a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
index cd4b895f1258..e61f6103e3b9 100644
--- a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
+++ b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module sheet {
@see com::sun::star::sheet::XScenario
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XScenarioEnhanced: com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/smarttags/SmartTagAction.idl b/offapi/com/sun/star/smarttags/SmartTagAction.idl
index a07c93eb5385..73c28ee87e07 100644
--- a/offapi/com/sun/star/smarttags/SmartTagAction.idl
+++ b/offapi/com/sun/star/smarttags/SmartTagAction.idl
@@ -46,7 +46,7 @@ module com { module sun { module star { module smarttags {
that can be performed for a smart tag which has been recognized
by a <type>SmartTagRecognizer</type> service.</p>
- @since OOo 2.3.0
+ @since OOo 2.3
*/
service SmartTagAction : XSmartTagAction {};
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
index 60223c89d4ac..e77cbe1bd87f 100644
--- a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module smarttags {
associated with specific actions which are defined by
implementations of the <type>SmartTagAction</type> service.</p>
- @since OOo 2.3.0
+ @since OOo 2.3
*/
service SmartTagRecognizer : XSmartTagRecognizer {};
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
index b72034a64cb7..c4624cad3058 100644
--- a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
@@ -37,7 +37,7 @@
/** specifies the which type of text is passed to
<method>XSmartTagRecognizer::recognize()</method></p>
- @since OOo 2.3.0
+ @since OOo 2.3
*/
enum SmartTagRecognizerMode
diff --git a/offapi/com/sun/star/smarttags/XSmartTagAction.idl b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
index 271dd84b0d19..696f7cdccfc0 100644
--- a/offapi/com/sun/star/smarttags/XSmartTagAction.idl
+++ b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
@@ -64,7 +64,7 @@ module com { module sun { module star { module smarttags {
/** provides access to smart tag actions.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
interface XSmartTagAction: com::sun::star::lang::XInitialization
diff --git a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
index c84d75878a8b..9c51e4a5ad0e 100644
--- a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
+++ b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
@@ -65,7 +65,7 @@ module com { module sun { module star { module smarttags {
/**
provides access to a smart tag recognizer.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
interface XSmartTagRecognizer: com::sun::star::lang::XInitialization
diff --git a/offapi/com/sun/star/style/CharacterProperties.idl b/offapi/com/sun/star/style/CharacterProperties.idl
index 6c6bf3d99a7b..fb6556b508ae 100644
--- a/offapi/com/sun/star/style/CharacterProperties.idl
+++ b/offapi/com/sun/star/style/CharacterProperties.idl
@@ -428,7 +428,7 @@ published service CharacterProperties
/** If this optional property is <TRUE/>, then the characters are invisible.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean CharHidden;
diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl
index 25094b1ed677..21196a8cafb0 100644
--- a/offapi/com/sun/star/style/NumberingType.idl
+++ b/offapi/com/sun/star/style/NumberingType.idl
@@ -226,7 +226,7 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Numbering in Hebrew alphabet letters
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const short CHARS_HEBREW = 33;
diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl
index 102a1044d2e8..c53d0954b415 100644
--- a/offapi/com/sun/star/task/XRestartManager.idl
+++ b/offapi/com/sun/star/task/XRestartManager.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module task {
//=============================================================================
/** allows to try to restart the office.
- @since OOo3.3
+ @since OOo 3.3
*/
published interface XRestartManager : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/text/BaseFrameProperties.idl b/offapi/com/sun/star/text/BaseFrameProperties.idl
index e6ede2e36349..cac2ea15296b 100644
--- a/offapi/com/sun/star/text/BaseFrameProperties.idl
+++ b/offapi/com/sun/star/text/BaseFrameProperties.idl
@@ -335,7 +335,7 @@ published service BaseFrameProperties
of the shape, if the text document setting ConsiderTextWrapOnObjPos
is <TRUE/>. Valid values are given by <member>WrapInfluenceOnPosition</member></p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short WrapInfluenceOnPosition;
diff --git a/offapi/com/sun/star/text/Cell.idl b/offapi/com/sun/star/text/Cell.idl
index 7669f10afa34..f1161117e8b2 100644
--- a/offapi/com/sun/star/text/Cell.idl
+++ b/offapi/com/sun/star/text/Cell.idl
@@ -93,7 +93,7 @@ service Cell
<li>CellProtection: non-functional implementation.</li>
</ul>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service com::sun::star::table::CellProperties;
diff --git a/offapi/com/sun/star/text/DocumentSettings.idl b/offapi/com/sun/star/text/DocumentSettings.idl
index 19c4d75997cb..0917cb46768d 100644
--- a/offapi/com/sun/star/text/DocumentSettings.idl
+++ b/offapi/com/sun/star/text/DocumentSettings.idl
@@ -139,7 +139,7 @@ published service DocumentSettings
a proportional line spacing is only applied below a text line and
it's always added to the paragraph spacing between two paragraphs.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean UseFormerLineSpacing;
// ------------------------------------------------------------
@@ -156,7 +156,7 @@ published service DocumentSettings
the spacing of the last paragraph respectively table of a table
cell isn't added at the bottom of this table cell.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean AddParaSpacingToTableCells;
// ------------------------------------------------------------
@@ -174,7 +174,7 @@ published service DocumentSettings
its vertical position, doesn't include the lower spacing and the
line spacing of the previous paragraph.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean UseFormerObjectPositioning;
@@ -191,7 +191,7 @@ published service DocumentSettings
If <FALSE/> (default value), the former object positioning
algorithm (known from OpenOffice.org 1.1) is applied.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean ConsiderTextWrapOnObjPos;
diff --git a/offapi/com/sun/star/text/FootnoteSettings.idl b/offapi/com/sun/star/text/FootnoteSettings.idl
index e11354bd1b7c..42c6cc20d52f 100644
--- a/offapi/com/sun/star/text/FootnoteSettings.idl
+++ b/offapi/com/sun/star/text/FootnoteSettings.idl
@@ -126,7 +126,7 @@ published service FootnoteSettings
/** contains the name of the character style that is used
for footnote/endnote anchor in the text.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string AnchorCharStyleName;
diff --git a/offapi/com/sun/star/text/GenericTextDocument.idl b/offapi/com/sun/star/text/GenericTextDocument.idl
index c1562b5ddf49..7a7e06ce5f34 100644
--- a/offapi/com/sun/star/text/GenericTextDocument.idl
+++ b/offapi/com/sun/star/text/GenericTextDocument.idl
@@ -179,22 +179,28 @@ published service GenericTextDocument
[optional] interface com::sun::star::style::XStyleFamiliesSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::text::XBookmarksSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::text::XDocumentIndexesSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::text::XTextFieldsSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::text::XTextFramesSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::text::XTextSectionsSupplier;
- /// @since OOo 1.1.2
+ /** @since OOo 1.1.2
+ */
[optional] interface com::sun::star::util::XNumberFormatsSupplier;
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/text/LineNumberingProperties.idl b/offapi/com/sun/star/text/LineNumberingProperties.idl
index 5a965b100963..b91d82dbc1bb 100644
--- a/offapi/com/sun/star/text/LineNumberingProperties.idl
+++ b/offapi/com/sun/star/text/LineNumberingProperties.idl
@@ -103,7 +103,7 @@ published service LineNumberingProperties
<p>If set to <FALSE/> the line numbering will be continous.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean RestartAtEachPage;
diff --git a/offapi/com/sun/star/text/Paragraph.idl b/offapi/com/sun/star/text/Paragraph.idl
index 4c8330eb1f06..ee75fed06ca6 100644
--- a/offapi/com/sun/star/text/Paragraph.idl
+++ b/offapi/com/sun/star/text/Paragraph.idl
@@ -142,7 +142,7 @@ published service Paragraph
interface com::sun::star::container::XEnumerationAccess;
/** gives access to a sequence of properties.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet;
};
diff --git a/offapi/com/sun/star/text/PositionLayoutDir.idl b/offapi/com/sun/star/text/PositionLayoutDir.idl
index 72e420876171..359318dbf831 100644
--- a/offapi/com/sun/star/text/PositionLayoutDir.idl
+++ b/offapi/com/sun/star/text/PositionLayoutDir.idl
@@ -37,7 +37,7 @@
/** These values specify the layout direction, in which the position attributes
of a shape are given
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants PositionLayoutDir
{
diff --git a/offapi/com/sun/star/text/RelOrientation.idl b/offapi/com/sun/star/text/RelOrientation.idl
index eb30a465a1f6..f0e6e2c1e98a 100644
--- a/offapi/com/sun/star/text/RelOrientation.idl
+++ b/offapi/com/sun/star/text/RelOrientation.idl
@@ -108,7 +108,7 @@ published constants RelOrientation
/** at the top of the text line, only sensible for vertical orientation.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const short TEXT_LINE = 9;
diff --git a/offapi/com/sun/star/text/Shape.idl b/offapi/com/sun/star/text/Shape.idl
index 43d64efcf9c9..a7fe22ae5935 100644
--- a/offapi/com/sun/star/text/Shape.idl
+++ b/offapi/com/sun/star/text/Shape.idl
@@ -184,7 +184,7 @@ published service Shape
of the shape, if the text document setting ConsiderTextWrapOnObjPos
is <TRUE/>. Valid values are given by <member>WrapInfluenceOnPosition</member></p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short WrapInfluenceOnPosition;
@@ -197,7 +197,7 @@ published service Shape
transformation property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, readonly, property] com::sun::star::drawing::HomogenMatrix3 TransformationInHoriL2R;
//-------------------------------------------------------------------------
@@ -206,7 +206,7 @@ published service Shape
<p>Valid values are given by <member>PositionLayoutDir</member></p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] short PositionLayoutDir;
//-------------------------------------------------------------------------
@@ -218,7 +218,7 @@ published service Shape
start position property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, readonly, property] com::sun::star::awt::Point StartPositionInHoriL2R;
//-------------------------------------------------------------------------
@@ -230,7 +230,7 @@ published service Shape
end position property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, readonly, property] com::sun::star::awt::Point EndPositionInHoriL2R;
};
diff --git a/offapi/com/sun/star/text/TextMarkupType.idl b/offapi/com/sun/star/text/TextMarkupType.idl
index f5ea4e59f1ec..c752004d4687 100644
--- a/offapi/com/sun/star/text/TextMarkupType.idl
+++ b/offapi/com/sun/star/text/TextMarkupType.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module text {
<p>These constants are used with
<method>XTextMarkup::commitTextMarkup()</method></p>
- @since OOo 2.3.0
+ @since OOo 2.3
*/
constants TextMarkupType
diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl
index 6c23d9fa1655..3bfc745d97da 100644
--- a/offapi/com/sun/star/text/TextPortion.idl
+++ b/offapi/com/sun/star/text/TextPortion.idl
@@ -85,7 +85,7 @@ published service TextPortion
//-------------------------------------------------------------------------
/** gives access to a sequence of properties.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional]
interface ::com::sun::star::beans::XTolerantMultiPropertySet;
diff --git a/offapi/com/sun/star/text/TextTableRow.idl b/offapi/com/sun/star/text/TextTableRow.idl
index 1d5947a051a9..b1eca1467b89 100644
--- a/offapi/com/sun/star/text/TextTableRow.idl
+++ b/offapi/com/sun/star/text/TextTableRow.idl
@@ -111,7 +111,7 @@ published service TextTableRow
/** If <TRUE/>, the row is allowed to be split at page or column breaks.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property, maybevoid] boolean IsSplitAllowed;
diff --git a/offapi/com/sun/star/text/ViewSettings.idl b/offapi/com/sun/star/text/ViewSettings.idl
index 007a8f1e617d..102ab0c1dc1c 100644
--- a/offapi/com/sun/star/text/ViewSettings.idl
+++ b/offapi/com/sun/star/text/ViewSettings.idl
@@ -260,7 +260,7 @@ published service ViewSettings
//-------------------------------------------------------------------------
/** Specifies whether to display the grid or not
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean IsRasterVisible;
@@ -268,7 +268,7 @@ published service ViewSettings
/** Specifies whether to move frames, drawing elements, and form
functions only between grid points.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean IsSnapToRaster;
@@ -278,7 +278,7 @@ published service ViewSettings
<p>The value must be greater or equal to 0, and the application
may enforce an upper bound for the value.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@throws com::sun::star::lang::IllegalArgumentException
if the value is out of bounds.
*/
@@ -290,7 +290,7 @@ published service ViewSettings
<p>The value must be greater or equal to 0, and the application
may enforce an upper bound for the value.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@throws com::sun::star::lang::IllegalArgumentException
if the value is out of bounds.
*/
@@ -303,7 +303,7 @@ published service ViewSettings
<p>The value must be greater than 0. The application
may enforce more restricting bounds for the value.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@throws com::sun::star::lang::IllegalArgumentException
if the value is out of bounds.
*/
@@ -316,7 +316,7 @@ published service ViewSettings
<p>The value must be greater than 0. The application
may enforce more restricting bounds for the value.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
@throws com::sun::star::lang::IllegalArgumentException
if the value is out of bounds.
*/
@@ -325,7 +325,7 @@ published service ViewSettings
//-------------------------------------------------------------------------
/** If this property is <TRUE/>, hidden characters are displayed
- @since OOo 3.0.0
+ @since OOo 3.0
*/
[optional, property] boolean ShowHiddenCharacters;
//-------------------------------------------------------------------------
@@ -334,7 +334,7 @@ published service ViewSettings
<p>This option controls the use of the settings ShowHiddenCharacters,
ShowTabstops, ShowSpaces, ShowBreaks and ShowParaBreaks </p>
- @since OOo 3.0.0
+ @since OOo 3.0
*/
[optional, property] boolean ShowNonprintingCharacters;
//-------------------------------------------------------------------------
@@ -342,7 +342,7 @@ published service ViewSettings
<p>Uses values <type scope="com::sun::star::awt">FieldUnit</type></p>
- @since OOo 3.1.0
+ @since OOo 3.1
*/
[optional, property] long HorizontalRulerMetric;
//-------------------------------------------------------------------------
@@ -350,7 +350,7 @@ published service ViewSettings
<p>Uses values from <type scope="com::sun::star::awt">FieldUnit</type></p>
- @since OOo 3.1.0
+ @since OOo 3.1
*/
[optional, property] long VerticalRulerMetric;
};
diff --git a/offapi/com/sun/star/text/XTextMarkup.idl b/offapi/com/sun/star/text/XTextMarkup.idl
index f8dc3f834e73..877e31c7377f 100644
--- a/offapi/com/sun/star/text/XTextMarkup.idl
+++ b/offapi/com/sun/star/text/XTextMarkup.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module text {
/** provides functionality to markup text.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
interface XTextMarkup
diff --git a/offapi/com/sun/star/text/fieldmaster/Database.idl b/offapi/com/sun/star/text/fieldmaster/Database.idl
index 921c86ff8c94..f37e3d5e2fbf 100644
--- a/offapi/com/sun/star/text/fieldmaster/Database.idl
+++ b/offapi/com/sun/star/text/fieldmaster/Database.idl
@@ -70,13 +70,13 @@ published service Database
//------------------------------------------------------------------------
/** indicates the URL of a database file.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseURL;
//------------------------------------------------------------------------
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseResource;
//------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/text/textfield/DatabaseName.idl b/offapi/com/sun/star/text/textfield/DatabaseName.idl
index f051aa72b7f1..92c5dc5d8a8f 100644
--- a/offapi/com/sun/star/text/textfield/DatabaseName.idl
+++ b/offapi/com/sun/star/text/textfield/DatabaseName.idl
@@ -62,12 +62,12 @@ published service DatabaseName
[property] string DataTableName;
/** indicates the URL of a database file.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseURL;
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseResource;
diff --git a/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl
index 01b762b1e113..a9b593e1ef49 100644
--- a/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl
+++ b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl
@@ -66,12 +66,12 @@ published service DatabaseNextSet
[property] string Condition;
/** indicates the URL of a database file.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseURL;
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseResource;
diff --git a/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl
index 1ad00c840bce..ea5c54b0f131 100644
--- a/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl
+++ b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl
@@ -71,12 +71,12 @@ published service DatabaseNumberOfSet
[property] long SetNumber;
/** indicates the URL of a database file.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseURL;
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseResource;
diff --git a/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl
index 3af3ab3516ce..f4417d564c03 100644
--- a/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl
+++ b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl
@@ -72,12 +72,12 @@ published service DatabaseSetNumber
[property] long SetNumber;
/** indicates the URL of a database file.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseURL;
/** indicates a connection URL, which locates a database driver.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] string DataBaseResource;
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
index d985376b4c78..f654819a6d8d 100644
--- a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
+++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
@@ -57,7 +57,7 @@ module com { module sun { module star { module ucb {
@see TransientDocumentsFolderContent
@see TransientDocumentsStreamContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsContentProvider
{
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
index a6bf588ad873..54314f5bd24b 100644
--- a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
+++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
@@ -82,7 +82,7 @@ module com { module sun { module star { module ucb {
@see TransientDocumentsFolderContent
@see TransientDocumentsStreamContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsDocumentContent
{
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
index a2233e4c5f40..68ad0be1f7bb 100644
--- a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
+++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
@@ -81,7 +81,7 @@ module com { module sun { module star { module ucb {
@see TransientDocumentsDocumentContent
@see TransientDocumentsStreamContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsFolderContent
{
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
index 0d33d0415560..cf953bb3d60a 100644
--- a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
+++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
@@ -79,7 +79,7 @@ module com { module sun { module star { module ucb {
@see TransientDocumentsFolderContent
@see TransientDocumentsStreamContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsRootContent
{
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
index aede99473933..7aaf3d4574db 100644
--- a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
+++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
@@ -79,7 +79,7 @@ module com { module sun { module star { module ucb {
@see TransientDocumentsDocumentContent
@see TransientDocumentsFolderContent
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service TransientDocumentsStreamContent
{
diff --git a/offapi/com/sun/star/ui/ConfigurableUIElement.idl b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
index 88d2a96416e8..afde83a344bd 100644
--- a/offapi/com/sun/star/ui/ConfigurableUIElement.idl
+++ b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
@@ -74,7 +74,7 @@ module com { module sun { module star { module ui {
</ul>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ConfigurableUIElement
diff --git a/offapi/com/sun/star/ui/ConfigurationEvent.idl b/offapi/com/sun/star/ui/ConfigurationEvent.idl
index 9001f3d2b333..b778bda9ac8a 100644
--- a/offapi/com/sun/star/ui/ConfigurationEvent.idl
+++ b/offapi/com/sun/star/ui/ConfigurationEvent.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module ui {
/** this event is broadcasted by a configuration manager whenever the state of
user interface element has changed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published struct ConfigurationEvent : ::com::sun::star::container::ContainerEvent
diff --git a/offapi/com/sun/star/ui/DockingArea.idl b/offapi/com/sun/star/ui/DockingArea.idl
index 9a4170dc1173..f376581e0c7e 100644
--- a/offapi/com/sun/star/ui/DockingArea.idl
+++ b/offapi/com/sun/star/ui/DockingArea.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module ui {
@see com::sun::star::frame::XLayoutManager
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
enum DockingArea
diff --git a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
index 58ff8da73fa0..f0552332946d 100644
--- a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
+++ b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module ui {
by using an UNO service manager. It provides then access to
the global accelerator configuration.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service GlobalAcceleratorConfiguration : XAcceleratorConfiguration
{};
diff --git a/offapi/com/sun/star/ui/ImageType.idl b/offapi/com/sun/star/ui/ImageType.idl
index fb35073f9d38..7fa2d949cb15 100644
--- a/offapi/com/sun/star/ui/ImageType.idl
+++ b/offapi/com/sun/star/ui/ImageType.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module ui {
the current image set of an image manager.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants ImageType
{
diff --git a/offapi/com/sun/star/ui/ItemDescriptor.idl b/offapi/com/sun/star/ui/ItemDescriptor.idl
index 8732f300b96d..b6e9c2404330 100644
--- a/offapi/com/sun/star/ui/ItemDescriptor.idl
+++ b/offapi/com/sun/star/ui/ItemDescriptor.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module ui {
You could have a menu or a toolbox working with the same item descriptor.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ItemDescriptor
{
diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl
index 78e11cde05fd..9efb3aa81cc8 100644
--- a/offapi/com/sun/star/ui/ItemStyle.idl
+++ b/offapi/com/sun/star/ui/ItemStyle.idl
@@ -56,7 +56,7 @@ module com { module sun { module star { module ui {
</ul>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants ItemStyle
{
diff --git a/offapi/com/sun/star/ui/ItemType.idl b/offapi/com/sun/star/ui/ItemType.idl
index 35271779ca12..677624489126 100644
--- a/offapi/com/sun/star/ui/ItemType.idl
+++ b/offapi/com/sun/star/ui/ItemType.idl
@@ -31,7 +31,7 @@ module com { module sun { module star { module ui {
/** Determins the type of an item.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants ItemType
{
diff --git a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
index 3b410d9dc799..3253b1152221 100644
--- a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
+++ b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module ui {
or Calc.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleUICategoryDescription
diff --git a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
index 100c31073b7f..dc8c58947079 100644
--- a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
+++ b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module ui {
that are part of a single OpenOffice.org module, like Writer or Calc.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleUICommandDescription
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
index 44ee22856610..24eb4d4c22ce 100644
--- a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
@@ -63,7 +63,7 @@ module com { module sun { module star { module ui {
this layer.</br>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleUIConfigurationManager
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
index 835fecc0e5ab..0a405a1ac64b 100644
--- a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module ui {
/** specifies a central user interface configuration provider which gives
access to module based user interface configuration managers.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleUIConfigurationManagerSupplier
diff --git a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
index 09c2d9657e49..c07651c82b30 100644
--- a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
+++ b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module ui {
Calc.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service ModuleWindowStateConfiguration
diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl
index 9853b43fc769..5698ff74fccf 100644
--- a/offapi/com/sun/star/ui/UICategoryDescription.idl
+++ b/offapi/com/sun/star/ui/UICategoryDescription.idl
@@ -46,7 +46,7 @@ module com { module sun { module star { module ui {
implementations which provides all commands to a user.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
//=============================================================================
diff --git a/offapi/com/sun/star/ui/UICommandDescription.idl b/offapi/com/sun/star/ui/UICommandDescription.idl
index 76d7c179731b..bd1f35926149 100644
--- a/offapi/com/sun/star/ui/UICommandDescription.idl
+++ b/offapi/com/sun/star/ui/UICommandDescription.idl
@@ -46,7 +46,7 @@ module com { module sun { module star { module ui {
are part of OpenOffice.org modules, like Writer or Calc.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UICommandDescription
diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl
index 4e9b56cd4c97..509bd71e93d4 100644
--- a/offapi/com/sun/star/ui/UIConfigurationManager.idl
+++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl
@@ -52,7 +52,7 @@ module com { module sun { module star { module ui {
/** specifies a user interface configuration manager which controls
all customizeable user interface elements of an object.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIConfigurationManager
diff --git a/offapi/com/sun/star/ui/UIElement.idl b/offapi/com/sun/star/ui/UIElement.idl
index 580a660f734e..610cfa73ae25 100644
--- a/offapi/com/sun/star/ui/UIElement.idl
+++ b/offapi/com/sun/star/ui/UIElement.idl
@@ -63,7 +63,7 @@ module com { module sun { module star { module ui {
before it can be used.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIElement
diff --git a/offapi/com/sun/star/ui/UIElementFactory.idl b/offapi/com/sun/star/ui/UIElementFactory.idl
index 5e0e171c7da1..24c4fa4f0501 100644
--- a/offapi/com/sun/star/ui/UIElementFactory.idl
+++ b/offapi/com/sun/star/ui/UIElementFactory.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module ui {
service to provide access to itself.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIElementFactory
diff --git a/offapi/com/sun/star/ui/UIElementFactoryManager.idl b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
index c814a58f6b8e..8a150c1af2cc 100644
--- a/offapi/com/sun/star/ui/UIElementFactoryManager.idl
+++ b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module ui {
<type scope="com::sun::star::lang">ServiceManager</type>.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIElementFactoryManager
diff --git a/offapi/com/sun/star/ui/UIElementSettings.idl b/offapi/com/sun/star/ui/UIElementSettings.idl
index 575ff9ca1d71..f10eec663683 100644
--- a/offapi/com/sun/star/ui/UIElementSettings.idl
+++ b/offapi/com/sun/star/ui/UIElementSettings.idl
@@ -51,7 +51,7 @@ module com { module sun { module star { module ui {
although limitations based on the real user interface element may be visible.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIElementSettings
{
diff --git a/offapi/com/sun/star/ui/UIElementType.idl b/offapi/com/sun/star/ui/UIElementType.idl
index 0b4301f54f2a..182d75694a85 100644
--- a/offapi/com/sun/star/ui/UIElementType.idl
+++ b/offapi/com/sun/star/ui/UIElementType.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module ui {
/** determine the type of a user interface element which is controlled
by a layout manager.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants UIElementType
{
diff --git a/offapi/com/sun/star/ui/WindowContentFactory.idl b/offapi/com/sun/star/ui/WindowContentFactory.idl
index c1ea6a94d9b8..991c92c812cf 100644
--- a/offapi/com/sun/star/ui/WindowContentFactory.idl
+++ b/offapi/com/sun/star/ui/WindowContentFactory.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module ui {
The specific type of the created window depends on the provided arguments.
</p>
- @since OOo 3.1.0
+ @since OOo 3.1
*/
service WindowContentFactory : com::sun::star::lang::XSingleComponentFactory
diff --git a/offapi/com/sun/star/ui/WindowStateConfiguration.idl b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
index c5243e4144fa..915bdfad93b0 100644
--- a/offapi/com/sun/star/ui/WindowStateConfiguration.idl
+++ b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module ui {
part of OpenOffice.org modules, like Writer or Calc.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service WindowStateConfiguration
diff --git a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
index 2969f22a7f8c..46f04e31064f 100644
--- a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
+++ b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
@@ -77,7 +77,7 @@ module com { module sun { module star { module ui {
@see AcceleratorConfiguration
@see <type scope="dom::sun::star::util">XFlushable</type>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XAcceleratorConfiguration
{
diff --git a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
index 8e6d9a01a4ac..f3912a12c1a6 100644
--- a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
+++ b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
@@ -59,7 +59,7 @@ module com { module sun { module star { module ui {
@see com::sun::star::frame::XFrame
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
index a6b6fd32ac64..66fe267d2fef 100644
--- a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
@@ -69,7 +69,7 @@ module com { module sun { module star { module ui {
configuration manager uses.</br>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XModuleUIConfigurationManager : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
index 0a6b9cfef0dc..a1f9942627a7 100644
--- a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module ui {
/** allows to retrieve user interface configuration managers related to
OpenOffice.org modules.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XModuleUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIConfiguration.idl b/offapi/com/sun/star/ui/XUIConfiguration.idl
index d8c38e43bb70..95ec91a65f5b 100644
--- a/offapi/com/sun/star/ui/XUIConfiguration.idl
+++ b/offapi/com/sun/star/ui/XUIConfiguration.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module ui {
<p>This can be useful for UI to enable/disable some functions without
actually accessing the data.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfiguration : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIConfigurationListener.idl b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
index cc8a8a14eed2..2e89eee6bea0 100644
--- a/offapi/com/sun/star/ui/XUIConfigurationListener.idl
+++ b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module ui {
/** supplies information about changes of a user interface
configuration manager.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfigurationListener : com::sun::star::lang::XEventListener
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
index 3958441ee486..95025ac3a516 100644
--- a/offapi/com/sun/star/ui/XUIConfigurationManager.idl
+++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
@@ -70,7 +70,7 @@ module com { module sun { module star { module ui {
controls the structure of all customizable user interface
elements.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfigurationManager : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
index 8ffc2482d834..a1f091623a30 100644
--- a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
+++ b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module ui {
/** allows to retrieve the user interface configuration manager related to
an object.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
index 696362d0882c..aae269b58c26 100644
--- a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
+++ b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module ui {
interface configuration data to a storage and to retrieve information
about the current state.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfigurationPersistence : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
index 2f07b995c486..47aee612d0f5 100644
--- a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
+++ b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module ui {
/** supplies functions to change or get information about the storage
of a user interface configuration manager.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl
index 7a86842508ac..708ccadf22bf 100644
--- a/offapi/com/sun/star/ui/XUIElementFactory.idl
+++ b/offapi/com/sun/star/ui/XUIElementFactory.idl
@@ -67,7 +67,7 @@ module com { module sun { module star { module ui {
</ul>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIElementFactory : ::com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
index 1d945ad02609..5b453d3de8e0 100644
--- a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
+++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
@@ -76,7 +76,7 @@ module com { module sun { module star { module ui {
</ul>
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIElementFactoryRegistration : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIElementSettings.idl b/offapi/com/sun/star/ui/XUIElementSettings.idl
index 082598935500..ab5604b6a937 100644
--- a/offapi/com/sun/star/ui/XUIElementSettings.idl
+++ b/offapi/com/sun/star/ui/XUIElementSettings.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module ui {
/** provides functions to retrieve and change user interface element structure
data and to update its visible representation.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIElementSettings : com::sun::star::uno::XInterface
diff --git a/offapi/com/sun/star/ui/XUIFunctionListener.idl b/offapi/com/sun/star/ui/XUIFunctionListener.idl
index 9325e59af751..e62670bec558 100644
--- a/offapi/com/sun/star/ui/XUIFunctionListener.idl
+++ b/offapi/com/sun/star/ui/XUIFunctionListener.idl
@@ -39,7 +39,7 @@
/** special interface to receive notification that a user interface
element will execute a function.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XUIFunctionListener : com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl
index c48698a0cbc7..86a1fb7a82bd 100644
--- a/offapi/com/sun/star/util/Endianness.idl
+++ b/offapi/com/sun/star/util/Endianness.idl
@@ -34,7 +34,7 @@ module com { module sun { module star { module util {
The endianness specifies the order in which the bytes of larger
types are laid out in memory.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants Endianness
{
diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
index 2a79d6affd48..027f7ec6c656 100644
--- a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
+++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
@@ -50,7 +50,7 @@ module com { module sun { module star { module util {
possibility to share one office user data directory among parallel office
installtions.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service OfficeInstallationDirectories
{
diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl
index 455465ddf06a..dd55f74dccb4 100644
--- a/offapi/com/sun/star/util/PathSubstitution.idl
+++ b/offapi/com/sun/star/util/PathSubstitution.idl
@@ -48,57 +48,65 @@ module com { module sun { module star { module util {
/** A service to support the substitution and resubstitution of path variables.
- <p>
- A path variable must be specified with the following synatx: "$("&lt;variable-name&gt;")".
- Path variables are not case sensitive and are always provided as a UCB-complient URL's
- (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
- optional remote file system.<br>
- A user defined list of path variables is supported. This list is stored in the Office
- configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the
- schema definition file which configuration structure this file uses.<br>
- There is also a set of variables that have pre-defined values:
- </p>
- <dl>
- <dt>$(inst)</dt>
- <dd>Installation path of the Office Basis layer.</dd>
- <dt>$(prog)</dt>
- <dd>Program path of the Office Basis layer.</dd>
+ <p>
+ A path variable must be specified with the following synatx: "$("&lt;variable-name&gt;")".
+ Path variables are not case sensitive and are always provided as a UCB-complient URL's
+ (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
+ optional remote file system.<br>
+ A user defined list of path variables is supported. This list is stored in the Office
+ configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the
+ schema definition file which configuration structure this file uses.<br>
+ There is also a set of variables that have pre-defined values:
+ </p>
+ <dl>
+ <dt>$(inst)</dt>
+ <dd>Installation path of the Office Basis layer.</dd>
+ <dt>$(prog)</dt>
+ <dd>Program path of the Office Basis layer.</dd>
<dt>$(brandbaseurl)</dt>
<dd>Installation path of the the Office Brand layer.</dd>
- <dt>$(user)</dt>
- <dd>The user installation directory.</dd>
- <dt>$(work)</dt>
- <dd>The work directory of the user. Under Windows this would be the
- "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
+ <dt>$(user)</dt>
+ <dd>The user installation directory.</dd>
+ <dt>$(work)</dt>
+ <dd>The work directory of the user. Under Windows this would be the
+ "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
<dt>$(home)</dt>
- <dd>The home directory of the user. Under Unix this would be the home-
- directory. Under Windows this would be the "Documents and Settings\<username>"
- subdirectory.</dd>
+ <dd>The home directory of the user. Under Unix this would be the home-
+ directory. Under Windows this would be the "Documents and Settings\<username>"
+ subdirectory.</dd>
<dt>$(temp)</dt>
- <dd>The current temporary directory.</dd>
+ <dd>The current temporary directory.</dd>
<dt>$(path)</dt>
- <dd>The value of PATH environment variable.</dd>
+ <dd>The value of PATH environment variable.</dd>
<dt>$(lang)</dt>
- <dd>The country code used by the Office, like 01=english, 49=german.</dd>
- <dt>$(langid)</dt>
- <dd>The language code used by the Office, like 0x0009=english, 0x0409=english us.</dd>
+ <dd>The country code used by the Office, like 01=english, 49=german.</dd>
+ <dt>$(langid)</dt>
+ <dd>The language code used by the Office, like 0x0009=english, 0x0409=english us.</dd>
<dt>$(vlang)</dt>
- <dd>The language used by the Office as a string. Like "german" for a german Office.</dd>
- </dl>
+ <dd>The language used by the Office as a string. Like "german" for a german Office.</dd>
+ </dl>
+ <p>
+ Attention: Most predefined variables describe an absolute path.
+ The only exceptions are: $(lang), $(langid) and $(vlang).
+ Therefore the service implementation should only substitute variables which
+ are located at the start of a provided path string or are part of a multi-path.
+ This special service is not designed to be a text substiution but shall
+ provide (a) valid substituted path(s).
+ </p>
@since OOo 1.1.2
*/
published service PathSubstitution
{
- //-------------------------------------------------------------------------
- /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables.
+ //-------------------------------------------------------------------------
+ /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables.
- <p>
- To resubstitute path variables the caller must provide pathes as UCB-compliant URL's.
- </p>
- */
- interface com::sun::star::util::XStringSubstitution;
+ <p>
+ To resubstitute path variables the caller must provide pathes as UCB-compliant URL's.
+ </p>
+ */
+ interface com::sun::star::util::XStringSubstitution;
};
//=============================================================================
diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl
index a622fcef7b98..eb9a0d4cc320 100644
--- a/offapi/com/sun/star/util/XBroadcaster.idl
+++ b/offapi/com/sun/star/util/XBroadcaster.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module util {
/** allows to control notification behaviour of a broadcaster.
- @since 3.0
+ @since OOo 3.0
*/
interface XBroadcaster: com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
index d79d0cffc79f..b8cabbb25e34 100644
--- a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
+++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module util {
later. In many cases, storing the reference directly would destroy the
relocatability of an office installation.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface
{
diff --git a/offapi/com/sun/star/xml/dom/XNode.idl b/offapi/com/sun/star/xml/dom/XNode.idl
index a86220300412..7f7ffc14aa0e 100644
--- a/offapi/com/sun/star/xml/dom/XNode.idl
+++ b/offapi/com/sun/star/xml/dom/XNode.idl
@@ -79,7 +79,7 @@ information.</p>
</table></p>
@see <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113">Document Object Model (DOM) Level 2 Core Specification</a> </p>
-@since OOo 2.0.0
+@since OOo 2.0
*/
interface XNode : com::sun::star::uno::XInterface
{
diff --git a/offapi/drafts/com/sun/star/form/ListEntryEvent.idl b/offapi/drafts/com/sun/star/form/ListEntryEvent.idl
deleted file mode 100644
index 9f7b8443f7da..000000000000
--- a/offapi/drafts/com/sun/star/form/ListEntryEvent.idl
+++ /dev/null
@@ -1,77 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_ListEntryEvent_idl__
-#define __drafts_com_sun_star_form_ListEntryEvent_idl__
-
-#ifndef __com_sun_star_lang_EventObject_idl__
-#include <com/sun/star/lang/EventObject.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-//=============================================================================
-
-/** specifies the event which is notified when a change in a string entry
- list occured
-
- @see XListEntrySource
- @see XListEntryListener
-
- @deprecated
- This structure is superseeded by <type scope="com::sun::star::form::binding">ListEntryEvent</type>
-*/
-struct ListEntryEvent : com::sun::star::lang::EventObject
-{
- /** denotes the position where a change occured.
-
- <p>The concrete semantics of the value depends on the concrete
- event being notified.</p>
- */
- long Position;
-
- /** denotes the number of changed entries, in case a change of
- an entry <em>range</em> is being notified.
- */
- long Count;
-
- /** denotes the changed entries
-
- <p>The concrete semantics of the value depends on the concrete
- event being notified.</p>
- */
- sequence< string >
- Entries;
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/XBindableValue.idl b/offapi/drafts/com/sun/star/form/XBindableValue.idl
deleted file mode 100644
index fafb1edda83d..000000000000
--- a/offapi/drafts/com/sun/star/form/XBindableValue.idl
+++ /dev/null
@@ -1,81 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_XBindableValue_idl__
-#define __drafts_com_sun_star_form_XBindableValue_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__
-#include <drafts/com/sun/star/form/IncompatibleTypesException.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-interface XValueBinding;
-
-//=============================================================================
-
-/** specifies support for being bound to an external value
-
- @see XValueBinding
-
- @deprecated
- This interface is superseeded by <type scope="com::sun::star::form::binding">XBindableValue</type>
-*/
-interface XBindableValue : com::sun::star::uno::XInterface
-{
- /** sets an external instance which controls the value of the component
-
- <p>Any previously active binding will be revoked. There can be only one!</p>
-
- @param XValueBinding
- the new binding which is to be used by the component. May be <NULL/>,
- in this case only the current binding is revoked.
-
- @throws <type>IncompatibleTypesException</type>
- if the new binding (provided it's not <NULL/>) supports only types
- which are incompatible with the types of the bindable component.
- */
- void setValueBinding( [in] XValueBinding aBinding )
- raises ( IncompatibleTypesException );
-
- /** retrieves the external instance which currently controls the value of the
- component
- */
- XValueBinding
- getValueBinding( );
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/XListEntryListener.idl b/offapi/drafts/com/sun/star/form/XListEntryListener.idl
deleted file mode 100644
index e9e49d799d26..000000000000
--- a/offapi/drafts/com/sun/star/form/XListEntryListener.idl
+++ /dev/null
@@ -1,92 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_XListEntryListener_idl__
-#define __drafts_com_sun_star_form_XListEntryListener_idl__
-
-#ifndef __com_sun_star_lang_XEventListener_idl__
-#include <com/sun/star/lang/XEventListener.idl>
-#endif
-#ifndef __drafts_com_sun_star_form_ListEntryEvent_idl__
-#include <drafts/com/sun/star/form/ListEntryEvent.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-//=============================================================================
-
-/** specifies a listener for changes in a string entry list
-
- @deprecated
- This interface is superseeded by <type scope="com::sun::star::form::binding">XListEntryListener</type>
-*/
-interface XListEntryListener : com::sun::star::lang::XEventListener
-{
- /** notifies the listener that a single entry in the list has change
-
- @param Source
- is the event describing the change. The <member>ListEntryEvent::Position</member>
- member denotes the position of the changed entry, the first (and only) element
- of the <member>ListEntryEvent::Entries</member> member denotes the new string
- */
- void entryChanged( [in] ListEntryEvent Source );
-
- /** notifies the listener that a range of entries has been inserted into the list
-
- @param Source
- is the event describing the change. The <member>ListEntryEvent::Position</member>
- member denotes the position of the first inserted entry, the
- <member>ListEntryEvent::Entries</member> member contains the strings which have
- been inserted.
- */
- void entryRangeInserted( [in] ListEntryEvent Source );
-
- /** notifies the listener that a range of entries has been removed from the list
-
- @param Source
- is the event describing the change. The <member>ListEntryEvent::Position</member>
- member denotes the position of the first removed entry, the
- <member>ListEntryEvent::Count</member> member the number of removed entries.
- */
- void entryRangeRemoved( [in] ListEntryEvent Source );
-
- /** notifies the listener that all entries of the list have changed.
-
- <p>The listener should retrieve the complete new list by calling the
- <member>XListEntrySource::getAllListEntries</member> method of the event source
- (which is denoted by <member scope="com::sun::star::lang">EventObject::Source</member>).
- */
- void allEntriesChanged( [in] com::sun::star::lang::EventObject Source );
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/XListEntrySink.idl b/offapi/drafts/com/sun/star/form/XListEntrySink.idl
deleted file mode 100644
index 3cd163189c1d..000000000000
--- a/offapi/drafts/com/sun/star/form/XListEntrySink.idl
+++ /dev/null
@@ -1,71 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_XListEntrySink_idl__
-#define __drafts_com_sun_star_form_XListEntrySink_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-interface XListEntrySource;
-
-//=============================================================================
-
-/** specifies support for indirect manipulation of of a string list
-
- @deprecated
- This interface is superseeded by <type scope="com::sun::star::form::binding">XListEntrySink</type>
-*/
-interface XListEntrySink : com::sun::star::uno::XInterface
-{
- /** sets the new source for the list entries of the component
-
- <p>The list represented by this component will be cleared, and initially
- filled with the entries from the new list source.</p>
-
- @param Source
- the new source for the list entries. May be <NULL/>, in this
- case, the current source is revoked.
- */
- void setListEntrySource( [in] XListEntrySource Source );
-
- /** retrieves the current source for the list entries of the component.
- */
- XListEntrySource
- getListEntrySource( );
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/XListEntrySource.idl b/offapi/drafts/com/sun/star/form/XListEntrySource.idl
deleted file mode 100644
index 095b8a703d5a..000000000000
--- a/offapi/drafts/com/sun/star/form/XListEntrySource.idl
+++ /dev/null
@@ -1,103 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_XListEntrySource_idl__
-#define __drafts_com_sun_star_form_XListEntrySource_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-#ifndef __com_sun_star_lang_NullPointerException_idl__
-#include <com/sun/star/lang/NullPointerException.idl>
-#endif
-#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
-#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-interface XListEntryListener;
-
-//=============================================================================
-
-/** specifies a source of string list entries
-
- <p>The interface supports foreign components which actively retrieve list entries,
- as well as components which want to passively being notified of changes in the list.</p>
-
- @see XListEntrySink
-
- @deprecated
- This interface is superseeded by <type scope="com::sun::star::form::binding">XListEntrySource</type>
-*/
-interface XListEntrySource : com::sun::star::uno::XInterface
-{
- /** retrieves the number of entries in the list
- */
- long getListEntryCount( );
-
- /** provides access to a single list entry
-
- @throws <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
- if the given position does not denote a valid index in the list
-
- @see getListEntryCount
- */
- string getListEntry( [in] long Position )
- raises( com::sun::star::lang::IndexOutOfBoundsException );
-
- /** provides access to the entirety of all list entries
- */
- sequence< string >
- getAllListEntries( );
-
- /** adds a listener which will be notified about changes in the list
- reflected by the component.
-
- @throws <type scope="com::sun::star::lang">NullPointerException</type>
- if the given listener is <NULL/>
- */
- void addListEntryListener( [in] XListEntryListener Listener )
- raises( com::sun::star::lang::NullPointerException );
-
- /** revokes the given listener from the list of components which will
- be notfiied about changes in the entry list.
-
- @throws <type scope="com::sun::star::lang">NullPointerException</type>
- if the given listener is <NULL/>
- */
- void removeListEntryListener( [in] XListEntryListener Listener )
- raises( com::sun::star::lang::NullPointerException );
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/XValueBinding.idl b/offapi/drafts/com/sun/star/form/XValueBinding.idl
deleted file mode 100644
index a62c164ebfce..000000000000
--- a/offapi/drafts/com/sun/star/form/XValueBinding.idl
+++ /dev/null
@@ -1,101 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef __drafts_com_sun_star_form_XValueBinding_idl__
-#define __drafts_com_sun_star_form_XValueBinding_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-#ifndef __com_sun_star_lang_NoSupportException_idl__
-#include <com/sun/star/lang/NoSupportException.idl>
-#endif
-#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__
-#include <drafts/com/sun/star/form/IncompatibleTypesException.idl>
-#endif
-
-//=============================================================================
-
-module drafts { module com { module sun { module star { module form {
-
-//=============================================================================
-
-/** specifies a binding to a value which can be read and written.
-
- @deprecated
- This interface is superseeded by <type scope="com::sun::star::form::binding">XValueBinding</type>
-*/
-interface XValueBinding : com::sun::star::uno::XInterface
-{
- //-------------------------------------------------------------------------
- /** determines the types which are supported by this binding for value exchange
-
- @see supportsType
- */
- sequence< type >
- getSupportedValueTypes( );
-
- /** determines whether a given type is supported by this binding for value exchange
-
- <p>Calling this method is equal to calling <member>getSupportedValueTypes</member>,
- and looking up the given type in the resulting type sequence.</p>
-
- @see getSupportedValueTypes
- */
- boolean supportsType( [in] type aType );
-
- /** retrieves the current value
-
- @throws <type>IncompatibleTypesException</type>
- if the requested value type is not supported by the binding
- @see getSupportedValueTypes
- @see supportsType
- */
- any getValue( [in] type aType )
- raises( IncompatibleTypesException );
-
- /** sets the current value
-
- @throws <type>IncompatibleTypesException</type>
- if the given value type is not supported by the binding
- @throws <type scope="com::sun::star::lang">NoSupportException</type>
- if the value currently cannot be changed (e.g. because it's readonly),
- or if the binding in general does not support write access to it's binding
-
- @see getSupportedValueTypes
- @see supportsType
- @see ValueBinding
- */
- void setValue( [in] any aValue )
- raises( IncompatibleTypesException, com::sun::star::lang::NoSupportException );
-};
-
-//=============================================================================
-
-}; }; }; }; };
-
-#endif
diff --git a/offapi/drafts/com/sun/star/form/makefile.mk b/offapi/drafts/com/sun/star/form/makefile.mk
deleted file mode 100644
index c5f68e0fe2b5..000000000000
--- a/offapi/drafts/com/sun/star/form/makefile.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-#*************************************************************************
-#
-# 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
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..$/..$/..
-
-PRJNAME=offapi
-
-TARGET=dcssform
-PACKAGE=drafts$/com$/sun$/star$/form
-
-# --- Settings -----------------------------------------------------
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# ------------------------------------------------------------------------
-
-IDLFILES=\
- IncompatibleTypesException.idl \
- ListEntryEvent.idl \
- XBindableValue.idl \
- XValueBinding.idl \
- XListEntrySink.idl \
- XListEntrySource.idl \
- XListEntryListener.idl \
-
-# ------------------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/prj/build.lst b/offapi/prj/build.lst
index a4ed8a8ceaf8..c3a5f06d43bb 100644
--- a/offapi/prj/build.lst
+++ b/offapi/prj/build.lst
@@ -106,5 +106,4 @@ oa offapi\com\sun\star\geometry nmake - all oa_geometry NULL
oa offapi\com\sun\star\rendering nmake - all oa_rendering oa_geometry NULL
oa offapi\com\sun\star\rdf nmake - all oa_rdf oa_datatransfer oa_text NULL
oa offapi\com\sun\star\office nmake - all oa_office oa_text NULL
-oa offapi\drafts\com\sun\star\form nmake - all oa_drafts_form NULL
-oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_awttab oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme oa_script_vba NULL
+oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_awttab oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme oa_script_vba NULL
diff --git a/offapi/prj/d.lst b/offapi/prj/d.lst
index a271a7159130..ab0e4eb7a293 100644
--- a/offapi/prj/d.lst
+++ b/offapi/prj/d.lst
@@ -110,12 +110,6 @@ mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\sax
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\wrapper
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\xpath
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xsd
-mkdir: %COMMON_DEST%\idl%_EXT%\drafts
-mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com
-mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun
-mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star
-mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form
-
..\%__SRC%\ucr\offapi.db %_DEST%\bin%_EXT%\offapi.rdb
..\%__SRC%\ucrdoc\offapi_doc.db %_DEST%\bin%_EXT%\offapi_doc.rdb
@@ -228,5 +222,3 @@ mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form
..\com\sun\star\xml\wrapper\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\wrapper
..\com\sun\star\xml\xpath\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\xpath
..\com\sun\star\xsd\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xsd
-
-..\drafts\com\sun\star\form\*.idl %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form
diff --git a/offapi/type_reference/typelibrary_history.txt b/offapi/type_reference/typelibrary_history.txt
index 16745ab9f7eb..a678ca7d6a7d 100644
--- a/offapi/type_reference/typelibrary_history.txt
+++ b/offapi/type_reference/typelibrary_history.txt
@@ -158,7 +158,10 @@
Update reference type library with the version of OOo 3.2.1. The new
reference type library is taken from the release source tree OOO320 m19.
+11/09/10 (JSC): TaskID=i114887
+ remove drafts module from reference rdb. The odl drafts type are not used
+ and i cleaned up the module and the type library.
+
01/28/11 (JSC): TaskID=116682
Update css.awt.UnoControlDialog to reflect the supported XDialog2 interface
additionally to XDialog
-
diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb
index 02cd79c9eb4f..1f9d5aea0fb8 100644
--- a/offapi/type_reference/types.rdb
+++ b/offapi/type_reference/types.rdb
Binary files differ
diff --git a/offapi/util/makefile.mk b/offapi/util/makefile.mk
index dd91e2d99456..f0837e21ca8b 100644
--- a/offapi/util/makefile.mk
+++ b/offapi/util/makefile.mk
@@ -133,7 +133,6 @@ UNOIDLDBFILES= \
$(UCR)$/cssgallery.db \
$(UCR)$/cssxsd.db \
$(UCR)$/cssinspection.db \
- $(UCR)$/dcssform.db \
$(UCR)$/xsec-security.db \
$(UCR)$/xsec-crypto.db \
$(UCR)$/xsec-csax.db \
diff --git a/registry/tools/checksingleton.cxx b/registry/tools/checksingleton.cxx
index 4353721ad0b0..903e059ac896 100644
--- a/registry/tools/checksingleton.cxx
+++ b/registry/tools/checksingleton.cxx
@@ -28,297 +28,150 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_registry.hxx"
-#include <stdio.h>
-#include <string.h>
-
#include "registry/registry.hxx"
#include "registry/reflread.hxx"
-#include <rtl/ustring.hxx>
-#include <rtl/alloc.h>
-#include <osl/process.h>
-#include <osl/diagnose.h>
-#include <osl/thread.h>
-#include <osl/file.hxx>
-
-#ifdef SAL_UNX
-#define SEPARATOR '/'
-#else
-#define SEPARATOR '\\'
-#endif
+#include "fileurl.hxx"
+#include "options.hxx"
-using namespace ::rtl;
-using namespace ::osl;
+#include "rtl/ustring.hxx"
+#include "osl/diagnose.h"
-sal_Bool isFileUrl(const OString& fileName)
-{
- if (fileName.indexOf("file://") == 0 )
- return sal_True;
- return sal_False;
-}
-
-OUString convertToFileUrl(const OString& fileName)
-{
- if ( isFileUrl(fileName) )
- {
- return OStringToOUString(fileName, osl_getThreadTextEncoding());
- }
+#include <stdio.h>
+#include <string.h>
- OUString uUrlFileName;
- OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding());
- if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 )
- {
- OUString uWorkingDir;
- if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
- {
- OSL_ASSERT(false);
- }
- if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- } else
- {
- if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- }
+#include <vector>
+#include <string>
- return uUrlFileName;
-}
+using namespace rtl;
+using namespace registry::tools;
#define U2S( s ) \
OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr()
#define S2U( s ) \
OStringToOUString(s, RTL_TEXTENCODING_UTF8)
-struct LessString
-{
- sal_Bool operator()(const OUString& str1, const OUString& str2) const
- {
- return (str1 < str2);
- }
-};
-
-class Options
+class Options_Impl : public Options
{
public:
- Options()
- : m_bForceOutput(sal_False)
- {}
- ~Options()
+ explicit Options_Impl(char const * program)
+ : Options (program), m_bForceOutput(false)
{}
- sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False);
-
- OString prepareHelp();
- OString prepareVersion();
-
- const OString& getProgramName()
- { return m_program; }
- const OString& getIndexReg()
+ std::string const & getIndexReg() const
{ return m_indexRegName; }
- const OString& getTypeReg()
+ std::string const & getTypeReg() const
{ return m_typeRegName; }
- sal_Bool hasBase()
- { return m_base.getLength() > 0; }
- const OString& getBase()
+ bool hasBase() const
+ { return (m_base.getLength() > 0); }
+ const OString & getBase() const
{ return m_base; }
- sal_Bool forceOutput()
+ bool forceOutput() const
{ return m_bForceOutput; }
+
protected:
- OString m_program;
- OString m_indexRegName;
- OString m_typeRegName;
+ virtual void printUsage_Impl() const;
+ virtual bool initOptions_Impl (std::vector< std::string > & rArgs);
+
+ std::string m_indexRegName;
+ std::string m_typeRegName;
OString m_base;
- sal_Bool m_bForceOutput;
+ bool m_bForceOutput;
};
-sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile)
+// virtual
+void Options_Impl::printUsage_Impl() const
{
- sal_Bool bRet = sal_True;
- sal_uInt16 i=0;
+ std::string const & rProgName = getProgramName();
+ fprintf(stderr,
+ "Usage: %s -r<filename> -o<filename> [-options] | @<filename>\n", rProgName.c_str()
+ );
+ fprintf(stderr,
+ " -o<filename> = filename specifies the name of the new singleton index registry.\n"
+ " -r<filename> = filename specifies the name of the type registry.\n"
+ " @<filename> = filename specifies a command file.\n"
+ "Options:\n"
+ " -b<name> = name specifies the name of a start key. The types will be searched\n"
+ " under this key in the type registry.\n"
+ " -f = force the output of all found singletons.\n"
+ " -h|-? = print this help message and exit.\n"
+ );
+ fprintf(stderr,
+ "\n%s Version 1.0\n\n", rProgName.c_str()
+ );
+}
- if (!bCmdFile)
+// virtual
+bool Options_Impl::initOptions_Impl(std::vector< std::string > & rArgs)
+{
+ std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end();
+ for (; first != last; ++first)
{
- bCmdFile = sal_True;
-
- m_program = av[0];
-
- if (ac < 2)
+ std::string option (*first);
+ if ((*first)[0] != '-')
{
- fprintf(stderr, "%s", prepareHelp().getStr());
- bRet = sal_False;
+ return badOption("invalid", option.c_str());
}
-
- i = 1;
- } else
- {
- i = 0;
- }
-
- char *s=NULL;
- for (; i < ac; i++)
- {
- if (av[i][0] == '-')
+ switch ((*first)[1])
{
- switch (av[i][1])
+ case 'r':
+ case 'R':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option.c_str());
+ }
+ m_typeRegName = OString((*first).c_str(), (*first).size());
+ break;
+ }
+ case 'o':
+ case 'O':
{
- case 'r':
- case 'R':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_typeRegName = OString(s);
- break;
- case 'o':
- case 'O':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_indexRegName = OString(s);
- break;
- case 'b':
- case 'B':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_base = OString(s);
- break;
- case 'f':
- case 'F':
- if (av[i][2] != '\0')
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- }
- m_bForceOutput = sal_True;
- break;
- case 'h':
- case '?':
- if (av[i][2] != '\0')
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- } else
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- exit(0);
- }
- break;
- default:
- fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option.c_str());
+ }
+ m_indexRegName = (*first);
+ break;
}
- } else
- {
- if (av[i][0] == '@')
+ case 'b':
+ case 'B':
{
- FILE* cmdFile = fopen(av[i]+1, "r");
- if( cmdFile == NULL )
- {
- fprintf(stderr, "%s", prepareHelp().getStr());
- bRet = sal_False;
- } else
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- int rargc=0;
- char* rargv[512];
- char buffer[512];
-
- while ( fscanf(cmdFile, "%s", buffer) != EOF )
- {
- rargv[rargc]= strdup(buffer);
- rargc++;
- }
- fclose(cmdFile);
-
- bRet = initOptions(rargc, rargv, bCmdFile);
-
- for (long j=0; j < rargc; j++)
- {
- free(rargv[j]);
- }
+ return badOption("invalid", option.c_str());
+ }
+ m_base = OString((*first).c_str(), (*first).size());
+ break;
+ }
+ case 'f':
+ case 'F':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", option.c_str());
}
- } else
+ m_bForceOutput = sal_True;
+ break;
+ }
+ case 'h':
+ case '?':
{
- fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", option.c_str());
+ }
+ return printUsage();
+ // break; // unreachable
}
+ default:
+ return badOption("unknown", option.c_str());
+ // break; // unreachable
}
}
-
- return bRet;
-}
-
-OString Options::prepareHelp()
-{
- OString help("\nusing: ");
- help += m_program + " -r<filename> -o<filename> [-options] | @<filename>\n";
- help += " -o<filename> = filename specifies the name of the new singleton index registry.\n";
- help += " -r<filename> = filename specifies the name of the type registry.\n";
- help += " @<filename> = filename specifies a command file.\n";
- help += "Options:\n";
- help += " -b<name> = name specifies the name of a start key. The types will be searched\n";
- help += " under this key in the type registry.\n";
- help += " -f = force the output of all found singletons.\n";
- help += " -h|-? = print this help message and exit.\n";
- help += prepareVersion();
-
- return help;
+ return true;
}
-OString Options::prepareVersion()
-{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 1.0\n\n";
- return version;
-}
-
-static Options options;
-
-static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey)
+static sal_Bool checkSingletons(Options_Impl const & options, RegistryKey& singletonKey, RegistryKey& typeKey)
{
RegValueType valueType = RG_VALUETYPE_NOT_DEFINED;
sal_uInt32 size = 0;
@@ -326,24 +179,22 @@ static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey)
sal_Bool bRet = sal_False;
RegError e = typeKey.getValueInfo(tmpName, &valueType, &size);
-
- if ( e != REG_VALUE_NOT_EXISTS && e != REG_INVALID_VALUE && valueType == RG_VALUETYPE_BINARY)
+ if ((e != REG_VALUE_NOT_EXISTS) && (e != REG_INVALID_VALUE) && (valueType == RG_VALUETYPE_BINARY))
{
- RegistryKey entryKey;
- RegValue value = rtl_allocateMemory(size);
-
- typeKey.getValue(tmpName, value);
-
- RegistryTypeReader reader((sal_uInt8*)value, size, sal_False);
+ std::vector< sal_uInt8 > value(size);
+ typeKey.getValue(tmpName, &value[0]); // @@@ broken api: write to buffer w/o buffer size.
+ RegistryTypeReader reader(&value[0], value.size(), sal_False);
if ( reader.isValid() && reader.getTypeClass() == RT_TYPE_SINGLETON )
{
- OUString singletonName = reader.getTypeName().replace('/', '.');
+ RegistryKey entryKey;
+ OUString singletonName = reader.getTypeName().replace('/', '.');
if ( singletonKey.createKey(singletonName, entryKey) )
{
fprintf(stderr, "%s: could not create SINGLETONS entry for \"%s\"\n",
- options.getProgramName().getStr(), U2S( singletonName ));
- } else
+ options.getProgramName().c_str(), U2S( singletonName ));
+ }
+ else
{
bRet = sal_True;
OUString value2 = reader.getSuperTypeName();
@@ -352,30 +203,26 @@ static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey)
(RegValue)value2.getStr(), sizeof(sal_Unicode)* (value2.getLength()+1)) )
{
fprintf(stderr, "%s: could not create data entry for singleton \"%s\"\n",
- options.getProgramName().getStr(), U2S( singletonName ));
+ options.getProgramName().c_str(), U2S( singletonName ));
}
if ( options.forceOutput() )
{
fprintf(stderr, "%s: create SINGLETON entry for \"%s\" -> \"%s\"\n",
- options.getProgramName().getStr(), U2S( singletonName ), U2S(value2));
+ options.getProgramName().c_str(), U2S( singletonName ), U2S(value2));
}
}
}
-
- rtl_freeMemory(value);
}
RegistryKeyArray subKeys;
-
typeKey.openSubKeys(tmpName, subKeys);
sal_uInt32 length = subKeys.getLength();
- RegistryKey elementKey;
for (sal_uInt32 i = 0; i < length; i++)
{
- elementKey = subKeys.getElement(i);
- if ( checkSingletons(singletonKey, elementKey) )
+ RegistryKey elementKey = subKeys.getElement(i);
+ if ( checkSingletons(options, singletonKey, elementKey) )
{
bRet = sal_True;
}
@@ -389,69 +236,85 @@ int main( int argc, char * argv[] )
int _cdecl main( int argc, char * argv[] )
#endif
{
- if ( !options.initOptions(argc, argv) )
+ std::vector< std::string > args;
+ for (int i = 1; i < argc; i++)
{
- exit(1);
+ int result = Options::checkArgument(args, argv[i], strlen(argv[i]));
+ if (result != 0)
+ {
+ // failure.
+ return (result);
+ }
}
- OUString indexRegName( convertToFileUrl(options.getIndexReg()) );
- OUString typeRegName( convertToFileUrl(options.getTypeReg()) );
+ Options_Impl options(argv[0]);
+ if (!options.initOptions(args))
+ {
+ options.printUsage();
+ return (1);
+ }
+ OUString indexRegName( convertToFileUrl(options.getIndexReg().c_str(), options.getIndexReg().size()) );
Registry indexReg;
- Registry typeReg;
-
if ( indexReg.open(indexRegName, REG_READWRITE) )
{
if ( indexReg.create(indexRegName) )
{
fprintf(stderr, "%s: open registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(2);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (2);
}
}
+
+ OUString typeRegName( convertToFileUrl(options.getTypeReg().c_str(), options.getTypeReg().size()) );
+ Registry typeReg;
if ( typeReg.open(typeRegName, REG_READONLY) )
{
fprintf(stderr, "%s: open registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getTypeReg().getStr());
- exit(3);
+ options.getProgramName().c_str(), options.getTypeReg().c_str());
+ return (3);
}
- RegistryKey indexRoot, typeRoot;
+ RegistryKey indexRoot;
if ( indexReg.openRootKey(indexRoot) )
{
fprintf(stderr, "%s: open root key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(4);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (4);
}
+
+ RegistryKey typeRoot;
if ( typeReg.openRootKey(typeRoot) )
{
fprintf(stderr, "%s: open root key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getTypeReg().getStr());
- exit(5);
+ options.getProgramName().c_str(), options.getTypeReg().c_str());
+ return (5);
}
- RegistryKey singletonKey, typeKey;
+ RegistryKey typeKey;
if ( options.hasBase() )
{
if ( typeRoot.openKey(S2U(options.getBase()), typeKey) )
{
fprintf(stderr, "%s: open base key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getTypeReg().getStr());
- exit(6);
+ options.getProgramName().c_str(), options.getTypeReg().c_str());
+ return (6);
}
- } else
+ }
+ else
{
typeKey = typeRoot;
}
+ RegistryKey singletonKey;
if ( indexRoot.createKey(OUString::createFromAscii("SINGLETONS"), singletonKey) )
{
fprintf(stderr, "%s: open/create SINGLETONS key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(7);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (7);
}
- sal_Bool bSingletonsExist = checkSingletons(singletonKey, typeKey);
+ sal_Bool bSingletonsExist = checkSingletons(options, singletonKey, typeKey);
indexRoot.releaseKey();
typeRoot.releaseKey();
@@ -460,24 +323,22 @@ int _cdecl main( int argc, char * argv[] )
if ( indexReg.close() )
{
fprintf(stderr, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(9);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (9);
}
if ( !bSingletonsExist )
{
if ( indexReg.destroy(OUString()) )
{
fprintf(stderr, "%s: destroy registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(10);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (10);
}
}
if ( typeReg.close() )
{
fprintf(stderr, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getTypeReg().getStr());
- exit(11);
+ options.getProgramName().c_str(), options.getTypeReg().c_str());
+ return (11);
}
}
-
-
diff --git a/registry/tools/fileurl.cxx b/registry/tools/fileurl.cxx
new file mode 100644
index 000000000000..e3561888c674
--- /dev/null
+++ b/registry/tools/fileurl.cxx
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "fileurl.hxx"
+
+#include "rtl/ustring.hxx"
+#include "osl/diagnose.h"
+#include "osl/file.hxx"
+#include "osl/process.h"
+#include "osl/thread.h"
+
+#include <string.h>
+
+#ifdef SAL_UNX
+#define SEPARATOR '/'
+#else
+#define SEPARATOR '\\'
+#endif
+
+using rtl::OUString;
+using osl::FileBase;
+
+namespace registry
+{
+namespace tools
+{
+
+OUString convertToFileUrl(char const * filename, size_t length)
+{
+ OUString const uFileName(filename, length, osl_getThreadTextEncoding());
+ if (strncmp(filename, "file://", 7) == 0)
+ {
+ // already a FileUrl.
+ return uFileName;
+ }
+
+ OUString uFileUrl;
+ if (length > 0)
+ {
+ if ((filename[0] == '.') || (filename[0] != SEPARATOR))
+ {
+ // relative path name.
+ OUString uWorkingDir;
+ if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uFileUrl) != FileBase::E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ }
+ else
+ {
+ // absolute path name.
+ if (FileBase::getFileURLFromSystemPath(uFileName, uFileUrl) != FileBase::E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ }
+ }
+ return uFileUrl;
+}
+
+} // namespace tools
+} // namespace registry
diff --git a/registry/tools/fileurl.hxx b/registry/tools/fileurl.hxx
new file mode 100644
index 000000000000..bbaa218f32e6
--- /dev/null
+++ b/registry/tools/fileurl.hxx
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_REGISTRY_TOOLS_FILEURL_HXX
+#define INCLUDED_REGISTRY_TOOLS_FILEURL_HXX
+
+#include "rtl/ustring.hxx"
+
+namespace registry
+{
+namespace tools
+{
+
+rtl::OUString convertToFileUrl(char const * filename, size_t length);
+
+} // namespace tools
+} // namespace registry
+
+#endif /* INCLUDED_REGISTRY_TOOLS_FILEURL_HXX */
diff --git a/registry/tools/makefile.mk b/registry/tools/makefile.mk
index bb7d448b86e6..06ca753ff044 100644
--- a/registry/tools/makefile.mk
+++ b/registry/tools/makefile.mk
@@ -43,7 +43,7 @@ ENABLE_EXCEPTIONS := TRUE
CDEFS += -DDLL_VERSION=$(EMQ)"$(DLLPOSTFIX)$(EMQ)"
APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJ)$/regmerge.obj
+APP1OBJS= $(OBJ)$/regmerge.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj
APP1RPATH= UREBIN
APP1STDLIBS=\
@@ -51,7 +51,7 @@ APP1STDLIBS=\
$(REGLIB)
APP2TARGET= regview
-APP2OBJS= $(OBJ)$/regview.obj
+APP2OBJS= $(OBJ)$/regview.obj $(OBJ)/fileurl.obj
APP2RPATH= UREBIN
APP2STDLIBS=\
@@ -59,7 +59,7 @@ APP2STDLIBS=\
$(REGLIB)
APP3TARGET= regcompare
-APP3OBJS= $(OBJ)$/regcompare.obj
+APP3OBJS= $(OBJ)$/regcompare.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj
APP3RPATH= SDK
APP3STDLIBS=\
@@ -68,13 +68,21 @@ APP3STDLIBS=\
$(REGLIB)
APP4TARGET= checksingleton
-APP4OBJS= $(OBJ)$/checksingleton.obj
+APP4OBJS= $(OBJ)$/checksingleton.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj
APP4STDLIBS=\
$(SALLIB) \
$(SALHELPERLIB) \
$(REGLIB)
-OBJFILES = $(APP1OBJS) $(APP2OBJS) $(APP3OBJS) $(APP4OBJS)
+APP5TARGET= rdbedit
+APP5OBJS= $(OBJ)$/rdbedit.obj
+
+APP5STDLIBS=\
+ $(SALLIB) \
+ $(SALHELPERLIB) \
+ $(REGLIB)
+
+OBJFILES = $(APP1OBJS) $(APP2OBJS) $(APP3OBJS) $(APP4OBJS) $(APP5OBJS)
.INCLUDE : target.mk
diff --git a/registry/tools/options.cxx b/registry/tools/options.cxx
new file mode 100644
index 000000000000..d851825ebfb6
--- /dev/null
+++ b/registry/tools/options.cxx
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "options.hxx"
+
+#include "osl/diagnose.h"
+
+#include <stdio.h>
+#include <string.h>
+
+namespace registry
+{
+namespace tools
+{
+
+Options::Options (char const * program)
+ : m_program (program)
+{}
+
+Options::~Options()
+{}
+
+// static
+bool Options::checkArgument(std::vector< std::string> & rArgs, char const * arg, size_t len)
+{
+ bool result = ((arg != 0) && (len > 0));
+ OSL_PRECOND(result, "registry::tools::Options::checkArgument(): invalid arguments");
+ if (result)
+ {
+ OSL_TRACE("registry::tools:Options::checkArgument(): \"%s\"", arg);
+ switch (arg[0])
+ {
+ case '@':
+ if ((result = (len > 1)) == true)
+ {
+ // "@<cmdfile>"
+ result = Options::checkCommandFile(rArgs, &(arg[1]));
+ }
+ break;
+ case '-':
+ if ((result = (len > 1)) == true)
+ {
+ // "-<option>"
+ std::string option (&(arg[0]), 2);
+ rArgs.push_back(option);
+ if (len > 2)
+ {
+ // "-<option><param>"
+ std::string param(&(arg[2]), len - 2);
+ rArgs.push_back(param);
+ }
+ }
+ break;
+ default:
+ rArgs.push_back(std::string(arg, len));
+ break;
+ }
+ }
+ return (result);
+}
+
+// static
+bool Options::checkCommandFile(std::vector< std::string > & rArgs, char const * filename)
+{
+ FILE * fp = fopen(filename, "r");
+ if (fp == 0)
+ {
+ fprintf(stderr, "ERROR: Can't open command file \"%s\"\n", filename);
+ return (false);
+ }
+
+ std::string buffer;
+ buffer.reserve(256);
+
+ bool quoted = false;
+ int c = EOF;
+ while ((c = fgetc(fp)) != EOF)
+ {
+ switch(c)
+ {
+ case '\"':
+ quoted = !quoted;
+ break;
+ case ' ':
+ case '\t':
+ case '\r':
+ case '\n':
+ if (!quoted)
+ {
+ if (!buffer.empty())
+ {
+ if (!checkArgument(rArgs, buffer.c_str(), buffer.size()))
+ {
+ // failure.
+ (void) fclose(fp);
+ return false;
+ }
+ buffer.clear();
+ }
+ break;
+ }
+ default:
+ // quoted white-space fall through
+ buffer.push_back(sal::static_int_cast<char>(c));
+ break;
+ }
+ }
+ return (fclose(fp) == 0);
+}
+
+bool Options::initOptions (std::vector< std::string > & rArgs)
+{
+ return initOptions_Impl (rArgs);
+}
+
+bool Options::badOption (char const * reason, char const * option) const
+{
+ (void) fprintf(stderr, "%s: %s option '%s'\n", m_program.c_str(), reason, option);
+ return printUsage();
+}
+
+bool Options::printUsage() const
+{
+ printUsage_Impl();
+ return false;
+}
+
+} // namespace tools
+} // namespace registry
diff --git a/registry/tools/options.hxx b/registry/tools/options.hxx
new file mode 100644
index 000000000000..8e4c97877e3b
--- /dev/null
+++ b/registry/tools/options.hxx
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX
+#define INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX
+
+#include <string>
+#include <vector>
+
+namespace registry
+{
+namespace tools
+{
+class Options
+{
+ std::string m_program;
+
+ Options (Options const &);
+ Options & operator= (Options const &);
+
+public:
+ explicit Options (char const * program);
+ virtual ~Options();
+
+ static bool checkArgument (std::vector< std::string > & rArgs, char const * arg, size_t len);
+
+ bool initOptions (std::vector< std::string > & rArgs);
+ bool badOption (char const * reason, char const * option) const;
+
+ std::string const & getProgramName() const { return m_program; }
+ bool printUsage() const;
+
+protected:
+ static bool checkCommandFile(std::vector< std::string > & rArgs, char const * filename);
+
+ virtual bool initOptions_Impl(std::vector< std::string > & rArgs) = 0;
+ virtual void printUsage_Impl() const = 0;
+};
+
+} // namespace tools
+} // namespace registry
+
+#endif /* INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX */
diff --git a/registry/tools/rdbedit.cxx b/registry/tools/rdbedit.cxx
new file mode 100644
index 000000000000..c2b3d6a3dcf3
--- /dev/null
+++ b/registry/tools/rdbedit.cxx
@@ -0,0 +1,318 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_registry.hxx"
+
+#include <stdio.h>
+#include <string.h>
+
+#include "registry/registry.hxx"
+#include "registry/reflread.hxx"
+#include <rtl/ustring.hxx>
+#include <rtl/alloc.h>
+#include <osl/process.h>
+#include <osl/diagnose.h>
+#include <osl/thread.h>
+#include <osl/file.hxx>
+
+#ifdef SAL_UNX
+#define SEPARATOR '/'
+#else
+#define SEPARATOR '\\'
+#endif
+
+using namespace ::rtl;
+using namespace ::osl;
+
+sal_Bool isFileUrl(const OString& fileName)
+{
+ if (fileName.indexOf("file://") == 0 )
+ return sal_True;
+ return sal_False;
+}
+
+OUString convertToFileUrl(const OString& fileName)
+{
+ if ( isFileUrl(fileName) )
+ {
+ return OStringToOUString(fileName, osl_getThreadTextEncoding());
+ }
+
+ OUString uUrlFileName;
+ OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding());
+ if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 )
+ {
+ OUString uWorkingDir;
+ if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName)
+ != FileBase::E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ } else
+ {
+ if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName)
+ != FileBase::E_None)
+ {
+ OSL_ASSERT(false);
+ }
+ }
+
+ return uUrlFileName;
+}
+
+#define U2S( s ) \
+ OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr()
+#define S2U( s ) \
+ OStringToOUString(s, RTL_TEXTENCODING_UTF8)
+
+struct LessString
+{
+ sal_Bool operator()(const OUString& str1, const OUString& str2) const
+ {
+ return (str1 < str2);
+ }
+};
+
+enum Command {
+ DELETEKEY
+};
+
+class Options
+{
+public:
+ Options()
+ : m_bVerbose(false)
+ {}
+ ~Options()
+ {}
+
+ bool initOptions(int ac, char* av[]);
+
+ OString prepareHelp();
+ OString prepareVersion();
+
+ const OString& getProgramName()
+ { return m_program; }
+ const OString& getTypeReg()
+ { return m_typeRegName; }
+ const OString& getKeyName()
+ { return m_keyName; }
+ const Command getCommand()
+ { return m_command; }
+ bool verbose()
+ { return m_bVerbose; }
+protected:
+ OString m_program;
+ OString m_typeRegName;
+ OString m_keyName;
+ Command m_command;
+ bool m_bVerbose;
+};
+
+bool Options::initOptions(int ac, char* av[])
+{
+ bool bRet = true;
+ sal_uInt16 i=1;
+
+ if (ac < 2)
+ {
+ fprintf(stderr, "%s", prepareHelp().getStr());
+ bRet = sal_False;
+ }
+
+ m_program = av[0];
+ sal_Int32 index = -1;
+ if ((index=m_program.lastIndexOf(SEPARATOR)) > 0)
+ m_program = av[0]+index+1;
+
+ char *s=NULL;
+ for (; i < ac; i++)
+ {
+ if (av[i][0] == '-')
+ {
+ switch (av[i][1])
+ {
+ case 'r':
+ case 'R':
+ if (av[i][2] == '\0')
+ {
+ if (i < ac - 1 && av[i+1][0] != '-')
+ {
+ i++;
+ s = av[i];
+ } else
+ {
+ fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
+ bRet = sal_False;
+ break;
+ }
+ } else
+ {
+ s = av[i] + 2;
+ }
+ m_typeRegName = OString(s);
+ break;
+ case 'd':
+ case 'D':
+ if (av[i][2] == '\0')
+ {
+ if (i < ac - 1 && av[i+1][0] != '-')
+ {
+ i++;
+ s = av[i];
+ } else
+ {
+ fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
+ bRet = sal_False;
+ break;
+ }
+ } else
+ {
+ s = av[i] + 2;
+ }
+ m_keyName = OString(s);
+ break;
+ case 'v':
+ case 'V':
+ if (av[i][2] != '\0')
+ {
+ fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
+ bRet = sal_False;
+ }
+ m_bVerbose = true;
+ break;
+ case 'h':
+ case '?':
+ if (av[i][2] != '\0')
+ {
+ fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
+ bRet = false;
+ } else
+ {
+ fprintf(stdout, "%s", prepareHelp().getStr());
+ exit(0);
+ }
+ break;
+ default:
+ fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
+ bRet = false;
+ break;
+ }
+ } else
+ {
+ fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
+ bRet = false;
+ }
+ }
+
+ return bRet;
+}
+
+OString Options::prepareHelp()
+{
+ OString help("\nusing: ");
+ help += m_program + " -r<filename> <command>\n";
+ help += " -r<filename> = filename specifies the name of the type registry.\n";
+ help += "Commands:\n";
+ help += " -d <keyname> = delete the specified key from the registry. Keyname\n";
+ help += " specifies the name of the key that get deleted.\n";
+ help += " -v = verbose output.\n";
+ help += " -h|-? = print this help message and exit.\n";
+ help += prepareVersion();
+
+ return help;
+}
+
+OString Options::prepareVersion()
+{
+ OString version(m_program);
+ version += " Version 1.0\n\n";
+ return version;
+}
+
+static Options options;
+
+
+#if (defined UNX) || (defined OS2) || (defined __MINGW32__)
+int main( int argc, char * argv[] )
+#else
+int _cdecl main( int argc, char * argv[] )
+#endif
+{
+ if ( !options.initOptions(argc, argv) )
+ {
+ exit(1);
+ }
+
+ OUString typeRegName( convertToFileUrl(options.getTypeReg()) );
+
+ Registry typeReg;
+
+ if ( typeReg.open(typeRegName, REG_READWRITE) )
+ {
+ fprintf(stderr, "%s: open registry \"%s\" failed\n",
+ options.getProgramName().getStr(), options.getTypeReg().getStr());
+ exit(2);
+ }
+
+ RegistryKey typeRoot;
+ if ( typeReg.openRootKey(typeRoot) )
+ {
+ fprintf(stderr, "%s: open root key of registry \"%s\" failed\n",
+ options.getProgramName().getStr(), options.getTypeReg().getStr());
+ exit(3);
+ }
+
+ if ( options.getCommand() == DELETEKEY )
+ {
+ if ( typeRoot.deleteKey(S2U(options.getKeyName())) )
+ {
+ fprintf(stderr, "%s: delete key \"%s\" of registry \"%s\" failed\n",
+ options.getProgramName().getStr(), options.getKeyName().getStr(), options.getTypeReg().getStr());
+ exit(4);
+ } else {
+ if (options.verbose())
+ fprintf(stderr, "%s: delete key \"%s\" of registry \"%s\"\n",
+ options.getProgramName().getStr(), options.getKeyName().getStr(), options.getTypeReg().getStr());
+ }
+ }
+
+ typeRoot.releaseKey();
+ if ( typeReg.close() )
+ {
+ fprintf(stderr, "%s: closing registry \"%s\" failed\n",
+ options.getProgramName().getStr(), options.getTypeReg().getStr());
+ exit(5);
+ }
+}
+
+
diff --git a/registry/tools/regcompare.cxx b/registry/tools/regcompare.cxx
index 4e95d884de30..0eaa220ae2de 100644
--- a/registry/tools/regcompare.cxx
+++ b/registry/tools/regcompare.cxx
@@ -28,409 +28,266 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_registry.hxx"
-#include <stdio.h>
-#include <string.h>
-
-#include <set>
-#include <vector>
#include "registry/registry.hxx"
#include "registry/reader.hxx"
#include "registry/version.h"
+#include "fileurl.hxx"
+#include "options.hxx"
+
#include <rtl/ustring.hxx>
-#include <rtl/alloc.h>
-#include <osl/process.h>
#include <osl/diagnose.h>
-#include <osl/thread.h>
-#include <osl/file.hxx>
-#ifdef SAL_UNX
-#define SEPARATOR '/'
-#else
-#define SEPARATOR '\\'
-#endif
+#include <stdio.h>
+#include <string.h>
-using namespace ::rtl;
-using namespace ::osl;
+#include <set>
+#include <vector>
+#include <string>
-OUString shortName(const OUString& fullName)
-{
- return fullName.copy(fullName.lastIndexOf('/') + 1);
-}
+using namespace rtl;
+using namespace registry::tools;
-sal_Bool isFileUrl(const OString& fileName)
-{
- if (fileName.indexOf("file://") == 0 )
- return sal_True;
- return sal_False;
-}
+typedef std::set< rtl::OUString > StringSet;
-OUString convertToFileUrl(const OString& fileName)
+class Options_Impl : public Options
{
- if ( isFileUrl(fileName) )
- {
- return OStringToOUString(fileName, osl_getThreadTextEncoding());
- }
-
- OUString uUrlFileName;
- OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding());
- if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 )
- {
- OUString uWorkingDir;
- if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
- {
- OSL_ASSERT(false);
- }
- if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- } else
- {
- if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- }
+public:
+ explicit Options_Impl(char const * program)
+ : Options(program),
+ m_bFullCheck(false),
+ m_bForceOutput(false),
+ m_bUnoTypeCheck(false),
+ m_checkUnpublished(false)
+ {}
- return uUrlFileName;
-}
+ std::string const & getRegName1() const { return m_regName1; }
+ std::string const & getRegName2() const { return m_regName2; }
-#define U2S( s ) \
- OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr()
-#define S2U( s ) \
- OStringToOUString(s, RTL_TEXTENCODING_UTF8)
+ bool isStartKeyValid() const { return (m_startKey.getLength() > 0); }
+ OUString const & getStartKey() const { return m_startKey; }
+ bool matchedWithExcludeKey( const OUString& keyName) const;
-struct LessString
-{
- sal_Bool operator()(const OUString& str1, const OUString& str2) const
- {
- return (str1 < str2);
- }
-};
+ bool fullCheck() const { return m_bFullCheck; }
+ bool forceOutput() const { return m_bForceOutput; }
+ bool unoTypeCheck() const { return m_bUnoTypeCheck; }
+ bool checkUnpublished() const { return m_checkUnpublished; }
-typedef ::std::set< OUString > StringSet;
+protected:
+ bool setRegName_Impl(char c, std::string const & param);
-class Options
-{
-public:
- Options()
- : m_bFullCheck(sal_False)
- , m_bForceOutput(sal_False)
- , m_bUnoTypeCheck(sal_False)
- , m_checkUnpublished(false)
- {}
- ~Options()
- {}
+ virtual void printUsage_Impl() const;
+ virtual bool initOptions_Impl (std::vector< std::string > & rArgs);
- sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False);
-
- OString prepareHelp();
- OString prepareVersion();
-
- const OString& getProgramName()
- { return m_program; }
- const OString& getRegName1()
- { return m_regName1; }
- const OString& getRegName2()
- { return m_regName2; }
- sal_Bool isStartKeyValid()
- { return (m_startKey.getLength() > 0); };
- const OString& getStartKey()
- { return m_startKey; }
- sal_Bool existsExcludeKeys()
- { return !m_excludeKeys.empty(); };
- StringSet& getExcludeKeys()
- { return m_excludeKeys; }
- sal_Bool matchedWithExcludeKey( const OUString& keyName);
- sal_Bool fullCheck()
- { return m_bFullCheck; }
- sal_Bool forceOutput()
- { return m_bForceOutput; }
- sal_Bool unoTypeCheck()
- { return m_bUnoTypeCheck; }
- bool checkUnpublished() const { return m_checkUnpublished; }
-protected:
- OString m_program;
- OString m_regName1;
- OString m_regName2;
- OString m_startKey;
+ std::string m_regName1;
+ std::string m_regName2;
+ OUString m_startKey;
StringSet m_excludeKeys;
- sal_Bool m_bFullCheck;
- sal_Bool m_bForceOutput;
- sal_Bool m_bUnoTypeCheck;
+ bool m_bFullCheck;
+ bool m_bForceOutput;
+ bool m_bUnoTypeCheck;
bool m_checkUnpublished;
};
-sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile)
-{
- sal_Bool bRet = sal_True;
- sal_uInt16 i=0;
+#define U2S( s ) OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr()
- if (!bCmdFile)
- {
- bCmdFile = sal_True;
+inline rtl::OUString makeOUString (std::string const & s)
+{
+ return rtl::OUString(s.c_str(), s.size(), RTL_TEXTENCODING_UTF8, OSTRING_TO_OUSTRING_CVTFLAGS);
+}
- m_program = av[0];
+inline rtl::OUString shortName(rtl::OUString const & fullName)
+{
+ return fullName.copy(fullName.lastIndexOf('/') + 1);
+}
- if (ac < 2)
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- bRet = sal_False;
- }
+bool Options_Impl::setRegName_Impl(char c, std::string const & param)
+{
+ bool one = (c == '1'), two = (c == '2');
+ if (one)
+ m_regName1 = param;
+ if (two)
+ m_regName2 = param;
+ return (one || two);
+}
- i = 1;
- } else
- {
- i = 0;
- }
+//virtual
+void Options_Impl::printUsage_Impl() const
+{
+ std::string const & rProgName = getProgramName();
+ fprintf(stderr,
+ "Usage: %s -r1<filename> -r2<filename> [-options] | @<filename>\n", rProgName.c_str()
+ );
+ fprintf(stderr,
+ " -r1<filename> = filename specifies the name of the first registry.\n"
+ " -r2<filename> = filename specifies the name of the second registry.\n"
+ " @<filename> = filename specifies a command file.\n"
+ "Options:\n"
+ " -s<name> = name specifies the name of a start key. If no start key\n"
+ " |S<name> is specified the comparison starts with the root key.\n"
+ " -x<name> = name specifies the name of a key which won't be compared. All\n"
+ " |X<name> subkeys won't be compared also. This option can be used more than once.\n"
+ " -f|F = force the detailed output of any diffenrences. Default\n"
+ " is that only the number of differences is returned.\n"
+ " -c|C = make a complete check, that means any differences will be\n"
+ " detected. Default is only a compatibility check that means\n"
+ " only UNO typelibrary entries will be checked.\n"
+ " -t|T = make an UNO type compatiblity check. This means that registry 2\n"
+ " will be checked against registry 1. If a interface in r2 contains\n"
+ " more methods or the methods are in a different order as in r1, r2 is\n"
+ " incompatible to r1. But if a service in r2 supports more properties as\n"
+ " in r1 and the new properties are 'optional' it is compatible.\n"
+ " -u|U = additionally check types that are unpublished in registry 1.\n"
+ " -h|-? = print this help message and exit.\n"
+ );
+ fprintf(stderr,
+ "\n%s Version 1.0\n\n", rProgName.c_str()
+ );
+}
- char *s=NULL;
- for (; i < ac; i++)
+// virtual
+bool Options_Impl::initOptions_Impl (std::vector< std::string > & rArgs)
+{
+ std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end();
+ for (; first != last; ++first)
{
- if (av[i][0] == '-')
+ if ((*first)[0] != '-')
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ switch ((*first)[1])
{
- switch (av[i][1])
+ case 'r':
+ case 'R':
{
- case 'r':
- case 'R':
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- sal_Bool bFirst = sal_True;
- if (av[i][2] == '2')
- {
- bFirst = sal_False;
- } else if (av[i][2] != '1')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- if (av[i][3] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
+ return badOption("invalid", (*first).c_str());
+ }
- if ( bFirst )
- {
- m_regName1 = OString(s);
- } else
+ std::string option(*first), param;
+ if (option.size() == 1)
+ {
+ // "-r<n><space><param>"
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- m_regName2 = OString(s);
+ return badOption("invalid", (*first).c_str());
}
+ param = (*first);
}
- break;
- case 's':
- case 'S':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_startKey = OString(s);
- break;
- case 'x':
- case 'X':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_excludeKeys.insert(S2U(s));
- break;
- case 'c':
- case 'C':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_bFullCheck = sal_True;
- break;
- case 'f':
- case 'F':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- }
- m_bForceOutput = sal_True;
- break;
- case 't':
- case 'T':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_bUnoTypeCheck = sal_True;
- break;
- case 'u':
- case 'U':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_checkUnpublished = true;
- break;
- case 'h':
- case '?':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- } else
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- exit(0);
- }
- break;
- default:
- fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
+ else
+ {
+ // "-r<n><param>"
+ param = std::string(&(option[1]), option.size() - 1);
+ }
+ if (!setRegName_Impl(option[0], param))
+ {
+ return badOption("invalid", option.c_str());
+ }
+ break;
}
- } else
- {
- if (av[i][0] == '@')
+ case 's':
+ case 'S':
{
- FILE* cmdFile = fopen(av[i]+1, "r");
- if( cmdFile == NULL )
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- bRet = sal_False;
- } else
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- int rargc=0;
- char* rargv[512];
- char buffer[512];
-
- while ( fscanf(cmdFile, "%s", buffer) != EOF )
- {
- rargv[rargc]= strdup(buffer);
- rargc++;
- }
- fclose(cmdFile);
-
- bRet = initOptions(rargc, rargv, bCmdFile);
-
- for (long j=0; j < rargc; j++)
- {
- free(rargv[j]);
- }
+ return badOption("invalid", (*first).c_str());
+ }
+ m_startKey = makeOUString(*first);
+ break;
+ }
+ case 'x':
+ case 'X':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_excludeKeys.insert(makeOUString(*first));
+ break;
+ }
+ case 'f':
+ case 'F':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bForceOutput = sal_True;
+ break;
+ }
+ case 'c':
+ case 'C':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bFullCheck = sal_True;
+ break;
+ }
+ case 't':
+ case 'T':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bUnoTypeCheck = sal_True;
+ break;
+ }
+ case 'u':
+ case 'U':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
}
- } else
+ m_checkUnpublished = true;
+ break;
+ }
+ case 'h':
+ case '?':
{
- fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ return printUsage();
+ // break; // Unreachable
+ }
+ default:
+ {
+ return badOption("unknown", (*first).c_str());
+ // break; // Unreachable
}
}
}
- if ( bRet )
+ if ( m_regName1.size() == 0 )
{
- if ( m_regName1.getLength() == 0 )
- {
- fprintf(stdout, "%s: missing option '-r1'\n", m_program.getStr());
- bRet = sal_False;
- }
- if ( m_regName2.getLength() == 0 )
- {
- fprintf(stdout, "%s: missing option '-r2'\n", m_program.getStr());
- bRet = sal_False;
- }
+ return badOption("missing", "-r1");
}
-
- return bRet;
-}
-
-OString Options::prepareHelp()
-{
- OString help("\nusing: ");
- help += m_program + " -r1<filename> -r2<filename> [-options] | @<filename>\n";
- help += " -r1<filename> = filename specifies the name of the first registry.\n";
- help += " -r2<filename> = filename specifies the name of the second registry.\n";
- help += " @<filename> = filename specifies a command file.\n";
- help += "Options:\n";
- help += " -s<name> = name specifies the name of a start key. If no start key\n";
- help += " |S<name> is specified the comparison starts with the root key.\n";
- help += " -x<name> = name specifies the name of a key which won't be compared. All\n";
- help += " |X<name> subkeys won't be compared also. This option can be used more than once.\n";
- help += " -f|F = force the detailed output of any diffenrences. Default\n";
- help += " is that only the number of differences is returned.\n";
- help += " -c|C = make a complete check, that means any differences will be\n";
- help += " detected. Default is only a compatibility check that means\n";
- help += " only UNO typelibrary entries will be checked.\n";
- help += " -t|T = make an UNO type compatiblity check. This means that registry 2\n";
- help += " will be checked against registry 1. If a interface in r2 contains\n";
- help += " more methods or the methods are in a different order as in r1, r2 is\n";
- help += " incompatible to r1. But if a service in r2 supports more properties as\n";
- help += " in r1 and the new properties are 'optonal' it is compatible.\n";
- help += " -u|U = additionally check types that are unpublished in registry 1.\n";
- help += " -h|-? = print this help message and exit.\n";
- help += prepareVersion();
-
- return help;
-}
-
-OString Options::prepareVersion()
-{
- OString version("\nSun Microsystems (R) ");
- version += m_program + " Version 1.0\n\n";
- return version;
+ if ( m_regName2.size() == 0 )
+ {
+ return badOption("missing", "-r2");
+ }
+ return true;
}
-sal_Bool Options::matchedWithExcludeKey( const OUString& keyName)
+bool Options_Impl::matchedWithExcludeKey( const OUString& keyName) const
{
- if ( m_excludeKeys.empty() )
- return sal_False;
-
- StringSet::const_iterator iter = m_excludeKeys.begin();
- StringSet::const_iterator end = m_excludeKeys.end();
-
- while ( iter != end )
+ if (!m_excludeKeys.empty())
{
- if ( keyName.indexOf(*iter) == 0)
- return sal_True;
-
- ++iter;
+ StringSet::const_iterator first = m_excludeKeys.begin(), last = m_excludeKeys.end();
+ for (; first != last; ++first)
+ {
+ if (keyName.indexOf(*first) == 0)
+ return true;
+ }
}
-
- return sal_False;
+ return false;
}
-static Options options;
-
static char const * getTypeClass(RTTypeClass typeClass)
{
switch (typeClass)
@@ -550,6 +407,7 @@ static char const * getConstValueType(RTConstValue& constValue)
return "NONE";
}
}
+
static void printConstValue(RTConstValue& constValue)
{
switch (constValue.m_type)
@@ -602,9 +460,17 @@ static void printConstValue(RTConstValue& constValue)
}
}
-static sal_uInt32 checkConstValue(const OUString& keyName,
+static void dumpTypeClass(sal_Bool & rbDump, RTTypeClass typeClass, OUString const & keyName)
+{
+ if (rbDump)
+ fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
+ rbDump = sal_False;
+}
+
+static sal_uInt32 checkConstValue(Options_Impl const & options,
+ const OUString& keyName,
RTTypeClass typeClass,
- sal_Bool& bDump,
+ sal_Bool & bDump,
RTConstValue& constValue1,
RTConstValue& constValue2,
sal_uInt16 index1)
@@ -618,11 +484,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %s != Value2 = %s\n", index1,
constValue1.m_value.aBool ? "TRUE" : "FALSE",
constValue2.m_value.aBool ? "TRUE" : "FALSE");
@@ -635,11 +497,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1,
constValue1.m_value.aByte, constValue2.m_value.aByte);
}
@@ -651,11 +509,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1,
constValue1.m_value.aShort, constValue2.m_value.aShort);
}
@@ -667,11 +521,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1,
constValue1.m_value.aUShort, constValue2.m_value.aUShort);
}
@@ -683,11 +533,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %ld != Value2 = %ld\n", index1,
sal::static_int_cast< long >(constValue1.m_value.aLong),
sal::static_int_cast< long >(constValue2.m_value.aLong));
@@ -700,11 +546,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %lu != Value2 = %lu\n", index1,
sal::static_int_cast< unsigned long >(constValue1.m_value.aULong),
sal::static_int_cast< unsigned long >(constValue2.m_value.aULong));
@@ -717,11 +559,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(
stdout, " Field %d: Value1 = %s != Value2 = %s\n",
index1,
@@ -740,11 +578,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(
stdout, " Field %d: Value1 = %s != Value2 = %s\n",
index1,
@@ -769,11 +603,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %f != Value2 = %f\n", index1,
constValue1.m_value.aFloat, constValue2.m_value.aFloat);
}
@@ -785,11 +615,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Value1 = %f != Value2 = %f\n", index1,
constValue1.m_value.aDouble, constValue2.m_value.aDouble);
}
@@ -803,45 +629,37 @@ static sal_uInt32 checkConstValue(const OUString& keyName,
return 0;
}
-static sal_uInt32 checkField(const OUString& keyName,
+static sal_uInt32 checkField(Options_Impl const & options,
+ const OUString& keyName,
RTTypeClass typeClass,
- sal_Bool& bDump,
+ sal_Bool & bDump,
typereg::Reader& reader1,
typereg::Reader& reader2,
sal_uInt16 index1,
sal_uInt16 index2)
{
sal_uInt32 nError = 0;
- if ( reader1.getFieldName(index1) !=
- reader2.getFieldName(index2) )
+ if ( reader1.getFieldName(index1) != reader2.getFieldName(index2) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Name1 = %s != Name2 = %s\n", index1,
U2S(reader1.getFieldName(index1)), U2S(reader2.getFieldName(index2)));
}
nError++;
}
- if ( reader1.getFieldTypeName(index1) !=
- reader2.getFieldTypeName(index2) )
+ if ( reader1.getFieldTypeName(index1) != reader2.getFieldTypeName(index2) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Type1 = %s != Type2 = %s\n", index1,
U2S(reader1.getFieldTypeName(index1)), U2S(reader2.getFieldTypeName(index2)));
}
nError++;
- } else
+ }
+ else
{
RTConstValue constValue1 = reader1.getFieldValue(index1);
RTConstValue constValue2 = reader2.getFieldValue(index2);
@@ -849,11 +667,7 @@ static sal_uInt32 checkField(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Access1 = %s != Access2 = %s\n", index1,
getConstValueType(constValue1), getConstValueType(constValue2));
fprintf(stdout, " Field %d: Value1 = ", index1);
@@ -863,9 +677,10 @@ static sal_uInt32 checkField(const OUString& keyName,
fprintf(stdout, "\n;");
}
nError++;
- } else
+ }
+ else
{
- nError += checkConstValue(keyName, typeClass, bDump, constValue1, constValue2, index1);
+ nError += checkConstValue(options, keyName, typeClass, bDump, constValue1, constValue2, index1);
}
}
@@ -873,11 +688,7 @@ static sal_uInt32 checkField(const OUString& keyName,
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Field %d: FieldAccess1 = %s != FieldAccess2 = %s\n", index1,
getFieldAccess(reader1.getFieldFlags(index1)).getStr(),
getFieldAccess(reader1.getFieldFlags(index2)).getStr());
@@ -885,16 +696,11 @@ static sal_uInt32 checkField(const OUString& keyName,
nError++;
}
- if ( options.fullCheck() &&
- (reader1.getFieldDocumentation(index1) != reader2.getFieldDocumentation(index2)) )
+ if ( options.fullCheck() && (reader1.getFieldDocumentation(index1) != reader2.getFieldDocumentation(index2)) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Field %d: Doku1 = %s\n Doku2 = %s\n", index1,
U2S(reader1.getFieldDocumentation(index1)), U2S(reader2.getFieldDocumentation(index2)));
}
@@ -935,24 +741,20 @@ static char const * getParamMode(RTParamMode paramMode)
}
}
-static sal_uInt32 checkMethod(const OUString& keyName,
+static sal_uInt32 checkMethod(Options_Impl const & options,
+ const OUString& keyName,
RTTypeClass typeClass,
- sal_Bool& bDump,
+ sal_Bool & bDump,
typereg::Reader& reader1,
typereg::Reader& reader2,
sal_uInt16 index)
{
sal_uInt32 nError = 0;
- if ( reader1.getMethodName(index) !=
- reader2.getMethodName(index) )
+ if ( reader1.getMethodName(index) != reader2.getMethodName(index) )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method1 %d: Name1 = %s != Name2 = %s\n", index,
U2S(reader1.getMethodName(index)),
U2S(reader2.getMethodName(index)));
@@ -960,16 +762,11 @@ static sal_uInt32 checkMethod(const OUString& keyName,
nError++;
}
- if ( reader1.getMethodReturnTypeName(index) !=
- reader2.getMethodReturnTypeName(index) )
+ if ( reader1.getMethodReturnTypeName(index) != reader2.getMethodReturnTypeName(index) )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method1 %d: ReturnType1 = %s != ReturnType2 = %s\n", index,
U2S(reader1.getMethodReturnTypeName(index)),
U2S(reader2.getMethodReturnTypeName(index)));
@@ -983,11 +780,7 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d : nParameters1 = %d != nParameters2 = %d\n", index, nParams1, nParams2);
}
nError++;
@@ -999,27 +792,18 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d, Parameter %d: Type1 = %s != Type2 = %s\n", index, i,
U2S(reader1.getMethodParameterTypeName(index, i)),
U2S(reader2.getMethodParameterTypeName(index, i)));
}
nError++;
}
- if ( options.fullCheck() &&
- (reader1.getMethodParameterName(index, i) != reader2.getMethodParameterName(index, i)) )
+ if ( options.fullCheck() && (reader1.getMethodParameterName(index, i) != reader2.getMethodParameterName(index, i)) )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d, Parameter %d: Name1 = %s != Name2 = %s\n", index, i,
U2S(reader1.getMethodParameterName(index, i)),
U2S(reader2.getMethodParameterName(index, i)));
@@ -1030,11 +814,7 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d, Parameter %d: Mode1 = %s != Mode2 = %s\n", index, i,
getParamMode(reader1.getMethodParameterFlags(index, i)),
getParamMode(reader2.getMethodParameterFlags(index, i)));
@@ -1044,20 +824,12 @@ static sal_uInt32 checkMethod(const OUString& keyName,
}
if ( i < nParams1 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Registry1: Method %d contains %d more parameters\n", index, nParams1 - i);
}
if ( i < nParams2 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Registry2: Method %d contains %d more parameters\n", index, nParams2 - i);
}
@@ -1067,11 +839,7 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " nExceptions1 = %d != nExceptions2 = %d\n", nExcep1, nExcep2);
}
nError++;
@@ -1082,11 +850,7 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d, Exception %d: Name1 = %s != Name2 = %s\n", index, i,
U2S(reader1.getMethodExceptionTypeName(index, i)),
U2S(reader2.getMethodExceptionTypeName(index, i)));
@@ -1096,20 +860,12 @@ static sal_uInt32 checkMethod(const OUString& keyName,
}
if ( i < nExcep1 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Registry1: Method %d contains %d more exceptions\n", index, nExcep1 - i);
}
if ( i < nExcep2 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Registry2: Method %d contains %d more exceptions\n", index, nExcep2 - i);
}
@@ -1117,11 +873,7 @@ static sal_uInt32 checkMethod(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d: Mode1 = %s != Mode2 = %s\n", index,
getMethodMode(reader1.getMethodFlags(index)),
getMethodMode(reader2.getMethodFlags(index)));
@@ -1129,16 +881,11 @@ static sal_uInt32 checkMethod(const OUString& keyName,
nError++;
}
- if ( options.fullCheck() &&
- (reader1.getMethodDocumentation(index) != reader2.getMethodDocumentation(index)) )
+ if ( options.fullCheck() && (reader1.getMethodDocumentation(index) != reader2.getMethodDocumentation(index)) )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Method %d: Doku1 = %s\n Doku2 = %s\n", index,
U2S(reader1.getMethodDocumentation(index)),
U2S(reader2.getMethodDocumentation(index)));
@@ -1165,73 +912,54 @@ static char const * getReferenceType(RTReferenceType refType)
}
}
-static sal_uInt32 checkReference(const OUString& keyName,
+static sal_uInt32 checkReference(Options_Impl const & options,
+ const OUString& keyName,
RTTypeClass typeClass,
- sal_Bool& bDump,
+ sal_Bool & bDump,
typereg::Reader& reader1,
typereg::Reader& reader2,
sal_uInt16 index1,
sal_uInt16 index2)
{
sal_uInt32 nError = 0;
- if ( reader1.getReferenceTypeName(index1) !=
- reader2.getReferenceTypeName(index2) )
+ if ( reader1.getReferenceTypeName(index1) != reader2.getReferenceTypeName(index2) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Reference %d: Name1 = %s != Name2 = %s\n", index1,
U2S(reader1.getReferenceTypeName(index1)),
U2S(reader2.getReferenceTypeName(index2)));
}
nError++;
}
- if ( reader1.getReferenceTypeName(index1) !=
- reader2.getReferenceTypeName(index2) )
+ if ( reader1.getReferenceTypeName(index1) != reader2.getReferenceTypeName(index2) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Reference %d: Type1 = %s != Type2 = %s\n", index1,
getReferenceType(reader1.getReferenceSort(index1)),
getReferenceType(reader2.getReferenceSort(index2)));
}
nError++;
}
- if ( options.fullCheck() &&
- (reader1.getReferenceDocumentation(index1) != reader2.getReferenceDocumentation(index2)) )
+ if ( options.fullCheck() && (reader1.getReferenceDocumentation(index1) != reader2.getReferenceDocumentation(index2)) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Reference %d: Doku1 = %s\n Doku2 = %s\n", index1,
U2S(reader1.getReferenceDocumentation(index1)),
U2S(reader2.getReferenceDocumentation(index2)));
}
nError++;
}
- if ( reader1.getReferenceFlags(index1) !=
- reader2.getReferenceFlags(index2) )
+ if ( reader1.getReferenceFlags(index1) != reader2.getReferenceFlags(index2) )
{
if ( options.forceOutput() && !options.unoTypeCheck() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " Reference %d: Access1 = %s != Access2 = %s\n", index1,
getFieldAccess(reader1.getReferenceFlags(index1)).getStr(),
getFieldAccess(reader1.getReferenceFlags(index2)).getStr());
@@ -1241,9 +969,10 @@ static sal_uInt32 checkReference(const OUString& keyName,
return nError;
}
-static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
+static sal_uInt32 checkFieldsWithoutOrder(Options_Impl const & options,
+ const OUString& keyName,
RTTypeClass typeClass,
- sal_Bool& bDump,
+ sal_Bool & bDump,
typereg::Reader& reader1,
typereg::Reader& reader2)
{
@@ -1257,13 +986,9 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
- fprintf(stdout, " %s1 contains %d more properties as %s2\n",
- getTypeClass(typeClass), nFields1-nFields2, getTypeClass(typeClass));
+ dumpTypeClass (bDump, typeClass, keyName);
+ fprintf(stdout, " %s1 contains %d more properties as %s2\n",
+ getTypeClass(typeClass), nFields1-nFields2, getTypeClass(typeClass));
}
}
@@ -1274,7 +999,7 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
{
for (j=0; j < nFields2; j++)
{
- if (!checkField(keyName, typeClass, bDump, reader1, reader2, i, j))
+ if (!checkField(options, keyName, typeClass, bDump, reader1, reader2, i, j))
{
bFound = sal_True;
moreProps.insert(j);
@@ -1285,16 +1010,13 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
{
if (options.forceOutput())
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass (bDump, typeClass, keyName);
fprintf(stdout, " incompatible change: Field %d ('%s') of r1 is not longer a property of this %s in r2\n",
i, U2S(shortName(reader1.getFieldName(i))), getTypeClass(typeClass));
}
nError++;
- } else
+ }
+ else
{
bFound = sal_False;
}
@@ -1310,12 +1032,10 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
- fprintf(stdout, " incompatible change: Field %d ('%s') of r2 is a new property compared to this %s in r1 and is not 'optional'\n",
+ dumpTypeClass (bDump, typeClass, keyName);
+ fprintf(stdout,
+ " incompatible change: Field %d ('%s') of r2 is a new property"
+ " compared to this %s in r1 and is not 'optional'\n",
j, U2S(shortName(reader2.getFieldName(j))), getTypeClass(typeClass));
}
nError++;
@@ -1327,8 +1047,11 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName,
return nError;
}
-static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, sal_uInt32 size1,
- typereg::Reader& reader2, sal_uInt32 size2)
+static sal_uInt32 checkBlob(
+ Options_Impl const & options,
+ const OUString& keyName,
+ typereg::Reader& reader1, sal_uInt32 size1,
+ typereg::Reader& reader2, sal_uInt32 size2)
{
sal_uInt32 nError = 0;
sal_Bool bDump = sal_True;
@@ -1343,28 +1066,27 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
sal::static_int_cast< unsigned long >(size2));
}
}
- if (reader1.isPublished()) {
- if (!reader2.isPublished()) {
- if (options.forceOutput()) {
- if (bDump) {
- fprintf(stdout, "?: %s\n", U2S(keyName));
- bDump = false;
- }
+ if (reader1.isPublished())
+ {
+ if (!reader2.isPublished())
+ {
+ if (options.forceOutput())
+ {
+ dumpTypeClass(bDump, /*"?"*/ reader1.getTypeClass(), keyName);
fprintf(stdout, " published in 1 but unpublished in 2\n");
}
++nError;
}
- } else if (!options.checkUnpublished()) {
+ }
+ else if (!options.checkUnpublished())
+ {
return nError;
}
if ( reader1.getTypeClass() != reader2.getTypeClass() )
{
if ( options.forceOutput() )
{
- if (bDump) {
- fprintf(stdout, "?: %s\n", U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, /*"?"*/ reader1.getTypeClass(), keyName);
fprintf(stdout, " TypeClass1 = %s != TypeClass2 = %s\n",
getTypeClass(reader1.getTypeClass()),
getTypeClass(reader2.getTypeClass()));
@@ -1373,16 +1095,11 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
}
RTTypeClass typeClass = reader1.getTypeClass();
-
if ( reader1.getTypeName() != reader2.getTypeName() )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " TypeName1 = %s != TypeName2 = %s\n",
U2S(reader1.getTypeName()), U2S(reader2.getTypeName()));
}
@@ -1392,28 +1109,23 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
typeClass == RT_TYPE_STRUCT ||
typeClass == RT_TYPE_EXCEPTION) )
{
- if (reader1.getSuperTypeCount() != reader2.getSuperTypeCount()) {
- if (bDump) {
- fprintf(
- stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = false;
- }
+ if (reader1.getSuperTypeCount() != reader2.getSuperTypeCount())
+ {
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(
stdout, " SuperTypeCount1 = %d != SuperTypeCount2 = %d\n",
static_cast< int >(reader1.getSuperTypeCount()),
static_cast< int >(reader2.getSuperTypeCount()));
++nError;
- } else {
- for (sal_Int16 i = 0; i < reader1.getSuperTypeCount(); ++i) {
+ } else
+ {
+ for (sal_Int16 i = 0; i < reader1.getSuperTypeCount(); ++i)
+ {
if (reader1.getSuperTypeName(i) != reader2.getSuperTypeName(i))
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " SuperTypeName1 = %s != SuperTypeName2 = %s\n",
U2S(reader1.getSuperTypeName(i)), U2S(reader2.getSuperTypeName(i)));
}
@@ -1422,6 +1134,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
}
}
}
+
sal_uInt16 nFields1 = (sal_uInt16)reader1.getFieldCount();
sal_uInt16 nFields2 = (sal_uInt16)reader2.getFieldCount();
sal_Bool bCheckNormal = sal_True;
@@ -1439,41 +1152,31 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " nFields1 = %d != nFields2 = %d\n", nFields1, nFields2);
}
nError++;
}
+
sal_uInt16 i;
for (i=0; i < nFields1 && i < nFields2; i++)
{
- nError += checkField(keyName, typeClass, bDump, reader1, reader2, i, i);
+ nError += checkField(options, keyName, typeClass, bDump, reader1, reader2, i, i);
}
if ( i < nFields1 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Registry1 contains %d more fields\n", nFields1 - i);
}
if ( i < nFields2 && options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Registry2 contains %d more fields\n", nFields2 - i);
}
- } else
+ }
+ else
{
- nError += checkFieldsWithoutOrder(keyName, typeClass, bDump, reader1, reader2);
+ nError += checkFieldsWithoutOrder(options, keyName, typeClass, bDump, reader1, reader2);
}
if ( typeClass == RT_TYPE_INTERFACE )
@@ -1484,19 +1187,16 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " nMethods1 = %d != nMethods2 = %d\n", nMethods1, nMethods2);
}
nError++;
}
+
sal_uInt16 i;
for (i=0; i < nMethods1 && i < nMethods2; i++)
{
- nError += checkMethod(keyName, typeClass, bDump, reader1, reader2, i);
+ nError += checkMethod(options, keyName, typeClass, bDump, reader1, reader2, i);
}
if ( i < nMethods1 && options.forceOutput() )
{
@@ -1520,11 +1220,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " service1 contains %d more references as service2\n",
nReference1-nReference2);
}
@@ -1537,7 +1233,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
for (j=0; j < nReference2; j++)
{
- if (!checkReference(keyName, typeClass, bDump, reader1, reader2, i, j))
+ if (!checkReference(options, keyName, typeClass, bDump, reader1, reader2, i, j))
{
bFound = sal_True;
moreReferences.insert(j);
@@ -1548,16 +1244,15 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if (options.forceOutput())
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
- fprintf(stdout, " incompatible change: Reference %d ('%s') in 'r1' is not longer a reference of this service in 'r2'\n",
+ dumpTypeClass(bDump, typeClass, keyName);
+ fprintf(stdout,
+ " incompatible change: Reference %d ('%s') in 'r1' is not longer a reference"
+ " of this service in 'r2'\n",
i, U2S(shortName(reader1.getReferenceTypeName(i))));
}
nError++;
- } else
+ }
+ else
{
bFound = sal_False;
}
@@ -1573,12 +1268,10 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
- fprintf(stdout, " incompatible change: Reference %d ('%s') of r2 is a new reference compared to this service in r1 and is not 'optional'\n",
+ dumpTypeClass(bDump, typeClass, keyName);
+ fprintf(stdout,
+ " incompatible change: Reference %d ('%s') of r2 is a new reference"
+ " compared to this service in r1 and is not 'optional'\n",
j, U2S(shortName(reader2.getReferenceTypeName(j))));
}
nError++;
@@ -1586,25 +1279,23 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
}
}
}
- } else
+ }
+ else
{
if ( nReference1 != nReference2 )
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " nReferences1 = %d != nReferences2 = %d\n", nReference1, nReference2);
}
nError++;
}
+
sal_uInt16 i;
for (i=0; i < nReference1 && i < nReference2; i++)
{
- nError += checkReference(keyName, typeClass, bDump, reader1, reader2, i, i);
+ nError += checkReference(options, keyName, typeClass, bDump, reader1, reader2, i, i);
}
if ( i < nReference1 && options.forceOutput() )
{
@@ -1621,38 +1312,19 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s
{
if ( options.forceOutput() )
{
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
+ dumpTypeClass(bDump, typeClass, keyName);
fprintf(stdout, " Doku1 = %s\n Doku2 = %s\n",
U2S(reader1.getDocumentation()), U2S(reader2.getDocumentation()));
}
nError++;
}
-/*
- if ( nError &&
- (!keyName.compareTo(OUString::createFromAscii("/UCR/drafts"), 11) ||
- !keyName.compareTo(OUString::createFromAscii("/drafts"), 7)) )
- {
- if ( options.forceOutput() )
- {
- if ( bDump )
- {
- fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName));
- bDump = sal_False;
- }
- fprintf(stdout, " Note: \"drafts\" type changed incompatible, no effect to the final API\n");
- }
- return 0;
- }
-*/
return nError;
}
-static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType1, sal_uInt32 size1,
- RegistryKey& key2, RegValueType valueType2, sal_uInt32 size2)
+static sal_uInt32 checkValueDifference(
+ Options_Impl const & options,
+ RegistryKey& key1, RegValueType valueType1, sal_uInt32 size1,
+ RegistryKey& key2, RegValueType valueType2, sal_uInt32 size2)
{
OUString tmpName;
sal_uInt32 nError = 0;
@@ -1737,39 +1409,31 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType
if ( bEqual)
{
- RegValue value1 = rtl_allocateMemory(size1);
- RegValue value2 = rtl_allocateMemory(size2);
+ std::vector< sal_uInt8 > value1(size1);
+ key1.getValue(tmpName, &value1[0]);
- key1.getValue(tmpName, value1);
- key2.getValue(tmpName, value2);
-
- bEqual = (rtl_compareMemory(value1, value2, size1) == 0 );
+ std::vector< sal_uInt8 > value2(size2);
+ key2.getValue(tmpName, &value2[0]);
+ bEqual = (rtl_compareMemory(&value1[0], &value2[0], value1.size()) == 0 );
if ( !bEqual && valueType1 == RG_VALUETYPE_BINARY && valueType2 == RG_VALUETYPE_BINARY )
{
- typereg::Reader reader1(
- value1, size1, false, TYPEREG_VERSION_1);
- typereg::Reader reader2(
- value2, size2, false, TYPEREG_VERSION_1);
-
+ typereg::Reader reader1(&value1[0], value1.size(), false, TYPEREG_VERSION_1);
+ typereg::Reader reader2(&value2[0], value2.size(), false, TYPEREG_VERSION_1);
if ( reader1.isValid() && reader2.isValid() )
{
- return checkBlob(key1.getName(), reader1, size1, reader2, size2);
+ return checkBlob(options, key1.getName(), reader1, size1, reader2, size2);
}
}
-
- rtl_freeMemory(value1);
- rtl_freeMemory(value2);
-
if ( bEqual )
{
return 0;
- } else
+ }
+ else
{
if ( options.forceOutput() )
{
- fprintf(stdout, "Difference: key values of key \"%s\" are different\n",
- U2S(key1.getName()));
+ fprintf(stdout, "Difference: key values of key \"%s\" are different\n", U2S(key1.getName()));
}
nError++;
}
@@ -1784,102 +1448,98 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType
fprintf(stdout, " Registry 1: key has no value\n");
break;
case RG_VALUETYPE_LONG:
- case RG_VALUETYPE_STRING:
- case RG_VALUETYPE_UNICODE:
- {
- RegValue value1 = rtl_allocateMemory(size1);
- key1.getValue(tmpName, value1);
-
- switch (valueType1)
{
- case RG_VALUETYPE_LONG:
+ std::vector< sal_uInt8 > value1(size1);
+ key1.getValue(tmpName, &value1[0]);
+
fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONG\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size1));
- fprintf(stdout, " Data = %p\n", value1);
- break;
- case RG_VALUETYPE_STRING:
+ fprintf(stdout, " Data = %p\n", &value1[0]);
+ }
+ break;
+ case RG_VALUETYPE_STRING:
+ {
+ std::vector< sal_uInt8 > value1(size1);
+ key1.getValue(tmpName, &value1[0]);
+
fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRING\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size1));
- fprintf(stdout, " Data = \"%s\"\n", (sal_Char*)value1);
- break;
- case RG_VALUETYPE_UNICODE:
- {
- OUString uStrValue((sal_Unicode*)value1);
+ fprintf(stdout, " Data = \"%s\"\n", reinterpret_cast<char const*>(&value1[0]));
+ }
+ break;
+ case RG_VALUETYPE_UNICODE:
+ {
+ std::vector< sal_uInt8 > value1(size1);
+ key1.getValue(tmpName, &value1[0]);
+
+ OUString uStrValue(reinterpret_cast<sal_Unicode const*>(&value1[0]));
fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODE\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size1));
fprintf(stdout, " Data = \"%s\"\n", U2S(uStrValue));
- }
- break;
- default:
- OSL_ASSERT(false);
- break;
}
-
- rtl_freeMemory(value1);
- }
break;
case RG_VALUETYPE_BINARY:
fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_BINARY\n");
break;
case RG_VALUETYPE_LONGLIST:
{
- RegistryValueList<sal_Int32> valueList;
- key1.getLongListValue(tmpName, valueList);
- fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONGLIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size1));
- sal_uInt32 length = valueList.getLength();
- for (sal_uInt32 i=0; i<length; i++)
- {
+ RegistryValueList<sal_Int32> valueList;
+ key1.getLongListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONGLIST\n");
fprintf(
- stdout, " Data[%lu] = %ld\n",
- sal::static_int_cast< unsigned long >(i),
- sal::static_int_cast< long >(valueList.getElement(i)));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size1));
+ sal_uInt32 length = valueList.getLength();
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ fprintf(
+ stdout, " Data[%lu] = %ld\n",
+ sal::static_int_cast< unsigned long >(i),
+ sal::static_int_cast< long >(valueList.getElement(i)));
+ }
}
break;
case RG_VALUETYPE_STRINGLIST:
{
- RegistryValueList<sal_Char*> valueList;
- key1.getStringListValue(tmpName, valueList);
- fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRINGLIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size1));
- sal_uInt32 length = valueList.getLength();
- for (sal_uInt32 i=0; i<length; i++)
- {
+ RegistryValueList<sal_Char*> valueList;
+ key1.getStringListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRINGLIST\n");
fprintf(
- stdout, " Data[%lu] = \"%s\"\n",
- sal::static_int_cast< unsigned long >(i),
- valueList.getElement(i));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size1));
+ sal_uInt32 length = valueList.getLength();
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ fprintf(
+ stdout, " Data[%lu] = \"%s\"\n",
+ sal::static_int_cast< unsigned long >(i),
+ valueList.getElement(i));
+ }
}
break;
case RG_VALUETYPE_UNICODELIST:
{
- RegistryValueList<sal_Unicode*> valueList;
- key1.getUnicodeListValue(tmpName, valueList);
- fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODELIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size1));
- sal_uInt32 length = valueList.getLength();
- OUString uStrValue;
- for (sal_uInt32 i=0; i<length; i++)
- {
- uStrValue = OUString(valueList.getElement(i));
+ RegistryValueList<sal_Unicode*> valueList;
+ key1.getUnicodeListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODELIST\n");
fprintf(
- stdout, " Data[%lu] = \"%s\"\n",
- sal::static_int_cast< unsigned long >(i), U2S(uStrValue));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size1));
+ sal_uInt32 length = valueList.getLength();
+ OUString uStrValue;
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ uStrValue = OUString(valueList.getElement(i));
+ fprintf(
+ stdout, " Data[%lu] = \"%s\"\n",
+ sal::static_int_cast< unsigned long >(i), U2S(uStrValue));
+ }
}
break;
}
@@ -1890,102 +1550,98 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType
fprintf(stdout, " Registry 2: key has no value\n");
break;
case RG_VALUETYPE_LONG:
- case RG_VALUETYPE_STRING:
- case RG_VALUETYPE_UNICODE:
- {
- RegValue value2 = rtl_allocateMemory(size2);
- key2.getValue(tmpName, value2);
-
- switch (valueType2)
{
- case RG_VALUETYPE_LONG:
+ std::vector< sal_uInt8 > value2(size2);
+ key2.getValue(tmpName, &value2[0]);
+
fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONG\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size2));
- fprintf(stdout, " Data = %p\n", value2);
- break;
- case RG_VALUETYPE_STRING:
+ fprintf(stdout, " Data = %p\n", &value2[0]);
+ }
+ break;
+ case RG_VALUETYPE_STRING:
+ {
+ std::vector< sal_uInt8 > value2(size2);
+ key2.getValue(tmpName, &value2[0]);
+
fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRING\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size2));
- fprintf(stdout, " Data = \"%s\"\n", (sal_Char*)value2);
- break;
- case RG_VALUETYPE_UNICODE:
- {
- OUString uStrValue((sal_Unicode*)value2);
+ fprintf(stdout, " Data = \"%s\"\n", reinterpret_cast<char const*>(&value2[0]));
+ }
+ break;
+ case RG_VALUETYPE_UNICODE:
+ {
+ std::vector< sal_uInt8 > value2(size2);
+ key2.getValue(tmpName, &value2[0]);
+
+ OUString uStrValue(reinterpret_cast<sal_Unicode const*>(&value2[0]));
fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODE\n");
fprintf(
stdout, " Size = %lu\n",
sal::static_int_cast< unsigned long >(size2));
fprintf(stdout, " Data = \"%s\"\n", U2S(uStrValue));
- }
- break;
- default:
- OSL_ASSERT(false);
- break;
}
-
- rtl_freeMemory(value2);
- }
break;
case RG_VALUETYPE_BINARY:
fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_BINARY\n");
break;
case RG_VALUETYPE_LONGLIST:
{
- RegistryValueList<sal_Int32> valueList;
- key2.getLongListValue(tmpName, valueList);
- fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONGLIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size2));
- sal_uInt32 length = valueList.getLength();
- for (sal_uInt32 i=0; i<length; i++)
- {
+ RegistryValueList<sal_Int32> valueList;
+ key2.getLongListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONGLIST\n");
fprintf(
- stdout, " Data[%lu] = %ld\n",
- sal::static_int_cast< unsigned long >(i),
- sal::static_int_cast< long >(valueList.getElement(i)));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size2));
+ sal_uInt32 length = valueList.getLength();
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ fprintf(
+ stdout, " Data[%lu] = %ld\n",
+ sal::static_int_cast< unsigned long >(i),
+ sal::static_int_cast< long >(valueList.getElement(i)));
+ }
}
break;
case RG_VALUETYPE_STRINGLIST:
{
- RegistryValueList<sal_Char*> valueList;
- key2.getStringListValue(tmpName, valueList);
- fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRINGLIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size2));
- sal_uInt32 length = valueList.getLength();
- for (sal_uInt32 i=0; i<length; i++)
- {
+ RegistryValueList<sal_Char*> valueList;
+ key2.getStringListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRINGLIST\n");
fprintf(
- stdout, " Data[%lu] = \"%s\"\n",
- sal::static_int_cast< unsigned long >(i),
- valueList.getElement(i));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size2));
+ sal_uInt32 length = valueList.getLength();
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ fprintf(
+ stdout, " Data[%lu] = \"%s\"\n",
+ sal::static_int_cast< unsigned long >(i),
+ valueList.getElement(i));
+ }
}
break;
case RG_VALUETYPE_UNICODELIST:
{
- RegistryValueList<sal_Unicode*> valueList;
- key2.getUnicodeListValue(tmpName, valueList);
- fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODELIST\n");
- fprintf(
- stdout, " Size = %lu\n",
- sal::static_int_cast< unsigned long >(size2));
- sal_uInt32 length = valueList.getLength();
- OUString uStrValue;
- for (sal_uInt32 i=0; i<length; i++)
- {
- uStrValue = OUString(valueList.getElement(i));
+ RegistryValueList<sal_Unicode*> valueList;
+ key2.getUnicodeListValue(tmpName, valueList);
+ fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODELIST\n");
fprintf(
- stdout, " Data[%lu] = \"%s\"\n",
- sal::static_int_cast< unsigned long >(i), U2S(uStrValue));
- }
+ stdout, " Size = %lu\n",
+ sal::static_int_cast< unsigned long >(size2));
+ sal_uInt32 length = valueList.getLength();
+ OUString uStrValue;
+ for (sal_uInt32 i=0; i<length; i++)
+ {
+ uStrValue = OUString(valueList.getElement(i));
+ fprintf(
+ stdout, " Data[%lu] = \"%s\"\n",
+ sal::static_int_cast< unsigned long >(i), U2S(uStrValue));
+ }
}
break;
}
@@ -1993,58 +1649,67 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType
return nError;
}
-static bool hasPublishedChildren(RegistryKey & key) {
+static bool hasPublishedChildren(Options_Impl const & options, RegistryKey & key)
+{
RegistryKeyNames subKeyNames;
key.getKeyNames(rtl::OUString(), subKeyNames);
- for (sal_uInt32 i = 0; i < subKeyNames.getLength(); ++i) {
+ for (sal_uInt32 i = 0; i < subKeyNames.getLength(); ++i)
+ {
rtl::OUString keyName(subKeyNames.getElement(i));
- if (!options.matchedWithExcludeKey(keyName)) {
+ if (!options.matchedWithExcludeKey(keyName))
+ {
keyName = keyName.copy(keyName.lastIndexOf('/') + 1);
RegistryKey subKey;
- if (!key.openKey(keyName, subKey)) {
- if (options.forceOutput()) {
+ if (!key.openKey(keyName, subKey))
+ {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("WARNING: could not open key \"%s\" in registry"
" \"%s\"\n"),
U2S(subKeyNames.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
}
- if (subKey.isValid()) {
+ if (subKey.isValid())
+ {
RegValueType type;
sal_uInt32 size;
- if (subKey.getValueInfo(rtl::OUString(), &type, &size)
- != REG_NO_ERROR)
+ if (subKey.getValueInfo(rtl::OUString(), &type, &size) != REG_NO_ERROR)
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("WARNING: could not read key \"%s\" in registry"
" \"%s\"\n"),
U2S(subKeyNames.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
- } else if (type == RG_VALUETYPE_BINARY) {
- char * value = new char[size];
+ }
+ else if (type == RG_VALUETYPE_BINARY)
+ {
bool published = false;
- if (subKey.getValue(rtl::OUString(), value) != REG_NO_ERROR)
+ std::vector< sal_uInt8 > value(size);
+ if (subKey.getValue(rtl::OUString(), &value[0]) != REG_NO_ERROR)
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("WARNING: could not read key \"%s\" in"
" registry \"%s\"\n"),
U2S(subKeyNames.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
- } else {
- published = typereg::Reader(
- value, size, false, TYPEREG_VERSION_1).
- isPublished();
}
- delete[] value;
- if (published) {
+ else
+ {
+ published = typereg::Reader(&value[0], value.size(), false, TYPEREG_VERSION_1).isPublished();
+ }
+ if (published)
+ {
return true;
}
}
@@ -2055,7 +1720,9 @@ static bool hasPublishedChildren(RegistryKey & key) {
}
static sal_uInt32 checkDifferences(
- RegistryKey& key, StringSet& keys, RegistryKeyNames& subKeyNames1,
+ Options_Impl const & options,
+ RegistryKey& key, StringSet& keys,
+ RegistryKeyNames& subKeyNames1,
RegistryKeyNames& subKeyNames2)
{
sal_uInt32 nError = 0;
@@ -2082,81 +1749,89 @@ static sal_uInt32 checkDifferences(
if ( options.forceOutput() )
{
fprintf(stdout, "EXISTENCE: key \"%s\" exists only in registry \"%s\"\n",
- U2S(subKeyNames1.getElement(i)), options.getRegName1().getStr());
+ U2S(subKeyNames1.getElement(i)), options.getRegName1().c_str());
}
nError++;
}
else
{
rtl::OUString keyName(subKeyNames1.getElement(i));
- if (!options.matchedWithExcludeKey(keyName)) {
+ if (!options.matchedWithExcludeKey(keyName))
+ {
keyName = keyName.copy(keyName.lastIndexOf('/') + 1);
RegistryKey subKey;
- if (key.openKey(keyName, subKey)) {
- if (options.forceOutput()) {
+ if (key.openKey(keyName, subKey))
+ {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("ERROR: could not open key \"%s\" in registry"
" \"%s\"\n"),
U2S(subKeyNames1.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
++nError;
}
- if (subKey.isValid()) {
+ if (subKey.isValid())
+ {
RegValueType type;
sal_uInt32 size;
- if (subKey.getValueInfo(rtl::OUString(), &type, &size)
- != REG_NO_ERROR)
+ if (subKey.getValueInfo(rtl::OUString(), &type, &size) != REG_NO_ERROR)
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("ERROR: could not read key \"%s\" in"
" registry \"%s\"\n"),
U2S(subKeyNames1.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
++nError;
- } else if (type == RG_VALUETYPE_BINARY) {
- char * value = new char[size];
- if (subKey.getValue(rtl::OUString(), value)
- != REG_NO_ERROR)
+ }
+ else if (type == RG_VALUETYPE_BINARY)
+ {
+ std::vector< sal_uInt8 > value(size);
+ if (subKey.getValue(rtl::OUString(), &value[0]) != REG_NO_ERROR)
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("ERROR: could not read key \"%s\" in"
" registry \"%s\"\n"),
U2S(subKeyNames1.getElement(i)),
- options.getRegName1().getStr());
+ options.getRegName1().c_str());
}
++nError;
- } else {
- typereg::Reader reader(
- value, size, false, TYPEREG_VERSION_1);
- if (reader.getTypeClass() == RT_TYPE_MODULE) {
- if (options.checkUnpublished()
- || hasPublishedChildren(subKey))
+ }
+ else
+ {
+ typereg::Reader reader(&value[0], value.size(), false, TYPEREG_VERSION_1);
+ if (reader.getTypeClass() == RT_TYPE_MODULE)
+ {
+ if (options.checkUnpublished() || hasPublishedChildren(options, subKey))
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("EXISTENCE: module \"%s\""
" %sexists only in registry"
" 1\n"),
- U2S(subKeyNames1.getElement(
- i)),
+ U2S(subKeyNames1.getElement(i)),
(options.checkUnpublished()
? ""
: "with published children "));
}
++nError;
}
- } else if (options.checkUnpublished()
- || reader.isPublished())
+ }
+ else if (options.checkUnpublished() || reader.isPublished())
{
- if (options.forceOutput()) {
+ if (options.forceOutput())
+ {
fprintf(
stdout,
("EXISTENCE: %spublished key \"%s\""
@@ -2167,7 +1842,6 @@ static sal_uInt32 checkDifferences(
++nError;
}
}
- delete[] value;
}
}
}
@@ -2192,7 +1866,7 @@ static sal_uInt32 checkDifferences(
if ( options.forceOutput() )
{
fprintf(stdout, "EXISTENCE: key \"%s\" exists only in registry \"%s\"\n",
- U2S(subKeyNames2.getElement(i)), options.getRegName2().getStr());
+ U2S(subKeyNames2.getElement(i)), options.getRegName2().c_str());
}
nError++;
}
@@ -2200,7 +1874,10 @@ static sal_uInt32 checkDifferences(
return nError;
}
-static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2)
+static sal_uInt32 compareKeys(
+ Options_Impl const & options,
+ RegistryKey& key1,
+ RegistryKey& key2)
{
sal_uInt32 nError = 0;
@@ -2208,16 +1885,17 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2)
RegValueType valueType2 = RG_VALUETYPE_NOT_DEFINED;
sal_uInt32 size1 = 0;
sal_uInt32 size2 = 0;
+
OUString tmpName;
RegError e1 = key1.getValueInfo(tmpName, &valueType1, &size1);
RegError e2 = key2.getValueInfo(tmpName, &valueType2, &size2);
-
- if ( e1 == e2 && e1 != REG_VALUE_NOT_EXISTS && e1 != REG_INVALID_VALUE )
+ if ( (e1 == e2) && (e1 != REG_VALUE_NOT_EXISTS) && (e1 != REG_INVALID_VALUE) )
{
- nError += checkValueDifference(key1, valueType1, size1, key2, valueType2, size2);
- } else
+ nError += checkValueDifference(options, key1, valueType1, size1, key2, valueType2, size2);
+ }
+ else
{
- if ( e1 != REG_INVALID_VALUE || e2 != REG_INVALID_VALUE )
+ if ( (e1 != REG_INVALID_VALUE) || (e2 != REG_INVALID_VALUE) )
{
if ( options.forceOutput() )
{
@@ -2234,16 +1912,14 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2)
key2.getKeyNames(tmpName, subKeyNames2);
StringSet keys;
- nError += checkDifferences(key1, keys, subKeyNames1, subKeyNames2);
+ nError += checkDifferences(options, key1, keys, subKeyNames1, subKeyNames2);
StringSet::iterator iter = keys.begin();
StringSet::iterator end = keys.end();
- RegistryKey subKey1, subKey2;
- OUString keyName;
while ( iter != end )
{
- keyName = OUString(*iter);
+ OUString keyName(*iter);
if ( options.matchedWithExcludeKey(keyName) )
{
++iter;
@@ -2252,30 +1928,33 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2)
sal_Int32 nPos = keyName.lastIndexOf( '/' );
keyName = keyName.copy( nPos != -1 ? nPos+1 : 0 );
+
+ RegistryKey subKey1;
if ( key1.openKey(keyName, subKey1) )
{
if ( options.forceOutput() )
{
fprintf(stdout, "ERROR: could not open key \"%s\" in registry \"%s\"\n",
- U2S(*iter), options.getRegName1().getStr());
+ U2S(*iter), options.getRegName1().c_str());
}
nError++;
}
+
+ RegistryKey subKey2;
if ( key2.openKey(keyName, subKey2) )
{
if ( options.forceOutput() )
{
fprintf(stdout, "ERROR: could not open key \"%s\" in registry \"%s\"\n",
- U2S(*iter), options.getRegName2().getStr());
+ U2S(*iter), options.getRegName2().c_str());
}
nError++;
}
+
if ( subKey1.isValid() && subKey2.isValid() )
{
- nError += compareKeys(subKey1, subKey2);
+ nError += compareKeys(options, subKey1, subKey2);
}
- subKey1.releaseKey();
- subKey2.releaseKey();
++iter;
}
@@ -2288,93 +1967,107 @@ int main( int argc, char * argv[] )
int _cdecl main( int argc, char * argv[] )
#endif
{
- if ( !options.initOptions(argc, argv) )
+ std::vector< std::string > args;
+
+ Options_Impl options(argv[0]);
+ for (int i = 1; i < argc; i++)
{
- exit(1);
+ if (!Options::checkArgument(args, argv[i], strlen(argv[i])))
+ {
+ // failure.
+ options.printUsage();
+ return (1);
+ }
+ }
+ if (!options.initOptions(args))
+ {
+ return (1);
}
- OUString regName1( convertToFileUrl(options.getRegName1()) );
- OUString regName2( convertToFileUrl(options.getRegName2()) );
-
- Registry reg1;
- Registry reg2;
+ OUString regName1( convertToFileUrl(options.getRegName1().c_str(), options.getRegName1().size()) );
+ OUString regName2( convertToFileUrl(options.getRegName2().c_str(), options.getRegName2().size()) );
+ Registry reg1, reg2;
if ( reg1.open(regName1, REG_READONLY) )
{
fprintf(stdout, "%s: open registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName1().getStr());
- exit(2);
+ options.getProgramName().c_str(), options.getRegName1().c_str());
+ return (2);
}
if ( reg2.open(regName2, REG_READONLY) )
{
fprintf(stdout, "%s: open registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName2().getStr());
- exit(3);
+ options.getProgramName().c_str(), options.getRegName2().c_str());
+ return (3);
}
RegistryKey key1, key2;
if ( reg1.openRootKey(key1) )
{
fprintf(stdout, "%s: open root key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName1().getStr());
- exit(4);
+ options.getProgramName().c_str(), options.getRegName1().c_str());
+ return (4);
}
if ( reg2.openRootKey(key2) )
{
fprintf(stdout, "%s: open root key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName2().getStr());
- exit(5);
+ options.getProgramName().c_str(), options.getRegName2().c_str());
+ return (5);
}
+
if ( options.isStartKeyValid() )
{
- if ( options.matchedWithExcludeKey( S2U(options.getStartKey()) ) )
+ if ( options.matchedWithExcludeKey( options.getStartKey() ) )
{
fprintf(stdout, "%s: start key is equal to one of the exclude keys\n",
- options.getProgramName().getStr());
- exit(6);
+ options.getProgramName().c_str());
+ return (6);
}
RegistryKey sk1, sk2;
- if ( key1.openKey(S2U(options.getStartKey()), sk1) )
+ if ( key1.openKey(options.getStartKey(), sk1) )
{
fprintf(stdout, "%s: open start key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName1().getStr());
- exit(7);
+ options.getProgramName().c_str(), options.getRegName1().c_str());
+ return (7);
}
- if ( key2.openKey(S2U(options.getStartKey()), sk2) )
+ if ( key2.openKey(options.getStartKey(), sk2) )
{
fprintf(stdout, "%s: open start key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName2().getStr());
- exit(8);
+ options.getProgramName().c_str(), options.getRegName2().c_str());
+ return (8);
}
key1 = sk1;
key2 = sk2;
}
- sal_uInt32 nError = compareKeys(key1, key2);
+ sal_uInt32 nError = compareKeys(options, key1, key2);
if ( nError )
{
if ( options.unoTypeCheck() )
{
fprintf(stdout, "%s: registries are incompatible: %lu differences!\n",
- options.getProgramName().getStr(),
+ options.getProgramName().c_str(),
sal::static_int_cast< unsigned long >(nError));
- } else
+ }
+ else
{
fprintf(stdout, "%s: registries contain %lu differences!\n",
- options.getProgramName().getStr(),
+ options.getProgramName().c_str(),
sal::static_int_cast< unsigned long >(nError));
}
- } else
+ }
+ else
{
if ( options.unoTypeCheck() )
{
fprintf(stdout, "%s: registries are compatible!\n",
- options.getProgramName().getStr());
- } else
+ options.getProgramName().c_str());
+ }
+ else
{
fprintf(stdout, "%s: registries are equal!\n",
- options.getProgramName().getStr());
+ options.getProgramName().c_str());
}
}
@@ -2383,17 +2076,15 @@ int _cdecl main( int argc, char * argv[] )
if ( reg1.close() )
{
fprintf(stdout, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName1().getStr());
- exit(9);
+ options.getProgramName().c_str(), options.getRegName1().c_str());
+ return (9);
}
if ( reg2.close() )
{
fprintf(stdout, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName2().getStr());
- exit(10);
+ options.getProgramName().c_str(), options.getRegName2().c_str());
+ return (10);
}
- return nError > 0 ? 11 : 0;
+ return ((nError > 0) ? 11 : 0);
}
-
-
diff --git a/registry/tools/regmerge.cxx b/registry/tools/regmerge.cxx
index 06786a9b993e..6ca47a18c795 100644
--- a/registry/tools/regmerge.cxx
+++ b/registry/tools/regmerge.cxx
@@ -28,70 +28,35 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_registry.hxx"
-#include <stdio.h>
-#include <string.h>
-
#include "registry/registry.hxx"
-#include <rtl/ustring.hxx>
-#include <rtl/alloc.h>
-#include <osl/process.h>
-#include <osl/diagnose.h>
-#include <osl/thread.h>
-#include <osl/file.hxx>
+#include "fileurl.hxx"
+#include "options.hxx"
-#ifdef SAL_UNX
-#define SEPARATOR '/'
-#else
-#define SEPARATOR '\\'
-#endif
+#include "rtl/ustring.hxx"
+#include "osl/diagnose.h"
-using namespace ::rtl;
-using namespace ::osl;
+#include <stdio.h>
+#include <string.h>
-sal_Bool isFileUrl(const OString& fileName)
-{
- if (fileName.indexOf("file://") == 0 )
- return sal_True;
- return sal_False;
-}
+using namespace rtl;
+using namespace registry::tools;
-OUString convertToFileUrl(const OString& fileName)
+class Options_Impl : public Options
{
- if ( isFileUrl(fileName) )
- {
- return OStringToOUString(fileName, osl_getThreadTextEncoding());
- }
-
- OUString uUrlFileName;
- OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding());
- if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 )
- {
- OUString uWorkingDir;
- if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
- {
- OSL_ASSERT(false);
- }
- if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- } else
- {
- if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- }
+ bool m_bVerbose;
- return uUrlFileName;
-}
+public:
+ explicit Options_Impl (char const * program)
+ : Options(program), m_bVerbose(false)
+ {}
+ bool isVerbose() const { return m_bVerbose; }
-int realargc;
-char* realargv[2048];
+protected:
+ virtual void printUsage_Impl() const;
+ virtual bool initOptions_Impl(std::vector< std::string > & rArgs);
+};
-static void dumpHelp()
+void Options_Impl::printUsage_Impl() const
{
fprintf(stderr, "using: regmerge [-v|--verbose] mergefile mergeKeyName regfile_1 ... regfile_n\n");
fprintf(stderr, " regmerge @regcmds\nOptions:\n");
@@ -103,180 +68,112 @@ static void dumpHelp()
fprintf(stderr, " regfile_1..n : specifies one or more registry files which are merged.\n");
}
-static bool checkCommandFile(char* cmdfile)
+bool Options_Impl::initOptions_Impl (std::vector< std::string > & rArgs)
{
- FILE *commandfile;
- char option[256];
- bool bVerbose = false;
-
- commandfile = fopen(cmdfile+1, "r");
- if( commandfile == NULL )
- {
- fprintf(stderr, "ERROR: Can't open command file \"%s\"\n", cmdfile);
- } else
+ std::vector< std::string >::iterator first = rArgs.begin(), last = rArgs.end();
+ if ((first != last) && ((*first)[0] == '-'))
{
- while ( fscanf(commandfile, "%s", option) != EOF )
+ std::string option(*first);
+ if ((option.compare("-v") == 0) || (option.compare("--verbose") == 0))
{
- if (option[0]== '@')
- {
- bool bRet = checkCommandFile(option);
- // ensure that the option will not be overwritten
- if ( !bRet )
- bVerbose = bRet;
- } else {
- if (option[0]== '-') {
- if (strncmp(option, "-v", 2) == 0 ||
- strncmp(option, "--verbose", 9) == 0)
- {
- bVerbose = true;
- } else {
- fprintf(stderr, "ERROR: unknown option \"%s\"\n", option);
- dumpHelp();
- exit(-1);
- }
- }else
- {
- realargv[realargc]= strdup(option);
- realargc++;
- }
- }
- if (realargc == 2047)
- {
- fprintf(stderr, "ERROR: more than 2048 arguments.\n");
- break;
- }
+ m_bVerbose = true;
}
- fclose(commandfile);
- }
-
- return bVerbose;
-}
-
-static bool checkCommandArgs(int argc, char **argv)
-{
- bool bVerbose = false;
-
- realargc = 0;
-
- for (int i=0; i<argc; i++)
- {
- if (argv[i][0]== '@')
+ else if ((option.compare("-h") == 0) || (option.compare("-?") == 0))
{
- bool bRet = checkCommandFile(argv[i]);
- // ensure that the option will not be overwritten
- if ( !bRet )
- bVerbose = bRet;
- } else {
- if (argv[i][0]== '-') {
- if (strncmp(argv[i], "-v", 2) == 0 ||
- strncmp(argv[i], "--verbose", 9) == 0)
- {
- bVerbose = true;
- } else {
- fprintf(stderr, "ERROR: unknown option \"%s\"\n", argv[i]);
- dumpHelp();
- exit(-1);
- }
- } else
- {
- realargv[realargc]= strdup(argv[i]);
- realargc++;
- }
+ return printUsage();
}
+ else
+ {
+ return badOption("unknown", option.c_str());
+ }
+ (void) rArgs.erase(first);
}
-
- return bVerbose;
-}
-
-static void cleanCommandArgs()
-{
- for (int i=0; i<realargc; i++)
- {
- free(realargv[i]);
- }
+ return true;
}
-
-
#if (defined UNX) || (defined OS2)
int main( int argc, char * argv[] )
#else
int _cdecl main( int argc, char * argv[] )
#endif
{
- bool bVerbose = checkCommandArgs(argc, argv);
+ Options_Impl options(argv[0]);
- if (realargc < 4)
+ std::vector< std::string > args;
+ for (int i = 1; i < argc; i++)
{
- dumpHelp();
- cleanCommandArgs();
- exit(1);
+ if (!Options::checkArgument(args, argv[i], strlen(argv[i])))
+ {
+ options.printUsage();
+ return (1);
+ }
+ }
+ if (!options.initOptions(args))
+ {
+ return (1);
+ }
+ if (args.size() < 3)
+ {
+ options.printUsage();
+ return (1);
}
-
- ::rtl::OUString regName( convertToFileUrl(realargv[1]) );
Registry reg;
+ OUString regName( convertToFileUrl(args[0].c_str(), args[0].size()) );
if (reg.open(regName, REG_READWRITE) != REG_NO_ERROR)
{
if (reg.create(regName) != REG_NO_ERROR)
{
- if (bVerbose)
- fprintf(stderr, "open registry \"%s\" failed\n", realargv[1]);
- cleanCommandArgs();
- exit(-1);
+ if (options.isVerbose())
+ fprintf(stderr, "open registry \"%s\" failed\n", args[0].c_str());
+ return (-1);
}
}
RegistryKey rootKey;
- if (reg.openRootKey(rootKey) == REG_NO_ERROR)
+ if (reg.openRootKey(rootKey) != REG_NO_ERROR)
{
- ::rtl::OUString mergeKeyName( ::rtl::OUString::createFromAscii(realargv[2]) );
- ::rtl::OUString targetRegName;
- for (int i = 3; i < realargc; i++)
+ if (options.isVerbose())
+ fprintf(stderr, "open root key of registry \"%s\" failed\n", args[0].c_str());
+ return (-4);
+ }
+
+ OUString mergeKeyName( OUString::createFromAscii(args[1].c_str()) );
+ for (size_t i = 2; i < args.size(); i++)
+ {
+ OUString targetRegName( convertToFileUrl(args[i].c_str(), args[i].size()) );
+ RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, options.isVerbose());
+ if (_ret != REG_NO_ERROR)
{
- targetRegName = convertToFileUrl(realargv[i]);
- RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, bVerbose);
- if (_ret != REG_NO_ERROR)
- {
- if (_ret == REG_MERGE_CONFLICT)
- {
- if (bVerbose)
- fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
- realargv[i], realargv[2], realargv[1]);
- } else
- {
- if (bVerbose)
- fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n",
- realargv[i], realargv[2], realargv[1]);
- exit(-2);
- }
- } else
+ if (_ret == REG_MERGE_CONFLICT)
{
- if (bVerbose)
+ if (options.isVerbose())
fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
- realargv[i], realargv[2], realargv[1]);
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ }
+ else
+ {
+ if (options.isVerbose())
+ fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n",
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ return (-2);
}
}
-
- rootKey.releaseKey();
- } else
- {
- if (bVerbose)
- fprintf(stderr, "open root key of registry \"%s\" failed\n",
- realargv[1]);
- exit(-4);
+ else
+ {
+ if (options.isVerbose())
+ fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ }
}
+ rootKey.releaseKey();
if (reg.close() != REG_NO_ERROR)
{
- if (bVerbose)
- fprintf(stderr, "closing registry \"%s\" failed\n", realargv[1]);
- cleanCommandArgs();
- exit(-5);
+ if (options.isVerbose())
+ fprintf(stderr, "closing registry \"%s\" failed\n", args[0].c_str());
+ return (-5);
}
- cleanCommandArgs();
return(0);
}
-
-
diff --git a/registry/tools/regview.cxx b/registry/tools/regview.cxx
index 4e478e8985db..4c588449a1d8 100644
--- a/registry/tools/regview.cxx
+++ b/registry/tools/regview.cxx
@@ -28,65 +28,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_registry.hxx"
-#include <stdio.h>
-
#include "registry/registry.h"
-#include <rtl/ustring.hxx>
-#include <rtl/alloc.h>
-#include <osl/process.h>
-#include <osl/diagnose.h>
-#include <osl/thread.h>
-#include <osl/file.hxx>
-
-#ifdef SAL_UNX
-#define SEPARATOR '/'
-#else
-#define SEPARATOR '\\'
-#endif
-
-using namespace ::rtl;
-using namespace ::osl;
-
-sal_Bool isFileUrl(const OString& fileName)
-{
- if (fileName.indexOf("file://") == 0 )
- return sal_True;
- return sal_False;
-}
+#include "fileurl.hxx"
-OUString convertToFileUrl(const OString& fileName)
-{
- if ( isFileUrl(fileName) )
- {
- return OStringToOUString(fileName, osl_getThreadTextEncoding());
- }
+#include "rtl/ustring.hxx"
- OUString uUrlFileName;
- OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding());
- if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 )
- {
- OUString uWorkingDir;
- if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None)
- {
- OSL_ASSERT(false);
- }
- if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- } else
- {
- if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName)
- != FileBase::E_None)
- {
- OSL_ASSERT(false);
- }
- }
-
- return uUrlFileName;
-}
+#include <stdio.h>
+#include <string.h>
+using rtl::OUString;
+using namespace registry::tools;
#if (defined UNX) || (defined OS2)
int main( int argc, char * argv[] )
@@ -103,7 +54,7 @@ int _cdecl main( int argc, char * argv[] )
exit(1);
}
- OUString regName( convertToFileUrl(argv[1]) );
+ OUString regName( convertToFileUrl(argv[1], strlen(argv[1])) );
if (reg_openRegistry(regName.pData, &hReg, REG_READONLY))
{
fprintf(stderr, "open registry \"%s\" failed\n", argv[1]);
@@ -127,12 +78,14 @@ int _cdecl main( int argc, char * argv[] )
fprintf(stderr, "closing key \"%s\" of registry \"%s\" failed\n",
argv[2], argv[1]);
}
- } else
+ }
+ else
{
fprintf(stderr, "key \"%s\" not exists in registry \"%s\"\n",
argv[2], argv[1]);
}
- } else
+ }
+ else
{
if (reg_dumpRegistry(hRootKey))
{
@@ -144,7 +97,8 @@ int _cdecl main( int argc, char * argv[] )
{
fprintf(stderr, "closing root key of registry \"%s\" failed\n", argv[1]);
}
- } else
+ }
+ else
{
fprintf(stderr, "open root key of registry \"%s\" failed\n", argv[1]);
}
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index ac99601f5ce5..c89a350d6708 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -30,6 +30,20 @@
#include <cstdlib>
#include <iostream>
+#include <limits>
+#include <string>
+
+#include "cppunittester/protectorfactory.hxx"
+#include "osl/module.h"
+#include "osl/module.hxx"
+#include "osl/thread.h"
+#include "rtl/process.h"
+#include "rtl/string.h"
+#include "rtl/string.hxx"
+#include "rtl/textcvt.h"
+#include "rtl/ustring.hxx"
+#include "sal/main.h"
+#include "sal/types.h"
#include "preextstl.h"
#include "cppunit/CompilerOutputter.h"
@@ -40,25 +54,87 @@
#include "cppunit/plugin/PlugInManager.h"
#include "cppunit/portability/Stream.h"
#include "postextstl.h"
-#include "osl/thread.h"
-#include "rtl/process.h"
-#include "rtl/string.hxx"
-#include "rtl/ustring.hxx"
-#include "sal/main.h"
+
+namespace {
+
+void usageFailure() {
+ std::cerr
+ << ("Usage: cppunittester (--protector <shared-library-path>"
+ " <function-symbol>)* <shared-library-path>")
+ << std::endl;
+ std::exit(EXIT_FAILURE);
+}
+
+rtl::OUString getArgument(sal_Int32 index) {
+ rtl::OUString arg;
+ rtl_getAppCommandArg(index, &arg.pData);
+ return arg;
+}
+
+std::string convertLazy(rtl::OUString const & s16) {
+ rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding()));
+ return std::string(
+ s8.getStr(),
+ ((static_cast< sal_uInt32 >(s8.getLength())
+ > std::numeric_limits< std::string::size_type >::max())
+ ? std::numeric_limits< std::string::size_type >::max()
+ : static_cast< std::string::size_type >(s8.getLength())));
+}
+
+std::string convertStrict(rtl::OUString const & s16) {
+ rtl::OString s8;
+ if (!s16.convertToString(
+ &s8, osl_getThreadTextEncoding(),
+ (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
+ | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR))
+ || (static_cast< sal_uInt32 >(s8.getLength())
+ > std::numeric_limits< std::string::size_type >::max()))
+ {
+ std::cerr
+ << "Failure converting argument from UTF-16 back to system encoding"
+ << std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+ return std::string(
+ s8.getStr(), static_cast< std::string::size_type >(s8.getLength()));
+}
+
+}
SAL_IMPLEMENT_MAIN() {
- if (rtl_getAppCommandArgCount() != 1) {
- std::cerr << "Usage: cppunittester <shared-library-path>" << std::endl;
- return EXIT_FAILURE;
+ CppUnit::TestResult result;
+ sal_uInt32 index = 0;
+ for (; index < rtl_getAppCommandArgCount(); index += 3) {
+ if (!getArgument(index).equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("--protector")))
+ {
+ break;
+ }
+ if (rtl_getAppCommandArgCount() - index < 3) {
+ usageFailure();
+ }
+ rtl::OUString lib(getArgument(index + 1));
+ rtl::OUString sym(getArgument(index + 2));
+ oslGenericFunction fn = (new osl::Module(lib, SAL_LOADMODULE_GLOBAL))
+ ->getFunctionSymbol(sym);
+ CppUnit::Protector * p = fn == 0
+ ? 0
+ : (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))();
+ if (p == 0) {
+ std::cerr
+ << "Failure instantiating protector \"" << convertLazy(lib)
+ << "\", \"" << convertLazy(sym) << '"' << std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+ result.pushProtector(p);
+ }
+ if (rtl_getAppCommandArgCount() - index != 1) {
+ usageFailure();
}
- rtl::OUString path;
- rtl_getAppCommandArg(0, &path.pData);
CppUnit::PlugInManager manager;
- manager.load(
- rtl::OUStringToOString(path, osl_getThreadTextEncoding()).getStr());
+ manager.load(convertStrict(getArgument(index)));
CppUnit::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
- CppUnit::TestResult result;
CppUnit::TestResultCollector collector;
result.addListener(&collector);
runner.run(result);
diff --git a/sal/inc/cppunittester/protectorfactory.hxx b/sal/inc/cppunittester/protectorfactory.hxx
new file mode 100644
index 000000000000..c309dbe8aa85
--- /dev/null
+++ b/sal/inc/cppunittester/protectorfactory.hxx
@@ -0,0 +1,45 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2011 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
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#ifndef INCLUDED_CPPUNITTESTER_PROTECTORFACTORY_HXX
+#define INCLUDED_CPPUNITTESTER_PROTECTORFACTORY_HXX
+
+#include "sal/config.h"
+
+#include "sal/types.h"
+
+namespace CppUnit { class Protector; }
+
+namespace cppunittester {
+
+// The type of CppUnit::Protector factory functions that can be plugged into
+// cppunittester:
+extern "C" typedef CppUnit::Protector * SAL_CALL ProtectorFactory();
+
+}
+
+#endif
diff --git a/sal/osl/os2/diagnose.c b/sal/osl/os2/diagnose.c
index b105e0b78c29..b412a65ff090 100644
--- a/sal/osl/os2/diagnose.c
+++ b/sal/osl/os2/diagnose.c
@@ -124,7 +124,8 @@ sal_Bool SAL_CALL osl_assertFailedLine( const sal_Char* pszFileName, sal_Int32 n
fputs(szMessage, stderr);
- return sal_True; /* abort */
+ char const * env = getenv( "SAL_DIAGNOSE_ABORT" );
+ return ( ( env != NULL ) && ( *env != '\0' ) );
}
/*----------------------------------------------------------------------------*/
diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c
index 02967b3ad7f7..5d9a4f31a40e 100644
--- a/sal/osl/unx/diagnose.c
+++ b/sal/osl/unx/diagnose.c
@@ -218,6 +218,11 @@ sal_Bool SAL_CALL osl_assertFailedLine (
oslDebugMessageFunc f = g_pDebugMessageFunc;
char szMessage[1024];
+ // after reporting the assertion, abort if told so by SAL_DIAGNOSE_ABORT, but *not* if
+ // assertions are routed to some external instance
+ char const * env = getenv( "SAL_DIAGNOSE_ABORT" );
+ sal_Bool const doAbort = ( ( env != NULL ) && ( *env != '\0' ) && ( f == NULL ) );
+
/* If there's a callback for detailed messages, use it */
if ( g_pDetailedDebugMessageFunc != NULL )
{
@@ -227,7 +232,7 @@ sal_Bool SAL_CALL osl_assertFailedLine (
/* if SAL assertions are disabled in general, stop here */
if ( getenv("DISABLE_SAL_DBGBOX") )
- return sal_False;
+ return doAbort;
/* format message into buffer */
if (pszMessage != 0)
@@ -252,9 +257,10 @@ sal_Bool SAL_CALL osl_assertFailedLine (
/* output backtrace */
osl_diagnose_backtrace_Impl(f);
- /* release lock and leave, w/o calling osl_breakDebug() */
+ /* release lock and leave */
pthread_mutex_unlock(&g_mutex);
- return sal_False;
+
+ return doAbort;
}
/************************************************************************/
@@ -262,7 +268,7 @@ sal_Bool SAL_CALL osl_assertFailedLine (
/************************************************************************/
void SAL_CALL osl_breakDebug()
{
- exit(0);
+ abort();
}
/************************************************************************/
diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
index cc0c041bc328..67f1d05660a8 100644
--- a/sal/osl/unx/file.cxx
+++ b/sal/osl/unx/file.cxx
@@ -215,7 +215,8 @@ FileHandle_Impl::Allocator::~Allocator()
void FileHandle_Impl::Allocator::allocate (sal_uInt8 ** ppBuffer, size_t * pnSize)
{
OSL_PRECOND((0 != ppBuffer) && (0 != pnSize), "FileHandle_Impl::Allocator::allocate(): contract violation");
- *ppBuffer = static_cast< sal_uInt8* >(rtl_cache_alloc(m_cache)), *pnSize = m_bufsiz;
+ if ((0 != ppBuffer) && (0 != pnSize))
+ *ppBuffer = static_cast< sal_uInt8* >(rtl_cache_alloc(m_cache)), *pnSize = m_bufsiz;
}
void FileHandle_Impl::Allocator::deallocate (sal_uInt8 * pBuffer)
{
diff --git a/sal/osl/unx/file_misc.cxx b/sal/osl/unx/file_misc.cxx
index 452d3eb2db70..2ed57b01a2c4 100644
--- a/sal/osl/unx/file_misc.cxx
+++ b/sal/osl/unx/file_misc.cxx
@@ -334,10 +334,8 @@ oslFileError SAL_CALL osl_getDirectoryItem( rtl_uString* ustrFileURL, oslDirecto
rtl_uString* ustrSystemPath = NULL;
oslFileError osl_error = osl_File_E_INVAL;
- OSL_ASSERT(ustrFileURL);
- OSL_ASSERT(pItem);
-
- if (0 == ustrFileURL->length || NULL == pItem)
+ OSL_ASSERT((0 != ustrFileURL) && (0 != pItem));
+ if ((0 == ustrFileURL) || (0 == ustrFileURL->length) || (0 == pItem))
return osl_File_E_INVAL;
osl_error = osl_getSystemPathFromFileURL_Ex(ustrFileURL, &ustrSystemPath, sal_False);
diff --git a/sal/osl/unx/file_path_helper.cxx b/sal/osl/unx/file_path_helper.cxx
index 04fdd13e7c15..9dd3b08493b0 100644
--- a/sal/osl/unx/file_path_helper.cxx
+++ b/sal/osl/unx/file_path_helper.cxx
@@ -73,19 +73,21 @@
void SAL_CALL osl_systemPathRemoveSeparator(rtl_uString* pustrPath)
{
- OSL_PRECOND(pustrPath, "osl_systemPathRemoveSeparator: Invalid parameter");
-
- // maybe there are more than one separator at end
- // so we run in a loop
- while ((pustrPath->length > 1) && (FPH_CHAR_PATH_SEPARATOR == pustrPath->buffer[pustrPath->length - 1]))
+ OSL_PRECOND(0 != pustrPath, "osl_systemPathRemoveSeparator: Invalid parameter");
+ if (0 != pustrPath)
{
- pustrPath->length--;
- pustrPath->buffer[pustrPath->length] = (sal_Unicode)'\0';
- }
+ // maybe there are more than one separator at end
+ // so we run in a loop
+ while ((pustrPath->length > 1) && (FPH_CHAR_PATH_SEPARATOR == pustrPath->buffer[pustrPath->length - 1]))
+ {
+ pustrPath->length--;
+ pustrPath->buffer[pustrPath->length] = (sal_Unicode)'\0';
+ }
- OSL_POSTCOND((0 == pustrPath->length) || (1 == pustrPath->length) || \
- (pustrPath->length > 1 && pustrPath->buffer[pustrPath->length - 1] != FPH_CHAR_PATH_SEPARATOR), \
- "osl_systemPathRemoveSeparator: Post condition failed");
+ OSL_POSTCOND((0 == pustrPath->length) || (1 == pustrPath->length) || \
+ (pustrPath->length > 1 && pustrPath->buffer[pustrPath->length - 1] != FPH_CHAR_PATH_SEPARATOR), \
+ "osl_systemPathRemoveSeparator: Post condition failed");
+ }
}
/*******************************************
@@ -94,21 +96,22 @@
void SAL_CALL osl_systemPathEnsureSeparator(rtl_uString** ppustrPath)
{
- OSL_PRECOND(ppustrPath && (NULL != *ppustrPath), \
- "osl_systemPathEnsureSeparator: Invalid parameter");
-
- rtl::OUString path(*ppustrPath);
- sal_Int32 lp = path.getLength();
- sal_Int32 i = path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR);
-
- if ((lp > 1 && i != (lp - 1)) || ((lp < 2) && i < 0))
- {
- path += FPH_PATH_SEPARATOR();
- rtl_uString_assign(ppustrPath, path.pData);
- }
-
- OSL_POSTCOND(path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR) == (path.getLength() - 1), \
- "osl_systemPathEnsureSeparator: Post condition failed");
+ OSL_PRECOND((0 != ppustrPath) && (0 != *ppustrPath), "osl_systemPathEnsureSeparator: Invalid parameter");
+ if ((0 != ppustrPath) && (0 != *ppustrPath))
+ {
+ rtl::OUString path(*ppustrPath);
+ sal_Int32 lp = path.getLength();
+ sal_Int32 i = path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR);
+
+ if ((lp > 1 && i != (lp - 1)) || ((lp < 2) && i < 0))
+ {
+ path += FPH_PATH_SEPARATOR();
+ rtl_uString_assign(ppustrPath, path.pData);
+ }
+
+ OSL_POSTCOND(path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR) == (path.getLength() - 1), \
+ "osl_systemPathEnsureSeparator: Post condition failed");
+ }
}
/*******************************************
@@ -117,8 +120,8 @@
sal_Bool SAL_CALL osl_systemPathIsRelativePath(const rtl_uString* pustrPath)
{
- OSL_PRECOND(pustrPath, "osl_systemPathIsRelativePath: Invalid parameter");
- return ((0 == pustrPath->length) || (pustrPath->buffer[0] != FPH_CHAR_PATH_SEPARATOR));
+ OSL_PRECOND(0 != pustrPath, "osl_systemPathIsRelativePath: Invalid parameter");
+ return ((0 == pustrPath) || (0 == pustrPath->length) || (pustrPath->buffer[0] != FPH_CHAR_PATH_SEPARATOR));
}
/******************************************
@@ -177,21 +180,16 @@
sal_Bool SAL_CALL osl_systemPathIsHiddenFileOrDirectoryEntry(
const rtl_uString* pustrPath)
{
- OSL_PRECOND(pustrPath, "osl_systemPathIsHiddenFileOrDirectoryEntry: Invalid parameter");
-
- sal_Bool is_hidden = sal_False;
+ OSL_PRECOND(0 != pustrPath, "osl_systemPathIsHiddenFileOrDirectoryEntry: Invalid parameter");
+ if ((0 == pustrPath) || (0 == pustrPath->length))
+ return sal_False;
- if (pustrPath->length > 0)
- {
- rtl::OUString fdp;
-
- osl_systemPathGetFileNameOrLastDirectoryPart(pustrPath, &fdp.pData);
-
- is_hidden = ((fdp.pData->length > 0) && (fdp.pData->buffer[0] == FPH_CHAR_DOT) &&
- !osl_systemPathIsLocalOrParentDirectoryEntry(fdp.pData));
- }
+ rtl::OUString fdp;
+ osl_systemPathGetFileNameOrLastDirectoryPart(pustrPath, &fdp.pData);
- return is_hidden;
+ return ((fdp.pData->length > 0) &&
+ (fdp.pData->buffer[0] == FPH_CHAR_DOT) &&
+ !osl_systemPathIsLocalOrParentDirectoryEntry(fdp.pData));
}
diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx
index 66c0d0f5c701..498778758ded 100644
--- a/sal/osl/unx/process_impl.cxx
+++ b/sal/osl/unx/process_impl.cxx
@@ -483,17 +483,20 @@ extern "C" int _imp_setProcessLocale( rtl_Locale * );
*********************************************/
oslProcessError SAL_CALL osl_getProcessLocale( rtl_Locale ** ppLocale )
{
+ oslProcessError result = osl_Process_E_Unknown;
OSL_PRECOND(ppLocale, "osl_getProcessLocale(): Invalid parameter.");
+ if (ppLocale)
+ {
+ pthread_mutex_lock(&(g_process_locale.m_mutex));
- pthread_mutex_lock(&(g_process_locale.m_mutex));
-
- if (g_process_locale.m_pLocale == 0)
- _imp_getProcessLocale (&(g_process_locale.m_pLocale));
- *ppLocale = g_process_locale.m_pLocale;
-
- pthread_mutex_unlock (&(g_process_locale.m_mutex));
+ if (g_process_locale.m_pLocale == 0)
+ _imp_getProcessLocale (&(g_process_locale.m_pLocale));
+ *ppLocale = g_process_locale.m_pLocale;
+ result = osl_Process_E_None;
- return (osl_Process_E_None);
+ pthread_mutex_unlock (&(g_process_locale.m_mutex));
+ }
+ return (result);
}
/**********************************************
diff --git a/sal/osl/unx/profile.c b/sal/osl/unx/profile.c
index c77a27543261..05d816c92755 100644
--- a/sal/osl/unx/profile.c
+++ b/sal/osl/unx/profile.c
@@ -514,7 +514,6 @@ sal_Bool SAL_CALL osl_readProfileString(oslProfile Profile,
if ( pTmpProfile->m_bIsValid == sal_False )
{
- OSL_ASSERT(pProfile->m_bIsValid);
pthread_mutex_unlock(&(pTmpProfile->m_AccessLock));
#ifdef TRACE_OSL_PROFILE
OSL_TRACE("Out osl_readProfileString [not valid]\n");
diff --git a/sal/osl/unx/socket.c b/sal/osl/unx/socket.c
index c8faf6c028f5..2f7b62a4bfa4 100644
--- a/sal/osl/unx/socket.c
+++ b/sal/osl/unx/socket.c
@@ -605,16 +605,16 @@ sal_Bool SAL_CALL osl_isEqualSocketAddr (
oslSocketAddr Addr1,
oslSocketAddr Addr2)
{
- struct sockaddr* pAddr1= &(Addr1->m_sockaddr);
- struct sockaddr* pAddr2= &(Addr2->m_sockaddr);
-
- OSL_ASSERT(pAddr1);
- OSL_ASSERT(pAddr2);
-
- if (pAddr1->sa_family == pAddr2->sa_family)
+ OSL_ASSERT((0 != Addr1) && (0 != Addr2));
+ if ((0 != Addr1) || (0 != Addr2))
{
- switch (pAddr1->sa_family)
- {
+ struct sockaddr* pAddr1= &(Addr1->m_sockaddr);
+ struct sockaddr* pAddr2= &(Addr2->m_sockaddr);
+
+ if (pAddr1->sa_family == pAddr2->sa_family)
+ {
+ switch (pAddr1->sa_family)
+ {
case AF_INET:
{
struct sockaddr_in* pInetAddr1= (struct sockaddr_in*)pAddr1;
@@ -623,16 +623,16 @@ sal_Bool SAL_CALL osl_isEqualSocketAddr (
if ((pInetAddr1->sin_family == pInetAddr2->sin_family) &&
(pInetAddr1->sin_addr.s_addr == pInetAddr2->sin_addr.s_addr) &&
(pInetAddr1->sin_port == pInetAddr2->sin_port))
- return (sal_True);
+ return (sal_True);
}
default:
{
- return (memcmp(pAddr1, Addr2, sizeof(struct sockaddr)) == 0);
+ return (memcmp(pAddr1, pAddr2, sizeof(struct sockaddr)) == 0);
}
- }
+ }
+ }
}
-
return (sal_False);
}
@@ -1173,7 +1173,6 @@ oslHostAddr SAL_CALL osl_createHostAddr (
rtl_string_release(strHostname);
}
-
return HostAddr;
}
@@ -1197,7 +1196,7 @@ oslHostAddr SAL_CALL osl_psz_createHostAddr (
pHostAddr= (oslHostAddr) malloc(sizeof(struct oslHostAddrImpl));
OSL_ASSERT(pHostAddr);
- if (pAddr == NULL)
+ if (pHostAddr == NULL)
{
free (cn);
return ((oslHostAddr)NULL);
@@ -2530,7 +2529,10 @@ sal_Bool __osl_socket_poll (
int timeout;
int result;
- OSL_ASSERT(pSocket);
+ OSL_ASSERT(0 != pSocket);
+ if (0 == pSocket)
+ return sal_False; /* EINVAL */
+
pSocket->m_nLastError = 0;
fds.fd = pSocket->m_Socket;
@@ -2573,7 +2575,10 @@ sal_Bool __osl_socket_poll (
struct timeval tv;
int result;
- OSL_ASSERT(pSocket);
+ OSL_ASSERT(0 != pSocket);
+ if (0 == pSocket)
+ return sal_False; /* EINVAL */
+
pSocket->m_nLastError = 0;
FD_ZERO(&fds);
diff --git a/sal/osl/w32/diagnose.c b/sal/osl/w32/diagnose.c
index 9c75e4502743..1feab6ded8da 100755
--- a/sal/osl/w32/diagnose.c
+++ b/sal/osl/w32/diagnose.c
@@ -93,6 +93,7 @@ sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nL
/* get app name or NULL if unknown (don't call assert) */
LPCSTR lpszAppName = "Error";
sal_Char szMessage[512];
+ char const * env = getenv( "SAL_DIAGNOSE_ABORT" );
/* format message into buffer */
szMessage[sizeof(szMessage)-1] = '\0'; /* zero terminate always */
@@ -105,39 +106,44 @@ sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nL
_pPrintDetailedDebugMessage( pszFileName, nLine, pszMessage );
else if ( _pPrintDebugMessage )
_pPrintDebugMessage( szMessage );
- else if ( !getenv( "DISABLE_SAL_DBGBOX" ) )
+ else
{
- TCHAR szBoxMessage[1024];
+ if ( !getenv( "DISABLE_SAL_DBGBOX" ) )
+ {
+ TCHAR szBoxMessage[1024];
- /* active popup window for the current thread */
- hWndParent = GetActiveWindow();
- if (hWndParent != NULL)
- hWndParent = GetLastActivePopup(hWndParent);
+ /* active popup window for the current thread */
+ hWndParent = GetActiveWindow();
+ if (hWndParent != NULL)
+ hWndParent = GetLastActivePopup(hWndParent);
- /* set message box flags */
- nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND;
- if (hWndParent == NULL)
- nFlags |= MB_SERVICE_NOTIFICATION;
+ /* set message box flags */
+ nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND;
+ if (hWndParent == NULL)
+ nFlags |= MB_SERVICE_NOTIFICATION;
- /* display the assert */
+ /* display the assert */
- szBoxMessage[sizeof(szBoxMessage)-1] = 0;
- _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )",
- szMessage);
+ szBoxMessage[sizeof(szBoxMessage)-1] = 0;
+ _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )",
+ szMessage);
- nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags);
+ nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags);
- if (nCode == IDYES)
- FatalExit(-1);
+ if (nCode == IDYES)
+ FatalExit(-1);
- if (nCode == IDNO)
- return sal_False; /* ignore */
+ if (nCode == IDNO)
+ return sal_False; /* ignore */
- if (nCode == IDCANCEL)
- return sal_True; /* will cause oslDebugBreak */
+ if (nCode == IDCANCEL)
+ return sal_True; /* will cause oslDebugBreak */
+ }
+ return ( ( env != NULL ) && ( *env != '\0' ) );
}
+
+ return sal_False;
#endif /* NO_DEBUG_CRT */
- return sal_False; /* not shure, not care */
}
sal_Int32 SAL_CALL osl_reportError(sal_uInt32 nType, const sal_Char* pszMessage)
diff --git a/sal/osl/w32/file_dirvol.cxx b/sal/osl/w32/file_dirvol.cxx
index 09bdec7988c3..549f42861f94 100644
--- a/sal/osl/w32/file_dirvol.cxx
+++ b/sal/osl/w32/file_dirvol.cxx
@@ -155,7 +155,7 @@ namespace /* private */
void parse_UNC_path(const sal_Unicode* path, UNCComponents* puncc)
{
OSL_PRECOND(is_UNC_path(path), "Precondition violated: No UNC path");
- OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) != -1, "Path must not contain slashes");
+ OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) == -1, "Path must not contain slashes");
const sal_Unicode* pend = path + rtl_ustr_getLength(path);
const sal_Unicode* ppos = path + 2;
@@ -691,7 +691,7 @@ static int path_make_parent(sal_Unicode* path)
If there are no more parents 0 will be returned,
e.g. 'c:\' or '\\Share' have no more parents */
- OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) != -1, "Path must not contain slashes");
+ OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) == -1, "Path must not contain slashes");
OSL_PRECOND(has_path_parent(path), "Path must have a parent");
sal_Unicode* pos_last_backslash = path + rtl_ustr_lastIndexOfChar(path, BACKSLASH);
diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx
index b730bd3347df..65a17eb1352d 100644..100755
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
@@ -36,6 +36,7 @@
#include <osl/thread.h>
#include <osl/file.h>
#include <rtl/logfile.h>
+#include <vector>
/*
under WIN32, we use the void* oslModule
@@ -65,10 +66,32 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 nRtldMod
rtl_uString_assign(&Module, strModuleName);
hInstance = LoadLibraryW(reinterpret_cast<LPCWSTR>(Module->buffer));
+
if (hInstance == NULL)
hInstance = LoadLibraryExW(reinterpret_cast<LPCWSTR>(Module->buffer), NULL,
LOAD_WITH_ALTERED_SEARCH_PATH);
+ //In case of long path names (\\?\c:\...) try to shorten the filename.
+ //LoadLibrary cannot handle file names which exceed 260 letters.
+ //In case the path is to long, the function will fail. However, the error
+ //code can be different. For example, it returned ERROR_FILENAME_EXCED_RANGE
+ //on Windows XP and ERROR_INSUFFICIENT_BUFFER on Windows 7 (64bit)
+ if (hInstance == NULL && Module->length > 260)
+ {
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(Module->length + 1);
+ DWORD len = GetShortPathNameW(reinterpret_cast<LPCWSTR>(Module->buffer),
+ &vec[0], Module->length + 1);
+ if (len )
+ {
+ hInstance = LoadLibraryW(&vec[0]);
+
+ if (hInstance == NULL)
+ hInstance = LoadLibraryExW(&vec[0], NULL,
+ LOAD_WITH_ALTERED_SEARCH_PATH);
+ }
+ }
+
+
if (hInstance <= (HINSTANCE)HINSTANCE_ERROR)
hInstance = 0;
diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx
index fc04d5b84a8f..a2f86422df2a 100644..100755
--- a/sal/osl/w32/procimpl.cxx
+++ b/sal/osl/w32/procimpl.cxx
@@ -300,6 +300,39 @@ namespace /* private */
return quoted.makeStringAndClear();
}
+ //The parameter path must be a system path. If it is longer than 260 characters
+ //then it is shortened using the GetShortPathName function. This function only
+ //works if the path exists. Because "path" can be the path to an executable, it
+ //may not have the file extension ".exe". However, if the file on disk has the
+ //".exe" extension, then the function will fail. In this case a second attempt
+ //is started by adding the parameter "extension" to "path".
+ rtl::OUString getShortPath(rtl::OUString const & path, rtl::OUString const & extension)
+ {
+ rtl::OUString ret(path);
+ if (path.getLength() > 260)
+ {
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(path.getLength() + 1);
+ //GetShortPathNameW only works if the file can be found!
+ const DWORD len = GetShortPathNameW(
+ path.getStr(), &vec[0], path.getLength() + 1);
+
+ if (!len && GetLastError() == ERROR_FILE_NOT_FOUND
+ && extension.getLength())
+ {
+ const rtl::OUString extPath(path + extension);
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec2(
+ extPath.getLength() + 1);
+ const DWORD len2 = GetShortPathNameW(
+ extPath.getStr(), &vec2[0], extPath.getLength() + 1);
+ ret = rtl::OUString(&vec2[0], len2);
+ }
+ else
+ {
+ ret = rtl::OUString(&vec[0], len);
+ }
+ }
+ return ret;
+ }
//##########################################################
// Returns the system path of the executable which can either
// be provided via the strImageName parameter or as first
@@ -326,6 +359,8 @@ namespace /* private */
if (osl_File_E_None != osl::FileBase::getSystemPathFromFileURL(exe_url, exe_path))
return rtl::OUString();
+ exe_path = getShortPath(exe_path, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".exe")));
+
if (exe_path.indexOf(' ') != -1)
exe_path = quote_string(exe_path);
diff --git a/sal/prj/d.lst b/sal/prj/d.lst
index 3ce270bbbfc4..253d7ea7f718 100644
--- a/sal/prj/d.lst
+++ b/sal/prj/d.lst
@@ -1,9 +1,11 @@
+mkdir: %_DEST%\inc%_EXT%\cppunittester
mkdir: %_DEST%\inc%_EXT%\sal
mkdir: %_DEST%\inc%_EXT%\osl
mkdir: %_DEST%\inc%_EXT%\rtl
mkdir: %_DEST%\inc%_EXT%\systools
mkdir: %_DEST%\inc%_EXT%\systools\win32
+..\inc\cppunittester\protectorfactory.hxx %_DEST%\inc%_EXT%\protectorfactory.hxx
..\%__SRC%\inc\rtlbootstrap.mk %_DEST%\inc%_EXT%\rtlbootstrap.mk
..\inc\sal\*.h %_DEST%\inc%_EXT%\sal\*.h
..\%__SRC%\inc\sal\typesizes.h %_DEST%\inc%_EXT%\sal\typesizes.h
diff --git a/sal/rtl/source/alloc.c b/sal/rtl/source/alloc.c
deleted file mode 100644
index 44b37c255004..000000000000
--- a/sal/rtl/source/alloc.c
+++ /dev/null
@@ -1,1541 +0,0 @@
-/*************************************************************************
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifdef PROFILE
-#undef OSL_DEBUG_LEVEL
-#define OSL_DEBUG_LEVEL 0
-#endif /* PROFILE */
-
-#include <sal/types.h>
-#include <osl/diagnose.h>
-#include <rtl/alloc.h>
-
-#ifndef INCLUDED_STDDEF_H
-#include <stddef.h>
-#define INCLUDED_STDDEF_H
-#endif
-
-#ifndef INCLUDED_STDLIB_H
-#include <stdlib.h>
-#define INCLUDED_STDLIB_H
-#endif
-
-#ifndef INCLUDED_STRING_H
-#include <string.h>
-#define INCLUDED_STRING_H
-#endif
-
-#ifndef FORCE_SYSALLOC
-
-/*===========================================================================
- *
- * rtl_memory (UNX) internals.
- *
- *=========================================================================*/
-#ifdef SAL_UNX
-
-#include <unistd.h>
-#include <pthread.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-
-typedef pthread_mutex_t mutex_type;
-
-#define RTL_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define RTL_MUTEX_ACQUIRE(a) pthread_mutex_lock((a))
-#define RTL_MUTEX_RELEASE(a) pthread_mutex_unlock((a))
-
-#if defined(FREEBSD) || defined(NETBSD) || defined(MACOSX)
-static sal_Size __rtl_memory_vmpagesize (void)
-{
- /* xBSD */
- return (sal_Size)(getpagesize());
-}
-#elif defined(LINUX) || defined(SOLARIS)
-static sal_Size __rtl_memory_vmpagesize (void)
-{
- /* POSIX */
- return (sal_Size)(sysconf(_SC_PAGESIZE));
-}
-#else
-static sal_Size __rtl_memory_vmpagesize (void)
-{
- /* other */
- return (sal_Size)(0x2000);
-}
-#endif /* FREEBSD || NETBSD || MACOSX || LINUX || SOLARIS */
-
-#ifndef PROT_HEAP
-#define PROT_HEAP (PROT_READ | PROT_WRITE | PROT_EXEC)
-#endif
-
-/* #95880# building on Solaris 8 provides MAP_ANON, but it
- is not available on Solaris 7 */
-#if defined (SOLARIS)
-#ifdef MAP_ANON
-#undef MAP_ANON
-#endif
-#endif
-
-#ifndef MAP_ANON
-static void* __rtl_memory_vmalloc (sal_Size n)
-{
- /* SYSV */
- int fd = open("/dev/zero", O_RDWR);
- if (!(fd < 0))
- {
- void * p = mmap(NULL, n, PROT_HEAP, MAP_PRIVATE, fd, 0);
- close(fd);
- return ((p == MAP_FAILED) ? NULL : p);
- }
- return (NULL);
-}
-#else /* MAP_ANON */
-static void* __rtl_memory_vmalloc (sal_Size n)
-{
- /* xBSD */
- void * p = mmap(NULL, n, PROT_HEAP, MAP_PRIVATE | MAP_ANON, -1, 0);
- return ((p == MAP_FAILED) ? NULL : p);
-}
-#endif /* MAP_ANON */
-
-#define RTL_MEMORY_ALLOC(n) __rtl_memory_vmalloc((sal_Size)(n))
-#define RTL_MEMORY_FREE(p, n) munmap((void*)(p), (sal_Size)(n))
-
-#endif /* SAL_UNX */
-
-/*===========================================================================
- *
- * rtl_memory (W32) internals.
- *
- *=========================================================================*/
-#ifdef SAL_W32
-
-#define WIN32_LEAN_AND_MEAN
-#ifdef _MSC_VER
-#pragma warning(push,1) /* disable warnings within system headers */
-#endif
-#include <windows.h>
-#include <wchar.h>
-
-typedef CRITICAL_SECTION mutex_type;
-
-/* Static initializer (struct declared in WINNT.H). */
-#define RTL_MUTEX_INITIALIZER { NULL, -1, 0, NULL, NULL, 0 }
-
-/*
- * __rtl_mutex_init (dynamic initialization).
- *
- * Static initialization (with DebugInfo == NULL)
- * leads to Access Violation upon first contention.
- */
-static void __rtl_mutex_init (LPCRITICAL_SECTION lpCriticalSection)
-{
- static LONG g_spinlock = 0;
-
- while (InterlockedExchange (&g_spinlock, 1) == 1)
- {
- /* Already locked, spin */
- Sleep (0);
- }
- if (!(lpCriticalSection->DebugInfo))
- {
- /* Dynamic initialization */
- InitializeCriticalSection (lpCriticalSection);
- }
- InterlockedExchange (&g_spinlock, 0);
-}
-
-#define RTL_MUTEX_INIT(a) __rtl_mutex_init((LPCRITICAL_SECTION)(a))
-#define RTL_MUTEX_ACQUIRE(a) EnterCriticalSection((a))
-#define RTL_MUTEX_RELEASE(a) LeaveCriticalSection((a))
-
-static sal_Size __rtl_memory_vmpagesize (void)
-{
- SYSTEM_INFO info;
- GetSystemInfo (&info);
- return ((sal_Size)(info.dwPageSize));
-}
-
-#define RTL_MEMORY_ALLOC(n) \
-(void*)(VirtualAlloc (NULL, (SIZE_T)(n), MEM_COMMIT, PAGE_READWRITE))
-
-#define RTL_MEMORY_FREE(p, n) \
-(void)(VirtualFree ((LPVOID)(p), (SIZE_T)(0), MEM_RELEASE))
-
-#endif /* SAL_W32 */
-
-/*===========================================================================
- *
- * rtl_memory (OS2) internals.
- *
- *=========================================================================*/
-#ifdef SAL_OS2
-
-#define INCL_DOS
-#include <os2.h>
-
-typedef HMTX mutex_type;
-
-/* Static initializer */
-#define RTL_MUTEX_INITIALIZER -1
-
-/*
- * __rtl_mutex_init (dynamic initialization).
- *
- * Static initialization (with DebugInfo == NULL)
- * leads to Access Violation upon first contention.
- */
-static void __rtl_mutex_init (mutex_type* mutex)
-{
- APIRET rc = 0;
-
- rc = DosCreateMutexSem(NULL,mutex,0,0);
-
-}
-
-static int __rtl_mutex_destroy (mutex_type* mutex)
-{
- APIRET rc = 0;
-
-
- do {
- rc = DosCloseMutexSem(*mutex);
- if (rc == 301) DosReleaseMutexSem(*mutex);
- } while (rc == 301);
-
- *mutex = 0;
-
- /* Return the completion status: */
- return (0);
-}
-
-
-static int __rtl_mutex_acquire(mutex_type* mutex)
-{
- int ret = 0;
- int status = 0;
- APIRET rc = 0;
-
- // initialize static semaphores created with PTHREAD_MUTEX_INITIALIZER state.
- if (*mutex == -1)
- __rtl_mutex_init( mutex);
-
- rc = DosRequestMutexSem(*mutex,SEM_INDEFINITE_WAIT);
- if (rc)
- return(1);
-
- /* Return the completion status: */
- return (0);
-}
-
-static int __rtl_mutex_release(mutex_type* mutex)
-{
- int ret = 0;
- APIRET rc = 0;
- int status;
-
-
- // initialize static semaphores created with PTHREAD_MUTEX_INITIALIZER state.
- if (*mutex == -1)
- __rtl_mutex_init( mutex);
-
- rc = DosReleaseMutexSem(*mutex);
-
- /* Return the completion status: */
- return (0);
-}
-
-#define RTL_MUTEX_INIT(a) __rtl_mutex_init((mutex_type*)(a))
-#define RTL_MUTEX_ACQUIRE(a) __rtl_mutex_acquire((mutex_type*)(a))
-#define RTL_MUTEX_RELEASE(a) __rtl_mutex_release((mutex_type*)(a))
-
-static sal_Size __rtl_memory_vmpagesize (void)
-{
- return (sal_Size)(getpagesize());
-}
-
-#define RTL_MEMORY_ALLOC(n) (void*)(malloc(n))
-
-#define RTL_MEMORY_FREE(p, n) (void)(free(p))
-
-#endif /* SAL_OS2 */
-
-/*===========================================================================
- *
- * rtl_memory (global) internals.
- *
- *=========================================================================*/
-#define __L__ 32
-#define __P__ 24
-#define __N__ ((__L__) + (__P__))
-#define __M__ 0x10000
-
-static const sal_Size __T__ = (__M__) * 2 / 3;
-
-typedef struct __rtl_memory_desc_st memory_type;
-struct __rtl_memory_desc_st
-{
- sal_Size m_length;
- sal_Size m_offset;
- memory_type *m_flink;
- memory_type *m_blink;
-};
-
-static const int __C__ = 2 * sizeof(sal_Size);
-static const int __Q__ = 2 * sizeof(memory_type*);
-
-typedef struct __rtl_memory_stat_st memory_stat;
-struct __rtl_memory_stat_st
-{
- sal_uInt64 m_dequeue;
- sal_uInt64 m_enqueue;
- sal_Int32 m_delta_q;
-
- sal_uInt64 m_deqsize;
- sal_uInt64 m_enqsize;
- sal_Int32 m_delta_n;
-};
-
-#define RTL_MEMORY_ALIGN(n, m) (((n) + ((m) - 1)) & ~((m) - 1))
-#define RTL_MEMORY_SIZEOF(a) RTL_MEMORY_ALIGN(sizeof(a), sizeof(memory_type))
-
-struct __rtl_memory_global_st
-{
- sal_Size m_magic;
- sal_Size m_align;
-
- union {
- mutex_type m_lock;
- char m_data[RTL_MEMORY_SIZEOF(mutex_type)];
- } m_mutex;
-
- memory_type m_alloc_head;
- memory_type m_spare_head;
- memory_type m_queue_head[__N__];
-
-#if OSL_DEBUG_LEVEL > 0
- memory_stat m_queue_stat[__N__];
-#endif /* OSL_DEBUG_LEVEL */
-};
-
-static struct __rtl_memory_global_st g_memory =
-{
- 0, 0, { RTL_MUTEX_INITIALIZER },
- { 0, 0, NULL, NULL }, { 0, 0, NULL, NULL }, { { 0, 0, NULL, NULL } },
-#if OSL_DEBUG_LEVEL > 0
- { { 0, 0, 0, 0, 0, 0 } }
-#endif /* OSL_DEBUG_LEVEL */
-};
-
-void SAL_CALL ___rtl_memory_init (void);
-void SAL_CALL ___rtl_memory_fini (void);
-
-#define RTL_MEMORY_ENTER() \
-{ \
- if (!(g_memory.m_align)) ___rtl_memory_init(); \
- RTL_MUTEX_ACQUIRE(&(g_memory.m_mutex.m_lock)); \
-}
-
-#define RTL_MEMORY_LEAVE() \
-{ \
- RTL_MUTEX_RELEASE(&(g_memory.m_mutex.m_lock)); \
-}
-
-/*===========================================================================
- *
- * rtl_memory (queue) internals.
- *
- *=========================================================================*/
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static sal_Size queue (sal_Size n)
-{
- /* k = n div __C__ */
- register sal_Size k = n / __C__, m = __L__;
-
- OSL_PRECOND((__L__ == 32),
- "__rtl_memory_queue(): internal logic error");
- if (k > m)
- {
- /* k = k div __L__ = k div 32 */
- k >>= 5;
- while ((k >>= 1) > 0) m++;
- k = m;
- }
-
- OSL_POSTCOND((0 < k) && (k < __N__),
- "__rtl_memory_queue(): "
- "internal error: index out of bounds");
- return (k);
-}
-#else /* PRODUCT */
-#define queue(k, n) \
-{ \
- (k) = ((n) / __C__); \
- if ((k) > __L__) \
- { \
- register sal_Size m = __L__; \
- (k) >>= 5; \
- while (((k) >>= 1) > 0) m++; \
- (k) = m; \
- } \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-#define queue_start(entry) \
-{ \
- (entry)->m_flink = (entry); \
- (entry)->m_blink = (entry); \
-}
-
-#define queue_remove(entry) \
-{ \
- (entry)->m_blink->m_flink = (entry)->m_flink; \
- (entry)->m_flink->m_blink = (entry)->m_blink; \
- queue_start(entry); \
-}
-
-#define queue_insert_head(head, entry) \
-{ \
- (entry)->m_blink = (head); \
- (entry)->m_flink = (head)->m_flink; \
- (head)->m_flink = (entry); \
- (entry)->m_flink->m_blink = (entry); \
-}
-
-#define queue_insert_tail(head, entry) \
-{ \
- (entry)->m_flink = (head); \
- (entry)->m_blink = (head)->m_blink; \
- (head)->m_blink = (entry); \
- (entry)->m_blink->m_flink = (entry); \
-}
-
-/*===========================================================================
- *
- * rtl_memory (debug) internals.
- *
- *=========================================================================*/
-#if OSL_DEBUG_LEVEL > 0
-
-#define __dbg_memory_succ(entry, length) \
-(memory_type*)((char*)((entry)) + ((length) & ~0x1))
-
-#define __dbg_memory_pred(entry, offset) \
-(memory_type*)((char*)((entry)) - ((offset) & ~0x1))
-
-#define __dbg_memory_ensure(entry) (!((sal_Size)(entry) & 0x7))
-
-/*
- * __dbg_memory_dequeue.
- */
-static void __dbg_memory_dequeue (sal_Size n)
-{
- register sal_Size k = queue(n);
-
- g_memory.m_queue_stat[k].m_dequeue += 1;
- g_memory.m_queue_stat[k].m_delta_q += 1;
-
- g_memory.m_queue_stat[k].m_deqsize += n;
- g_memory.m_queue_stat[k].m_delta_n += n;
-}
-
-/*
- * __dbg_memory_enqueue.
- */
-static void __dbg_memory_enqueue (sal_Size n)
-{
- register sal_Size k = queue(n);
-
- g_memory.m_queue_stat[k].m_enqueue += 1;
- g_memory.m_queue_stat[k].m_delta_q -= 1;
-
- g_memory.m_queue_stat[k].m_enqsize += n;
- g_memory.m_queue_stat[k].m_delta_n -= n;
-}
-
-/*
- * __dbg_memory_insert.
- */
-static void __dbg_memory_insert (memory_type **ppMemory)
-{
- register memory_type * succ;
- succ = __dbg_memory_succ (*ppMemory, sizeof(memory_type));
-
- succ->m_length = (*ppMemory)->m_length - sizeof(memory_type);
- succ->m_offset = (*ppMemory)->m_offset;
-
- queue_insert_tail (&(g_memory.m_alloc_head), (*ppMemory));
- (*ppMemory) = succ;
-}
-
-/*
- * __dbg_memory_remove.
- */
-static void __dbg_memory_remove (memory_type **ppMemory)
-{
- (*ppMemory) = __dbg_memory_pred (*ppMemory, sizeof(memory_type));
- queue_remove (*ppMemory);
-}
-
-/*
- * __dbg_memory_verify_chain.
- */
-static int __dbg_memory_verify_chain (memory_type * x)
-{
- if (!__dbg_memory_ensure(x))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): invalid pointer alignment.");
- return (0);
- }
- if (!__dbg_memory_ensure(x->m_length & ~0x1))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): dynamic memory corruption");
- return (0);
- }
- if (!__dbg_memory_ensure(x->m_offset & ~0x1))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): dynamic memory corruption");
- return (0);
- }
- if (!(x->m_length & ~0x1))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): dynamic memory corruption");
- return (0);
- }
- return (1);
-}
-
-/*
- * __dbg_memory_verify_queue.
- */
-static int __dbg_memory_verify_queue (memory_type * x)
-{
- if (!__dbg_memory_ensure(x))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): invalid pointer alignment.");
- return (0);
- }
- if (!__dbg_memory_ensure(x->m_flink))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): free memory corruption");
- return (0);
- }
- if (!__dbg_memory_ensure(x->m_blink))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): free memory corruption");
- return (0);
- }
- if ((x == x->m_flink) || (x == x->m_blink))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): internal logic error");
- return (0);
- }
- return (1);
-}
-
-/*
- * __dbg_memory_verify_alloc.
- */
-static int __dbg_memory_verify_alloc (memory_type * x)
-{
- register memory_type *head, *entry;
- head = entry = &(g_memory.m_alloc_head);
-
- if (!__dbg_memory_ensure(x))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): invalid pointer alignment.");
- return (0);
- }
- while (!((entry = entry->m_flink) == head))
- {
- if ((entry < x) && (x < __dbg_memory_succ(entry, entry->m_length)))
- {
- head = entry = __dbg_memory_succ(entry, sizeof(memory_type));
- while (!((x == entry) || (entry->m_offset & 0x1)))
- {
- /* no match, not last */
- if (!__dbg_memory_verify_chain (entry))
- return (0);
- entry = __dbg_memory_succ(entry, entry->m_length);
- }
-
- /* match, or last */
- if (!__dbg_memory_verify_chain (entry))
- return (0);
- break;
- }
- }
- if (!(x == entry))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): memory not allocated.");
- return (0);
- }
- return (1);
-}
-
-/*
- * __dbg_memory_verify.
- */
-static int __dbg_memory_verify (memory_type * x, int debug)
-{
- /* dispatch upon 'debug' level */
- if (debug)
- {
- /* verify allocation */
- if (!__dbg_memory_verify_alloc (x))
- return (0);
- }
- else
- {
- /* verify 'chain' fields */
- if (!__dbg_memory_verify_chain (x))
- return (0);
- }
-
- /* verify 'used' bit */
- if (!(x->m_length & 0x1))
- {
- OSL_ENSURE(0, "__rtl_memory_verify(): memory not used.");
- return (0);
- }
- return (1);
-}
-
-#if OSL_DEBUG_LEVEL > 1
-/*
- * __dbg_memory_usage_update.
- */
-static sal_Size __dbg_memory_usage_update (memory_stat * stat, sal_Size length)
-{
- register sal_Size n = (length & ~0x1), k = queue(n);
-
- stat[k].m_dequeue += 1;
- stat[k].m_deqsize += n;
-
- if (!(length & 0x1))
- {
- /* not used */
- stat[k].m_enqueue += 1;
- stat[k].m_enqsize += n;
- return (n);
- }
- else
- {
- /* used */
- stat[k].m_delta_q += 1;
- stat[k].m_delta_n += n;
- return (0);
- }
-}
-
-/*
- * __dbg_memory_usage.
- */
-static void __dbg_memory_usage (memory_stat * total)
-{
- register memory_type *head, *entry, *memory;
- memory_stat stat[__N__];
-
- memset (stat, 0, __N__ * sizeof(memory_stat));
-
- head = entry = &(g_memory.m_alloc_head);
- while (!((entry = entry->m_flink) == head))
- {
- register sal_Size k = 0, n = entry->m_length - sizeof(memory_type);
-
- memory = __dbg_memory_succ(entry, sizeof(memory_type));
- while (!(memory->m_offset & 0x1))
- {
- /* not last */
- k += __dbg_memory_usage_update (stat, memory->m_length);
- memory = __dbg_memory_succ(memory, memory->m_length);
- }
-
- k += __dbg_memory_usage_update (stat, memory->m_length);
- OSL_TRACE("%x %10d %10d", (sal_Size)(entry), n, k);
- }
-
- if (total)
- {
- sal_Size i;
-
- memset (total, 0, sizeof(memory_stat));
- for (i = 0; i < __N__; i++)
- {
- total->m_dequeue += stat[i].m_dequeue;
- total->m_enqueue += stat[i].m_enqueue;
- total->m_delta_q += stat[i].m_delta_q;
-
- total->m_deqsize += stat[i].m_deqsize;
- total->m_enqsize += stat[i].m_enqsize;
- total->m_delta_n += stat[i].m_delta_n;
- }
- }
-}
-#endif /* OSL_DEBUG_LEVEL */
-
-#endif /* OSL_DEBUG_LEVEL */
-#if OSL_DEBUG_LEVEL > 0
-
-#define DBG_MEMORY_DEQUEUE(n) __dbg_memory_dequeue((sal_Size)(n) & ~0x1)
-#define DBG_MEMORY_ENQUEUE(n) __dbg_memory_enqueue((sal_Size)(n) & ~0x1)
-
-#define DBG_MEMORY_DEQFILL(entry, offset, length) \
- memset(((char*)(entry) + (offset)), 0x77777777, (length))
-#define DBG_MEMORY_ENQFILL(entry, offset, length) \
- memset(((char*)(entry) + (offset)), 0x33333333, (length))
-
-#define DBG_MEMORY_INSERT(entry) __dbg_memory_insert((entry))
-#define DBG_MEMORY_REMOVE(entry) __dbg_memory_remove((entry))
-
-#if OSL_DEBUG_LEVEL > 1
-#define DBG_MEMORY_VERIFY(entry) __dbg_memory_verify((entry), 1)
-#else /* OSL_DEBUG_LEVEL > 0 */
-#define DBG_MEMORY_VERIFY(entry) __dbg_memory_verify((entry), 0)
-#endif /* OSL_DEBUG_LEVEL */
-
-#define DBG_MEMORY_VERIFY_CHAIN(entry) __dbg_memory_verify_chain((entry))
-#define DBG_MEMORY_VERIFY_QUEUE(entry) __dbg_memory_verify_queue((entry))
-
-#else /* PRODUCT */
-
-#define DBG_MEMORY_DEQUEUE(n)
-#define DBG_MEMORY_ENQUEUE(n)
-
-#define DBG_MEMORY_DEQFILL(entry, offset, length)
-#define DBG_MEMORY_ENQFILL(entry, offset, length)
-
-#define DBG_MEMORY_INSERT(entry)
-#define DBG_MEMORY_REMOVE(entry)
-
-#define DBG_MEMORY_VERIFY(entry)
-#define DBG_MEMORY_VERIFY_CHAIN(entry)
-#define DBG_MEMORY_VERIFY_QUEUE(entry)
-
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*===========================================================================
- *
- * rtl_memory (manager) internals.
- *
- *=========================================================================*/
-#define queue_cast(entry, offset) \
-((memory_type*)((char*)(entry) + (ptrdiff_t)(offset)))
-
-#define __rtl_memory_used(entry) ((entry)->m_length & 0x1)
-#define __rtl_memory_last(entry) ((entry)->m_offset & 0x1)
-#define __rtl_memory_offset(entry) \
- ((ptrdiff_t)((entry)->m_offset & ~0x1))
-
-/*
- * ___rtl_memory_init.
- */
-void SAL_CALL ___rtl_memory_init (void)
-{
-#if defined(RTL_MUTEX_INIT)
- RTL_MUTEX_INIT (&(g_memory.m_mutex.m_lock));
-#endif /* RTL_MUTEX_INIT */
-
- RTL_MUTEX_ACQUIRE(&(g_memory.m_mutex.m_lock));
- if (!(g_memory.m_align))
- {
- sal_Size pagesize;
- int i;
-
- queue_start (&(g_memory.m_alloc_head));
- queue_start (&(g_memory.m_spare_head));
-
- for (i = 0; i < __N__; i++)
- queue_start (&(g_memory.m_queue_head[i]));
- for (i = 1; i <= __L__; i++)
- g_memory.m_queue_head[i].m_length = i * __C__;
- for (i = __L__ + 1; i < __N__; i++)
- g_memory.m_queue_head[i].m_length =
- 2 * g_memory.m_queue_head[i - 1].m_length;
-
- pagesize = __rtl_memory_vmpagesize();
- g_memory.m_align = RTL_MEMORY_ALIGN(__M__, pagesize);
- }
- RTL_MUTEX_RELEASE(&(g_memory.m_mutex.m_lock));
-}
-
-/*
- * ___rtl_memory_fini.
- */
-void SAL_CALL ___rtl_memory_fini (void)
-{
-#if OSL_DEBUG_LEVEL > 1
-
- memory_stat total;
-
- __dbg_memory_usage (&total);
- if (total.m_delta_n > 0)
- {
- OSL_TRACE("___rtl_memory_fini(): "
- "Leak: %10d (Alloc: %10d, Free: %10d)",
- total.m_delta_n,
- (sal_uInt32)(total.m_deqsize & 0xffffffff),
- (sal_uInt32)(total.m_enqsize & 0xffffffff));
- }
-
-#endif /* OSL_DEBUG_LEVEL */
-}
-
-/*
- * __rtl_memory_merge.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_merge (memory_type * prev, memory_type * next)
-{
- /* adjust length */
- prev->m_length += next->m_length;
- if (!__rtl_memory_last(next))
- {
- /* not last, adjust offset */
- register memory_type * succ = queue_cast(prev, prev->m_length);
- DBG_MEMORY_VERIFY_CHAIN (succ);
- succ->m_offset = prev->m_length | __rtl_memory_last(succ);
- }
-
- /* propagate 'last' bit */
- prev->m_offset |= __rtl_memory_last(next);
-}
-#else /* PRODUCT */
-#define __rtl_memory_merge(prev, next) \
-{ \
- (prev)->m_length += (next)->m_length; \
- if (!__rtl_memory_last((next))) \
- { \
- register memory_type * succ = queue_cast((prev), (prev)->m_length); \
- succ->m_offset = (prev)->m_length | __rtl_memory_last(succ); \
- } \
- (prev)->m_offset |= __rtl_memory_last((next)); \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*
- * __rtl_memory_split.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_split (memory_type * prev, memory_type * next)
-{
- /* adjust length */
- prev->m_length -= next->m_length;
- if (!__rtl_memory_last(prev))
- {
- /* not last, adjust offset */
- register memory_type * succ = queue_cast(next, next->m_length);
- DBG_MEMORY_VERIFY_CHAIN (succ);
- succ->m_offset = next->m_length | __rtl_memory_last(succ);
- }
-
- /* propagate 'last' bit */
- next->m_offset |= __rtl_memory_last(prev);
- prev->m_offset &= ~0x1;
-}
-#else /* PRODUCT */
-#define __rtl_memory_split(prev, next) \
-{ \
- (prev)->m_length -= (next)->m_length; \
- if (!__rtl_memory_last((prev))) \
- { \
- register memory_type * succ = queue_cast((next), (next)->m_length); \
- succ->m_offset = (next)->m_length | __rtl_memory_last(succ); \
- } \
-\
- (next)->m_offset |= __rtl_memory_last((prev)); \
- (prev)->m_offset &= ~0x1; \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*
- * __rtl_memory_insert.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_insert (memory_type * memory, sal_Size n)
-{
- /* obtain queue head */
- register memory_type *head;
-
- head = &(g_memory.m_queue_head[queue(n)]);
- DBG_MEMORY_VERIFY_CHAIN (head);
-
- /* insert at queue tail (first-in first-out) */
- queue_insert_tail (head, memory);
-}
-#else /* PRODUCT */
-#define __rtl_memory_insert(memory, n) \
-{ \
- register sal_Size h; \
-\
- queue(h, (n)); \
- queue_insert_tail (&(g_memory.m_queue_head[h]), (memory)); \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*
- * __rtl_memory_resize.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_resize (memory_type * memory, sal_Size n)
-{
- register sal_Size k = (memory->m_length - n);
-
- OSL_ENSURE(!(memory->m_length & 0x1),
- "__rtl_memory_resize(): "
- "internal logic error.");
-
- if ((k >= sizeof(memory_type)) && (n <= __T__))
- {
- /* split */
- register memory_type * remain = queue_cast(memory, n);
-
- remain->m_length = k; remain->m_offset = n;
- __rtl_memory_split (memory, remain);
-
- /* check postcond */
- if (!__rtl_memory_last(remain))
- {
- /* not last, verify used next entry */
- register memory_type *next;
-
- next = queue_cast(remain, remain->m_length);
- DBG_MEMORY_VERIFY_CHAIN (next);
-
- OSL_POSTCOND(__rtl_memory_used(next),
- "__rtl_memory_resize(): "
- "internal logic error.");
- }
-
- /* enqueue */
- __rtl_memory_insert (remain, k);
- DBG_MEMORY_VERIFY_QUEUE (remain);
- }
-
- DBG_MEMORY_DEQUEUE(memory->m_length);
-}
-#else /* PRODUCT */
-#define __rtl_memory_resize(memory, n) \
-{ \
- register sal_Size kn = ((memory)->m_length - (n)); \
- if ((kn >= sizeof(memory_type)) && (n <= __T__)) \
- { \
- register memory_type * remain = queue_cast((memory), (n)); \
-\
- remain->m_length = kn; remain->m_offset = (n); \
- __rtl_memory_split ((memory), remain); \
-\
- __rtl_memory_insert (remain, kn); \
- } \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*
- * __rtl_memory_dequeue.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_dequeue (memory_type **ppMemory, sal_Size n)
-{
- register memory_type *head, *entry;
- register sal_Size k, m = n;
-
- OSL_PRECOND(!*ppMemory, "__rtl_memory_dequeue(): internal logic error.");
- for (k = queue(m); k < __N__; k++)
- {
- /* first fit (equals best fit w/ ascending insert) */
- head = &(g_memory.m_queue_head[k]);
- for (entry = head->m_flink; entry != head; entry = entry->m_flink)
- {
- /* queue not empty */
- DBG_MEMORY_VERIFY_CHAIN (entry);
- if (entry->m_length >= m)
- {
- /* remove entry */
- DBG_MEMORY_VERIFY_QUEUE (entry);
- queue_remove (entry);
-
- /* assign result */
- *ppMemory = entry;
- goto dequeue_leave;
- }
- }
- }
-
- head = &(g_memory.m_spare_head);
- for (entry = head->m_flink; entry != head; entry = entry->m_flink)
- {
- /* queue not empty */
- DBG_MEMORY_VERIFY_CHAIN (entry);
- if (entry->m_length >= m)
- {
- /* remove entry */
- DBG_MEMORY_VERIFY_QUEUE (entry);
- queue_remove (entry);
-
- /* assign result */
- *ppMemory = entry;
- goto dequeue_leave;
- }
- }
-
-#if OSL_DEBUG_LEVEL > 0
- /* adjust for DBG_MEMORY_INSERT() overhead */
- m += sizeof(memory_type);
-#endif /* OSL_DEBUG_LEVEL */
-
- k = RTL_MEMORY_ALIGN((m > __M__) ? m : __M__, g_memory.m_align);
- if (!((entry = RTL_MEMORY_ALLOC(k)) == 0))
- {
- entry->m_length = k;
- entry->m_offset = 0x1; /* set 'last' bit */
-
- *ppMemory = entry;
- DBG_MEMORY_INSERT(ppMemory);
- }
-
-dequeue_leave:
- OSL_POSTCOND(*ppMemory, "__rtl_memory_dequeue(): out of memory.");
- if ((entry = *ppMemory) != 0)
- {
- /* adjust length */
- __rtl_memory_resize (entry, n);
-
- /* fill w/ 'uninitialized' pattern */
- DBG_MEMORY_DEQFILL (entry, __C__, entry->m_length - __C__);
- }
-#if OSL_DEBUG_LEVEL > 1
- if (!entry)
- {
- memory_stat total;
- __dbg_memory_usage (&total);
- }
-#endif /* OSL_DEBUG_LEVEL */
-}
-#else /* PRODUCT */
-#define __rtl_memory_dequeue(ppMemory, n, label) \
-{ \
- register memory_type *head, *entry; \
- register sal_Size h, m = (n); \
-\
- queue (h, m); \
- for (; h < __N__; h++) \
- { \
- head = &(g_memory.m_queue_head[h]); \
- for (entry = head->m_flink; entry != head; entry = entry->m_flink) \
- { \
- if (entry->m_length >= m) \
- { \
- queue_remove (entry); \
- goto label; \
- } \
- } \
- } \
-\
- head = &(g_memory.m_spare_head); \
- for (entry = head->m_flink; entry != head; entry = entry->m_flink) \
- { \
- if (entry->m_length >= m) \
- { \
- queue_remove (entry); \
- goto label; \
- } \
- } \
-\
- h = RTL_MEMORY_ALIGN((m > __M__) ? m : __M__, g_memory.m_align); \
- if (!((entry = RTL_MEMORY_ALLOC(h)) == 0)) \
- { \
- entry->m_length = h; \
- entry->m_offset = 0x1; \
- } \
-\
-label: \
- if (entry) \
- { \
- __rtl_memory_resize (entry, (n)); \
- *(ppMemory) = entry; \
- } \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-#define RTL_MEMORY_DEQUEUE(m, n, l) __rtl_memory_dequeue((m), (n))
-#else /* PRODUCT */
-#define RTL_MEMORY_DEQUEUE(m, n, l) __rtl_memory_dequeue(m, n, l)
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-/*
- * __rtl_memory_enqueue.
- */
-#if defined(PROFILE) || (OSL_DEBUG_LEVEL > 0)
-static void __rtl_memory_enqueue (memory_type **ppMemory)
-{
- register memory_type *head = *ppMemory;
-
- OSL_ENSURE(!__rtl_memory_used(head),
- "__rtl_memory_enqueue(): "
- "internal logic error.");
- DBG_MEMORY_ENQUEUE (head->m_length);
-
- /* fill w/ 'deinitialized' pattern */
- DBG_MEMORY_ENQFILL (head, __C__, head->m_length - __C__);
-
- /* try merge w/ next entry */
- if (!__rtl_memory_last(head))
- {
- /* not last, check next in chain */
- register memory_type * next;
-
- next = queue_cast(head, head->m_length);
- DBG_MEMORY_VERIFY_CHAIN (next);
-
- if (!__rtl_memory_used(next))
- {
- /* next not used */
- DBG_MEMORY_VERIFY_QUEUE (next);
- queue_remove (next);
-
- /* merge w/ next */
- __rtl_memory_merge (head, next);
- DBG_MEMORY_ENQFILL (next, 0, sizeof(memory_type));
- }
- }
-
- /* try merge w/ prev entry */
- if (__rtl_memory_offset(head) > 0)
- {
- /* not first, check prev in chain */
- register memory_type * prev;
-
- prev = queue_cast(head, -(__rtl_memory_offset(head)));
- DBG_MEMORY_VERIFY_CHAIN (prev);
-
- if (!__rtl_memory_used(prev))
- {
- /* prev not used */
- DBG_MEMORY_VERIFY_QUEUE (prev);
- queue_remove (prev);
-
- /* merge w/ prev */
- __rtl_memory_merge (prev, head);
- DBG_MEMORY_ENQFILL (head, 0, sizeof(memory_type));
- head = prev;
- }
- }
-
- if (!(head->m_offset == 0x1))
- {
- /* page still used, enqueue */
- __rtl_memory_insert (head, head->m_length);
- head = 0;
- }
- else if (head->m_length <= g_memory.m_align)
- {
- /* small page unused, check spare page */
- register memory_type * spare;
-
- spare = &(g_memory.m_spare_head);
- if (spare->m_flink == spare)
- {
- /* keep as spare page */
- queue_insert_tail (spare, head);
- head = 0;
- }
- }
- if ((*ppMemory = head) != 0)
- {
- /* page unused, remove */
- DBG_MEMORY_REMOVE(ppMemory);
- }
-}
-#else /* PRODUCT */
-#define __rtl_memory_enqueue(ppMemory) \
-{ \
- register memory_type *head = *(ppMemory); \
-\
- if (!__rtl_memory_last(head)) \
- { \
- register memory_type * next; \
- next = queue_cast(head, head->m_length); \
- if (!__rtl_memory_used(next)) \
- { \
- queue_remove (next); \
- __rtl_memory_merge (head, next); \
- } \
- } \
-\
- if (__rtl_memory_offset(head) > 0) \
- { \
- register memory_type * prev; \
- prev = queue_cast(head, -(__rtl_memory_offset(head))); \
- if (!__rtl_memory_used(prev)) \
- { \
- queue_remove (prev); \
- __rtl_memory_merge (prev, head); \
- head = prev; \
- } \
- } \
-\
- if (!(head->m_offset == 0x1)) \
- { \
- register memory_type * used = head; \
- __rtl_memory_insert (used, used->m_length); \
- head = 0; \
- } \
- else if (head->m_length <= g_memory.m_align) \
- { \
- register memory_type * spare; \
- spare = &(g_memory.m_spare_head); \
- if (spare->m_flink == spare) \
- { \
- queue_insert_tail (spare, head); \
- head = 0; \
- } \
- } \
-\
- *(ppMemory) = head; \
-}
-#endif /* OSL_DEBUG_LEVEL || PRODUCT */
-
-#define RTL_MEMORY_ENQUEUE(m) __rtl_memory_enqueue((m))
-
-#endif /* FORCE_SYSALLOC */
-
-/*===========================================================================
- *
- * rtl_memory (manager) implementation.
- *
- *=========================================================================*/
-/*
- * rtl_reallocateMemory.
- */
-#ifndef FORCE_SYSALLOC
-void* SAL_CALL rtl_reallocateMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
-{
- memory_type * memory;
- if (!(!p || !n))
- {
- /* reallocate */
- register sal_Size datlen;
-
- memory = queue_cast(p, -(__C__)); p = 0;
- n = RTL_MEMORY_ALIGN(n, __Q__) + __C__;
-
- RTL_MEMORY_ENTER();
- DBG_MEMORY_VERIFY(memory);
-
- /* clear 'used' bit */
- DBG_MEMORY_ENQUEUE (memory->m_length);
- memory->m_length &= ~0x1;
-
- /* amount of data to be moved or copied */
- datlen = ((memory->m_length < n) ? memory->m_length : n);
-
- /* try merge w/ next entry */
- if (!__rtl_memory_last(memory))
- {
- /* not last, check next in chain */
- register memory_type * next;
-
- next = queue_cast(memory, memory->m_length);
- DBG_MEMORY_VERIFY_CHAIN(next);
-
- if (!__rtl_memory_used(next))
- {
- /* next not used */
- DBG_MEMORY_VERIFY_QUEUE(next);
- queue_remove (next);
-
- /* merge w/ next */
- __rtl_memory_merge (memory, next);
- }
- }
-
- /* try merge w/ prev entry */
- if (__rtl_memory_offset(memory) > 0)
- {
- /* not first, check prev in chain */
- register memory_type * prev;
-
- prev = queue_cast(memory, -(__rtl_memory_offset(memory)));
- DBG_MEMORY_VERIFY_CHAIN (prev);
-
- if (!__rtl_memory_used(prev))
- {
- /* prev not used, try merge, move */
- if ((memory->m_length + prev->m_length) >= n)
- {
- /* prev does fit */
- DBG_MEMORY_VERIFY_QUEUE (prev);
- queue_remove (prev);
-
- /* merge w/ prev */
- __rtl_memory_merge (prev, memory);
-
- /* move to prev */
- memmove (
- queue_cast(prev, __C__),
- queue_cast(memory, __C__),
- datlen - __C__);
- memory = prev;
- }
- }
- }
-
- if (memory->m_length >= n)
- {
- /* adjust, set 'used' bit */
- __rtl_memory_resize (memory, n);
- memory->m_length |= 0x1;
-
- /* assign result */
- p = queue_cast(memory, __C__);
- }
- else
- {
- /* allocate */
- memory_type * result = 0;
-
- /* restore 'used' bit */
- DBG_MEMORY_DEQUEUE (memory->m_length);
- memory->m_length |= 0x80000000;
-
- RTL_MEMORY_DEQUEUE (&result, n, realloc_label_1);
- if (result)
- {
- /* set 'used' bit */
- result->m_length |= 0x1;
-
- /* copy */
- memcpy (
- queue_cast(result, __C__),
- queue_cast(memory, __C__),
- datlen - __C__);
-
- /* clear 'used' bit, enqueue */
- memory->m_length &= 0x7fffffff;
- RTL_MEMORY_ENQUEUE (&memory);
- if (memory)
- {
- /* free memory page */
- RTL_MEMORY_FREE(memory, memory->m_length);
- }
-
- /* assign result */
- p = queue_cast(result, __C__);
- }
- }
- RTL_MEMORY_LEAVE();
- }
- else if (!p)
- {
- /* allocate */
- memory = 0;
- n = RTL_MEMORY_ALIGN(n, __Q__) + __C__;
-
- RTL_MEMORY_ENTER();
- RTL_MEMORY_DEQUEUE (&memory, n, realloc_label_2);
- if (memory)
- {
- /* set 'used' bit */
- memory->m_length |= 0x1;
-
- /* assign result */
- p = queue_cast(memory, __C__);
- }
- RTL_MEMORY_LEAVE();
- }
- else if (!n)
- {
- /* free */
- memory = queue_cast(p, -(__C__)); p = 0;
-
- RTL_MEMORY_ENTER();
- DBG_MEMORY_VERIFY(memory);
-
- /* clear 'used' bit, enqueue */
- memory->m_length &= ~0x1;
-
- RTL_MEMORY_ENQUEUE (&memory);
- if (memory)
- {
- /* free memory page */
- RTL_MEMORY_FREE(memory, memory->m_length);
- }
- RTL_MEMORY_LEAVE();
- }
- return (p);
-}
-#else /* FORCE_SYSALLOC */
-void* SAL_CALL rtl_reallocateMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
-{
- return realloc(p, (sal_Size)(n));
-}
-#endif /* FORCE_SYSALLOC */
-
-/*
- * rtl_allocateMemory.
- */
-#ifndef FORCE_SYSALLOC
-void* SAL_CALL rtl_allocateMemory (sal_Size n) SAL_THROW_EXTERN_C()
-{
- void * p = 0;
- if (n > 0)
- {
- memory_type * memory = 0;
- n = RTL_MEMORY_ALIGN(n, __Q__) + __C__;
-
- RTL_MEMORY_ENTER();
- RTL_MEMORY_DEQUEUE (&memory, n, alloc_label);
- if (memory)
- {
- /* set 'used' bit */
- memory->m_length |= 0x1;
-
- /* assign result */
- p = queue_cast(memory, __C__);
- }
- RTL_MEMORY_LEAVE();
- }
- return (p);
-}
-#else /* FORCE_SYSALLOC */
-void* SAL_CALL rtl_allocateMemory (sal_Size n) SAL_THROW_EXTERN_C()
-{
- return malloc((sal_Size)(n));
-}
-#endif /* FORCE_SYSALLOC */
-
-/*
- * rtl_freeMemory.
- */
-#ifndef FORCE_SYSALLOC
-void SAL_CALL rtl_freeMemory (void * p) SAL_THROW_EXTERN_C()
-{
- if (p)
- {
- memory_type * memory = queue_cast(p, -(__C__));
-
- RTL_MEMORY_ENTER();
- DBG_MEMORY_VERIFY(memory);
-
- /* clear 'used' bit, enqueue */
- memory->m_length &= ~0x1;
-
- RTL_MEMORY_ENQUEUE (&memory);
- if (memory)
- {
- /* free memory page */
- RTL_MEMORY_FREE(memory, memory->m_length);
- }
- RTL_MEMORY_LEAVE();
- }
-}
-#else /* FORCE_SYSALLOC */
-void SAL_CALL rtl_freeMemory (void * p) SAL_THROW_EXTERN_C()
-{
- free(p);
-}
-#endif /* FORCE_SYSALLOC */
-
-/*
- * rtl_allocateZeroMemory.
- */
-#ifndef FORCE_SYSALLOC
-void* SAL_CALL rtl_allocateZeroMemory (sal_Size n) SAL_THROW_EXTERN_C()
-{
- void * p = 0;
- if (n > 0)
- {
- memory_type * memory = 0;
- n = RTL_MEMORY_ALIGN(n, __Q__) + __C__;
-
- RTL_MEMORY_ENTER();
- RTL_MEMORY_DEQUEUE (&memory, n, alloc_label); /* NYI: demand zero */
- if (memory)
- {
- /* zero, set 'used' bit */
- memset ((char*)memory + __C__, 0, memory->m_length - __C__);
- memory->m_length |= 0x1;
-
- /* assign result */
- p = queue_cast(memory, __C__);
- }
- RTL_MEMORY_LEAVE();
- }
- return (p);
-}
-#else /* FORCE_SYSALLOC */
-void* SAL_CALL rtl_allocateZeroMemory (sal_Size n) SAL_THROW_EXTERN_C()
-{
- return calloc((sal_Size)(n), 1);
-}
-#endif /* FORCE_SYSALLOC */
-
-/*
- * rtl_freeZeroMemory.
- */
-#ifndef FORCE_SYSALLOC
-void SAL_CALL rtl_freeZeroMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
-{
- (void) n; /* unused */
- if (p)
- {
- memory_type * memory = queue_cast(p, -(__C__));
-
- RTL_MEMORY_ENTER();
- DBG_MEMORY_VERIFY(memory);
-
- /* clear 'used' bit, zero, enqueue */
- memory->m_length &= ~0x1;
- memset ((char*)memory + __C__, 0, memory->m_length - __C__);
-
- RTL_MEMORY_ENQUEUE (&memory); /* NYI: demand zero */
- if (memory)
- {
- /* free memory page */
- RTL_MEMORY_FREE(memory, memory->m_length);
- }
- RTL_MEMORY_LEAVE();
- }
-}
-#else /* FORCE_SYSALLOC */
-void SAL_CALL rtl_freeZeroMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
-{
- if (p)
- {
- memset(p, 0, n);
- free(p);
- }
-}
-#endif /* FORCE_SYSALLOC */
-
-/*===========================================================================
- *
- * The End.
- *
- *=========================================================================*/
diff --git a/sal/rtl/source/alloc_arena.c b/sal/rtl/source/alloc_arena.c
index 1a74c7e36cae..6b57df355cad 100644
--- a/sal/rtl/source/alloc_arena.c
+++ b/sal/rtl/source/alloc_arena.c
@@ -28,22 +28,13 @@
#define _BSD_SOURCE /* sys/mman.h: MAP_ANON */
#include "alloc_arena.h"
-#ifndef INCLUDED_RTL_ARENA_IMPL_H
#include "alloc_impl.h"
-#endif
#include "internal/once.h"
#include "sal/macros.h"
#include "osl/diagnose.h"
-#ifndef INCLUDED_STRING_H
#include <string.h>
-#endif
-
-#ifndef INCLUDED_STDIO_H
#include <stdio.h>
-#endif
-
-#include "sal/types.h"
#ifdef OS2
#undef OSL_TRACE
@@ -967,6 +958,7 @@ try_alloc:
if (result != 0)
{
rtl_arena_type * arena = result;
+ VALGRIND_CREATE_MEMPOOL(arena, 0, 0);
rtl_arena_constructor (arena);
if (!source_arena)
@@ -989,6 +981,7 @@ try_alloc:
{
rtl_arena_deactivate (arena);
rtl_arena_destructor (arena);
+ VALGRIND_DESTROY_MEMPOOL(arena);
rtl_arena_free (gp_arena_arena, arena, size);
}
}
@@ -1014,6 +1007,7 @@ SAL_CALL rtl_arena_destroy (
{
rtl_arena_deactivate (arena);
rtl_arena_destructor (arena);
+ VALGRIND_DESTROY_MEMPOOL(arena);
rtl_arena_free (gp_arena_arena, arena, sizeof(rtl_arena_type));
}
}
@@ -1069,6 +1063,10 @@ SAL_CALL rtl_arena_alloc (
rtl_arena_hash_insert (arena, segment);
+ /* DEBUG ONLY: mark allocated, undefined */
+ OSL_DEBUG_ONLY(memset((void*)(segment->m_addr), 0x77777777, segment->m_size));
+ VALGRIND_MEMPOOL_ALLOC(arena, segment->m_addr, segment->m_size);
+
(*pSize) = segment->m_size;
addr = (void*)(segment->m_addr);
}
@@ -1112,6 +1110,11 @@ SAL_CALL rtl_arena_free (
{
rtl_arena_segment_type *next, *prev;
+ /* DEBUG ONLY: mark unallocated, undefined */
+ VALGRIND_MEMPOOL_FREE(arena, segment->m_addr);
+ /* OSL_DEBUG_ONLY() */ VALGRIND_MAKE_MEM_UNDEFINED(segment->m_addr, segment->m_size);
+ OSL_DEBUG_ONLY(memset((void*)(segment->m_addr), 0x33333333, segment->m_size));
+
/* coalesce w/ adjacent free segment(s) */
rtl_arena_segment_coalesce (arena, segment);
@@ -1303,6 +1306,7 @@ rtl_arena_once_init (void)
static rtl_arena_type g_machdep_arena;
OSL_ASSERT(gp_machdep_arena == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_machdep_arena, 0, 0);
rtl_arena_constructor (&g_machdep_arena);
gp_machdep_arena = rtl_arena_activate (
@@ -1319,6 +1323,7 @@ rtl_arena_once_init (void)
static rtl_arena_type g_default_arena;
OSL_ASSERT(gp_default_arena == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_default_arena, 0, 0);
rtl_arena_constructor (&g_default_arena);
gp_default_arena = rtl_arena_activate (
@@ -1337,6 +1342,7 @@ rtl_arena_once_init (void)
static rtl_arena_type g_arena_arena;
OSL_ASSERT(gp_arena_arena == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_arena_arena, 0, 0);
rtl_arena_constructor (&g_arena_arena);
gp_arena_arena = rtl_arena_activate (
@@ -1362,7 +1368,18 @@ rtl_arena_init (void)
/* ================================================================= */
-#if defined(__GNUC__)
+/*
+ Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
+
+ Mac OS X does not seem to support "__cxa__atexit", thus leading
+ to the situation that "__attribute__((destructor))__" functions
+ (in particular "rtl_{memory|cache|arena}_fini") become called
+ _before_ global C++ object d'tors.
+
+ Delegated the call to "rtl_arena_fini()" into a dummy C++ object,
+ see alloc_fini.cxx .
+*/
+#if defined(__GNUC__) && !defined(MACOSX)
static void rtl_arena_fini (void) __attribute__((destructor));
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#pragma fini(rtl_arena_fini)
diff --git a/sal/rtl/source/alloc_cache.c b/sal/rtl/source/alloc_cache.c
index 4e2c030fb3a6..f4d34bfdb437 100644
--- a/sal/rtl/source/alloc_cache.c
+++ b/sal/rtl/source/alloc_cache.c
@@ -507,6 +507,10 @@ rtl_cache_slab_alloc (
addr = (void*)rtl_cache_hash_insert (cache, bufctl);
else
addr = bufctl;
+
+ /* DEBUG ONLY: mark allocated, undefined */
+ OSL_DEBUG_ONLY(memset(addr, 0x77777777, cache->m_type_size));
+ VALGRIND_MEMPOOL_ALLOC(cache, addr, cache->m_type_size);
}
RTL_MEMORY_LOCK_RELEASE(&(cache->m_slab_lock));
@@ -529,6 +533,11 @@ rtl_cache_slab_free (
RTL_MEMORY_LOCK_ACQUIRE(&(cache->m_slab_lock));
+ /* DEBUG ONLY: mark unallocated, undefined */
+ VALGRIND_MEMPOOL_FREE(cache, addr);
+ /* OSL_DEBUG_ONLY() */ VALGRIND_MAKE_MEM_UNDEFINED(addr, cache->m_type_size);
+ OSL_DEBUG_ONLY(memset(addr, 0x33333333, cache->m_type_size));
+
/* determine slab from addr */
if (cache->m_features & RTL_CACHE_FEATURE_HASH)
{
@@ -635,8 +644,13 @@ rtl_cache_magazine_clear (
void * obj = mag->m_objects[mag->m_mag_used - 1];
mag->m_objects[mag->m_mag_used - 1] = 0;
+ /* DEBUG ONLY: mark cached object allocated, undefined */
+ VALGRIND_MEMPOOL_ALLOC(cache, obj, cache->m_type_size);
if (cache->m_destructor != 0)
{
+ /* DEBUG ONLY: keep constructed object defined */
+ VALGRIND_MAKE_MEM_DEFINED(obj, cache->m_type_size);
+
/* destruct object */
(cache->m_destructor)(obj, cache->m_userarg);
}
@@ -965,11 +979,16 @@ rtl_cache_deactivate (
rtl_cache_type * cache
)
{
+ int active = 1;
+
/* remove from cache list */
RTL_MEMORY_LOCK_ACQUIRE(&(g_cache_list.m_lock));
+ active = QUEUE_STARTED_NAMED(cache, cache_) == 0;
QUEUE_REMOVE_NAMED(cache, cache_);
RTL_MEMORY_LOCK_RELEASE(&(g_cache_list.m_lock));
+ OSL_PRECOND(active, "rtl_cache_deactivate(): orphaned cache.");
+
/* cleanup magazine layer */
if (cache->m_magazine_cache != 0)
{
@@ -1121,6 +1140,7 @@ try_alloc:
if (result != 0)
{
rtl_cache_type * cache = result;
+ VALGRIND_CREATE_MEMPOOL(cache, 0, 0);
(void) rtl_cache_constructor (cache);
if (!source)
@@ -1148,6 +1168,7 @@ try_alloc:
/* activation failed */
rtl_cache_deactivate (cache);
rtl_cache_destructor (cache);
+ VALGRIND_DESTROY_MEMPOOL(cache);
rtl_arena_free (gp_cache_arena, cache, size);
}
}
@@ -1172,6 +1193,7 @@ void SAL_CALL rtl_cache_destroy (
{
rtl_cache_deactivate (cache);
rtl_cache_destructor (cache);
+ VALGRIND_DESTROY_MEMPOOL(cache);
rtl_arena_free (gp_cache_arena, cache, sizeof(rtl_cache_type));
}
}
@@ -1201,6 +1223,14 @@ SAL_CALL rtl_cache_alloc (
if ((curr != 0) && (curr->m_mag_used > 0))
{
obj = curr->m_objects[--curr->m_mag_used];
+#if defined(HAVE_VALGRIND_MEMCHECK_H)
+ VALGRIND_MEMPOOL_ALLOC(cache, obj, cache->m_type_size);
+ if (cache->m_constructor != 0)
+ {
+ /* keep constructed object defined */
+ VALGRIND_MAKE_MEM_DEFINED(obj, cache->m_type_size);
+ }
+#endif /* HAVE_VALGRIND_MEMCHECK_H */
cache->m_cpu_stats.m_alloc += 1;
RTL_MEMORY_LOCK_RELEASE(&(cache->m_depot_lock));
@@ -1244,7 +1274,6 @@ SAL_CALL rtl_cache_alloc (
rtl_cache_slab_free (cache, obj), obj = 0;
}
}
-
return (obj);
}
@@ -1269,6 +1298,9 @@ SAL_CALL rtl_cache_free (
if ((curr != 0) && (curr->m_mag_used < curr->m_mag_size))
{
curr->m_objects[curr->m_mag_used++] = obj;
+#if defined(HAVE_VALGRIND_MEMCHECK_H)
+ VALGRIND_MEMPOOL_FREE(cache, obj);
+#endif /* HAVE_VALGRIND_MEMCHECK_H */
cache->m_cpu_stats.m_free += 1;
RTL_MEMORY_LOCK_RELEASE(&(cache->m_depot_lock));
@@ -1582,6 +1614,7 @@ rtl_cache_once_init (void)
static rtl_cache_type g_cache_magazine_cache;
OSL_ASSERT(gp_cache_magazine_cache == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_cache_magazine_cache, 0, 0);
(void) rtl_cache_constructor (&g_cache_magazine_cache);
gp_cache_magazine_cache = rtl_cache_activate (
@@ -1606,6 +1639,7 @@ rtl_cache_once_init (void)
static rtl_cache_type g_cache_slab_cache;
OSL_ASSERT(gp_cache_slab_cache == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_cache_slab_cache, 0, 0);
(void) rtl_cache_constructor (&g_cache_slab_cache);
gp_cache_slab_cache = rtl_cache_activate (
@@ -1627,6 +1661,7 @@ rtl_cache_once_init (void)
static rtl_cache_type g_cache_bufctl_cache;
OSL_ASSERT(gp_cache_bufctl_cache == 0);
+ VALGRIND_CREATE_MEMPOOL(&g_cache_bufctl_cache, 0, 0);
(void) rtl_cache_constructor (&g_cache_bufctl_cache);
gp_cache_bufctl_cache = rtl_cache_activate (
@@ -1657,7 +1692,18 @@ rtl_cache_init (void)
/* ================================================================= */
-#if defined(__GNUC__)
+/*
+ Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
+
+ Mac OS X does not seem to support "__cxa__atexit", thus leading
+ to the situation that "__attribute__((destructor))__" functions
+ (in particular "rtl_{memory|cache|arena}_fini") become called
+ _before_ global C++ object d'tors.
+
+ Delegated the call to "rtl_cache_fini()" into a dummy C++ object,
+ see alloc_fini.cxx .
+*/
+#if defined(__GNUC__) && !defined(MACOSX)
static void rtl_cache_fini (void) __attribute__((destructor));
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#pragma fini(rtl_cache_fini)
@@ -1678,18 +1724,21 @@ rtl_cache_fini (void)
cache = gp_cache_bufctl_cache, gp_cache_bufctl_cache = 0;
rtl_cache_deactivate (cache);
rtl_cache_destructor (cache);
+ VALGRIND_DESTROY_MEMPOOL(cache);
}
if (gp_cache_slab_cache != 0)
{
cache = gp_cache_slab_cache, gp_cache_slab_cache = 0;
rtl_cache_deactivate (cache);
rtl_cache_destructor (cache);
+ VALGRIND_DESTROY_MEMPOOL(cache);
}
if (gp_cache_magazine_cache != 0)
{
cache = gp_cache_magazine_cache, gp_cache_magazine_cache = 0;
rtl_cache_deactivate (cache);
rtl_cache_destructor (cache);
+ VALGRIND_DESTROY_MEMPOOL(cache);
}
if (gp_cache_arena != 0)
{
diff --git a/sal/rtl/source/memory_fini.cxx b/sal/rtl/source/alloc_fini.cxx
index f88f09887595..cb04a525e75e 100755
--- a/sal/rtl/source/memory_fini.cxx
+++ b/sal/rtl/source/alloc_fini.cxx
@@ -25,30 +25,31 @@
*
************************************************************************/
-
/*
Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
Mac OS X does not seem to support "__cxa__atexit", thus leading
to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_memory_fini") become called _before_ global
- C++ object d'tors.
+ (in particular "rtl_{memory|cache|arena}_fini") become called
+ _before_ global C++ object d'tors.
Using a C++ dummy object instead.
*/
-#include <stdio.h>
-
extern "C" void rtl_memory_fini (void);
+extern "C" void rtl_cache_fini (void);
+extern "C" void rtl_arena_fini (void);
-
-struct RTL_Memory_Fini {
- ~RTL_Memory_Fini() ;
+struct RTL_Alloc_Fini
+{
+ ~RTL_Alloc_Fini() ;
};
-RTL_Memory_Fini::~RTL_Memory_Fini() {
+RTL_Alloc_Fini::~RTL_Alloc_Fini()
+{
rtl_memory_fini();
+ rtl_cache_fini();
+ rtl_arena_fini();
}
-
-static RTL_Memory_Fini rtl_Memory_Fini;
+static RTL_Alloc_Fini g_RTL_Alloc_Fini;
diff --git a/sal/rtl/source/alloc_global.c b/sal/rtl/source/alloc_global.c
index 5137f868127d..5da66ca49d96 100644
--- a/sal/rtl/source/alloc_global.c
+++ b/sal/rtl/source/alloc_global.c
@@ -26,6 +26,7 @@
************************************************************************/
#include "rtl/alloc.h"
+#include "alloc_impl.h"
#ifndef INCLUDED_STRING_H
#include <string.h>
@@ -44,7 +45,6 @@
#include <stdio.h>
#define INCLUDED_STDIO_H
#endif
-#include "alloc_impl.h"
#include "internal/once.h"
#include "sal/macros.h"
#include "osl/diagnose.h"
@@ -151,11 +151,11 @@ rtl_memory_init (void)
Mac OS X does not seem to support "__cxa__atexit", thus leading
to the situation that "__attribute__((destructor))__" functions
- (in particular "rtl_memory_fini") become called _before_ global
- C++ object d'tors.
+ (in particular "rtl_{memory|cache|arena}_fini") become called
+ _before_ global C++ object d'tors.
- Delegated the call to "rtl_memory_fini" into a dummy C++ object,
- see memory_fini.cxx .
+ Delegated the call to "rtl_memory_fini()" into a dummy C++ object,
+ see alloc_fini.cxx .
*/
#if defined(__GNUC__) && !defined(MACOSX)
static void rtl_memory_fini (void) __attribute__((destructor));
diff --git a/sal/rtl/source/alloc_impl.h b/sal/rtl/source/alloc_impl.h
index d3d1924ddf91..a95b7c47465c 100644
--- a/sal/rtl/source/alloc_impl.h
+++ b/sal/rtl/source/alloc_impl.h
@@ -240,6 +240,30 @@ typedef CRITICAL_SECTION rtl_memory_lock_type;
#define RTL_CACHE_FLAG_QUANTUMCACHE (2 << 13) /* used as arena quantum cache */
+/** Valgrind support macros.
+ */
+#if !defined(HAVE_MEMCHECK_H) || (OSL_DEBUG_LEVEL == 0)
+#if !defined(NVALGRIND)
+#define NVALGRIND 1
+#endif /* ! NVALGRIND */
+#endif /* ! HAVE_MEMCHECK_H || (OSL_DEBUG_LEVEL == 0) */
+
+#if defined(NVALGRIND)
+#define VALGRIND_MAKE_MEM_UNDEFINED(addr, size)
+#define VALGRIND_MAKE_MEM_DEFINED(addr, size)
+#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed)
+#define VALGRIND_FREELIKE_BLOCK(addr, rzB)
+#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed)
+#define VALGRIND_DESTROY_MEMPOOL(pool)
+#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size)
+#define VALGRIND_MEMPOOL_FREE(pool, addr)
+#elif defined(HAVE_MEMCHECK_H)
+#include <memcheck.h>
+#if !defined(FORCE_SYSALLOC)
+#define FORCE_SYSALLOC 1
+#endif /* !FORCE_SYSALLOC */
+#endif /* NVALGRIND || HAVE_MEMCHECK_H */
+
#ifdef __cplusplus
}
#endif
diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk
index 9968d8992be4..145aa50b8be0 100644
--- a/sal/rtl/source/makefile.mk
+++ b/sal/rtl/source/makefile.mk
@@ -46,6 +46,11 @@ TARGETTYPE=CUI
.INCLUDE : settings.mk
+.IF "$(VALGRIND_CFLAGS)" != ""
+CFLAGS += $(VALGRIND_CFLAGS)
+CDEFS += -DHAVE_MEMCHECK_H=1
+.ENDIF # VALGRIND_CFLAGS
+
.IF "$(ALLOC)" == "SYS_ALLOC" || "$(ALLOC)" == "TCMALLOC" || "$(ALLOC)" == "JEMALLOC"
CDEFS+= -DFORCE_SYSALLOC
.ENDIF
@@ -96,7 +101,7 @@ SLOFILES= \
$(SLO)$/alloc_arena.obj
.IF "$(OS)"=="MACOSX"
-SLOFILES+=$(SLO)$/memory_fini.obj
+SLOFILES+=$(SLO)$/alloc_fini.obj
.ENDIF
@@ -129,7 +134,7 @@ OBJFILES= \
$(OBJ)$/alloc_arena.obj
.IF "$(OS)"=="MACOSX"
-OBJFILES+=$(OBJ)$/memory_fini.obj
+OBJFILES+=$(OBJ)$/alloc_fini.obj
.ENDIF
diff --git a/store/source/lockbyte.cxx b/store/source/lockbyte.cxx
index f1145a029c29..7e4ac7bcbb00 100644
--- a/store/source/lockbyte.cxx
+++ b/store/source/lockbyte.cxx
@@ -600,7 +600,8 @@ oslInterlockedCount SAL_CALL MappedLockBytes::release()
void MappedLockBytes::allocate_Impl (void ** ppPage, sal_uInt16 * pnSize)
{
OSL_PRECOND((ppPage != 0) && (pnSize != 0), "contract violation");
- *ppPage = 0, *pnSize = m_nPageSize;
+ if ((ppPage != 0) && (pnSize != 0))
+ *ppPage = 0, *pnSize = m_nPageSize;
}
void MappedLockBytes::deallocate_Impl (void * pPage)
diff --git a/store/source/lockbyte.hxx b/store/source/lockbyte.hxx
index ef34b8708f26..b2b6c905f9fd 100644
--- a/store/source/lockbyte.hxx
+++ b/store/source/lockbyte.hxx
@@ -26,7 +26,7 @@
************************************************************************/
#ifndef _STORE_LOCKBYTE_HXX_
-#define _STORE_LOCKBYTE_HXX_ "$Revision: 1.1.2.1 $"
+#define _STORE_LOCKBYTE_HXX_
#ifndef _SAL_TYPES_H_
#include "sal/types.h"
diff --git a/store/source/object.hxx b/store/source/object.hxx
index 1061b9c568a9..a3b5ab1c6e63 100644
--- a/store/source/object.hxx
+++ b/store/source/object.hxx
@@ -26,7 +26,7 @@
************************************************************************/
#ifndef _STORE_OBJECT_HXX_
-#define _STORE_OBJECT_HXX_ "$Revision: 1.1.2.1 $"
+#define _STORE_OBJECT_HXX_
#ifndef _SAL_TYPES_H_
#include "sal/types.h"
diff --git a/store/source/storbase.cxx b/store/source/storbase.cxx
index 6eb005e453d8..690bff8d258e 100644
--- a/store/source/storbase.cxx
+++ b/store/source/storbase.cxx
@@ -158,7 +158,8 @@ PageData::Allocator_Impl::~Allocator_Impl()
void PageData::Allocator_Impl::allocate_Impl (void ** ppPage, sal_uInt16 * pnSize)
{
OSL_PRECOND((ppPage != 0) && (pnSize != 0), "contract violation");
- *ppPage = rtl_cache_alloc(m_page_cache), *pnSize = m_page_size;
+ if ((ppPage != 0) && (pnSize != 0))
+ *ppPage = rtl_cache_alloc(m_page_cache), *pnSize = m_page_size;
}
void PageData::Allocator_Impl::deallocate_Impl (void * pPage)
diff --git a/store/source/stordir.hxx b/store/source/stordir.hxx
index 66dd14bd81a6..2e3d79e71319 100644
--- a/store/source/stordir.hxx
+++ b/store/source/stordir.hxx
@@ -26,7 +26,7 @@
************************************************************************/
#ifndef _STORE_STORDIR_HXX_
-#define _STORE_STORDIR_HXX_ "$Revision: 1.1.2.2 $"
+#define _STORE_STORDIR_HXX_
#ifndef _SAL_TYPES_H_
#include <sal/types.h>
diff --git a/udkapi/com/sun/star/container/XStringKeyMap.idl b/udkapi/com/sun/star/container/XStringKeyMap.idl
index cf2b87d49b49..49848e2da791 100644
--- a/udkapi/com/sun/star/container/XStringKeyMap.idl
+++ b/udkapi/com/sun/star/container/XStringKeyMap.idl
@@ -56,7 +56,7 @@ module com { module sun { module star { module container {
/** maps strings to anys.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
interface XStringKeyMap
diff --git a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
index aa5a0ba1802c..1aa25e82f253 100644
--- a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
+++ b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
@@ -59,7 +59,7 @@ module com { module sun { module star { module io {
should be called after the series of calls to
<member scope="com::sun::star::io">XOutputStream::writeBytes</member>.</p>
- @since OOo2.0.0
+ @since OOo 2.0
*/
interface XAsyncOutputMonitor {
/**
diff --git a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl
index 588ac4933b05..66fa96465b10 100755
--- a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl
+++ b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl
@@ -41,7 +41,7 @@ module com { module sun { module star { module java {
by distributors to determine what versions are supported. If this
file is modified, then the current settings are regarded as invalid.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception InvalidJavaSettingsException: JavaInitializationException
{
diff --git a/udkapi/com/sun/star/java/JavaNotFoundException.idl b/udkapi/com/sun/star/java/JavaNotFoundException.idl
index 3f8a994decc1..5dbc369a9f6d 100644
--- a/udkapi/com/sun/star/java/JavaNotFoundException.idl
+++ b/udkapi/com/sun/star/java/JavaNotFoundException.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module java {
/** indicates that no suitable JRE was found.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception JavaNotFoundException: JavaInitializationException
{
diff --git a/udkapi/com/sun/star/java/RestartRequiredException.idl b/udkapi/com/sun/star/java/RestartRequiredException.idl
index a41b7de14b6a..c07271e424a1 100755
--- a/udkapi/com/sun/star/java/RestartRequiredException.idl
+++ b/udkapi/com/sun/star/java/RestartRequiredException.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module java {
/** indicates that the office must be restarted before a JRE can be used.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
exception RestartRequiredException: JavaInitializationException
{
diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl
index 96b8957683ff..a19dd7f528fd 100644
--- a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl
+++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl
@@ -41,7 +41,7 @@ interface XCompoundTypeDescription;
<p>This type supersedes <type>XInterfaceAttributeTypeDescription</type>,
which does not support extended attributes.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XInterfaceAttributeTypeDescription2:
XInterfaceAttributeTypeDescription
diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl
index 31ab93e4ecac..18be75166617 100644
--- a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl
+++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl
@@ -39,7 +39,7 @@ interface XTypeDescription;
<p>This type supersedes <type>XInterfaceTypeDescription</type>, which only
supported single inheritance.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XInterfaceTypeDescription2: XInterfaceTypeDescription {
/** Returns a sequence of all directly inherited (mandatory) base interface
diff --git a/udkapi/com/sun/star/reflection/XParameter.idl b/udkapi/com/sun/star/reflection/XParameter.idl
index d7b8aaa16cbb..ca827fe08d8f 100644
--- a/udkapi/com/sun/star/reflection/XParameter.idl
+++ b/udkapi/com/sun/star/reflection/XParameter.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module reflection {
<p>This type supersedes <type>XMethodParameter</type>, which only supports
parameters of interface methods (which cannot have rest parameters).</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XParameter: XMethodParameter {
/**
diff --git a/udkapi/com/sun/star/reflection/XPublished.idl b/udkapi/com/sun/star/reflection/XPublished.idl
index afb7cefa8a9a..4b3bc090dcfd 100644
--- a/udkapi/com/sun/star/reflection/XPublished.idl
+++ b/udkapi/com/sun/star/reflection/XPublished.idl
@@ -96,7 +96,7 @@ module com { module sun { module star { module reflection {
supported.</li>
</ul>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPublished {
/**
diff --git a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl
index 2f8f05ba82cc..4a45e69b20f0 100644
--- a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl
+++ b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl
@@ -38,7 +38,7 @@ interface XParameter;
/**
Reflects a service constructor.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XServiceConstructorDescription {
/**
diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl
index 2536a2d2fe16..988bd5f66c18 100644
--- a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl
+++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl
@@ -41,7 +41,7 @@ interface XTypeDescription;
<p>This type supersedes <type>XServiceTypeDescription</type>, which only
supports obsolete, accumulation-based services.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XServiceTypeDescription2: XServiceTypeDescription {
/**
diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl
index c4b42d786b00..b7083a6a8abf 100644
--- a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl
+++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl
@@ -40,7 +40,7 @@ interface XTypeDescription;
<p>This type supersedes <type>XSingletonTypeDescription</type>, which only
supports obsolete, service-based singletons.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XSingletonTypeDescription2: XSingletonTypeDescription {
/**
diff --git a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl
index 69063323874c..6635492179c9 100644
--- a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl
+++ b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl
@@ -66,7 +66,7 @@ interface XTypeDescription;
sequence.</li>
</ul>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XStructTypeDescription: XCompoundTypeDescription {
/**
diff --git a/udkapi/com/sun/star/script/BasicErrorException.idl b/udkapi/com/sun/star/script/BasicErrorException.idl
index 63a91b8e6373..7b627a993700 100644
--- a/udkapi/com/sun/star/script/BasicErrorException.idl
+++ b/udkapi/com/sun/star/script/BasicErrorException.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module script {
/** is thrown in order to transport an error to Basic.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published exception BasicErrorException: com::sun::star::uno::Exception
{
diff --git a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl
index 3ed909101441..ba649a09551f 100644
--- a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl
+++ b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl
@@ -35,7 +35,7 @@ published interface XExternalUriReferenceTranslator;
/**
translates between external and internal URI references.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service ExternalUriReferenceTranslator:
XExternalUriReferenceTranslator;
diff --git a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl
index 6d65648b7950..00b30462b60a 100644
--- a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl
+++ b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module uri {
@see com::sun::star::uri::XUriReferenceFactory::makeAbsolute
for a method that uses this enumeration.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published enum RelativeUriExcessParentSegments {
/**
diff --git a/udkapi/com/sun/star/uri/UriReferenceFactory.idl b/udkapi/com/sun/star/uri/UriReferenceFactory.idl
index 678258d75ce0..c01d9eadac12 100644
--- a/udkapi/com/sun/star/uri/UriReferenceFactory.idl
+++ b/udkapi/com/sun/star/uri/UriReferenceFactory.idl
@@ -68,7 +68,7 @@ published interface XUriReferenceFactory;
service does not support
<type scope="com::sun::star::uri">XUriSchemeParser</type>.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service UriReferenceFactory: XUriReferenceFactory;
diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl
index 50da8154e43a..c071ce6addac 100644
--- a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl
+++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl
@@ -48,7 +48,7 @@ published interface XUriSchemeParser;
Rather, it should be used indirectly through the
<type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service UriSchemeParser_vndDOTsunDOTstarDOTscript: XUriSchemeParser
{};
diff --git a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl
index f652851cf280..9edd29a6c702 100644
--- a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl
+++ b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl
@@ -35,7 +35,7 @@ published interface XVndSunStarPkgUrlReferenceFactory;
/**
creates &ldquo;vnd.sun.star.pkg&rdquo; URL references.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service VndSunStarPkgUrlReferenceFactory:
XVndSunStarPkgUrlReferenceFactory;
diff --git a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl
index 3dc6b8bfca77..d97c677ebd36 100644
--- a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl
+++ b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl
@@ -54,7 +54,7 @@ module com { module sun { module star { module uri {
references (that do not include a scheme) are left unmodified by the
translation process.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XExternalUriReferenceTranslator {
/**
diff --git a/udkapi/com/sun/star/uri/XUriReference.idl b/udkapi/com/sun/star/uri/XUriReference.idl
index 79ad88f47a1c..eccd19164248 100644
--- a/udkapi/com/sun/star/uri/XUriReference.idl
+++ b/udkapi/com/sun/star/uri/XUriReference.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module uri {
<type scope="com::sun::star::uri">XUriReference</type> and additional,
scheme-specific interfaces.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XUriReference: com::sun::star::uno::XInterface {
/**
diff --git a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl
index bd62235b985d..a7bc1514f98c 100644
--- a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl
+++ b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl
@@ -40,7 +40,7 @@ module com { module sun { module star { module uri {
<p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a> for a
description of URI references and related terms.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XUriReferenceFactory: com::sun::star::uno::XInterface {
/**
diff --git a/udkapi/com/sun/star/uri/XUriSchemeParser.idl b/udkapi/com/sun/star/uri/XUriSchemeParser.idl
index 61a8173d9ab4..a267b38b4329 100644
--- a/udkapi/com/sun/star/uri/XUriSchemeParser.idl
+++ b/udkapi/com/sun/star/uri/XUriSchemeParser.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module uri {
<p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a> for a
description of URIs and related terms.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XUriSchemeParser: com::sun::star::uno::XInterface {
/**
diff --git a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl
index e6db55f9905b..179253b8de78 100644
--- a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl
+++ b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl
@@ -37,7 +37,7 @@ published interface XUriReference;
/**
creates &ldquo;vnd.sun.star.pkg&rdquo; URL references.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XVndSunStarPkgUrlReferenceFactory {
/**
diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl
index 753ed90b1cef..ceae7926f04d 100644
--- a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl
+++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl
@@ -61,7 +61,7 @@ module com { module sun { module star { module uri {
without considering case folding or normalization. There may be multiple
parameters with equal keys.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published interface XVndSunStarScriptUrl: com::sun::star::uno::XInterface {
/**
diff --git a/unoil/climaker/version.txt b/unoil/climaker/version.txt
index 2678d1bc035b..f59c2f9482b4 100644..100755
--- a/unoil/climaker/version.txt
+++ b/unoil/climaker/version.txt
@@ -25,8 +25,8 @@
#
#*************************************************************************
-CLI_OOOTYPES_NEW_VERSION=1.0.7.0
-CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.6.0
-CLI_OOOTYPES_POLICY_VERSION=7.0.0.0
+CLI_OOOTYPES_NEW_VERSION=1.0.8.0
+CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.7.0
+CLI_OOOTYPES_POLICY_VERSION=8.0.0.0
CLI_OOOTYPES_POLICY_ASSEMBLY=policy.1.0.cli_oootypes
diff --git a/unoil/util/makefile.mk b/unoil/util/makefile.mk
index f5d8125b81f8..c2bd22ef2733 100644
--- a/unoil/util/makefile.mk
+++ b/unoil/util/makefile.mk
@@ -35,7 +35,7 @@ TARGET = unoil
MAXLINELENGTH = 100000
-JARCLASSDIRS = com drafts
+JARCLASSDIRS = com
JARTARGET = $(TARGET).jar
JARCOMPRESS = TRUE