summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star')
-rw-r--r--udkapi/com/sun/star/beans/Ambiguous.idl59
-rw-r--r--udkapi/com/sun/star/beans/Defaulted.idl59
-rw-r--r--udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl65
-rw-r--r--udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl82
-rw-r--r--udkapi/com/sun/star/beans/IllegalTypeException.idl55
-rw-r--r--udkapi/com/sun/star/beans/Introspection.idl60
-rw-r--r--udkapi/com/sun/star/beans/IntrospectionException.idl54
-rw-r--r--udkapi/com/sun/star/beans/MethodConcept.idl127
-rw-r--r--udkapi/com/sun/star/beans/NamedValue.idl54
-rw-r--r--udkapi/com/sun/star/beans/NotRemoveableException.idl51
-rw-r--r--udkapi/com/sun/star/beans/Optional.idl60
-rw-r--r--udkapi/com/sun/star/beans/Pair.idl56
-rw-r--r--udkapi/com/sun/star/beans/Property.idl92
-rw-r--r--udkapi/com/sun/star/beans/PropertyAttribute.idl121
-rw-r--r--udkapi/com/sun/star/beans/PropertyBag.idl70
-rw-r--r--udkapi/com/sun/star/beans/PropertyChangeEvent.idl94
-rw-r--r--udkapi/com/sun/star/beans/PropertyConcept.idl93
-rw-r--r--udkapi/com/sun/star/beans/PropertyExistException.idl54
-rw-r--r--udkapi/com/sun/star/beans/PropertySet.idl76
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChange.idl61
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl76
-rw-r--r--udkapi/com/sun/star/beans/PropertyState.idl97
-rw-r--r--udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl95
-rw-r--r--udkapi/com/sun/star/beans/PropertyValue.idl85
-rw-r--r--udkapi/com/sun/star/beans/PropertyValues.idl49
-rw-r--r--udkapi/com/sun/star/beans/PropertyVetoException.idl54
-rw-r--r--udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl66
-rw-r--r--udkapi/com/sun/star/beans/StringPair.idl55
-rw-r--r--udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl90
-rw-r--r--udkapi/com/sun/star/beans/UnknownPropertyException.idl54
-rw-r--r--udkapi/com/sun/star/beans/XExactName.idl73
-rw-r--r--udkapi/com/sun/star/beans/XFastPropertySet.idl126
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl175
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl104
-rw-r--r--udkapi/com/sun/star/beans/XIntroTest.idl208
-rw-r--r--udkapi/com/sun/star/beans/XIntrospection.idl121
-rw-r--r--udkapi/com/sun/star/beans/XIntrospectionAccess.idl321
-rw-r--r--udkapi/com/sun/star/beans/XMaterialHolder.idl67
-rw-r--r--udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl161
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertySet.idl180
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertyStates.idl140
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeListener.idl66
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl71
-rw-r--r--udkapi/com/sun/star/beans/XProperty.idl69
-rw-r--r--udkapi/com/sun/star/beans/XPropertyAccess.idl100
-rw-r--r--udkapi/com/sun/star/beans/XPropertyChangeListener.idl62
-rw-r--r--udkapi/com/sun/star/beans/XPropertyContainer.idl118
-rw-r--r--udkapi/com/sun/star/beans/XPropertySet.idl217
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfo.idl102
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl63
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl75
-rw-r--r--udkapi/com/sun/star/beans/XPropertyState.idl150
-rw-r--r--udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl65
-rw-r--r--udkapi/com/sun/star/beans/XPropertyWithState.idl117
-rw-r--r--udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl164
-rw-r--r--udkapi/com/sun/star/beans/XVetoableChangeListener.idl70
-rw-r--r--udkapi/com/sun/star/beans/makefile.mk101
-rw-r--r--udkapi/com/sun/star/bridge/Bridge.idl94
-rw-r--r--udkapi/com/sun/star/bridge/BridgeExistsException.idl44
-rw-r--r--udkapi/com/sun/star/bridge/BridgeFactory.idl66
-rw-r--r--udkapi/com/sun/star/bridge/IiopBridge.idl80
-rw-r--r--udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl54
-rw-r--r--udkapi/com/sun/star/bridge/ModelDependent.idl79
-rw-r--r--udkapi/com/sun/star/bridge/OleApplicationRegistration.idl75
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplier.idl63
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl75
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl58
-rw-r--r--udkapi/com/sun/star/bridge/OleObjectFactory.idl67
-rw-r--r--udkapi/com/sun/star/bridge/ProtocolProperty.idl46
-rw-r--r--udkapi/com/sun/star/bridge/UnoUrlResolver.idl51
-rw-r--r--udkapi/com/sun/star/bridge/UrpBridge.idl80
-rw-r--r--udkapi/com/sun/star/bridge/XBridge.idl64
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeFactory.idl95
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeSupplier.idl107
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeSupplier2.idl121
-rw-r--r--udkapi/com/sun/star/bridge/XInstanceProvider.idl64
-rw-r--r--udkapi/com/sun/star/bridge/XProtocolProperties.idl100
-rw-r--r--udkapi/com/sun/star/bridge/XUnoUrlResolver.idl66
-rw-r--r--udkapi/com/sun/star/bridge/makefile.mk66
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl81
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl80
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Currency.idl61
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Date.idl60
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Decimal.idl64
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Factory.idl69
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl63
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl70
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/SCode.idl62
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl58
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/makefile.mk54
-rw-r--r--udkapi/com/sun/star/connection/Acceptor.idl50
-rw-r--r--udkapi/com/sun/star/connection/AlreadyAcceptingException.idl42
-rw-r--r--udkapi/com/sun/star/connection/ConnectionSetupException.idl42
-rw-r--r--udkapi/com/sun/star/connection/Connector.idl49
-rw-r--r--udkapi/com/sun/star/connection/NoConnectException.idl42
-rw-r--r--udkapi/com/sun/star/connection/SocketPermission.idl104
-rw-r--r--udkapi/com/sun/star/connection/XAcceptor.idl83
-rw-r--r--udkapi/com/sun/star/connection/XConnection.idl98
-rw-r--r--udkapi/com/sun/star/connection/XConnection2.idl64
-rw-r--r--udkapi/com/sun/star/connection/XConnectionBroadcaster.idl65
-rw-r--r--udkapi/com/sun/star/connection/XConnector.idl72
-rw-r--r--udkapi/com/sun/star/connection/makefile.mk56
-rw-r--r--udkapi/com/sun/star/container/ContainerEvent.idl73
-rw-r--r--udkapi/com/sun/star/container/ElementExistException.idl58
-rw-r--r--udkapi/com/sun/star/container/EnumerableMap.idl141
-rw-r--r--udkapi/com/sun/star/container/NoSuchElementException.idl54
-rw-r--r--udkapi/com/sun/star/container/XChild.idl74
-rw-r--r--udkapi/com/sun/star/container/XComponentEnumeration.idl70
-rw-r--r--udkapi/com/sun/star/container/XComponentEnumerationAccess.idl62
-rw-r--r--udkapi/com/sun/star/container/XContainer.idl93
-rw-r--r--udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl66
-rw-r--r--udkapi/com/sun/star/container/XContainerApproveListener.idl89
-rw-r--r--udkapi/com/sun/star/container/XContainerListener.idl73
-rw-r--r--udkapi/com/sun/star/container/XContainerQuery.idl114
-rw-r--r--udkapi/com/sun/star/container/XContentEnumerationAccess.idl84
-rw-r--r--udkapi/com/sun/star/container/XElementAccess.idl72
-rw-r--r--udkapi/com/sun/star/container/XEnumerableMap.idl110
-rw-r--r--udkapi/com/sun/star/container/XEnumeration.idl102
-rw-r--r--udkapi/com/sun/star/container/XEnumerationAccess.idl63
-rw-r--r--udkapi/com/sun/star/container/XHierarchicalName.idl82
-rw-r--r--udkapi/com/sun/star/container/XHierarchicalNameAccess.idl90
-rw-r--r--udkapi/com/sun/star/container/XHierarchicalNameContainer.idl92
-rw-r--r--udkapi/com/sun/star/container/XHierarchicalNameReplace.idl81
-rw-r--r--udkapi/com/sun/star/container/XIdentifierAccess.idl84
-rw-r--r--udkapi/com/sun/star/container/XIdentifierContainer.idl111
-rw-r--r--udkapi/com/sun/star/container/XIdentifierReplace.idl89
-rw-r--r--udkapi/com/sun/star/container/XImplicitIDAccess.idl68
-rw-r--r--udkapi/com/sun/star/container/XImplicitIDContainer.idl74
-rw-r--r--udkapi/com/sun/star/container/XImplicitIDReplace.idl66
-rw-r--r--udkapi/com/sun/star/container/XIndexAccess.idl91
-rw-r--r--udkapi/com/sun/star/container/XIndexContainer.idl83
-rw-r--r--udkapi/com/sun/star/container/XIndexReplace.idl74
-rw-r--r--udkapi/com/sun/star/container/XMap.idl203
-rw-r--r--udkapi/com/sun/star/container/XNameAccess.idl106
-rw-r--r--udkapi/com/sun/star/container/XNameContainer.idl86
-rw-r--r--udkapi/com/sun/star/container/XNameReplace.idl74
-rw-r--r--udkapi/com/sun/star/container/XNamed.idl65
-rw-r--r--udkapi/com/sun/star/container/XSet.idl87
-rw-r--r--udkapi/com/sun/star/container/XStringKeyMap.idl154
-rw-r--r--udkapi/com/sun/star/container/XUniqueIDAccess.idl65
-rw-r--r--udkapi/com/sun/star/container/makefile.mk83
-rw-r--r--udkapi/com/sun/star/corba/corba.idl103
-rw-r--r--udkapi/com/sun/star/corba/giop/giop.idl251
-rw-r--r--udkapi/com/sun/star/corba/giop/makefile.mk43
-rw-r--r--udkapi/com/sun/star/corba/iiop/iiop.idl87
-rw-r--r--udkapi/com/sun/star/corba/iiop/makefile.mk43
-rw-r--r--udkapi/com/sun/star/corba/iop/iop.idl123
-rw-r--r--udkapi/com/sun/star/corba/iop/makefile.mk43
-rw-r--r--udkapi/com/sun/star/corba/makefile.mk43
-rw-r--r--udkapi/com/sun/star/io/AlreadyConnectedException.idl56
-rw-r--r--udkapi/com/sun/star/io/BufferSizeExceededException.idl60
-rw-r--r--udkapi/com/sun/star/io/ConnectException.idl57
-rw-r--r--udkapi/com/sun/star/io/DataInputStream.idl81
-rw-r--r--udkapi/com/sun/star/io/DataOutputStream.idl71
-rw-r--r--udkapi/com/sun/star/io/DataTransferEvent.idl63
-rw-r--r--udkapi/com/sun/star/io/FilePermission.idl84
-rw-r--r--udkapi/com/sun/star/io/IOException.idl55
-rw-r--r--udkapi/com/sun/star/io/MarkableInputStream.idl78
-rw-r--r--udkapi/com/sun/star/io/MarkableOutputStream.idl83
-rw-r--r--udkapi/com/sun/star/io/NoRouteToHostException.idl56
-rw-r--r--udkapi/com/sun/star/io/NotConnectedException.idl56
-rw-r--r--udkapi/com/sun/star/io/ObjectInputStream.idl109
-rw-r--r--udkapi/com/sun/star/io/ObjectOutputStream.idl96
-rw-r--r--udkapi/com/sun/star/io/Pipe.idl72
-rw-r--r--udkapi/com/sun/star/io/Pump.idl78
-rw-r--r--udkapi/com/sun/star/io/SequenceInputStream.idl62
-rw-r--r--udkapi/com/sun/star/io/SequenceOutputStream.idl48
-rw-r--r--udkapi/com/sun/star/io/SocketException.idl55
-rw-r--r--udkapi/com/sun/star/io/TempFile.idl47
-rw-r--r--udkapi/com/sun/star/io/TextInputStream.idl70
-rw-r--r--udkapi/com/sun/star/io/TextOutputStream.idl66
-rw-r--r--udkapi/com/sun/star/io/UnexpectedEOFException.idl56
-rw-r--r--udkapi/com/sun/star/io/UnknownHostException.idl54
-rw-r--r--udkapi/com/sun/star/io/WrongFormatException.idl56
-rw-r--r--udkapi/com/sun/star/io/XActiveDataControl.idl107
-rw-r--r--udkapi/com/sun/star/io/XActiveDataSink.idl81
-rw-r--r--udkapi/com/sun/star/io/XActiveDataSource.idl81
-rw-r--r--udkapi/com/sun/star/io/XActiveDataStreamer.idl82
-rw-r--r--udkapi/com/sun/star/io/XAsyncOutputMonitor.idl95
-rw-r--r--udkapi/com/sun/star/io/XConnectable.idl94
-rw-r--r--udkapi/com/sun/star/io/XDataExporter.idl86
-rw-r--r--udkapi/com/sun/star/io/XDataImporter.idl85
-rw-r--r--udkapi/com/sun/star/io/XDataInputStream.idl134
-rw-r--r--udkapi/com/sun/star/io/XDataOutputStream.idl134
-rw-r--r--udkapi/com/sun/star/io/XDataTransferEventListener.idl73
-rw-r--r--udkapi/com/sun/star/io/XInputStream.idl177
-rw-r--r--udkapi/com/sun/star/io/XInputStreamProvider.idl60
-rw-r--r--udkapi/com/sun/star/io/XMarkableStream.idl127
-rw-r--r--udkapi/com/sun/star/io/XObjectInputStream.idl72
-rw-r--r--udkapi/com/sun/star/io/XObjectOutputStream.idl71
-rw-r--r--udkapi/com/sun/star/io/XOutputStream.idl105
-rw-r--r--udkapi/com/sun/star/io/XPersist.idl72
-rw-r--r--udkapi/com/sun/star/io/XPersistObject.idl117
-rw-r--r--udkapi/com/sun/star/io/XSeekable.idl93
-rw-r--r--udkapi/com/sun/star/io/XSeekableInputStream.idl56
-rw-r--r--udkapi/com/sun/star/io/XSequenceOutputStream.idl65
-rw-r--r--udkapi/com/sun/star/io/XStream.idl80
-rw-r--r--udkapi/com/sun/star/io/XStreamListener.idl90
-rw-r--r--udkapi/com/sun/star/io/XTempFile.idl89
-rw-r--r--udkapi/com/sun/star/io/XTextInputStream.idl121
-rw-r--r--udkapi/com/sun/star/io/XTextOutputStream.idl86
-rw-r--r--udkapi/com/sun/star/io/XTruncate.idl67
-rw-r--r--udkapi/com/sun/star/io/XXMLExtractor.idl64
-rw-r--r--udkapi/com/sun/star/io/makefile.mk99
-rwxr-xr-xudkapi/com/sun/star/java/InvalidJavaSettingsException.idl52
-rw-r--r--udkapi/com/sun/star/java/JavaDisabledException.idl51
-rw-r--r--udkapi/com/sun/star/java/JavaInitializationException.idl59
-rw-r--r--udkapi/com/sun/star/java/JavaNotConfiguredException.idl50
-rw-r--r--udkapi/com/sun/star/java/JavaNotFoundException.idl48
-rw-r--r--udkapi/com/sun/star/java/JavaVMCreationFailureException.idl61
-rw-r--r--udkapi/com/sun/star/java/JavaVirtualMachine.idl64
-rw-r--r--udkapi/com/sun/star/java/MissingJavaRuntimeException.idl53
-rwxr-xr-xudkapi/com/sun/star/java/RestartRequiredException.idl48
-rw-r--r--udkapi/com/sun/star/java/WrongJavaVersionException.idl64
-rw-r--r--udkapi/com/sun/star/java/XJavaThreadRegister_11.idl83
-rw-r--r--udkapi/com/sun/star/java/XJavaVM.idl141
-rw-r--r--udkapi/com/sun/star/java/makefile.mk57
-rw-r--r--udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl59
-rw-r--r--udkapi/com/sun/star/lang/ClassNotFoundException.idl56
-rw-r--r--udkapi/com/sun/star/lang/DisposedException.idl60
-rw-r--r--udkapi/com/sun/star/lang/EventObject.idl61
-rw-r--r--udkapi/com/sun/star/lang/IllegalAccessException.idl56
-rw-r--r--udkapi/com/sun/star/lang/IllegalArgumentException.idl65
-rw-r--r--udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl59
-rw-r--r--udkapi/com/sun/star/lang/InvalidListenerException.idl59
-rw-r--r--udkapi/com/sun/star/lang/ListenerExistException.idl58
-rw-r--r--udkapi/com/sun/star/lang/Locale.idl122
-rw-r--r--udkapi/com/sun/star/lang/MultiServiceFactory.idl86
-rw-r--r--udkapi/com/sun/star/lang/NoSuchFieldException.idl55
-rw-r--r--udkapi/com/sun/star/lang/NoSuchMethodException.idl55
-rw-r--r--udkapi/com/sun/star/lang/NoSupportException.idl61
-rw-r--r--udkapi/com/sun/star/lang/NotInitializedException.idl56
-rw-r--r--udkapi/com/sun/star/lang/NullPointerException.idl61
-rw-r--r--udkapi/com/sun/star/lang/RegistryServiceManager.idl100
-rw-r--r--udkapi/com/sun/star/lang/ServiceManager.idl141
-rw-r--r--udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl58
-rw-r--r--udkapi/com/sun/star/lang/SystemDependent.idl125
-rw-r--r--udkapi/com/sun/star/lang/WrappedTargetException.idl69
-rw-r--r--udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl61
-rw-r--r--udkapi/com/sun/star/lang/XComponent.idl143
-rw-r--r--udkapi/com/sun/star/lang/XConnectionPoint.idl204
-rw-r--r--udkapi/com/sun/star/lang/XConnectionPointContainer.idl118
-rw-r--r--udkapi/com/sun/star/lang/XEventListener.idl76
-rw-r--r--udkapi/com/sun/star/lang/XInitialization.idl83
-rw-r--r--udkapi/com/sun/star/lang/XLocalizable.idl70
-rw-r--r--udkapi/com/sun/star/lang/XMain.idl69
-rw-r--r--udkapi/com/sun/star/lang/XMultiComponentFactory.idl90
-rw-r--r--udkapi/com/sun/star/lang/XMultiServiceFactory.idl97
-rw-r--r--udkapi/com/sun/star/lang/XServiceDisplayName.idl76
-rw-r--r--udkapi/com/sun/star/lang/XServiceInfo.idl79
-rw-r--r--udkapi/com/sun/star/lang/XServiceName.idl64
-rw-r--r--udkapi/com/sun/star/lang/XSingleComponentFactory.idl75
-rw-r--r--udkapi/com/sun/star/lang/XSingleServiceFactory.idl82
-rw-r--r--udkapi/com/sun/star/lang/XTypeProvider.idl79
-rw-r--r--udkapi/com/sun/star/lang/XUnoTunnel.idl80
-rw-r--r--udkapi/com/sun/star/lang/makefile.mk83
-rw-r--r--udkapi/com/sun/star/loader/CannotActivateFactoryException.idl62
-rw-r--r--udkapi/com/sun/star/loader/Dynamic.idl67
-rw-r--r--udkapi/com/sun/star/loader/Java.idl66
-rw-r--r--udkapi/com/sun/star/loader/Java2.idl51
-rw-r--r--udkapi/com/sun/star/loader/SharedLibrary.idl64
-rw-r--r--udkapi/com/sun/star/loader/XImplementationLoader.idl123
-rw-r--r--udkapi/com/sun/star/loader/makefile.mk51
-rw-r--r--udkapi/com/sun/star/makefile.mk46
-rw-r--r--udkapi/com/sun/star/reflection/CoreReflection.idl74
-rw-r--r--udkapi/com/sun/star/reflection/FieldAccessMode.idl64
-rw-r--r--udkapi/com/sun/star/reflection/InvalidTypeNameException.idl55
-rw-r--r--udkapi/com/sun/star/reflection/InvocationTargetException.idl57
-rw-r--r--udkapi/com/sun/star/reflection/MethodMode.idl59
-rw-r--r--udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl54
-rw-r--r--udkapi/com/sun/star/reflection/ParamInfo.idl66
-rw-r--r--udkapi/com/sun/star/reflection/ParamMode.idl63
-rw-r--r--udkapi/com/sun/star/reflection/ProxyFactory.idl73
-rw-r--r--udkapi/com/sun/star/reflection/TypeDescriptionManager.idl125
-rw-r--r--udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl90
-rw-r--r--udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl59
-rw-r--r--udkapi/com/sun/star/reflection/XArrayTypeDescription.idl78
-rw-r--r--udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl85
-rw-r--r--udkapi/com/sun/star/reflection/XConstantTypeDescription.idl80
-rw-r--r--udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl65
-rw-r--r--udkapi/com/sun/star/reflection/XEnumTypeDescription.idl74
-rw-r--r--udkapi/com/sun/star/reflection/XIdlArray.idl134
-rw-r--r--udkapi/com/sun/star/reflection/XIdlClass.idl215
-rw-r--r--udkapi/com/sun/star/reflection/XIdlClassProvider.idl61
-rw-r--r--udkapi/com/sun/star/reflection/XIdlField.idl83
-rw-r--r--udkapi/com/sun/star/reflection/XIdlField2.idl133
-rw-r--r--udkapi/com/sun/star/reflection/XIdlMember.idl67
-rw-r--r--udkapi/com/sun/star/reflection/XIdlMethod.idl141
-rw-r--r--udkapi/com/sun/star/reflection/XIdlReflection.idl83
-rw-r--r--udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl63
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl77
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl79
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl71
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl90
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl96
-rw-r--r--udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl76
-rw-r--r--udkapi/com/sun/star/reflection/XMethodParameter.idl98
-rw-r--r--udkapi/com/sun/star/reflection/XModuleTypeDescription.idl61
-rw-r--r--udkapi/com/sun/star/reflection/XParameter.idl59
-rw-r--r--udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl67
-rw-r--r--udkapi/com/sun/star/reflection/XProxyFactory.idl81
-rw-r--r--udkapi/com/sun/star/reflection/XPublished.idl113
-rw-r--r--udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl83
-rw-r--r--udkapi/com/sun/star/reflection/XServiceTypeDescription.idl109
-rw-r--r--udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl81
-rw-r--r--udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl72
-rw-r--r--udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl70
-rw-r--r--udkapi/com/sun/star/reflection/XStructTypeDescription.idl93
-rw-r--r--udkapi/com/sun/star/reflection/XTypeDescription.idl85
-rw-r--r--udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl69
-rw-r--r--udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl187
-rw-r--r--udkapi/com/sun/star/reflection/XUnionTypeDescription.idl100
-rw-r--r--udkapi/com/sun/star/reflection/makefile.mk93
-rw-r--r--udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl64
-rw-r--r--udkapi/com/sun/star/registry/DefaultRegistry.idl163
-rw-r--r--udkapi/com/sun/star/registry/ImplementationRegistration.idl66
-rw-r--r--udkapi/com/sun/star/registry/InvalidRegistryException.idl56
-rw-r--r--udkapi/com/sun/star/registry/InvalidValueException.idl56
-rw-r--r--udkapi/com/sun/star/registry/MergeConflictException.idl56
-rw-r--r--udkapi/com/sun/star/registry/NestedRegistry.idl161
-rw-r--r--udkapi/com/sun/star/registry/RegistryKeyType.idl66
-rw-r--r--udkapi/com/sun/star/registry/RegistryValueType.idl119
-rw-r--r--udkapi/com/sun/star/registry/SimpleRegistry.idl64
-rw-r--r--udkapi/com/sun/star/registry/XImplementationRegistration.idl128
-rw-r--r--udkapi/com/sun/star/registry/XImplementationRegistration2.idl74
-rw-r--r--udkapi/com/sun/star/registry/XRegistryKey.idl466
-rw-r--r--udkapi/com/sun/star/registry/XSimpleRegistry.idl159
-rw-r--r--udkapi/com/sun/star/registry/makefile.mk59
-rw-r--r--udkapi/com/sun/star/script/AllEventObject.idl80
-rw-r--r--udkapi/com/sun/star/script/AllListenerAdapter.idl53
-rw-r--r--udkapi/com/sun/star/script/ArrayWrapper.idl68
-rw-r--r--udkapi/com/sun/star/script/BasicErrorException.idl69
-rw-r--r--udkapi/com/sun/star/script/CannotConvertException.idl72
-rw-r--r--udkapi/com/sun/star/script/CannotCreateAdapterException.idl55
-rw-r--r--udkapi/com/sun/star/script/ContextInformation.idl99
-rw-r--r--udkapi/com/sun/star/script/Converter.idl104
-rw-r--r--udkapi/com/sun/star/script/Engine.idl60
-rw-r--r--udkapi/com/sun/star/script/FailReason.idl91
-rw-r--r--udkapi/com/sun/star/script/FinishEngineEvent.idl76
-rw-r--r--udkapi/com/sun/star/script/FinishReason.idl62
-rw-r--r--udkapi/com/sun/star/script/InterruptEngineEvent.idl118
-rw-r--r--udkapi/com/sun/star/script/InterruptReason.idl88
-rw-r--r--udkapi/com/sun/star/script/Invocation.idl61
-rw-r--r--udkapi/com/sun/star/script/InvocationAdapterFactory.idl77
-rw-r--r--udkapi/com/sun/star/script/InvocationInfo.idl93
-rw-r--r--udkapi/com/sun/star/script/JavaScript.idl56
-rw-r--r--udkapi/com/sun/star/script/MemberType.idl51
-rw-r--r--udkapi/com/sun/star/script/ScriptEvent.idl65
-rw-r--r--udkapi/com/sun/star/script/ScriptEventDescriptor.idl76
-rw-r--r--udkapi/com/sun/star/script/XAllListener.idl75
-rw-r--r--udkapi/com/sun/star/script/XAllListenerAdapterService.idl72
-rw-r--r--udkapi/com/sun/star/script/XDebugging.idl153
-rw-r--r--udkapi/com/sun/star/script/XDefaultMethod.idl62
-rw-r--r--udkapi/com/sun/star/script/XDefaultProperty.idl66
-rw-r--r--udkapi/com/sun/star/script/XEngine.idl132
-rw-r--r--udkapi/com/sun/star/script/XEngineListener.idl83
-rw-r--r--udkapi/com/sun/star/script/XEventAttacher.idl123
-rw-r--r--udkapi/com/sun/star/script/XEventAttacherManager.idl232
-rw-r--r--udkapi/com/sun/star/script/XInvocation.idl157
-rw-r--r--udkapi/com/sun/star/script/XInvocation2.idl84
-rw-r--r--udkapi/com/sun/star/script/XInvocationAdapterFactory.idl72
-rw-r--r--udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl68
-rw-r--r--udkapi/com/sun/star/script/XLibraryAccess.idl108
-rw-r--r--udkapi/com/sun/star/script/XScriptEventsAttacher.idl101
-rw-r--r--udkapi/com/sun/star/script/XScriptEventsSupplier.idl62
-rw-r--r--udkapi/com/sun/star/script/XScriptListener.idl71
-rw-r--r--udkapi/com/sun/star/script/XStarBasicAccess.idl98
-rw-r--r--udkapi/com/sun/star/script/XStarBasicDialogInfo.idl63
-rw-r--r--udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl106
-rw-r--r--udkapi/com/sun/star/script/XStarBasicModuleInfo.idl70
-rw-r--r--udkapi/com/sun/star/script/XTypeConverter.idl109
-rw-r--r--udkapi/com/sun/star/script/makefile.mk88
-rw-r--r--udkapi/com/sun/star/security/AccessControlException.idl62
-rw-r--r--udkapi/com/sun/star/security/AccessController.idl62
-rw-r--r--udkapi/com/sun/star/security/AllPermission.idl56
-rw-r--r--udkapi/com/sun/star/security/Policy.idl48
-rw-r--r--udkapi/com/sun/star/security/RuntimePermission.idl52
-rw-r--r--udkapi/com/sun/star/security/XAccessControlContext.idl91
-rw-r--r--udkapi/com/sun/star/security/XAccessController.idl155
-rw-r--r--udkapi/com/sun/star/security/XAction.idl65
-rw-r--r--udkapi/com/sun/star/security/XPolicy.idl70
-rw-r--r--udkapi/com/sun/star/security/makefile.mk60
-rw-r--r--udkapi/com/sun/star/task/XInteractionAbort.idl56
-rw-r--r--udkapi/com/sun/star/task/XInteractionContinuation.idl66
-rw-r--r--udkapi/com/sun/star/task/XInteractionHandler.idl66
-rw-r--r--udkapi/com/sun/star/task/XInteractionHandler2.idl68
-rw-r--r--udkapi/com/sun/star/task/XInteractionRequest.idl77
-rw-r--r--udkapi/com/sun/star/task/XInteractionRetry.idl56
-rw-r--r--udkapi/com/sun/star/task/makefile.mk50
-rw-r--r--udkapi/com/sun/star/test/TestEvent.idl62
-rw-r--r--udkapi/com/sun/star/test/TestFactory.idl70
-rw-r--r--udkapi/com/sun/star/test/XSimpleTest.idl121
-rw-r--r--udkapi/com/sun/star/test/XTest.idl155
-rw-r--r--udkapi/com/sun/star/test/XTestListener.idl85
-rw-r--r--udkapi/com/sun/star/test/bridge/XBridgeTest.idl306
-rw-r--r--udkapi/com/sun/star/test/bridge/makefile.mk45
-rw-r--r--udkapi/com/sun/star/test/makefile.mk50
-rw-r--r--udkapi/com/sun/star/test/performance/XPerformanceTest.idl139
-rw-r--r--udkapi/com/sun/star/test/performance/makefile.mk45
-rw-r--r--udkapi/com/sun/star/udk-modules.idl82
-rw-r--r--udkapi/com/sun/star/uno/DeploymentException.idl53
-rw-r--r--udkapi/com/sun/star/uno/Exception.idl71
-rw-r--r--udkapi/com/sun/star/uno/NamingService.idl57
-rw-r--r--udkapi/com/sun/star/uno/RuntimeException.idl60
-rw-r--r--udkapi/com/sun/star/uno/SecurityException.idl51
-rw-r--r--udkapi/com/sun/star/uno/TypeClass.idl153
-rw-r--r--udkapi/com/sun/star/uno/Uik.idl70
-rw-r--r--udkapi/com/sun/star/uno/XAdapter.idl92
-rw-r--r--udkapi/com/sun/star/uno/XAggregation.idl124
-rw-r--r--udkapi/com/sun/star/uno/XComponentContext.idl69
-rw-r--r--udkapi/com/sun/star/uno/XCurrentContext.idl61
-rw-r--r--udkapi/com/sun/star/uno/XInterface.idl134
-rw-r--r--udkapi/com/sun/star/uno/XNamingService.idl82
-rw-r--r--udkapi/com/sun/star/uno/XReference.idl71
-rw-r--r--udkapi/com/sun/star/uno/XUnloadingPreference.idl71
-rw-r--r--udkapi/com/sun/star/uno/XWeak.idl123
-rw-r--r--udkapi/com/sun/star/uno/makefile.mk61
-rw-r--r--udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl45
-rw-r--r--udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl62
-rw-r--r--udkapi/com/sun/star/uri/UriReferenceFactory.idl77
-rw-r--r--udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl58
-rw-r--r--udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl58
-rw-r--r--udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl45
-rw-r--r--udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl91
-rw-r--r--udkapi/com/sun/star/uri/XUriReference.idl231
-rw-r--r--udkapi/com/sun/star/uri/XUriReferenceFactory.idl163
-rw-r--r--udkapi/com/sun/star/uri/XUriSchemeParser.idl75
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl77
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl59
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl61
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl137
-rw-r--r--udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl57
-rw-r--r--udkapi/com/sun/star/uri/makefile.mk54
-rw-r--r--udkapi/com/sun/star/util/BootstrapMacroExpander.idl66
-rw-r--r--udkapi/com/sun/star/util/MacroExpander.idl63
-rw-r--r--udkapi/com/sun/star/util/XMacroExpander.idl68
-rw-r--r--udkapi/com/sun/star/util/XVeto.idl64
-rw-r--r--udkapi/com/sun/star/util/logging/LogLevel.idl59
-rw-r--r--udkapi/com/sun/star/util/logging/Logger.idl64
-rw-r--r--udkapi/com/sun/star/util/logging/LoggerRemote.idl64
-rw-r--r--udkapi/com/sun/star/util/logging/XLogger.idl71
-rw-r--r--udkapi/com/sun/star/util/logging/XLoggerRemote.idl77
-rw-r--r--udkapi/com/sun/star/util/logging/makefile.mk50
-rw-r--r--udkapi/com/sun/star/util/makefile.mk50
-rw-r--r--udkapi/com/sun/star/util/theMacroExpander.idl53
445 files changed, 37259 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/beans/Ambiguous.idl b/udkapi/com/sun/star/beans/Ambiguous.idl
new file mode 100644
index 000000000000..919c7250f462
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Ambiguous.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Ambiguous_idl__
+#define __com_sun_star_beans_Ambiguous_idl__
+
+module com { module sun { module star { module beans {
+
+/**
+ A value of a given type that can be ambiguous.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of <type scopye="com::sun::star::beans">Property</type> that
+ have the <const
+ scope="com::sun::star::beans">PropertyAttribute::MAYBEAMBIGUOUS</const>.</p>
+ */
+struct Ambiguous<T> {
+ /**
+ The underlying value of this structure instance.
+
+ <p>Even if this structure instance is ambiguous, this member should
+ contain a useful value. If there is no useful value for an ambiguous
+ structure instance, <type scope="com::sun::star::beans">Optional</type>
+ can be used as the type of this member.</p>
+ */
+ T Value;
+
+ /**
+ Marks this structure instance as ambiguous.
+ */
+ boolean IsAmbiguous;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/Defaulted.idl b/udkapi/com/sun/star/beans/Defaulted.idl
new file mode 100644
index 000000000000..d67f1aacf055
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Defaulted.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Defaulted_idl__
+#define __com_sun_star_beans_Defaulted_idl__
+
+module com { module sun { module star { module beans {
+
+/**
+ A value of a given type that can be defaulted.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of <type scopye="com::sun::star::beans">Property</type> that
+ have the <const
+ scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>.</p>
+ */
+struct Defaulted<T> {
+ /**
+ The underlying value of this structure instance.
+
+ <p>Even if this structure instance is defaulted, this member should
+ contain a useful value. If there is no useful value for a defaulted
+ structure instance, <type scope="com::sun::star::beans">Optional</type>
+ can be used as the type of this member.</p>
+ */
+ T Value;
+
+ /**
+ Marks this structure instance as defaulted.
+ */
+ boolean IsDefaulted;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl
new file mode 100644
index 000000000000..5c1ffe05beb0
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
+#define __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
+
+#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__
+#include <com/sun/star/beans/TolerantPropertySetResultType.idl>
+#endif
+
+#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__
+#include <com/sun/star/beans/GetPropertyTolerantResult.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies information being retrieved about a single property.
+
+ This type is used for the elements in the sequence returned by
+ <member scope="com::sun::star::beans::XTolerantMultiPropertySet">GetDirectPropertyTolerantResult</member>.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct GetDirectPropertyTolerantResult : com::sun::star::beans::GetPropertyTolerantResult
+{
+ /** specifies the name of the property.
+ */
+
+ string Name;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl
new file mode 100644
index 000000000000..bcde3011b5ab
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_GetPropertyTolerantResult_idl__
+#define __com_sun_star_beans_GetPropertyTolerantResult_idl__
+
+#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__
+#include <com/sun/star/beans/TolerantPropertySetResultType.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies information being retrieved about a single property.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct GetPropertyTolerantResult
+{
+ /** specifies a success or error code for the retrieval operation.
+
+ @see com::sun::star::beans::TolerantPropertySetResultType
+ */
+
+ short Result;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the state of the property.
+
+ <p>The value is undefined if <var>Result</var> is not
+ <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p>
+ */
+ com::sun::star::beans::PropertyState State;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the value of the property.
+
+ <p>The value is undefined if <var>Result</var> is not
+ <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p>
+ */
+ any Value;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/IllegalTypeException.idl b/udkapi/com/sun/star/beans/IllegalTypeException.idl
new file mode 100644
index 000000000000..72fca7c45076
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IllegalTypeException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_IllegalTypeException_idl__
+#define __com_sun_star_beans_IllegalTypeException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This exception is thrown to indicate the use of a type which is
+ not appropriate.
+
+ <p>This problem can occur, if you use an <atom>any</atom>. </p>
+ @see PropertyContainer
+ */
+published exception IllegalTypeException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/Introspection.idl b/udkapi/com/sun/star/beans/Introspection.idl
new file mode 100644
index 000000000000..517c402d6efa
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Introspection.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Introspection_idl__
+#define __com_sun_star_beans_Introspection_idl__
+
+#ifndef __com_sun_star_beans_XIntrospection_idl__
+#include <com/sun/star/beans/XIntrospection.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+/** provides functionality to get information about an object's
+ properties and methods.
+ <p><strong>Important note:</strong>An object can only be
+ inspected completely if it supports the <type scope=
+ "com::sun::star::lang">XTypeProvider</type> interface.</p>
+
+ <p>For details see method <member>XIntrospection::inspect
+ </member>.</p>
+ */
+published service Introspection
+{
+ /// The only interface of this service
+ interface com::sun::star::beans::XIntrospection;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/IntrospectionException.idl b/udkapi/com/sun/star/beans/IntrospectionException.idl
new file mode 100644
index 000000000000..2f8e62589d24
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IntrospectionException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_IntrospectionException_idl__
+#define __com_sun_star_beans_IntrospectionException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+/** This exception is thrown when an exception happens during
+ introspection.
+ @deprecated
+
+ <p>This exception isn't specified and used anywhere</p>
+ */
+published exception IntrospectionException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/MethodConcept.idl b/udkapi/com/sun/star/beans/MethodConcept.idl
new file mode 100644
index 000000000000..241902cd859e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/MethodConcept.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_MethodConcept_idl__
+#define __com_sun_star_beans_MethodConcept_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+/** These constants are used to specify concepts of the
+ introspection which apply to methods.
+
+ <p>This list is not necessarily complete; new constants
+ may be added.</p>
+ @see Introspection
+ @see XIntrospection
+ @see XIntrospectionAccess
+
+*/
+published constants MethodConcept
+{
+ //-------------------------------------------------------------------------
+ /** This value is used to query for all methods, see
+ <member>XIntrospectionAccess::getMethod()</member> and
+ <member>XIntrospectionAccess::getMethods()</member>
+ */
+ const long ALL = -1;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods which can result in an unstable state
+ (i.e. deadlock, application crash, security hole, etc.)
+ when called directly by the user.
+ */
+ const long DANGEROUS = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods which are used to set and get the
+ value of properties/attributes.
+
+ <p>These methods have the signature <code>type get...()
+ </code>, <code>void set...()</code> or <code>boolean is...()
+ </code>. </p>
+ */
+ const long PROPERTY = 2;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods of the <em>listener concept</em>.
+
+ <p>These methods have the signature <code>add...Listener()
+ </code> or <code>remove...Listener()</code>. </p>
+ */
+ const long LISTENER = 4;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods of the <em>enumeration concept</em>.
+
+ <p>These methods have the signature
+ <code>create...Enumeration</code> and return an interface
+ that is derived from <type scope="com::sun::star::container">
+ XEnumeration</type> Additionally, the method
+ <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
+ belongs to this concept.</p>
+ */
+ const long ENUMERATION = 8;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods of the <em>name container concept</em>.
+
+ <p>These methods have the signature
+ <code>get...ByName()</code>,
+ <code>set...ByName()</code>,
+ <code>replace...ByName()</code>,
+ <code>remove...ByName()</code>,
+ <code>has...ByName()</code>, or
+ <code>get...Names</code>. In addition, the method
+ <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
+ belongs to this concept. </p>
+ */
+ const long NAMECONTAINER = 16;
+
+ //-------------------------------------------------------------------------
+ /** specifies methods of the <em>index container concept</em>.
+
+ <p>These methods have the signature
+ <code>get...ByIndex()</code>,
+ <code>insert...ByIndex()</code>,
+ <code>replace...ByIndex()</code>, or
+ <code>remove...ByIndex()</code>.
+ The method <member scope="com::sun::star::container">
+ XIndexAccess::getCount()</member>
+ also belongs to this concept. </p>
+ */
+ const long INDEXCONTAINER = 32;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/NamedValue.idl b/udkapi/com/sun/star/beans/NamedValue.idl
new file mode 100644
index 000000000000..dcaee0cd9e34
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NamedValue.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_NamedValue_idl__
+#define __com_sun_star_beans_NamedValue_idl__
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a pair assembled from a name and a value.
+ */
+published struct NamedValue
+{
+ /** specifies the name part of the pair
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the value part of the pair.
+ */
+ any Value;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/NotRemoveableException.idl b/udkapi/com/sun/star/beans/NotRemoveableException.idl
new file mode 100644
index 000000000000..bdda8ed44fba
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NotRemoveableException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_NotRemoveableException_idl__
+#define __com_sun_star_beans_NotRemoveableException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This exception is thrown to indicate that removing a property from an
+ <type>XPropertyContainer</type> is not allowed.
+ */
+published exception NotRemoveableException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/Optional.idl b/udkapi/com/sun/star/beans/Optional.idl
new file mode 100644
index 000000000000..fbf58b667c16
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Optional.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Optional_idl__
+#define __com_sun_star_beans_Optional_idl__
+
+module com { module sun { module star { module beans {
+
+/**
+ An optional value of a given type.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of <type scopye="com::sun::star::beans">Property</type> that
+ have the <const
+ scope="com::sun::star::beans">PropertyAttribute::MAYBEVOID</const>. It might
+ also be useful in other situations, for example as the return type of an
+ interface method.</p>
+ */
+struct Optional<T> {
+ /**
+ Marks this structure instance as having an actual value.
+ */
+ boolean IsPresent;
+
+ /**
+ The actual value of this structure instance.
+
+ <p>If no actual value is present, a producer of such a structure instance
+ should leave this member defaulted, and a consumer of such a structure
+ instance should ignore the specific value stored in this member.</p>
+ */
+ T Value;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/Pair.idl b/udkapi/com/sun/star/beans/Pair.idl
new file mode 100644
index 000000000000..0bb214fb87bb
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Pair.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Pair_idl__
+#define __com_sun_star_beans_Pair_idl__
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+/** A tuple, or pair.
+
+ <p>
+ This structure allows for conveniently packing together two values of
+ any type, and could be useful as the result type of methods.
+ </p>
+
+ @since OOo 3.0
+ */
+struct Pair<T, U> {
+
+ /// first object.
+ T First;
+
+ /// second object.
+ U Second;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/Property.idl b/udkapi/com/sun/star/beans/Property.idl
new file mode 100644
index 000000000000..bd633f9a448a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Property.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_Property_idl__
+#define __com_sun_star_beans_Property_idl__
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This structure describes a property.
+
+
+ <dl>There are three types of properties:
+ <dt>- bound properties</dt>
+ <dt>- constrained properties</dt>
+ <dt>- free properties</dt>
+ </dl>
+ */
+published struct Property
+{
+ /** specifies the name of the property.
+
+ <p>The name is unique within an <type>XPropertySet</type>.
+ Upper and lower case are distinguished.</p>
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** contains an implementation-specific handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. You can use
+ this handle to get values from the <type>XFastPropertySet</type>.</p>
+ */
+ long Handle;
+
+ //-------------------------------------------------------------------------
+
+ /** contains an object that identifies the declared type for
+ the property.
+
+ <p>If the property has multiple types or the type is not
+ known, <strong>but not an <atom>any</atom></strong>, then
+ <const>void</const> must be returned.</p>
+ */
+ type Type;
+
+ //-------------------------------------------------------------------------
+
+ /** This field may contain zero or more constants of the
+ <type>PropertyAttribute</type> constants group.
+ */
+ short Attributes;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyAttribute.idl b/udkapi/com/sun/star/beans/PropertyAttribute.idl
new file mode 100644
index 000000000000..23eeefba497a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyAttribute_idl__
+#define __com_sun_star_beans_PropertyAttribute_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** These values are used to specify the behavior of a <type>Property</type>.
+ */
+published constants PropertyAttribute
+{
+ //-------------------------------------------------------------------------
+
+ /** indicates that a property value can be void.
+
+ <p>It does not mean that the type of the property is void!
+ */
+ const short MAYBEVOID = 1;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that a <type>PropertyChangeEvent</type> will be fired
+ to all registered <type>XPropertyChangeListener</type>s whenever the
+ value of this property changes.
+ */
+ const short BOUND = 2;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that a <type>PropertyChangeEvent</type> will be fired
+ to all registered <type>XVetoableChangeListener</type>s whenever the
+ value of this property changes.
+
+ <p>This always implies that the property is <em>bound</em>, too. </p>
+ */
+ const short CONSTRAINED = 4;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that the value of the property is not persistent.
+ */
+ const short TRANSIENT = 8;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that the value of the property is read-only.
+ */
+ const short READONLY = 16;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that the value of the property can be ambiguous.
+ */
+ const short MAYBEAMBIGUOUS = 32;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that the property can be set to default.
+ */
+ const short MAYBEDEFAULT = 64;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates that the property can be removed
+ (i.e., by calling <member>XPropertyContainer::removeProperty</member>).
+ */
+ const short REMOVEABLE = 128;
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ same as <const>PropertyAttribute::REMOVEABLE</const>.
+ */
+ const short REMOVABLE = 128;
+
+ //-------------------------------------------------------------------------
+ /** indicates that a property is optional.
+
+ <p>This attribute is not of interest for concrete property
+ implementations. It's needed for property specifications inside
+ service specifications in UNOIDL.
+
+ @see com::sun::star::reflection::XPropertyTypeDescription
+ @see com::sun::star::reflection::XServiceTypeDescription
+ @since OOo 1.1.2
+ */
+ const short OPTIONAL = 256;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyBag.idl b/udkapi/com/sun/star/beans/PropertyBag.idl
new file mode 100644
index 000000000000..c0026af4b81a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyBag.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyBag_idl__
+#define __com_sun_star_beans_PropertyBag_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** Implementation of this service can keep any properties and is useful
+ when an <type>XPropertySet</type> is to be used, for example, as parameters for a method call.
+
+ <p>Scripting engines might not be able to use such objects as normal
+ property sets, giving direct access to the properties. In this case,
+ use the methods like <member>XPropertySet::getPropertyValue</member>.
+ */
+published service PropertyBag
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::beans::XPropertyContainer;
+
+ interface com::sun::star::beans::XPropertyAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl
new file mode 100644
index 000000000000..874373a2b1c1
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyChangeEvent_idl__
+#define __com_sun_star_beans_PropertyChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** gets delivered whenever a "bound" or "constrained" property is changed.
+
+ <p>A <type>PropertyChangeEvent</type> object is sent as an
+ argument to the methods of <type>XPropertyChangeListener</type>
+ and <type>XVetoableChangeListener</type>. </p>
+
+ <p>Normally such events contain the name and the old and new
+ value of the changed property. </p>
+
+ <p>Void values may be provided for the old and new values if their
+ true values are not known. </p>
+ */
+published struct PropertyChangeEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** contains the unique name of the property which changes its value.
+ */
+ string PropertyName;
+
+ //-------------------------------------------------------------------------
+
+ /** contains <true/> if further events in the same transaction occur.
+ */
+ boolean Further;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the implementation handle for the property.
+
+ <p>May be -1 if the implementation has no handle. You can use
+ this handle to get values from the <type>XFastPropertySet</type>.</p>
+ */
+ long PropertyHandle;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the old value of the property.
+ */
+ any OldValue;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the new value of the property.
+ */
+ any NewValue;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyConcept.idl b/udkapi/com/sun/star/beans/PropertyConcept.idl
new file mode 100644
index 000000000000..46d95a8da78b
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyConcept.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyConcept_idl__
+#define __com_sun_star_beans_PropertyConcept_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+/** These constants are used to specify concepts of the
+ introspection which apply to properties and to the
+ methods which represent attributes.
+
+ <p>This list is not necessarily complete; new constants
+ may be added.</p>
+
+ @see Introspection
+ @see XIntrospection
+ @see XIntrospectionAccess
+ */
+published constants PropertyConcept
+{
+ //-------------------------------------------------------------------------
+ /** This value is used to query for all properties.
+
+ See
+ <member>XIntrospectionAccess::getProperty()</member> and
+ <member>XIntrospectionAccess::getProperties()</member>
+ */
+ const long ALL = -1;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the change or retrieval of this
+ property directly by the user can result in an unstable
+ state (deadlock, application crash, security hole, etc.)
+ */
+ const long DANGEROUS = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies all properties which are reachable by
+ <type>XPropertySet</type>, <type>XFastPropertySet</type> or
+ <type>XMultiPropertySet</type>.
+ */
+ const long PROPERTYSET = 2;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies all properties which are actually attributes of interfaces.
+ */
+ const long ATTRIBUTES = 4;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies all properties which are represented by getter or setter methods.
+
+ <p>These methods have the signature <code>type get...()</code>,
+ <code>void set...()</code> or <code>boolean is...()</code>.</p>
+ */
+ const long METHODS = 8;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyExistException.idl b/udkapi/com/sun/star/beans/PropertyExistException.idl
new file mode 100644
index 000000000000..4013e3b092fc
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyExistException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyExistException_idl__
+#define __com_sun_star_beans_PropertyExistException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This exception is thrown to indicate that a property with this name already
+ exists in the object.
+
+ @see PropertyContainer
+ */
+published exception PropertyExistException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertySet.idl b/udkapi/com/sun/star/beans/PropertySet.idl
new file mode 100644
index 000000000000..3be077a2ca9e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySet.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertySet_idl__
+#define __com_sun_star_beans_PropertySet_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This is a generic service which should be supported by all servies
+ which have properties.
+
+ <p>It specifies several, mostly optional ways to access properties.
+ */
+published service PropertySet
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ [optional] interface com::sun::star::beans::XFastPropertySet;
+ [optional] interface com::sun::star::beans::XMultiPropertySet;
+ [optional] interface com::sun::star::beans::XPropertyAccess;
+ [optional] interface com::sun::star::beans::XPropertyState;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChange.idl b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl
new file mode 100644
index 000000000000..efb1b9c03a07
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertySetInfoChange_idl__
+#define __com_sun_star_beans_PropertySetInfoChange_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies reasons for sending <type>PropertySetInfoChangeEvent</type>s.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfo
+ */
+published constants PropertySetInfoChange
+{
+ //-------------------------------------------------------------------------
+
+ /** A property was inserted into a <type>XPropertySetInfo</type>.
+ */
+ const long PROPERTY_INSERTED = 0;
+
+ //-------------------------------------------------------------------------
+
+ /** A property was removed from a <type>XPropertySetInfo</type>.
+ */
+ const long PROPERTY_REMOVED = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl
new file mode 100644
index 000000000000..d0ccd39e9c63
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertySetInfoChangeEvent_idl__
+#define __com_sun_star_beans_PropertySetInfoChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** gets delivered whenever an <type>XPropertySetInfo</type> is
+ changed.
+
+ <p>A <type>PropertySetInfoChangeEvent</type> object is sent
+ to <type>XPropertySetInfoChangeListener</type>s.</p>
+ */
+published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** contains the name of the property.
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the implementation handle for the property.
+
+ <p>May be -1 if the implementation has no handle.</p>
+ */
+ long Handle;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the reason for the event.
+
+ @see PropertySetInfoChange
+ */
+ long Reason;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyState.idl b/udkapi/com/sun/star/beans/PropertyState.idl
new file mode 100644
index 000000000000..cebca6913b4e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyState.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyState_idl__
+#define __com_sun_star_beans_PropertyState_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This enumeration lists the states that a property value can have.
+
+ <p>The state consists of two aspects: </p>
+ <ol>
+ <li>whether a value is available or void, </li>
+ <li>whether the value is stored in the property set itself or is a
+ default, or ambiguous. </li>
+ </ol>
+
+ @see XPropertyState
+ @see Property
+ */
+published enum PropertyState
+{
+ //-------------------------------------------------------------------------
+
+ /** The value of the property is stored in the PropertySet itself.
+
+ <p>The property value must be available and of the specified type.
+ If the <member>PropertyAttribute</member> field in the struct
+ <type>Property</type> contains <const>PropertyAttribute::MAYBEVOID</const>,
+ then the value may be void. </p>
+ */
+ DIRECT_VALUE,
+
+ //-------------------------------------------------------------------------
+
+ /** The value of the property is available from a master (e.g., template).
+
+ <p>The <member>PropertyAttribute</member> field in the struct
+ <type>Property</type> must contain the
+ <const>PropertyAttribute::MAYBEDEFAULT</const> flag. The property
+ value must be available and of the specified type. If the
+ <member>PropertyAttribute</member> field in the struct <type>Property</type>
+ contains <const>PropertyAttribute::MAYBEVOID</const>, then the
+ value may be void. </p>
+ */
+ DEFAULT_VALUE,
+
+ //-------------------------------------------------------------------------
+
+ /** The value of the property is only a recommendation because there
+ are multiple values for this property (e.g., from a multi selection).
+
+ <p>The <member>PropertyAttribute</member> field in the struct
+ <type>Property</type> must contain the
+ <const>PropertyAttribute::MAYBEAMBIGUOUS</const> flag. The
+ property value must be available and of the specified type.
+ If the Attribute field in the struct Property contains
+ <const>PropertyAttribute::MAYBEVOID</const>, then the value
+ may be void. </p>
+ */
+ AMBIGUOUS_VALUE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl
new file mode 100644
index 000000000000..1de67bb152c9
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyStateChangeEvent_idl__
+#define __com_sun_star_beans_PropertyStateChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** is delivered whenever the state of a "bound" property is changed.
+
+ <p>It is sent as an argument to the method of
+ <type>XPropertyStateChangeListener</type>. </p>
+
+ <p>Normally these events are accompanied by the name, and the old
+ and new values of the changed property. </p>
+
+ <p>Void values may be provided for the old and new values if their
+ true values are not known. </p>
+ */
+published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the name of the property which changes its value.
+
+ <p>This name identifies the property uniquely within an
+ <type>XPropertySet</type>. Upper and lower case are distinguished.</p>
+ */
+ string PropertyName;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the implementation handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. You can use this
+ handle to get values from the <type>XFastPropertySet</type>
+ interface.</p>
+ */
+ long PropertyHandle;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the old value of the property.
+ */
+ com::sun::star::beans::PropertyState OldValue;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the new value of the property.
+ */
+ com::sun::star::beans::PropertyState NewValue;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyValue.idl b/udkapi/com/sun/star/beans/PropertyValue.idl
new file mode 100644
index 000000000000..4f53b7f4334f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValue.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyValue_idl__
+#define __com_sun_star_beans_PropertyValue_idl__
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a property value.
+ */
+published struct PropertyValue
+{
+ /** specifies the name of the property.
+
+ <p>The name is unique within a sequence of <type>PropertyValue</type>s.
+ Upper and lower case are distinguished.</p>
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** contains an implementation-specific handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. If available
+ it can be used for fast lookups.</p>
+ */
+ long Handle;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the value of the property or <void/>,
+ if no value is available.
+ */
+ any Value;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if the value comes from the object itself or from
+ a default and if the value cannot be determined exactly.
+ */
+ com::sun::star::beans::PropertyState State;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyValues.idl b/udkapi/com/sun/star/beans/PropertyValues.idl
new file mode 100644
index 000000000000..f3fe17efc07a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValues.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyValues_idl__
+#define __com_sun_star_beans_PropertyValues_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+/** specifies a sequence of <type>PropertyValue</type> instances.
+
+ <p>Such sequences are especially useful for remote interfaces. </p>
+*/
+published typedef sequence<PropertyValue> PropertyValues;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/PropertyVetoException.idl b/udkapi/com/sun/star/beans/PropertyVetoException.idl
new file mode 100644
index 000000000000..c8abf8e95b45
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyVetoException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_PropertyVetoException_idl__
+#define __com_sun_star_beans_PropertyVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This exception is thrown when a proposed change to a
+ property represents an unacceptable value.
+
+ @see XPropertySet
+ */
+published exception PropertyVetoException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl
new file mode 100644
index 000000000000..a1637026c710
--- /dev/null
+++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_SetPropertyTolerantFailed_idl__
+#define __com_sun_star_beans_SetPropertyTolerantFailed_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies information about a single property failed to be set.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct SetPropertyTolerantFailed
+{
+ /** specifies the name of the property.
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the success or error code for setting the
+ properties value.
+
+ <p>Since the property was not successful set the result will never be
+ <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.
+ </p>
+
+ @see com::sun::star::beans::TolerantPropertySetResultType
+ */
+ short Result;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/StringPair.idl b/udkapi/com/sun/star/beans/StringPair.idl
new file mode 100644
index 000000000000..86fd955b9b07
--- /dev/null
+++ b/udkapi/com/sun/star/beans/StringPair.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_StringPair_idl__
+#define __com_sun_star_beans_StringPair_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a pair of two strings.
+ */
+published struct StringPair
+{
+ /** specifies the first of the two strings.
+ */
+ string First;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the second of the two strings.
+ */
+ string Second;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl
new file mode 100644
index 000000000000..9a28031b5286
--- /dev/null
+++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__
+#define __com_sun_star_beans_TolerantPropertySetResultType_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies the possible failure types when using the
+ <type scope="com::sun::star::beans">XTolerantMultiPropertySet</type>
+ interface.
+
+ <p>It usually matches one of the exception types that may occur when
+ using the
+ <type scope="com::sun::star::beans">XPropertySet</type> or
+ <type scope="com::sun::star::beans">XMultiPropertySet</type> interfaces.</p>
+*/
+constants TolerantPropertySetResultType
+{
+ /** the property has been successfully set or retrieved.
+ */
+ const short SUCCESS = 0;
+
+ /** the property is not available.
+
+ <p>For example if a
+ <type scope="com::sun::star::beans" >UnknownPropertyException</type>
+ was catched.</p>
+ */
+ const short UNKNOWN_PROPERTY = 1;
+
+ /** the value used with the property is not valid.
+
+ <p>For example if a
+ <type scope="com::sun::star::lang" >IllegalArgumentException</type>
+ was catched.</p>
+ */
+ const short ILLEGAL_ARGUMENT = 2;
+
+ /** the property could not be changed at that time.
+
+ <p>For example if a
+ <type scope="com::sun::star::beans" >PropertyVetoException</type>
+ was catched.</p>
+ */
+ const short PROPERTY_VETO = 3;
+
+ /** a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ did occur.
+ */
+ const short WRAPPED_TARGET = 4;
+
+ /** the operation failed and the reason is not known.
+ */
+ const short UNKNOWN_FAILURE = 5;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/UnknownPropertyException.idl b/udkapi/com/sun/star/beans/UnknownPropertyException.idl
new file mode 100644
index 000000000000..5d216743e1af
--- /dev/null
+++ b/udkapi/com/sun/star/beans/UnknownPropertyException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_UnknownPropertyException_idl__
+#define __com_sun_star_beans_UnknownPropertyException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** This exception is thrown to indicate that the property name is unknown to
+ the implementation.
+
+ @see XPropertySet
+ */
+published exception UnknownPropertyException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XExactName.idl b/udkapi/com/sun/star/beans/XExactName.idl
new file mode 100644
index 000000000000..716e33651302
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XExactName.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XExactName_idl__
+#define __com_sun_star_beans_XExactName_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides a method of changing names for converting
+ an approximate name to an existing name.
+
+ <p> One field of application is the conversion of case-insensitive
+ names to the existing names. </p>
+
+ <p>Example: A basic interpreter ignores the case of the names. So
+ it must query the <type>XExactName</type> interface and then call
+ the method. </p>
+
+ @see com::sun::star::beans::XPropertySet
+ @see com::sun::star::beans::XIntrospectionAccess
+ @see com::sun::star::container::XNameAccess
+ */
+published interface XExactName: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the exact name for a given aprroximate name.
+
+ <p>For example "getExactName" could be returned for "GETEXACTNAME"
+ when "GETEXACTNAME" was used by a case insesitive scripting language. </p>
+ */
+ string getExactName( [in] string aApproximateName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XFastPropertySet.idl b/udkapi/com/sun/star/beans/XFastPropertySet.idl
new file mode 100644
index 000000000000..89ffd4a4288d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XFastPropertySet.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XFastPropertySet_idl__
+#define __com_sun_star_beans_XFastPropertySet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides a fast way of accessing and changing property values.
+
+ <p>This interface is an extension to the <type>XPropertySet</type>
+ interface. The get and set methods use handles to access the
+ property values instead of character strings.</p>
+ */
+published interface XFastPropertySet: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the value to the property with the specified name.
+
+ @param nHandle
+ contains the implementation handle of the
+ implementation for the property.
+
+ @param aValue
+ contains the new value of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws PropertyVetoException
+ if a vetoable listener does not approve the change of
+ a property value.
+
+ @throws IllegalArgumentException
+ if the new value cannot be converted to the type of the
+ underlying property by an identity or widening conversion.
+
+ @throws stardiv::uno::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into this
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ */
+ void setFastPropertyValue( [in] long nHandle,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the value of the property with the name PropertyName.
+
+ @param nHandle
+ contains the implementation handle of the implementation for the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ any getFastPropertyValue( [in] long nHandle )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl
new file mode 100644
index 000000000000..31991a335b98
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XHierarchicalPropertySet_idl__
+#define __com_sun_star_beans_XHierarchicalPropertySet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides information about and access to the
+ a hierarchy of properties from an implementation.
+
+ <p> Usually an object that implements this interface
+ also implements <type>XPropertySet</type> and at
+ least some of the properties have subproperties. </p>
+
+ <p> This interface allows direct access to subsubproperties, ...
+ up to an arbitrary nesting depth. Often the intermediate
+ elements of the hierarchy implement <type>XProperty</type>. </p>
+
+ <p> Each implementation specifies how the
+ hierarchical property names, that are
+ used to access the elements of the hierarchy,
+ are formed. </p>
+
+ <p> Commonly a notation similar to filesystem pathes
+ (separated by '/' slashes) or nested module names
+ (separated by dots '.' or '::') is used. </p>
+
+ */
+published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** retrieve information about the hierarchy of properties
+
+ @returns
+ the <type>XHierarchicalPropertySetInfo</type> interface,
+ which describes the property hierarchy of the object which
+ supplies this interface.
+
+ @returns
+ <NULL/> if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface <type>XHierarchicalPropertySetInfo</type> is returned.
+ */
+ com::sun::star::beans::XHierarchicalPropertySetInfo
+ getHierarchicalPropertySetInfo();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the value of the property with the specified nested name.
+
+ @param aHierarchicalPropertyName
+ This parameter specifies the name of the property.
+
+ @param aValue
+ This parameter specifies the new value for the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws PropertyVetoException
+ if the property is constrained and the change is vetoed by a
+ <type>XVetoableChangeListener</type>.
+
+ @throws com::sun::star::uno::lang::IllegalArgumentException
+ if <var>aValue</var> is not a legal value for this property or
+ if <var>aHierarchicalPropertyName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect the latter condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ @see XPropertySet::setPropertyValue
+ */
+ void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the value of the property with the specified nested name.
+
+ @param aHierarchicalPropertyName
+ This parameter specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::uno::lang::IllegalArgumentException
+ if <var>aHierarchicalPropertyName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ @see XPropertySet::getPropertyValue
+ */
+ any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl
new file mode 100644
index 000000000000..8d2f2aac3ec9
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+#define __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a hierarchy of properties.
+
+ <p>The specification only describes the properties, it does not contain
+ any values.</p>
+ */
+published interface XHierarchicalPropertySetInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the property with the specified name from the hierarchy.
+
+ @param aHierarchicalName
+ specifies the nested name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>aHierarchicalName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ */
+ com::sun::star::beans::Property getPropertyByHierarchicalName( [in] string aHierarchicalName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if a property with the specified name exists;
+ otherwise <FALSE/> is returned.
+
+ @param aHierarchicalName
+ specifies the name of the property.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>aHierarchicalName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+ */
+ boolean hasPropertyByHierarchicalName( [in] string aHierarchicalName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XIntroTest.idl b/udkapi/com/sun/star/beans/XIntroTest.idl
new file mode 100644
index 000000000000..34b799cc1330
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntroTest.idl
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XIntroTest_idl__
+#define __com_sun_star_beans_XIntroTest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+ published interface XPropertyChangeListener;
+ published interface XPropertiesChangeListener;
+
+//=============================================================================
+/** This is a test interface for introspection.
+
+ @deprecated
+*/
+published interface XIntroTest: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** contains the ID-String of the implementation.
+ */
+ [attribute] string ObjectName;
+
+ //-------------------------------------------------------------------------
+ /** contains the first name of a person.
+ */
+ [readonly, attribute] string FirstName;
+
+ //-------------------------------------------------------------------------
+ /** contains the last name of a person.
+ */
+ [readonly, attribute] string LastName;
+
+ //-------------------------------------------------------------------------
+ /** contains the age of a person.
+ */
+ [readonly, attribute] short Age;
+
+ //-------------------------------------------------------------------------
+ /** contains the number of children person has.
+ */
+ [attribute] short ChildrenCount;
+
+ //-------------------------------------------------------------------------
+ /** contains a struct of type <type>Property</type>.
+ */
+ [attribute] com::sun::star::beans::Property FirstStruct;
+
+ //-------------------------------------------------------------------------
+ /** contains a struct of type <type>PropertyValue</type>.
+ */
+ [attribute] com::sun::star::beans::PropertyValue SecondStruct;
+
+ //-------------------------------------------------------------------------
+ /** output method.
+ */
+ void writeln( [in] string Text );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ long getDroenk();
+
+ //-------------------------------------------------------------------------
+ /** gets another object with this interface.
+ */
+ com::sun::star::beans::XIntroTest getIntroTest();
+
+ //-------------------------------------------------------------------------
+ /** !!! No property, because parameter exists
+ */
+ long getUps( [in] long l );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setDroenk( [in] long l );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ short getBla();
+
+ //-------------------------------------------------------------------------
+ /** !!! Not the set method for property Bla, because param type != return type.
+ */
+ void setBla( [in] long n );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ short getBlub();
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setBlub( [in] short n );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ short getGulp();
+
+ //-------------------------------------------------------------------------
+ /** !!! Not the set method for property Gulp, because return type != void.
+ */
+ short setGulp( [in] short n );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ com::sun::star::uno::TypeClass getTypeClass( [in] short n );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setTypeClass( [in] com::sun::star::uno::TypeClass t,
+ [in] double d1,
+ [in] double d2 );
+
+ //-------------------------------------------------------------------------
+ sequence<string> getStrings();
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setStrings( [in] sequence<string> Strings );
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setStringsPerMethod( [in] sequence<string> Strings,
+ [in] short n );
+
+ //-------------------------------------------------------------------------
+ sequence< sequence< sequence< short > > > getMultiSequence();
+
+ //-------------------------------------------------------------------------
+ /** ...
+ */
+ void setMultiSequence( [in] sequence< sequence< sequence< short > > > Seq );
+
+ //-------------------------------------------------------------------------
+ /** adds a listener which is called, when one of the specified properties
+ changes its value.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ [oneway] void addPropertiesChangeListener( [in] sequence< string > PropertyNames,
+ [in] XPropertiesChangeListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** removes a listener.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ [oneway] void removePropertiesChangeListener( [in] XPropertiesChangeListener Listener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XIntrospection.idl b/udkapi/com/sun/star/beans/XIntrospection.idl
new file mode 100644
index 000000000000..5c7d6ed02cc2
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospection.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XIntrospection_idl__
+#define __com_sun_star_beans_XIntrospection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__
+#include <com/sun/star/beans/XIntrospectionAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::beans::XIntrospection
+/** allows the inspection of an object's properties and methods.
+
+ <p><strong>Important note:</strong>An object can only be
+ inspected completely if it supports the <type scope=
+ "com::sun::star::lang">XTypeProvider</type> interface.</p>
+
+ <p>For details see method <member>XIntrospection::inspect</member>. </p>
+
+ @see XIntrospectionAccess
+ */
+published interface XIntrospection: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::beans::XIntrospection::inspect
+ /** inspects the given object.
+
+ <p>It identifies all properties supported by the object
+ if they are represented in one of the following ways: </p>
+
+ <dl>
+ <dt>property set </dt>
+ <dd>If the object supports an <type>XPropertySet</type>
+ interface, all its properties are adopted.
+ </dd>
+
+ <dt>attributes </dt>
+ <dd>All of an object's attributes are considered as properties
+ with same name. If an attribute is read-only, the property
+ also is read-only.
+ </dd>
+
+ <dt>get/set methods </dt>
+ <dd>Every method <code>RetType getX()</code> defines a
+ property where "X" stands for the property name and
+ "RetType" for its type. The method must not have any
+ parameters, or there is no property access method
+ and "X" has no property. If there is also a method
+ <code>void setX( [in] RetType )</code>, the property
+ "X" also allows write access; otherwise it is read-only.
+ </dd>
+
+ <dt> <strong>Important note:</strong></dt>
+ <dd>If an object implements <type scope="com::sun::star::container">XNameAccess</type>,
+ the items that can be accessed are not considered as properties
+ of the object and so are not included in the property list offered by
+ <member scope="com::sun::star::beans">XIntrospectionAccess::getProperties()</member>.
+ <type scope="com::sun::star::container">XNameAccess</type> items have to be
+ accessed separately by <member scope="com::sun::star::beans">XIntrospectionAccess::getNameAccess()</member>.
+ </dd>
+ </dl>
+
+ <p>In addition, the inspect method identifies all listener
+ access methods in the form <code>add...Listener</code>/
+ <code>remove...Listener</code> (except methods of interface
+ <type>XPropertySet</type>) where "..." stands for the listener type.
+ </p>
+
+ <p>Methods which do not belong to a property nor which represent
+ a listener access nor which are methods of <type>XPropertySet</type>,
+ <type scope="com::sun::star::container">XNameAccess</type>,
+ <type scope="com::sun::star::container">XIndexAccess</type>, or
+ <type scope="com::sun::star::container">XEnumerationAccess</type>, are considered to be normal
+ methods. </p>
+
+ @see XIntrospectionAccess
+ */
+ com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XIntrospectionAccess.idl b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl
new file mode 100644
index 000000000000..efd340916857
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl
@@ -0,0 +1,321 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XIntrospectionAccess_idl__
+#define __com_sun_star_beans_XIntrospectionAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlMethod_idl__
+#include <com/sun/star/reflection/XIdlMethod.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSuchMethodException_idl__
+#include <com/sun/star/lang/NoSuchMethodException.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_beans_IllegalTypeException_idl__
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** represents the result of an introspection operation done by
+ the inspect method of <type scope="com::sun::star::beans">
+ XIntrospection</type>.
+
+ <p>This interface gives information about an object's
+ properties and methods as detected in the introspection
+ process. It's not possible to access properties or call
+ methods directly using this interface but it provides
+ access to other interfaces to do so.
+ See <member scope="com::sun::star::beans">
+ XIntrospectionAccess::queryAdapter()</member></p>
+
+ <p>The <type>XExactName</type> interface has to be supported
+ in order to implement inaccurate name access for all objects
+ which implement the <type scope="com::sun::star::container">
+ XNameAccess</type> interface or <type>XPropertySet</type>.</p>
+
+ <p>The <type>XMaterialHolder</type> interface has to be
+ supported to give access to the inspected object.</p>
+
+ @see XPropertySet
+ @see com::sun::star::beans::XExactName
+ */
+published interface XIntrospectionAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns information about which method concepts described in
+ the <type>MethodConcept</type> constants group are supported
+ by this <type>XIntrospectionAccess</type> implementation.
+
+ <p>The minimum supported concepts should be:</p>
+
+ <ul>
+ <li> <const>MethodConcept::PROPERTY</const>, </li>
+ <li> <const>MethodConcept::LISTENER</const>, </li>
+ <li> <const>MethodConcept::ENUMERATION</const>, </li>
+ <li> <const>MethodConcept::NAMECONTAINER</const></li>
+ <li> <const>MethodConcept::INDEXCONTAINER</const>; </li>
+ </ul>
+
+ @returns
+ zero or more constants of the <type>MethodConcept</type>
+ constants group combined by an arithmetical or-operation.
+ */
+ long getSuppliedMethodConcepts();
+
+ //-------------------------------------------------------------------------
+ /** returns information about which property concepts described in
+ the <type>PropertyConcept</type> constants group are supported
+ by this <type>XIntrospectionAccess</type> implementation.
+
+ <p>The minimum supported concepts should be:</p>
+
+ <ul>
+ <li> <const>PropertyConcept::PROPERTYSET</const>, </li>
+ <li> <const>PropertyConcept::ATTRIBUTES</const> and </li>
+ <li> <const>PropertyConcept::METHODS</const>. </li>
+ </ul>
+
+ @returns
+ zero or more constants of the <type>PropertyConcept</type>
+ constants group.combined by an arithmetical or-operation.
+ */
+ long getSuppliedPropertyConcepts();
+
+ //-------------------------------------------------------------------------
+ /** returns information about a property if a property with
+ the demanded name exists and if it accords to one of the
+ demanded <type>PropertyConcept</type>s. The information
+ is provided as <type>Property</type> struct.
+
+ @returns
+ A <type>Property</type> struct providing
+ information about the demanded property,
+ if a corresponding property exists.
+
+ @param aName
+ the name of the property.
+
+ @param nPropertyConcepts
+ zero or more constants of the <type>PropertyConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+
+ @throws NoSuchElementException
+ when a property with the demanded name doesn't exist
+ or if it accords to a wrong <type>PropertyConcept
+ </type>.
+ */
+ com::sun::star::beans::Property getProperty( [in] string aName,
+ [in] long nPropertyConcepts )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+ /** allows to ask if a property with the demanded name exists
+ and if it accords to one of the demanded <type>
+ PropertyConcept</type>s.
+
+ @returns
+ <TRUE/> if the property exists and accords to one of
+ the demanded <type>PropertyConcept</type>s, otherwise
+ <FALSE/> is returned.
+
+ @param aName
+ the name of the property.
+
+ @param nPropertyConcepts
+ zero or more constants of the <type>PropertyConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+ */
+ boolean hasProperty( [in] string aName,
+ [in] long nPropertyConcepts );
+
+ //-------------------------------------------------------------------------
+ /** returns a sequence of properties of the introspected object
+
+ @returns
+ all properties of the introspected object which accord
+ to the demanded <type>PropertyConcept</type>s.
+
+ @param nPropertyConcepts
+ zero or more constants of the <type>PropertyConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+ */
+ sequence<com::sun::star::beans::Property> getProperties(
+ [in] long nPropertyConcepts );
+
+ //-------------------------------------------------------------------------
+ /** returns information about a method if a method with
+ the demanded name exists and if it accords to one of
+ the demanded MethodConcepts. The information is
+ provided as <type scope="com::sun::star::reflection">
+ XIdlMethod</type>.
+
+ @returns
+ A <type scope="com::sun::star::reflection">
+ XIdlMethod</type> providing information about and
+ access to the demanded method if a corresponding
+ method exists.
+
+ @param aName
+ the name of the method.
+
+ @param nMethodConcepts
+ zero or more constants of the <type>MethodConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+
+ @throws NoSuchElementException
+ when a method with the demanded name doesn't exist
+ or if it accords to a wrong <type>MethodConcept</type>.
+ */
+ com::sun::star::reflection::XIdlMethod getMethod( [in] string aName,
+ [in] long nMethodConcepts )
+ raises( com::sun::star::lang::NoSuchMethodException );
+
+ //-------------------------------------------------------------------------
+ /** allows to ask if a method with the demanded name exists
+ and if it accords to one of the demanded <type>MethodConcept
+ </type>s.
+
+ @returns
+ <TRUE/> if the method exists and accords to one of
+ the demanded <type>MethodConcept</type>s, otherwise
+ <FALSE/> is returned.
+
+ @param aName
+ the name of the method.
+
+ @param nMethodConcepts
+ zero or more constants of the <type>MethodConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+ */
+ boolean hasMethod( [in] string aName,
+ [in] long nMethodConcepts );
+
+ //-------------------------------------------------------------------------
+ /** returns a sequence of methods of the introspected object.
+
+ @returns
+ all methods of the introspected object which accord
+ to the demanded <type>MethodConcept</type>s.
+
+ @param nMethodConcepts
+ zero or more constants of the <type>MethodConcept
+ </type> constants group combined by an arithmetical
+ or-operation.
+ */
+ sequence<com::sun::star::reflection::XIdlMethod> getMethods(
+ [in] long nMethodConcepts );
+
+ //-------------------------------------------------------------------------
+ /** returns the listener types supported by the introspected
+ object.
+
+ <p>If the introspected object has the methods
+ <code>addFooListener( XFooListener xFoo )</code> and
+ <code>removeFooListener( XFooListener xFoo )</code>
+ the type of XFooListener will be one of the elements
+ in the returned sequence.
+
+ @returns
+ a sequence of the types of listener interfaces
+ which are supported by the introspected object.
+ */
+ sequence<type> getSupportedListeners();
+
+ //-------------------------------------------------------------------------
+ /** creates an adapter that implements an interface with the
+ specified type.
+
+ <p>To access properties, query for the <type>XPropertySet
+ </type> interface. If the <type>XPropertySet</type> can
+ be queried, the <type>XFastPropertySet</type> interface
+ must be supported too. </p>
+
+ <p>If the introspected object implements a name container,
+ the introspection should return the <type scope=
+ "com::sun::star::container">XNameAccess</type> and <type
+ scope="com::sun::star::container">XNameContainer</type>
+ interfaces.</p>
+
+ <p>If the introspected object implements an index container,
+ the introspection should return the <type scope=
+ "com::sun::star::container">XIndexAccess</type> and <type
+ scope="com::sun::star::container">XIndexContainer</type>
+ interfaces.</p>
+
+ <p>If the introspected object implements an enumeration
+ container, the introspection should return the <type scope=
+ "com::sun::star::container">XEnumerationAccess</type>
+ interface.</p>
+
+ <p>If the introspected object implements the <type scope=
+ "com::sun::star::reflection">XIdlArray</type> interface,
+ the introspection should return this.</p>
+
+ <p>To implement inaccurate name access, at all objects,
+ which implement the <type scope="com::sun::star::container">
+ XNameAccess</type> or <type>XPropertySet</type> interface,
+ the <type>XExactName</type> interface has to be supported.
+ </p>
+
+ @see com::sun::star::beans::XExactName
+ */
+ com::sun::star::uno::XInterface queryAdapter( [in] type aInterfaceType )
+ raises( com::sun::star::beans::IllegalTypeException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XMaterialHolder.idl b/udkapi/com/sun/star/beans/XMaterialHolder.idl
new file mode 100644
index 000000000000..b89a84ce15a9
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMaterialHolder.idl
@@ -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 __com_sun_star_beans_XMaterialHolder_idl__
+#define __com_sun_star_beans_XMaterialHolder_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module beans {
+
+//=============================================================================
+/** gives access to the material a (tool-) object is working on.
+
+ <p>Example: The introspection service allows the inspection of an
+ object's properties and methods. The result is represented as
+ XIntrospectionAccess interface. The inspected object then is the
+ material attached to the introspection tool and an implementation
+ of <type>XIntrospectionAccess</type> should also support
+ <type>XMaterialHolder</type> to give access to this material.</p>
+
+ @see XIntrospectionAccess
+ */
+published interface XMaterialHolder: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the material that is connected to this (tool-) object
+
+ @returns
+ the material that is connected to this (tool-) object.
+ */
+ any getMaterial();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl
new file mode 100644
index 000000000000..cfd1950cdcbe
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
+#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides access to multiple properties which form a hierarchy.
+
+ @see XHierarchicalPropertySet
+ */
+published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** retrieve information about the hierarchy of properties
+
+ @returns
+ the <type>XHierarchicalPropertySetInfo</type> interface,
+ which describes the property hierarchy of the object which
+ supplies this interface.
+
+ @returns
+ <NULL/> if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface <type>XHierarchicalPropertySetInfo</type> is returned.
+
+ @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo
+ */
+ com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the values of the properties with the specified nested names.
+
+ <p> The values of the properties must change before bound
+ events are fired. The values of constrained properties
+ should change after the vetoable events are fired, if no
+ exception occurs. </p>
+
+ <p> Unknown properties are ignored. </p>
+
+ @param aHierarchicalPropertyNames
+ This parameter specifies the names of the properties.
+
+ @param aValues
+ This parameter specifies the new values for the properties.
+
+ @throws PropertyVetoException
+ if one of the properties is constrained and the change is
+ vetoed by a <type>XVetoableChangeListener</type>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the values is not a legal value for the
+ corresponding property or if one of the names
+ is not a well-formed nested name for this hierarchy.
+ An implementation is not required to detect the latter
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ @see XHierarchicalPropertySet::setHierarchicalPropertyValue
+ @see XMultiPropertySet::setPropertyValues
+ */
+
+
+ void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames,
+ [in] sequence<any> Values )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of all values of the properties which are specified
+ by their nested names.
+
+ <p> The order of the values in the returned sequence will be the same
+ as the order of the names in the argument. </p>
+
+ <p> Unknown properties are ignored, in their place <NULL/> will be returned. </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the names is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ @see XHierarchicalPropertySet::getHierarchicalPropertyValue
+ @see XMultiPropertySet::setPropertyValues
+ */
+ sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XMultiPropertySet.idl b/udkapi/com/sun/star/beans/XMultiPropertySet.idl
new file mode 100644
index 000000000000..1388c5d672af
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XMultiPropertySet_idl__
+#define __com_sun_star_beans_XMultiPropertySet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfo_idl__
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__
+#include <com/sun/star/beans/XPropertiesChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides access to multiple properties with a single call.
+ */
+published interface XMultiPropertySet: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the <type>XPropertySetInfo</type> interface, which describes
+ all properties of the object to which this interface belongs.
+ <const>NULL</const> is returned if the object cannot or will
+ not provide information about the properties.
+
+ @see XPropertySet::getPropertySetInfo
+ */
+ com::sun::star::beans::XPropertySetInfo getPropertySetInfo();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the values to the properties with the specified names.
+
+ <p>The values of the properties must change before the bound
+ events are fired. The values of the constrained properties
+ should change after the vetoable events are fired and only if no
+ exception occured. Unknown properties are ignored. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @param aValues
+ contains the new values of the properties. The order is the same
+ as in <var>aPropertyNames</var>.
+
+ @throws IllegalArgumentException
+ if one of the new values cannot be converted to the type
+ of the underlying property by an identity or widening conversion.
+
+ @throws com::sun::star::lang:WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped.
+ */
+ void setPropertyValues( [in] sequence<string> aPropertyNames,
+ [in] sequence<any> aValues )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of all values of the properties which are specified by their names.
+
+ <p>The order of the values in the returned sequence will be the same
+ as the order of the names in the argument. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ This sequence must be alphabetically sorted.
+ */
+ sequence<any> getPropertyValues( [in] sequence<string> aPropertyNames );
+
+ //-------------------------------------------------------------------------
+
+ /** adds an <type>XPropertiesChangeListener</type> to the
+ specified property with the specified names.
+
+ <p>The implementation can ignore the names of the properties
+ and fire the event on all properties. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @param aPropertyNames
+ specifies the names of the properties.
+
+ @param xListener
+ contains the listener for the property change events.
+
+ @see removePropertiesChangeListener
+ */
+ [oneway] void addPropertiesChangeListener( [in] sequence<string> aPropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes an <type>XPropertiesChangeListener</type> from the listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @param
+ contains the listener to be removed.
+
+ @see addPropertiesChangeListener
+ */
+ [oneway] void removePropertiesChangeListener( [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** fires a sequence of <type>PropertyChangeEvent</type>s to the specified
+ listener.
+
+ @param aPropertynames
+ specifies the sorted names of the properties.
+
+ @param xListener
+ contains the listener for the property change events.
+ */
+ [oneway] void firePropertiesChangeEvent( [in] sequence<string> aPropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XMultiPropertyStates.idl b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl
new file mode 100644
index 000000000000..340d627f93a6
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XMultiPropertyState_idl__
+#define __com_sun_star_beans_XMultiPropertyState_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__
+#include <com/sun/star/beans/XPropertyStateChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+/** makes it possible to query information about the state of
+ one or more properties.
+
+ <p>The state of a property contains information about the source of
+ the value, e.g. the object itself, a default or a stylesheet.
+ For more information see <type>PropertyState</type>.
+*/
+published interface XMultiPropertyStates: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ a sequence of the states of the properties which are specified
+ by their names.
+
+ <p>The order of the states is correlating to the order of the
+ given property names.
+
+ @param aPropertyName
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+ */
+ sequence<com::sun::star::beans::PropertyState> getPropertyStates(
+ [in] sequence<string> aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+ /** sets all properties to their default values.
+
+ <p>Each value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value.
+ </p>
+ */
+ void setAllPropertiesToDefault();
+
+ //-------------------------------------------------------------------------
+ /** sets the specified properties to their default values.
+
+ <p>Each value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value. </p>
+
+ @param aPropertyName
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @throws UnknownPropertyException
+ if one of the properties does not exist.
+ */
+ void setPropertiesToDefault( [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the default values of the propertes with the specified names.
+
+ <p>If no default exists, is not known, or is void,
+ then the return type at the corresponding position in the
+ sequence returned is <atom>void</atom>. </p>
+
+ @param aPropertyName
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @throws UnknownPropertyException
+ if one of the propertes does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ sequence<any> getPropertyDefaults(
+ [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl
new file mode 100644
index 000000000000..15cc7ec68c69
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertiesChangeListener_idl__
+#define __com_sun_star_beans_XPropertiesChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** receives events which get fired whenever a bound property is changed.
+ */
+published interface XPropertiesChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** gets called when bound properties are changed.
+
+ @param aEvent
+ contains a sequence of <type>PropertyChangeEvent</type> objects
+ which describe the event source and the properites wich have
+ changed.
+ */
+ void propertiesChange( [in] sequence<com::sun::star::beans::PropertyChangeEvent> aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl
new file mode 100644
index 000000000000..b2e1096525a2
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#define __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__
+#include <com/sun/star/beans/XPropertiesChangeListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a notifier for changed property values@see XPropertiesChangeListener
+ */
+published interface XPropertiesChangeNotifier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** adds an <type>XPropertiesChangeListener</type> to the
+ specified properties with the specified names.
+ */
+ [oneway] void addPropertiesChangeListener(
+ [in] sequence<string> PropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener Listener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes an <type>XPropertiesChangeListener</type> from the
+ listener list.
+ */
+ [oneway] void removePropertiesChangeListener(
+ [in] sequence<string> PropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XProperty.idl b/udkapi/com/sun/star/beans/XProperty.idl
new file mode 100644
index 000000000000..789e2f7e48dd
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XProperty.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XProperty_idl__
+#define __com_sun_star_beans_XProperty_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** Is implemented by objects that also are a property of
+ some other object.
+
+ <p> Provides access to traits of this object that would
+ otherwise only be available from a containing
+ <type>XPropertySet</type> via its
+ <type>XPropertySetInfo</type>.
+ </p>
+
+ */
+published interface XProperty: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the specification of this object as <type>Property</type>.
+
+ */
+ com::sun::star::beans::Property getAsProperty();
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyAccess.idl b/udkapi/com/sun/star/beans/XPropertyAccess.idl
new file mode 100644
index 000000000000..993507cb17ab
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyAccess.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyAccess_idl__
+#define __com_sun_star_beans_XPropertyAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** makes it possible to access all property values and to set them at once.
+
+ <p>In most cases this interface will be in addition to
+ <type>XPropertySet</type>. It is especially useful for remote
+ communication because it lessens the number of calls for getting
+ property values; that is especially important because these calls
+ are necessarily synchronous. </p>
+
+ <p>Another advantage of this method is that conflicts are avoided
+ if property value restrictions depend on the value of other properties.</p>
+ */
+published interface XPropertyAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of all property values within the object in a single call.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPropertyValues();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the values of given properties.
+
+ <p>All properties which are not contained in the sequence
+ <var>aProps</var> will be left unchanged.</p>
+ */
+ void setPropertyValues( [in] sequence<com::sun::star::beans::PropertyValue> aProps )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl
new file mode 100644
index 000000000000..0c54cf39dcef
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyChangeListener_idl__
+#define __com_sun_star_beans_XPropertyChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** is used to receive <type>PropertyChangeEvent</type>s
+ whenever a bound property is changed.
+ */
+published interface XPropertyChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called when a bound property is changed.
+ */
+ void propertyChange( [in] com::sun::star::beans::PropertyChangeEvent evt );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyContainer.idl b/udkapi/com/sun/star/beans/XPropertyContainer.idl
new file mode 100644
index 000000000000..eb70ba48c068
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyContainer_idl__
+#define __com_sun_star_beans_XPropertyContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyExistException_idl__
+#include <com/sun/star/beans/PropertyExistException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_IllegalTypeException_idl__
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NotRemoveableException_idl__
+#include <com/sun/star/beans/NotRemoveableException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** makes it possible to add and remove properties to or from an object.
+
+ <p>Some scripting engines cannot access properties directly when the
+ property set is changed. Please use <member>XPropertySet::getPropertyValue</member>
+ etc. in this case. </p>
+ */
+published interface XPropertyContainer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** adds a property to the object.
+
+ @param aName
+ specifies the name of the new property.
+
+ @param Attributes
+ specifies the property attributes, see <type>PropertyAttribute</type>.
+
+ @param DefaultValue
+ specifies the type of the new property and a potential default value.
+
+ @throws PropertyExistException
+ if a property with the same name already exists.
+
+ @throws IllegalTypeException
+ if the specified type is not allowed.
+
+ */
+ void addProperty( [in] string Name,
+ [in] short Attributes,
+ [in] any DefaultValue )
+ raises( com::sun::star::beans::PropertyExistException,
+ com::sun::star::beans::IllegalTypeException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a property from the object.
+
+ @param aName
+ specified the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ void removeProperty( [in] string Name )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::NotRemoveableException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertySet.idl b/udkapi/com/sun/star/beans/XPropertySet.idl
new file mode 100644
index 000000000000..3e9410506e5a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySet.idl
@@ -0,0 +1,217 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertySet_idl__
+#define __com_sun_star_beans_XPropertySet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfo_idl__
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XVetoableChangeListener_idl__
+#include <com/sun/star/beans/XVetoableChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides information about and access to the
+ properties from an implementation.
+
+ <p>There are three types of properties: </p>
+
+ <ul>
+ <li>bound properties </li>
+ <li>constrained properties </li>
+ <li>free properties </li>
+ </ul>
+
+ <p>You can listen to changes of bound properties with the
+ <type>XPropertyChangeListener</type> and you can veto changes
+ of constrained properties with the <type>XVetoableChangeListener</type>. </p>
+
+ <p>To implement inaccurate name access, you must support the
+ interface <type>XExactName</type>. </p>
+
+ @see com::sun::star::beans::XExactName
+ */
+published interface XPropertySet: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the <type>XPropertySetInfo</type> interface, which
+ describes all properties of the object which supplies this
+ interface.
+
+ @returns
+ <const>NULL</const> if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface <type>XPropertySetInfo</type> is returned.
+ */
+ com::sun::star::beans::XPropertySetInfo getPropertySetInfo();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the value of the property with the specified name.
+
+ <p>If it is a bound property the value will be changed before
+ the change event is fired. If it is a constrained property
+ a vetoable event is fired before the property value can be
+ changed. </p>
+
+ @throws com::sun::star::beans::PropertyVetoException
+ if the property is read-only or vetoable
+ and one of the listeners throws this exception
+ because of an unaccepted new value.
+ */
+ void setPropertyValue( [in] string aPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the value of the property with the specified name.
+
+ @param PropertyName
+ This parameter specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ any getPropertyValue( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** adds an <type>XPropertyChangeListener</type> to the specified property.
+
+ <p>An empty name ("") registers the listener to all bound
+ properties. If the property is not bound, the behavior is
+ not specified. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see removePropertyChangeListener
+ */
+ void addPropertyChangeListener( [in] string aPropertyName,
+ [in] com::sun::star::beans::XPropertyChangeListener xListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes an <type>XPropertyChangeListener</type> from
+ the listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see addPropertyChangeListener
+ */
+ void removePropertyChangeListener( [in] string aPropertyName,
+ [in] com::sun::star::beans::XPropertyChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** adds an <type>XVetoableChangeListener</type> to the specified
+ property with the name PropertyName.
+
+ <p>An empty name ("") registers the listener to all
+ constrained properties. If the property is not constrained,
+ the behavior is not specified. </p>
+
+ @see removeVetoableChangeListener
+ */
+ void addVetoableChangeListener( [in] string PropertyName,
+ [in] com::sun::star::beans::XVetoableChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes an <type>XVetoableChangeListener</type> from the
+ listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ @see addVetoableChangeListener
+ */
+ void removeVetoableChangeListener( [in] string PropertyName,
+ [in] com::sun::star::beans::XVetoableChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfo.idl b/udkapi/com/sun/star/beans/XPropertySetInfo.idl
new file mode 100644
index 000000000000..09484a462cc6
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertySetInfo_idl__
+#define __com_sun_star_beans_XPropertySetInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** specifies a set of properties.
+
+ <p>There are three kinds of properties:
+ <ul>
+ <li>bound properties</li>
+ <li>constrained properties</li>
+ <li>free properties</li>
+ </ul>
+
+ <p>The specification only describes the properties, it does not contain
+ any values.</p>
+ */
+published interface XPropertySetInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence with all property descriptors which are specified
+ within this <type>XPropertySetInfo</type>.
+ */
+ sequence<com::sun::star::beans::Property> getProperties();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the property with the specified name from the object.
+
+ @param aName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ com::sun::star::beans::Property getPropertyByName( [in] string aName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if a property with the specified name exist;
+ otherwise <FALSE/> is returned.
+
+ @param aName
+ specifies the name of the property.
+ */
+ boolean hasPropertyByName( [in] string Name );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl
new file mode 100644
index 000000000000..d740adabf256
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertySetInfoChangeListener_idl__
+#define __com_sun_star_beans_XPropertySetInfoChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertySetInfoChangeEvent_idl__
+#include <com/sun/star/beans/PropertySetInfoChangeEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** a listener for events related to <type>XPropertySetInfo</type>s.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfoChangeNotifier
+ */
+published interface XPropertySetInfoChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called whenever changes of a <type>XPropertySetInfo</type> shall
+ be propagated.
+ */
+ void propertySetInfoChange( [in] PropertySetInfoChangeEvent evt );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl
new file mode 100644
index 000000000000..dbad0258eef1
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#define __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeListener_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** a notifier for changes of <type>XPropertySetInfo</type>s.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfoChangeListener
+ */
+published interface XPropertySetInfoChangeNotifier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** registers a listener for <type>PropertySetInfoChangeEvent</type>s.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addPropertySetInfoChangeListener(
+ [in] XPropertySetInfoChangeListener Listener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a listener for <type>PropertySetInfoChangeEvent</type>s.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removePropertySetInfoChangeListener(
+ [in] XPropertySetInfoChangeListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyState.idl b/udkapi/com/sun/star/beans/XPropertyState.idl
new file mode 100644
index 000000000000..9ac89996aef1
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyState.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyState_idl__
+#define __com_sun_star_beans_XPropertyState_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__
+#include <com/sun/star/beans/XPropertyStateChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** makes it possible to query information about the state of
+ one or more properties.
+
+ <p>The state contains the information if:</p>
+ <ul>
+ <li>a value is available or void</li>
+ <li>the value is stored in the object itself, or if a default value is to be used</li>
+ <li>and if the value cannot be determined, due to ambiguity
+ (multi selection with multiple values).</li>
+ </ul>
+ */
+published interface XPropertyState: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the state of the property.
+
+ @param aPropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ com::sun::star::beans::PropertyState getPropertyState( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of the states of the properties which are specified
+ by their names.
+
+ <p>The order of the states is correlating to the order of the
+ given property names. </p>
+
+ @param aPropertyNames
+ contains the sequence of property names.
+
+ @throws UnknownPropertyException
+ if one property does not exist.
+ */
+ sequence<com::sun::star::beans::PropertyState> getPropertyStates(
+ [in] sequence<string> aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** Sets the property to default value.
+
+ <p>The value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value.
+ </p>
+
+ @param aPropertyname
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ void setPropertyToDefault( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the default value of the property with the name PropertyName.
+
+ <p>If no default exists, is not known or is void,
+ then the return type is <atom>void</atom>.
+
+ @param aPropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ any getPropertyDefault( [in] string aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl
new file mode 100644
index 000000000000..a3d56571c978
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyStateChangeListener_idl__
+#define __com_sun_star_beans_XPropertyStateChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyStateChangeEvent_idl__
+#include <com/sun/star/beans/PropertyStateChangeEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** receives events which get fired whenever the state of a bound
+ property is changed.
+ */
+published interface XPropertyStateChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called when a bound property's state is changed.
+
+ @param aEvent
+ describes the event source and the property that has changed.
+ */
+ void propertyStateChange( [in] com::sun::star::beans::PropertyStateChangeEvent aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XPropertyWithState.idl b/udkapi/com/sun/star/beans/XPropertyWithState.idl
new file mode 100644
index 000000000000..bdf87545468d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XPropertyWithState_idl__
+#define __com_sun_star_beans_XPropertyWithState_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** makes it possible to query information about the state of
+ this object, seen as a property contained in a property set.
+
+ <p> This interface provides direct access to operations
+ that are available if the containing property set
+ implements <type>XPropertyState</type>.
+ </p>
+
+ <p>The state contains the information if:</p>
+ <ul>
+ <li>a value is available or void</li>
+ <li>the value is stored in the object itself, or if a default value is being used</li>
+ <li>or if the value cannot be determined, due to ambiguity
+ (multi selection with multiple values).</li>
+ </ul>
+
+ <p> Generally objects that implement this interface
+ also implement <type>XProperty</type>.
+ </p>
+ */
+published interface XPropertyWithState: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the state of this as a property.
+ */
+ com::sun::star::beans::PropertyState getStateAsProperty( );
+
+ //-------------------------------------------------------------------------
+
+ /** sets this to its default value.
+
+ <p> The value depends on the implementation of this interface.
+ If this is a bound property, the value changes before
+ the change events are fired. If this is a constrained property,
+ the vetoable event is fired before the property value changes.
+ </p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ void setToDefaultAsProperty( )
+ raises( com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ an object representing the default state of this object (as a property).
+
+ <p> If no default exists, is not known or is void,
+ then the return value is <NULL/>.
+ </p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+ */
+ com::sun::star::uno::XInterface getDefaultAsProperty( )
+ raises( com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl
new file mode 100644
index 000000000000..6f17b8cc748c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
+#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl>
+#endif
+
+#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__
+#include <com/sun/star/beans/GetPropertyTolerantResult.idl>
+#endif
+
+#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__
+#include <com/sun/star/beans/SetPropertyTolerantFailed.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** provides access to multiple iformation of
+ a set of properties with a single call.
+
+ <p>The speciality of this interface is that none of the functions
+ will throw the usual exceptions associated with setting and retrieving
+ of property values. Instead the data for the failures is collected and
+ returned.</p>
+
+ <p>Note: There is no support for property change listeners in this
+ interface.</p>
+
+ @see com::sun::star::beans::XPropertySet
+ @see com::sun::star::beans::XMultiPropertySet
+ */
+published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the values to the properties with the specified names.
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @param aPropertyValues
+ specifies the values of the properties.
+ The order of the values has to be the same as in the
+ <var>aPropertyNames</var> parameter int order to match
+ the property name with its value.
+
+ @returns
+ An empty sequence if all properties are successfull set.
+
+ Otherwise for every property value that could not successfully
+ be set an entry of the
+ <type scope="com::sun::star::beans">SetPropertyTolerantFailed</type>
+ will be present in this sequence.
+ The order of the properties is also alphabetically ascending.
+
+ @throws IllegalArgumentException
+ if the number of property names and values do not match.
+
+ */
+ sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames,
+ [in] sequence< any > aValues )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+
+ /** retrieve the values of the specified properties
+
+ <p>The count and order of the values in the returned sequence
+ will be the same as the order of the names in the argument.</p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @returns
+ a sequence of type
+ <type scope="com::sun::star::beans">GetPropertyTolerantResult</type>
+ for each of the properties listed in <var>aPropertyNames</var>.
+ */
+ sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames );
+
+
+ //-------------------------------------------------------------------------
+
+ /** retrieve only those values of the specified properties which
+ are direct values.
+
+ <p>Since the count of returned elements may be different from
+ the number of supplied property names the returned elements
+ will also state the name of the property.</p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @returns
+ a sequence of type
+ <type scope="com::sun::star::beans">GetDirectPropertyTolerantResult</type>
+ but only for those properties supplied whoms state is
+ <member scope="com::sun::star::beans::PropertyState">DIRECT_VALUE</member>.
+ */
+ sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/beans/XVetoableChangeListener.idl b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl
new file mode 100644
index 000000000000..674cbc3c9496
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_beans_XVetoableChangeListener_idl__
+#define __com_sun_star_beans_XVetoableChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** is used to receive <type>PropertyChangeEvent</type>s
+ whenever a "constrained" property is changed.
+
+ <p>You can register an <type>XVetoableChangeListener</type> with
+ a source object so as to be notified of any constrained property updates.</p>
+ */
+published interface XVetoableChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** gets called when a constrained property is changed.
+ */
+ void vetoableChange( [in] com::sun::star::beans::PropertyChangeEvent aEvent )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/beans/makefile.mk b/udkapi/com/sun/star/beans/makefile.mk
new file mode 100644
index 000000000000..8e5aba61f382
--- /dev/null
+++ b/udkapi/com/sun/star/beans/makefile.mk
@@ -0,0 +1,101 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssbeans
+PACKAGE=com$/sun$/star$/beans
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Ambiguous.idl\
+ Defaulted.idl\
+ GetDirectPropertyTolerantResult.idl\
+ GetPropertyTolerantResult.idl\
+ IllegalTypeException.idl\
+ Introspection.idl\
+ IntrospectionException.idl\
+ MethodConcept.idl\
+ NamedValue.idl\
+ NotRemoveableException.idl\
+ Optional.idl\
+ Pair.idl\
+ Property.idl\
+ PropertyAttribute.idl\
+ PropertyBag.idl\
+ PropertyChangeEvent.idl\
+ PropertyConcept.idl\
+ PropertyExistException.idl\
+ PropertySet.idl\
+ PropertySetInfoChange.idl\
+ PropertySetInfoChangeEvent.idl\
+ PropertyState.idl\
+ PropertyStateChangeEvent.idl\
+ PropertyValue.idl\
+ PropertyValues.idl\
+ PropertyVetoException.idl\
+ SetPropertyTolerantFailed.idl\
+ StringPair.idl\
+ TolerantPropertySetResultType.idl\
+ UnknownPropertyException.idl\
+ XExactName.idl\
+ XFastPropertySet.idl\
+ XHierarchicalPropertySet.idl\
+ XHierarchicalPropertySetInfo.idl\
+ XIntrospection.idl\
+ XIntrospectionAccess.idl\
+ XIntroTest.idl\
+ XMaterialHolder.idl\
+ XMultiPropertySet.idl\
+ XMultiPropertyStates.idl\
+ XMultiHierarchicalPropertySet.idl\
+ XPropertiesChangeListener.idl\
+ XPropertiesChangeNotifier.idl\
+ XProperty.idl\
+ XPropertyAccess.idl\
+ XPropertyChangeListener.idl\
+ XPropertyContainer.idl\
+ XPropertySet.idl\
+ XPropertySetInfo.idl\
+ XPropertySetInfoChangeListener.idl\
+ XPropertySetInfoChangeNotifier.idl\
+ XPropertyState.idl\
+ XPropertyStateChangeListener.idl\
+ XPropertyWithState.idl\
+ XTolerantMultiPropertySet.idl\
+ XVetoableChangeListener.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/bridge/Bridge.idl b/udkapi/com/sun/star/bridge/Bridge.idl
new file mode 100644
index 000000000000..90b53687ea5d
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/Bridge.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_Bridge_idl__
+#define __com_sun_star_bridge_Bridge_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_bridge_XBridge_idl__
+#include <com/sun/star/bridge/XBridge.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** This meta service allows the bridgefactory service to instantiate an
+ interprocess bridge using a certain transfer protocol.
+
+ <p> Components, that support a certain protocol, must have at least two
+ service names: </p>
+
+ <ul>
+ <li> com.sun.star.bridge.Bridge </li>
+ <li> arbitrary-module-path.ProtocolnameBridge </li>
+ </ul>
+
+ <p>The protocol name should be written as common servicenames, first letter is a
+ capital letter, the rest in small letters postfixed by Bridge (e.g.:
+ <code>com.sun.star.bridge.UrpBridge</code> would be correct servicename for the
+ "urp" protocol). However, the protocol names are compared case insensitive.
+ If there exist two services supporting the same protocol, it is arbitrary
+ which one is chosen, so this should be omitted. </p>
+ */
+published service Bridge
+{
+ /** allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: The protocol, that shall be instantiated</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** This interface allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/bridge/BridgeExistsException.idl b/udkapi/com/sun/star/bridge/BridgeExistsException.idl
new file mode 100644
index 000000000000..565322cf1c44
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/BridgeExistsException.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_BRIDGEEXISTSEXCEPTION_IDL_
+#define _COM_SUN_STAR_CONNECTION_BRIDGEEXISTSEXCEPTION_IDL_
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module bridge {
+
+/** Indicates, that it was tried to create a remote bridge with a name,
+ which already existed.
+ */
+published exception BridgeExistsException: com::sun::star::uno::Exception
+{
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/BridgeFactory.idl b/udkapi/com/sun/star/bridge/BridgeFactory.idl
new file mode 100644
index 000000000000..8bf10c381504
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/BridgeFactory.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_BridgeFactory_idl__
+#define __com_sun_star_bridge_BridgeFactory_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_bridge_XBridgeFactory_idl__
+#include <com/sun/star/bridge/XBridgeFactory.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** allows to create new or access existing interprocess bridges.
+
+ <p> It enumerates at the servicemanager all services supporting
+ the meta service com.sun.star.bridge.Bridge to get all known, possible
+ protocols.
+
+ @see com::sun::star::bridge::Bridge
+ */
+published service BridgeFactory
+{
+ /** The main interface of the service
+ */
+ interface com::sun::star::bridge::XBridgeFactory;
+
+ /** This interface allows to break possible cyclic references.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/bridge/IiopBridge.idl b/udkapi/com/sun/star/bridge/IiopBridge.idl
new file mode 100644
index 000000000000..7b38e2052ca0
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/IiopBridge.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_Iiop_idl__
+#define __com_sun_star_bridge_Iiop_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_bridge_XBridge_idl__
+#include <com/sun/star/bridge/XBridge.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+/** Concrete service of the meta service Bridge for iiop.
+
+ <p> This bridge works with the iiop protocol. </p>
+
+ @see com.sun.star.bridge.Bridge
+ */
+published service IiopBridge
+{
+ /** This interface allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: iiop</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service.
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl
new file mode 100644
index 000000000000..3f52050126ba
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_INVALIDPROTCOLCHANGEEXCEPTION_IDL_
+#define _COM_SUN_STAR_BRIDGE_INVALIDPROTCOLCHANGEEXCEPTION_IDL_
+#include <com/sun/star/bridge/ProtocolProperty.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module bridge {
+
+
+/** Indicates, that a requested property change could not be executed by the
+ remote counterpart.
+
+ @see XProtocolProperties
+*/
+published exception InvalidProtocolChangeException : com::sun::star::uno::Exception
+{
+ /** The first invalid property.
+ */
+ ProtocolProperty invalidProperty;
+
+ /** Contains 1, if the property name is unknown to the thrower;
+ or contains 2, if the property's value can't be accepted by the thrower.
+ */
+ long reason;
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/ModelDependent.idl b/udkapi/com/sun/star/bridge/ModelDependent.idl
new file mode 100644
index 000000000000..d85a2dbb886b
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/ModelDependent.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_ModelDependent_idl__
+#define __com_sun_star_bridge_ModelDependent_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::bridge::ModelDependent
+/** These constants are used to specify model-dependant representations.
+
+ <p>They are only used for creating bridges to other component models.
+
+ @see com::sun::star::bridge::XBridgeSupplier2
+ */
+published constants ModelDependent
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR constants::1
+
+ // DocMerge: empty anyway
+ const short UNO = 1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR constants::2
+
+ // DocMerge: empty anyway
+ const short OLE = 2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR constants::3
+
+ // DocMerge: empty anyway
+ const short JAVA = 3;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR constants::4
+
+ // DocMerge: empty anyway
+ const short CORBA = 4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl
new file mode 100644
index 000000000000..7ad209982130
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_OleApplicationRegistration_idl__
+#define __com_sun_star_bridge_OleApplicationRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** registers UNO objects as COM objects.
+ <p />
+ That is, COM class factories are registered with COM at runtime. The required
+ EXE server is the application which deploys this service. In order to access the
+ factories by COM API functions, there need to be proper registry entries. This service
+ does not provide for writing those entries.<p>
+ The instantiation of the registered objects can be carried out by any ordinary mechanism
+ which is used in a certain language to create COM components. For example, CreateObject
+ in Visual Basic, CoCreateInstance in C++.
+ <p />
+ Currently only a factory for the service com.sun.star.long.MultiServiceFactory is registered
+ by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the ProgId is
+ com.sun.star.ServiceManager.
+
+ <p>OleApplicationRegistration does not provide any particular interface because the UNO objects
+ are registered while instantiating this service and deregistered
+ if the implementation, which makes use of this service, is being released.</p>
+ <p>
+ @deprecated
+ */
+published service OleApplicationRegistration
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl
new file mode 100644
index 000000000000..3d1b9a655717
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_OleBridgeSupplier_idl__
+#define __com_sun_star_bridge_OleBridgeSupplier_idl__
+
+#ifndef __com_sun_star_bridge_XBridgeSupplier_idl__
+#include <com/sun/star/bridge/XBridgeSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+
+/** makes it possible to generate OLE bridges to UNO objects and vice versa.
+
+ <p>The service implements the <type>XBridgeSupplier</type> interface
+ and handles the model types <const>ModelDependent::UNO</const> and
+ <const>ModelDependent::OLE</const>. The service does not specify any
+ requirements on registering OLE objects and class factories. </p>
+ @deprecated
+ */
+published service OleBridgeSupplier
+{
+ interface com::sun::star::bridge::XBridgeSupplier;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl
new file mode 100644
index 000000000000..e9bf3d696ff0
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_OleBridgeSupplier2_idl__
+#define __com_sun_star_bridge_OleBridgeSupplier2_idl__
+
+#ifndef __com_sun_star_bridge_XBridgeSupplier2_idl__
+#include <com/sun/star/bridge/XBridgeSupplier2.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module bridge {
+
+//=============================================================================
+/** maps UNO types to oleautomation types and vice versa.<p>
+
+ The XBridgeSupplier2 interface provides the function <code>createBridge</code> which
+ maps a value of an UNO or Automation type to the desired target type. If an UNO interface
+ was mapped to IDispatch, then all objects (interfaces, structs) and other
+ types which
+ are obtained from that Automation object are automatically mapped to the corresponding
+ Automation types. Hence, if one provides an initial object which forms the root of all
+ other objects, such as a service manager, then only that object needs to be explicitly
+ mapped by a call to <code>createBridge</code>. The same holds true if an automation
+ object is mapped to an UNO interface.<br>
+ <p>The Automation types <code>VT_CY</code> and <code>VT_DATE</code> are not supported.
+ For Automation objects to be mapped they have to implement IDispatch interface. Other
+ COM interfaces,
+ except for IUnknown, are not supported.UNO interfaces and structs are mapped to IDispatch.
+
+ <p>The service implements the <type>XBridgeSupplier2</type> interface
+ and handles the model types
+ <const>com::sun::star::bridge::ModelDependent::UNO</const> and
+ <const>com::sun::star::bridge::ModelDependent::OLE</const>.
+ The service does not specify any
+ requirements for registering OLE objects and class factories. </p>
+
+ @deprecated
+*/
+published service OleBridgeSupplier2
+{
+ interface com::sun::star::bridge::XBridgeSupplier2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl
new file mode 100644
index 000000000000..6a237efb3185
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_OleBridgeSupplierVar1_idl__
+#define __com_sun_star_bridge_OleBridgeSupplierVar1_idl__
+
+#ifndef __com_sun_star_bridge_OBridgeSupplier2_idl__
+#include <com/sun/star/bridge/OleBridgeSupplier2.idl>
+#endif
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** maps UNO types to COM types and vice versa. It is optimized for use in a
+ remote szenario. <p>
+The functionality is basically the same as
+<type scope="com::sun::star::bridge">OleBridgeSupplier2</type>.
+However, the implementation should be optimized for remote access. For example, it could
+try to reduce the calls into the remote process. Also it could create components on its own behalf in the remote process, if this increases performance.
+
+@deprecated
+*/
+published service OleBridgeSupplierVar1
+{
+ service OleBridgeSupplier2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/OleObjectFactory.idl b/udkapi/com/sun/star/bridge/OleObjectFactory.idl
new file mode 100644
index 000000000000..3bc0ab7d5d3f
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleObjectFactory.idl
@@ -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 __com_sun_star_bridge_OleObjectFactory_idl__
+#define __com_sun_star_bridge_OleObjectFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** makes it possible to create COM objects as UNO objects.
+
+ <p>A COM object must have a ProgId since the ProgId is used as argument for
+ XMultiServiceFactory::createInstance. The only interfaces which are mapped
+ are <code>IUnknown</code> and <code>IDispatch</code>.
+ The created UNO objects support <type scope="com::sun::star::script">XInvocation</type>
+ if the original COM objects support IDispatch. </p>
+
+ <p>The optional parameters of the method
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ are reserved for future use; at this time they are ignored. </p>
+
+ @deprecated
+ */
+published service OleObjectFactory
+{
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/ProtocolProperty.idl b/udkapi/com/sun/star/bridge/ProtocolProperty.idl
new file mode 100644
index 000000000000..8a9e1f7635a0
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/ProtocolProperty.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_PROTOCOLPROPERTY_IDL_
+#define _COM_SUN_STAR_BRIDGE_PROTOCOLPROPERTY_IDL_
+
+module com { module sun { module star { module bridge {
+
+/** string/value pair
+ */
+published struct ProtocolProperty
+{
+ /** @missing
+ */
+ string Name;
+
+ /** @missing
+ */
+ any Value;
+};
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/bridge/UnoUrlResolver.idl b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl
new file mode 100644
index 000000000000..55eb1e28a3ac
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_UnoUrlResolver_idl__
+#define __com_sun_star_bridge_UnoUrlResolver_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+published interface XUnoUrlResolver;
+
+//=============================================================================
+
+/** provides the ability to access remote processes,
+ resolving them by an UNO url.
+ <br>
+ */
+published service UnoUrlResolver: XUnoUrlResolver;
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/UrpBridge.idl b/udkapi/com/sun/star/bridge/UrpBridge.idl
new file mode 100644
index 000000000000..15326e5dd8b4
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/UrpBridge.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_Urp_idl__
+#define __com_sun_star_bridge_Urp_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_bridge_XBridge_idl__
+#include <com/sun/star/bridge/XBridge.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+/** Concrete service of the meta service Bridge for the urp protocol.
+
+ <p>This bridge works with the urp protocol.
+
+ @see com.sun.star.bridge.Bridge
+ */
+published service UrpBridge
+{
+ /** This interface allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: urp</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service.
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/bridge/XBridge.idl b/udkapi/com/sun/star/bridge/XBridge.idl
new file mode 100644
index 000000000000..baebaefceefc
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridge.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_
+#define _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module bridge {
+
+/** main interface for an interprocess bridge.
+ */
+published interface XBridge: com::sun::star::uno::XInterface
+{
+ /** tries to get an interface from the remote that is known by this name.
+
+ <p>In general, this method is called once to get the initial object from the
+ remote, but it is allowed to call the method multiple times. </p>
+
+ @param sInstanceName The name of the object, that shall be retrieved from the
+ remote process. The call is delegated to
+ com.sun.star.bridge.XInstanceProvider.getInstance() in the
+ remote process.
+ @see com.sun.star.bridge.XInstanceProvider
+ */
+ com::sun::star::uno::XInterface getInstance( [in] string sInstanceName );
+
+
+ /** name that the bridge got when it was created.
+ */
+ string getName();
+
+
+ /** a unique descriptive string: protocol + ":" + XConnection.getDescription()
+ */
+ string getDescription();
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/XBridgeFactory.idl b/udkapi/com/sun/star/bridge/XBridgeFactory.idl
new file mode 100644
index 000000000000..fb6db1a0c339
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeFactory.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_XBRIDGEFACTORY_IDL_
+#define _COM_SUN_STAR_BRIDGE_XBRIDGEFACTORY_IDL_
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/connection/XConnection.idl>
+#include <com/sun/star/bridge/XBridge.idl>
+#include <com/sun/star/bridge/BridgeExistsException.idl>
+#include <com/sun/star/bridge/XInstanceProvider.idl>
+
+ module com { module sun { module star { module bridge {
+
+/** factory to create interprocess bridges.
+ */
+published interface XBridgeFactory: com::sun::star::uno::XInterface
+{
+ /** tries to create a UNO interprocess bridge.
+
+ @param sName
+ The name of the bridge. This allows other components to reuse
+ an already created bridge (using getBridge).
+ <p>
+ If empty, an anonymous bridge is created, which cannot be retrieved with
+ getBridge(). No BridgeExistsException can be thrown in this case.
+
+ @param sProtocol
+ The protocol, that will be used on the connection (e.g., urp) plus additional
+ comma separated name=value protocol properties.
+
+ @param aConnection
+ The connection, which is used to transfer the calls. The bridge expects to
+ own the connection, thus it will close the connection, in case it does not
+ need it anymore.
+
+ @param anInstanceProvider
+ gets called, when a request from remote comes in. You can pass a null reference
+ in case you don't want to export any objects.
+
+ @throws BridgeExistsException
+ There is already a bridge registered with this name. Use getBridge instead.
+
+ @throws IllegalArgumentException
+ The protocol is unknown or the connection is null.
+ */
+ XBridge createBridge(
+ [in] string sName,
+ [in] string sProtocol ,
+ [in] com::sun::star::connection::XConnection aConnection ,
+ [in] XInstanceProvider anInstanceProvider )
+ raises ( BridgeExistsException , com::sun::star::lang::IllegalArgumentException );
+
+
+ /** tries to get a bridge by this name.
+ <p> Cannot be retrieved, when the bridge got disposed before.
+
+ @return An existing remote bridge or a null reference.
+ */
+ XBridge getBridge( [in] string sName );
+
+ /** returns the sequence of all named and unnamed UNO interprocess
+ bridges that are instantiated at the time the call is made.
+ */
+ sequence < XBridge > getExistingBridges( );
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl
new file mode 100644
index 000000000000..d0597be94ce5
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_XBridgeSupplier_idl__
+#define __com_sun_star_bridge_XBridgeSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Uik_idl__
+#include <com/sun/star/uno/Uik.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+
+/** defines the interface for creating bridges to other object models.
+
+ <p>Because bridges sometimes can not be generated in an address space,
+ the implementation needs to check the address space of the caller by
+ comparing the machine and process ID against its own. These IDs are
+ provided by the UNO runtime. </p>
+
+ <p>All objects, whether they are part of the UNO object model or not,
+ are carried in an <atom>any</atom>. The representation of this object
+ is heavily model-dependent and has to be specified in the following list: </p>
+
+ <dl>
+ <dt>UNO: </dt>
+ <dd>The any carries normal UNO types, which can be any base type,
+ struct, sequence, enum, or interface. </dd>
+
+ <dt>OLE: </dt>
+ <dd>The any carries an <atom>unsigned long</atom> (on 32-bit systems)
+ or an <atom>unsigned hyper</atom> (on 64-bit systems), which is
+ interpreted as a variant pointer. The any does not control the
+ lifetime of the represented variant. That implies that the caller
+ has the responsibility of freeing the OLE resources represented
+ by the any value. </dd>
+
+ <dt>JAVA: </dt>
+ <dd>not yet specified. </dd>
+
+ <dt>CORBA: </dt>
+ <dd>not yet specified. </dd>
+ </dl>
+
+ <p>Any implementation can supply its own bridges to other object
+ models by implementing this interface and returning the bridge
+ when the method is called with itself as the first parameter. </p>
+
+ @see com::sun::star::bridge::OleBridgeSupplier
+ @deprecated
+ */
+published interface XBridgeSupplier: com::sun::star::uno::XInterface
+{
+
+ /** creates a bridge to provide an object of one object model with another.
+ */
+ any createBridge( [in] any modelDepObject,
+ [in] com::sun::star::uno::Uik MachineId,
+ [in] long ProcessId,
+ [in] short sourceModelType,
+ [in] short destModelType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl
new file mode 100644
index 000000000000..5dbbbff5487d
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_XBridgeSupplier2_idl__
+#define __com_sun_star_bridge_XBridgeSupplier2_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** defines the interface for creating bridges to other object models.
+ <p />
+ <p>
+ The created bridges are transparent to the user. That is, if one maps
+ an interface into the target model, then the resulting target interface
+ is a bridge implementation, that is not being noticed by an user. During
+ a call on that interface, the bridge is invoked to convert the arguments
+ and carry out a call according to the rules of the source model.
+ Return values are automatically mapped to the types of the target model.
+ </p>
+ <p>
+ Simple types are mapped to simple target types. That is, there is no additional
+ bridging code involved when those types are being used.
+ </p>
+
+ <p>Sometimes a bridge cannot be created, depending on whether a programm uses
+ the XBridgeSupplier2 interface remotely. Assuming one wants to bridge an
+ OLE Automation object to UNO by calling createBridge on a proxy, then the UNO remote
+ bridge would not recognise that the Any argument contains an IDispatch interface.
+ Therefore it cannot marshal it as COM requires it and the bridgeing would fail.
+ To prevent this, implementations of this interface should be aware of this scenario and
+ if necessary take the appropriate steps. The process ID argument to the createBridge
+ function represents the calling process and may be used by the implementation to determine
+ if it is being accessed remotely.
+ </p>
+ <p>All objects, whether they are part of the UNO object model or not,
+ are carried in an <atom>any</atom>. The representation of this object
+ is heavily model-dependent and has to be specified in the following list: </p>
+
+ <dl>
+ <dt>UNO: </dt>
+ <dd>The any carries normal UNO types, which can be any base type,
+ struct, sequence, enum or interface. </dd>
+
+ <dt>OLE: </dt>
+ <dd>The any carries an <atom>unsigned long</atom> (on 32-bit systems)
+ or an <atom>unsigned hyper</atom> (on 64-bit systems), which is
+ interpreted as a variant pointer. The any does not control the
+ lifetime of the represented variant. That implies that the caller
+ has the responsibility of freeing the OLE resources represented
+ by the any value. </dd>
+
+ <dt>JAVA: </dt>
+ <dd>not specified yet. </dd>
+
+ <dt>CORBA: </dt>
+ <dd>not specified yet. </dd>
+ </dl>
+
+ </p>
+ <p>Any implementation can supply its own bridges to other object
+ models by implementing this interface and returning the bridge
+ when the method <member>XBridgeSupplier2::createBridge()</member>
+ is called with itself as the first parameter. </p>
+
+ @see com::sun::star::bridge::OleBridgeSupplier2
+ */
+published interface XBridgeSupplier2: com::sun::star::uno::XInterface
+{
+ /** creates a bridge to provide an object of one object model with another.
+ */
+ any createBridge( [in] any aModelDepObject,
+ [in] sequence< byte > aProcessId,
+ [in] short nSourceModelType,
+ [in] short nDestModelType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/XInstanceProvider.idl b/udkapi/com/sun/star/bridge/XInstanceProvider.idl
new file mode 100644
index 000000000000..8555020650dd
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XInstanceProvider.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_XINSTANCEPROVIDER_IDL_
+#define _COM_SUN_STAR_BRIDGE_XINSTANCEPROVIDER_IDL_
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+ module com { module sun { module star { module bridge {
+
+
+/** allows to export UNO objects to other processes.
+
+ @see XBridge
+ */
+published interface XInstanceProvider: com::sun::star::uno::XInterface
+{
+
+ /** gets called, when an initial object is requested from a remote process.
+ You may either create a new instance or return an existing object.
+
+ @param sInstanceName
+ The name of the requested object.
+
+ @returns
+ the object associated with the name. The return value may be null in case
+ there is no object to offer for this string. In this case, XBridge.getInstance()
+ (in the other process) will also return a null reference.
+
+ @throws NoSuchElementException
+ You may throw this exception to indicate, that there is no object for this
+ name. Due to a specification bug, this exception will appear as a RuntimeException
+ at the XBridge.getInstance() method.
+ */
+ com::sun::star::uno::XInterface getInstance( [in] string sInstanceName )
+ raises ( com::sun::star::container::NoSuchElementException );
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/XProtocolProperties.idl b/udkapi/com/sun/star/bridge/XProtocolProperties.idl
new file mode 100644
index 000000000000..c3ff6d4c8e92
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XProtocolProperties.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_BRIDGE_XPROTOCOLPROPERTIES_IDL_
+#define _COM_SUN_STAR_BRIDGE_XPROTOCOLPROPERTIES_IDL_
+#include <com/sun/star/bridge/ProtocolProperty.idl>
+#include <com/sun/star/bridge/InvalidProtocolChangeException.idl>
+
+module com { module sun { module star { module bridge {
+
+
+/** Bridge internal interface, that allows to change protocol settings of the remote
+ counter part.
+
+ <p>In general, this interface is implemented by the bridge itself. It must not
+ be called from outside the bridge.</p>
+
+ <p>INTERNAL INTERFACE, DO NOT USE IT ELSEWHERE!</p>
+*/
+published interface XProtocolProperties : com::sun::star::uno::XInterface
+{
+ /** called to get a list of bridge internal properties. Which properties can be retrieved,
+ is protocol dependent.
+
+ <p> The properties MUST NOT change between a requestChange and a commit change call.</p>
+ */
+ sequence< ProtocolProperty > getProperties( );
+
+ /** called to initiate a protocol change.
+
+ <p>This method should always be called in the scope of the local bridge setting object,
+ because the remote counter part may do such a call at the same time
+ (typically at startup time). </p>
+
+ @param nRandomNumber
+ In case both processes call requestChange at the same time,
+ the caller with the higher nRandomNumber is allowed to call
+ commitChange.
+
+ @returns
+ 1, if the caller may ( and MUST !!!) call commitChange.
+ 0, if the caller is not allowed to call commitChange. This can only happen,
+ if the other bridge has called requestChange at the same time and
+ nRandomNumber is smaller than the other bridge's nRandomNumber.
+ The remote counterpart is supposed to call commitChange within a small
+ time span. Please call requestChange() after the remote counterpart has
+ called commitChange().
+ -1 if the nRandomNumber is of the same value as the previously
+ sent requestChange (sent by the remote counterpart). This is a draw :o).
+ Generate a new random number and try again.
+ */
+ long requestChange( [in] long nRandomNumber );
+
+ /** called to commit a protocol change.
+
+ <p>It is only allowed to call commitChange, if requestChange
+ has been called previously and the return value was true. The new properties are
+ valid after the reply of commitChange has been received.
+ Note, that this is difficult for the callee, because it must marshal the reply
+ with the old settings. </p>
+
+ <p>All properties not mentioned in the list are unchanged.
+ Note that the bridge must be blocked for other threads,
+ before commitChange is sent and unblocked
+ after the reply has been received. This blocks the bridge.</p>
+
+ @throws InvalidProtocolChangeException
+ when the remote counterpart could not change at least one of the properties.
+ No property has been changed. requestChange must be called
+ again to initiate a new change of the protocol.
+ */
+ void commitChange( [in] sequence< ProtocolProperty > newValues )
+ raises ( com::sun::star::bridge::InvalidProtocolChangeException );
+};
+
+};};};};
+#endif
diff --git a/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl b/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl
new file mode 100644
index 000000000000..597d3b66ce03
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_XUnoUrlResolver_idl__
+#define __com_sun_star_bridge_XUnoUrlResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/NoConnectException.idl>
+
+//=============================================================================
+
+ module com { module sun { module star { module bridge {
+
+//=============================================================================
+
+/** allows to resolve an object using the uno-url.
+ */
+published interface XUnoUrlResolver: com::sun::star::uno::XInterface
+{
+
+ /** resolves an object using the given uno-url.
+ @param sUnoUrl the uno-url. The uno-url is specified
+ <a href="http://udk.openoffice.org/common/man/spec/uno-url.html">here</a>.
+
+ @returns the resolved object, in general a proxy for a remote object.
+ You can use it the same way as you use local references.
+ */
+ com::sun::star::uno::XInterface resolve( [in] string sUnoUrl )
+ raises (com::sun::star::connection::NoConnectException,
+ com::sun::star::connection::ConnectionSetupException,
+ com::sun::star::lang::IllegalArgumentException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/makefile.mk b/udkapi/com/sun/star/bridge/makefile.mk
new file mode 100644
index 000000000000..74c95bfced33
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssbridge
+PACKAGE=com$/sun$/star$/bridge
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ModelDependent.idl\
+ OleApplicationRegistration.idl\
+ OleBridgeSupplier.idl\
+ OleBridgeSupplier2.idl\
+ OleBridgeSupplierVar1.idl\
+ OleObjectFactory.idl\
+ XBridgeSupplier.idl\
+ XBridgeSupplier2.idl\
+ XBridge.idl \
+ XBridgeFactory.idl\
+ XInstanceProvider.idl\
+ BridgeExistsException.idl \
+ XUnoUrlResolver.idl \
+ UnoUrlResolver.idl \
+ XProtocolProperties.idl \
+ ProtocolProperty.idl \
+ InvalidProtocolChangeException.idl \
+ Bridge.idl \
+ BridgeFactory.idl \
+ UrpBridge.idl \
+ IiopBridge.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl
new file mode 100644
index 000000000000..8abd2d8068a1
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_ApplicationRegistration_idl__
+#define __com_sun_star_bridge_oleautomation_ApplicationRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+//=============================================================================
+
+/** registers UNO objects as COM objects.
+ <p>
+ That is, COM class factories are registered with COM at runtime. The required
+ EXE server is the application which deploys this service. In order to access
+ the factories by COM API functions, there need to be proper registry entries.
+ This service does not provide for writing those entries.
+ </p>
+ <p>
+ The instantiation of the registered objects can be carried out by any
+ ordinary mechanism which is used in a certain language to create COM
+ components. For example, <code>CreateObject</code> in Visual Basic,
+ <code>CoCreateInstance</code> in C++.
+ </p>
+ <p>
+ Currently only a factory for the service
+ <type scope="com::sun::star::lang">MultiServiceFactory</type> is registered
+ by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the
+ ProgId is com.sun.star.ServiceManager.
+ </p>
+ <p>
+ <type>ApplicationRegistration</type> does not provide any particular
+ interface because the UNO objects are registered while instantiating this
+ service and deregistered if the implementation, which makes use of this
+ service, is being released.
+ </p>
+ */
+service ApplicationRegistration
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl
new file mode 100644
index 000000000000..508b8831c994
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__
+#define __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__
+
+#ifndef __com_sun_star_bridge_XBridgeSupplier2_idl__
+#include <com/sun/star/bridge/XBridgeSupplier2.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+//=============================================================================
+/** maps UNO types to oleautomation types and vice versa.
+ <p>
+ The function
+ <member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member>
+ maps a value of a UNO or Automation type to the desired target type. If a UNO
+ interface was mapped to <code>IDispatch</code>, then all objects
+ (interfaces, structs) and other types which are obtained from that Automation
+ object are automatically mapped to the corresponding Automation types. Hence,
+ if one provides an initial object which forms the root of all other objects,
+ such as a service manager, then only that object needs to be explicitly
+ mapped by a call to
+ <member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member>.
+ The same holds true if an automation object is mapped to an UNO interface.
+ </p>
+ <p>
+ For Automation objects to be mapped they have to implement
+ <code>IDispatch</code> interface. Other COM interfaces, except for
+ <code>IUnknown</code>, are not supported. UNO interfaces and structs are
+ mapped to <code>IDispatch</code>.
+ </p>
+ <p>
+ The service implements the
+ <type scope="com::sun::star::bridge">XBridgeSupplier2</type> interface and
+ handles the model types
+ <const>com::sun::star::bridge::ModelDependent::UNO</const> and
+ <const>com::sun::star::bridge::ModelDependent::OLE</const>.
+ The service does not specify any requirements for registering OLE objects and
+ class factories.
+ </p>
+*/
+service BridgeSupplier
+{
+ interface com::sun::star::bridge::XBridgeSupplier2;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Currency.idl b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl
new file mode 100644
index 000000000000..6441e3daa9ed
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_Currency_idl__
+#define __com_sun_star_bridge_oleautomation_Currency_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>CY</code>, also know
+ as <code>CURRENCY</code>.
+ <p>
+ A <code>CY</code> could actually be represented as <atom>hyper</atom> in UNO
+ and therefore a typedef from <atom>hyper</atom> to a currency type would do.
+ But a typedef cannot be expressed in all language bindings. In the case
+ where no typedefs are supported the actual type is used. That is, a
+ typedef'd currency type would be represented as <code>long</code> in Java.
+ The information that the <code>long</code> is a currency type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between
+ <atom>hyper</atom> and a currency type is important. Therefore
+ <type>Currency</type> is declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct Currency
+{
+ /** corresponds to the Automation type <code>CY</code>.
+ */
+ hyper Value;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Date.idl b/udkapi/com/sun/star/bridge/oleautomation/Date.idl
new file mode 100644
index 000000000000..baac640171cb
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Date.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_Date_idl__
+#define __com_sun_star_bridge_oleautomation_Date_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>DATE</code>.
+ <p>
+ A <code>DATE</code> could actually be representd as<atom>double</atom> in
+ UNO and therefore a typedef from <atom>double</atom> to a date type would
+ do. But a typedef cannot be expressed in all language bindings. In the
+ case where no typedefs are supported the actual type is used. That is, a
+ typedef'd date type would be represented as <code>double</code> in Java.
+ The information that the <atom>double</atom> is a date type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between
+ <atom>double</atom> and date type is important. Therefore <type>Date</type>
+ is declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct Date
+{
+ /** corresponds to the Automation type <code>DATE</code>.
+ */
+ double Value;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl b/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl
new file mode 100644
index 000000000000..fe8a58779fdc
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_Decimal_idl__
+#define __com_sun_star_bridge_oleautomation_Decimal_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>DECIMAL</code>.
+
+
+ @since OOo 1.1.2
+ */
+struct Decimal
+{
+ /** corresponds to <code>DECIMAL.scale</code>.
+ */
+ byte Scale;
+
+ /** corresponds to <code>DECIMAL.sign</code>.
+ */
+ byte Sign;
+
+ /** corresponds to <code>DECIMAL.Lo32</code>.
+ */
+ unsigned long LowValue;
+
+ /** corresponds to <code>DECIMAL.Mid32</code>.
+ */
+ unsigned long MiddleValue;
+
+ /** corresponds to <code>DECIMAL.Hi32</code>.
+ */
+ unsigned long HighValue;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Factory.idl b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl
new file mode 100644
index 000000000000..3863e0f11a5f
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_Factory_idl__
+#define __com_sun_star_bridge_oleautomation_Factory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+//=============================================================================
+
+/** makes it possible to create COM objects as UNO objects.
+
+ <p>
+ A COM object must have a ProgId since the ProgId is used as argument for
+ <method scope="com::sun::star::lang">XMultiServiceFactory::createInstance</method>.
+ The only interfaces which are mapped are <code>IUnknown</code> and
+ <code>IDispatch</code>. The created UNO objects support
+ <type scope="com::sun::star::script">XInvocation</type> if the original COM
+ objects support <code>IDispatch</code>.
+ </p>
+ <p>
+ The optional parameters of the method
+ <method scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</method>
+ are reserved for future use; at this time they are ignored.
+ </p>
+ */
+service Factory
+{
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl
new file mode 100644
index 000000000000..cd4e77d3f691
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_NamedArgument_idl__
+#define __com_sun_star_bridge_oleautomation_NamedArgument_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** represents a named argument in a call to a method of an Automation object.
+ <p>
+ The Automation bridge accepts values of <type>NamedArgument</type> when a
+ call to an Automation object is made. The call is done through the
+ <method scope="com::sun::star::script">XInvocation::invoke</method>
+ method, which takes all arguments in a sequence of anys. Usually the order
+ of the arguments must correspond to the order of arguments in the Automation
+ method. By using instances of <type>NamedArgument</type> the arguments in the
+ sequence can be unordered. The Automation object being called must support
+ named arguments, otherwise the call fails.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct NamedArgument
+{
+ /** The name of the argument, for which
+ <member>NamedArgument::Value</member> is intended.
+ */
+ string Name;
+
+ /** The value of the argument whoose name is the one as contained in the
+ member <member>Name</member>.
+ */
+ any Value;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl
new file mode 100644
index 000000000000..9cb268d7d9a6
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__
+#define __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** contains a value that is used as argument in a &quot;property put&quot
+ operation on a Automation object.
+ <p>
+ If a Automation object is converted into a UNO object by a scripting
+ bridge, such as
+ <type scope="com::sun::star::bridge::oleautomation">BridgeSupplier</type>,
+ then it is accessed through the
+ <type scope="com::sun::star::script">XInvocation</type> interface.
+ The methods
+ <member scope="com::sun::star::script">XInvocation::setValue</member>
+ and
+ <member scope="com::sun::star::script">XInvocation::getValue</member>
+ are used to access properties which do not have additional
+ arguments. To access a property with additional arguments, the
+ method
+ <member scope="com::sun::star::script">XInvocation::invoke</member>
+ has to be used. The method implementation must decide, if the
+ property is to be written or read so it can perform the proper
+ operation on the Automation object. To make this decision, the
+ caller has to provide the information if the current call is
+ intended to be a write or read operation. This is done by
+ providing either instances of <type>PropertyPutArgument</type> or
+ <type>PropertyGetArgument</type> as arguments to
+ <member scope="com::sun::star::script">XInvocation::Invoke</member>.
+
+ @since OOo 1.1.2
+*/
+struct PropertyPutArgument
+{
+ /** contains the actual argument.
+ */
+ any Value;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/SCode.idl b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl
new file mode 100644
index 000000000000..06e636228af7
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_SCode_idl__
+#define __com_sun_star_bridge_oleautomation_SCode_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** <p>is the UNO representation of the Automation type SCODE.
+ </p>
+ <p>
+ A <code>SCODE</code> is used to express errors in Automation.
+ In UNO it could be represented by a <atom>long</atom> and therefore a typedef
+ from <atom>long</atom> to a particular error type would do. But a typedef
+ cannot be expressed in all language bindings. In the case where no typedefs
+ are supported the actual type is used. That is, a typedef'd error type would
+ be represented as <code>int</code> in Java. The information that the
+ <code>int</code> is an error type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between error type
+ and <atom>long</atom> is important. Therefore the <type>Scode</type> is
+ declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+
+
+struct SCode
+{
+ long Value;
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl
new file mode 100644
index 000000000000..6c165693bcdc
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_bridge_oleautomation_XAutomationObject_idl__
+#define __com_sun_star_bridge_oleautomation_XAutomationObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+
+/** a tagging interface for UNO objects which represent Automation
+ objects.
+ <p>
+ If a Automation object is bridged into the UNO environment, then
+ the resulting UNO object does not distinguish itself from any
+ other ordinary UNO object. However, it may be desirable to have
+ that distinction regardless, if a UNO client needs to take
+ particular Automation specific characteristics into account.
+ By providing <type>XAutomationObject</type> an object declares
+ to be representing an Automation object.
+
+ @since OOo 1.1.2
+ */
+interface XAutomationObject: com::sun::star::uno::XInterface
+{
+
+};
+
+}; }; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/bridge/oleautomation/makefile.mk b/udkapi/com/sun/star/bridge/oleautomation/makefile.mk
new file mode 100644
index 000000000000..acb0365a4a71
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssboleautomation
+PACKAGE=com$/sun$/star$/bridge$/oleautomation
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ApplicationRegistration.idl\
+ BridgeSupplier.idl\
+ Factory.idl \
+ Decimal.idl \
+ Currency.idl \
+ Date.idl \
+ NamedArgument.idl \
+ SCode.idl \
+ PropertyPutArgument.idl \
+ XAutomationObject.idl
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/connection/Acceptor.idl b/udkapi/com/sun/star/connection/Acceptor.idl
new file mode 100644
index 000000000000..f2d47c5db65f
--- /dev/null
+++ b/udkapi/com/sun/star/connection/Acceptor.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_connection_Acceptor_idl__
+#define __com_sun_star_connection_Acceptor_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module connection {
+
+published interface XAcceptor;
+
+//=============================================================================
+
+/** allows to accept connection attempts from another process.
+ <p>
+ Acceptor is a delegating service. You can add further acceptors by giving
+ them a service name com.sun.star.connection.Acceptor.xxx, where xxx is the
+ connection type used in the connection string during accept()/connect() call.
+
+ */
+published service Acceptor: XAcceptor;
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl
new file mode 100644
index 000000000000..1ee79693397e
--- /dev/null
+++ b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_
+#define _COM_SUN_STAR_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_
+#include <com/sun/star/uno/Exception.idl>
+
+ module com { module sun { module star { module connection {
+
+/** Is thrown, when there is another thread already accepting on this instance.
+ */
+published exception AlreadyAcceptingException: com::sun::star::uno::Exception
+{
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/ConnectionSetupException.idl b/udkapi/com/sun/star/connection/ConnectionSetupException.idl
new file mode 100644
index 000000000000..f413354893dc
--- /dev/null
+++ b/udkapi/com/sun/star/connection/ConnectionSetupException.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_
+#define _COM_SUN_STAR_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_
+#include <com/sun/star/uno/Exception.idl>
+
+ module com { module sun { module star { module connection {
+
+/** Is thrown, when it is not possible to accept on a local resource.
+ */
+published exception ConnectionSetupException: com::sun::star::uno::Exception
+{
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/Connector.idl b/udkapi/com/sun/star/connection/Connector.idl
new file mode 100644
index 000000000000..16bbbcd7163b
--- /dev/null
+++ b/udkapi/com/sun/star/connection/Connector.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_connection_Connector_idl__
+#define __com_sun_star_connection_Connector_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module connection {
+
+published interface XConnector;
+
+//=============================================================================
+
+/** allows to establish a connection to another process.
+ <p>
+ Connector is a delegating service. You can add further connectors by giving
+ them a service name com.sun.star.connection.Connector.xxx, where xxx is the
+ connection type used in the connection string during accept()/connect() call.
+ */
+published service Connector: XConnector;
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/connection/NoConnectException.idl b/udkapi/com/sun/star/connection/NoConnectException.idl
new file mode 100644
index 000000000000..09aeb48d082b
--- /dev/null
+++ b/udkapi/com/sun/star/connection/NoConnectException.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_NOCONNECTEXCEPTION_IDL_
+#define _COM_SUN_STAR_CONNECTION_NOCONNECTEXCEPTION_IDL_
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module connection {
+
+/** Is thrown in case no one is accepting on the specified resource.
+ */
+published exception NoConnectException: com::sun::star::uno::Exception
+{
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/SocketPermission.idl b/udkapi/com/sun/star/connection/SocketPermission.idl
new file mode 100644
index 000000000000..b53b0678ba80
--- /dev/null
+++ b/udkapi/com/sun/star/connection/SocketPermission.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_connection_SocketPermission_idl__
+#define __com_sun_star_connection_SocketPermission_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module connection {
+
+//=============================================================================
+
+/** This permission represents access to a network via sockets.
+ A SocketPermission consists of a host specification and a set of actions
+ specifying ways to connect to that host. The host is specified as
+ <pre>
+ host = (hostname | IPaddress)[:portrange]
+ portrange = portnumber | -portnumber | portnumber-[portnumber]
+ </pre>
+ The host is expressed as a DNS name, as a numerical IP address, or as
+ <code>"localhost"</code> (for the local machine). The wildcard <code>"*"</code>
+ may be included once
+ in a DNS name host specification. If it is included, it must be in the
+ leftmost position, as in <code>"*.sun.com"</code>.
+ <br>
+ The port or portrange is optional. A port specification of the form <code>"N-"</code>,
+ where <code>N</code> is a port number, signifies all ports numbered <code>N</code> and above,
+ while a specification of the form <code>"-N"</code> indicates all ports numbered
+ <code>N</code> and below.
+
+ <p>
+ The possible ways to connect to the host are
+ <ul>
+ <li><code>accept</code></li>
+ <li><code>connect</code></li>
+ <li><code>listen</code></li>
+ <li><code>resolve</code></li>
+ </ul><br>
+ The <code>"listen"</code> action is only meaningful when used with <code>"localhost"</code>.
+ The <code>"resolve"</code> (resolve host/ip name service lookups) action is implied when
+ any of the other actions are present.
+ <br>
+ As an example of the creation and meaning of SocketPermissions, note that if
+ the following permission
+<pre>
+SocketPermission("foo.bar.com:7777", "connect,accept");
+</pre>
+ is granted, it allows to connect to port 7777 on foo.bar.com, and to
+ accept connections on that port.
+ <br>
+ Similarly, if the following permission
+<pre>
+SocketPermission("localhost:1024-", "accept,connect,listen");
+</pre>
+ is granted, it allows that code to accept connections on, connect to, or listen
+ on any port between 1024 and 65535 on the local host.
+ </p>
+
+ @attention
+ Granting code permission to accept or make connections to remote hosts may be
+ dangerous because malevolent code can then more easily transfer and share
+ confidential data among parties who may not otherwise have access to the data.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published struct SocketPermission
+{
+ /** target host with optional portrange
+ */
+ string Host;
+ /** comma separated actions list
+ */
+ string Actions;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/connection/XAcceptor.idl b/udkapi/com/sun/star/connection/XAcceptor.idl
new file mode 100644
index 000000000000..e601b94b79b3
--- /dev/null
+++ b/udkapi/com/sun/star/connection/XAcceptor.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_
+#define _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_
+
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/AlreadyAcceptingException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/connection/XConnection.idl>
+
+
+module com { module sun { module star { module connection {
+
+/** allows to passively accept connection attempts from other processes.
+
+ <p>
+ This is the counterpart to the XConnector interface.
+ */
+published interface XAcceptor: com::sun::star::uno::XInterface
+{
+ // DocMerge from xml: method com::sun::star::connection::XAcceptor::accept
+ /** accepts an interprocess connection. Waits until someone connects to the resource.
+ <p>
+ After a successful return, the method may be called again to accept
+ further connections, but the parameter string MUST be left unchanged.
+
+
+ @param sConnectionDescription
+ contains the kind of the connection plus a
+ comma seperated list of attributes,
+ e.g., <em>socket,host=localhost,port=2345</em> for a tcpip connection.
+
+ @return null reference,
+ stopAccepting was called.
+ Otherwise a valid XConnection reference.
+
+ @throws AlreadyAcceptingException
+ Only one acceptor-thread per instance allowed.
+ @throws ConnectionSetupException
+ Problems during setting up the acceptor.
+ (e.g., Security-reasons, socket already busy, etc.)
+ @throws com::sun::star::lang::IllegalArgumentException
+ sConnectionDescription could not be interpreted
+
+ */
+ XConnection accept( [in] string sConnectionDescription )
+ raises( AlreadyAcceptingException,
+ ConnectionSetupException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** pushes acceptor out of the accept-call.
+ */
+ void stopAccepting();
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/XConnection.idl b/udkapi/com/sun/star/connection/XConnection.idl
new file mode 100644
index 000000000000..c068614a6610
--- /dev/null
+++ b/udkapi/com/sun/star/connection/XConnection.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_XCONNECTION_IDL_
+#define _COM_SUN_STAR_CONNECTION_XCONNECTION_IDL_
+
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module connection {
+
+/** A bidirectional bytestream.
+
+ <p> You should additionally implement XConnection2.
+
+ @see XConnection2
+ */
+published interface XConnection: com::sun::star::uno::XInterface
+{
+
+ /** reads a requested number of bytes from the connection.
+ <p> This method is blocking, meaning that it always returns a bytesequence
+ with the requested number of bytes, unless it has reached end of file (which
+ often means, that close() has been called).
+
+ <p> please see also the readSomeBytes() method of XConnection2.
+
+ @return The read number of bytes.
+ The return value and the length of the
+ returned sequence must be identical.
+ @param nBytesToRead
+ The number of bytes to be read from the stream.
+
+ @throws com::sun::star::io::IOException
+ in case an error occurred during reading from the stream.
+ */
+ long read( [out] sequence < byte > aReadBytes , [in] long nBytesToRead )
+ raises( com::sun::star::io::IOException );
+
+
+ // DocMerge from xml: method com::sun::star::connection::XConnection::write
+ /** writes the given bytesequence to the stream.
+ <p>The method blocks until the whole sequence is written.
+
+ @throws com::sun::star::io::IOException
+ in case an error occurred during writing to the stream.
+ */
+ void write( [in] sequence < byte > aData )
+ raises( com::sun::star::io::IOException );
+
+
+ /** Empties all internal buffers.
+ */
+ void flush( )
+ raises( com::sun::star::io::IOException );
+
+ /** Immediately terminates any ongoing read or write calls.
+ All subsequent read or write calls()
+ */
+ void close( )
+ raises( com::sun::star::io::IOException );
+
+
+ /** A unique string describing the connection.
+
+ <p>This string is different from the arguments to <member>XConnection::accept</member>
+ and <member>XConnector::connect</member>. In general, the string contains an additional
+ handle value. For example, "socket,host=localhost,port=2002,uniqueValue=2324". </p>
+ */
+ string getDescription();
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/XConnection2.idl b/udkapi/com/sun/star/connection/XConnection2.idl
new file mode 100644
index 000000000000..29a939fe106d
--- /dev/null
+++ b/udkapi/com/sun/star/connection/XConnection2.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_XCONNECTION2_IDL_
+#define _COM_SUN_STAR_CONNECTION_XCONNECTION2_IDL_
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/BufferSizeExceededException.idl>
+#include <com/sun/star/io/NotConnectedException.idl>
+
+#include <com/sun/star/connection/XConnection.idl>
+
+
+module com { module sun { module star { module connection {
+
+
+
+
+/**
+ XConnection2 extends the <code>XConnection</code> interface
+ with <code>available</code> and <code>readSomeBytes</code>
+*/
+published interface XConnection2: com::sun::star::connection::XConnection
+{
+
+ /** Gives the number of bytes available via <code>read</code>
+ without blocking.
+ */
+ long available() raises(com::sun::star::io::IOException);
+
+ /** Blocks if no data is available otherwise reads at
+ max <var>nMaxBytesToRead</var> but at least 1 byte.
+ </p>
+ */
+ long readSomeBytes([out] sequence<byte> aData, [in] long nMaxBytesToRead)
+ raises(com::sun::star::io::IOException);
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl
new file mode 100644
index 000000000000..44f4ac694cdd
--- /dev/null
+++ b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_XCONNECTIONBROADCASTER_IDL__
+#define _COM_SUN_STAR_CONNECTION_XCONNECTIONBROADCASTER_IDL_
+
+#include <com/sun/star/io/XStreamListener.idl>
+
+
+ module com { module sun { module star { module connection {
+
+
+
+
+/** allows to add listeners to a connection.
+ <p> Maybe supported by connections returned from <member>XAcceptor::accept</member>
+ or <member>XConnector::connect</member>.
+ */
+published interface XConnectionBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** registers an object to receive events from this connection.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addStreamListener( [in] com::sun::star::io::XStreamListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters an object to receive events from this connection.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removeStreamListener( [in] com::sun::star::io::XStreamListener aListener );
+};
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/XConnector.idl b/udkapi/com/sun/star/connection/XConnector.idl
new file mode 100644
index 000000000000..cfe16476dbdc
--- /dev/null
+++ b/udkapi/com/sun/star/connection/XConnector.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 _COM_SUN_STAR_CONNECTION_XCONNECTOR_IDL_
+#define _COM_SUN_STAR_CONNECTION_XCONNECTOR_IDL_
+
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/NoConnectException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/connection/XConnection.idl>
+
+
+module com { module sun { module star { module connection {
+
+/**
+ allows to actively establish an interprocess connection.
+ */
+published interface XConnector: com::sun::star::uno::XInterface
+{
+
+ // DocMerge from xml: method com::sun::star::connection::XConnector::connect
+ /** creates a new connection interprocess connection.
+ <p>
+ Tries to connect to an <type>XAcceptor</type>. Behavior is unspecified
+ if a call to connect is made when another call to connect either has not
+ yet returned or has returned successfully without raising an exception.
+
+ @param sConnectionDescription
+ contains the kind of the connection plus a
+ comma seperated list of attributes,
+ e.g., <em>socket,host=locahost,port=2345</em> for a tcpip connection.
+
+ @throws ConnectionSetupException
+ Problems during setting up the connector
+ on client side, (e.g., Security-reasons, socket already busy .. ),
+ or the string could not be interpreted correctly.
+
+ @throws NoConnectException
+ Couldn't reach a server (e.g. network failure),
+ no server is listening
+ */
+ XConnection connect( [in] string sConnectionDescription )
+ raises( NoConnectException,ConnectionSetupException );
+};
+
+
+};};};};
+
+#endif
diff --git a/udkapi/com/sun/star/connection/makefile.mk b/udkapi/com/sun/star/connection/makefile.mk
new file mode 100644
index 000000000000..616871af4a68
--- /dev/null
+++ b/udkapi/com/sun/star/connection/makefile.mk
@@ -0,0 +1,56 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssconnection
+PACKAGE=com$/sun$/star$/connection
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ SocketPermission.idl\
+ XConnection.idl\
+ XConnection2.idl\
+ XConnectionBroadcaster.idl\
+ XAcceptor.idl\
+ XConnector.idl\
+ NoConnectException.idl\
+ AlreadyAcceptingException.idl\
+ ConnectionSetupException.idl \
+ Connector.idl \
+ Acceptor.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/container/ContainerEvent.idl b/udkapi/com/sun/star/container/ContainerEvent.idl
new file mode 100644
index 000000000000..76b7cb07cc70
--- /dev/null
+++ b/udkapi/com/sun/star/container/ContainerEvent.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_ContainerEvent_idl__
+#define __com_sun_star_container_ContainerEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This event is fired when an element is inserted in a container.
+
+ @see XContainerListener
+ */
+published struct ContainerEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** It contains the accessor to the element which is inserted or removed.
+
+ <p>The type and the value of the accessor depends on the service.</p>
+ */
+ any Accessor;
+
+ //-------------------------------------------------------------------------
+
+ /** This contains the element that was inserted or removed.
+ */
+ any Element;
+
+ //-------------------------------------------------------------------------
+
+ /** This contains the replaced element.
+ */
+ any ReplacedElement;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/ElementExistException.idl b/udkapi/com/sun/star/container/ElementExistException.idl
new file mode 100644
index 000000000000..34dcb52d3dc0
--- /dev/null
+++ b/udkapi/com/sun/star/container/ElementExistException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_ElementExistException_idl__
+#define __com_sun_star_container_ElementExistException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** is thrown by container methods, if an element is added which is already
+ a child of the container.
+
+ <p>Probably not the same element is already a member, when this exception
+ is thrown, but a member with the same id or name. </p>
+
+ @see XNameContainer
+ @see XNameContainer::insertByName
+ */
+published exception ElementExistException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/EnumerableMap.idl b/udkapi/com/sun/star/container/EnumerableMap.idl
new file mode 100644
index 000000000000..12b04a7ed04b
--- /dev/null
+++ b/udkapi/com/sun/star/container/EnumerableMap.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_Map_idl__
+#define __com_sun_star_container_Map_idl__
+
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#include <com/sun/star/beans/Pair.idl>
+#include <com/sun/star/container/XEnumerableMap.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides a default <type>XEnumerableMap</type> implementation
+
+ <p>For the keys put into the map using <member>XMap::put</member> or <member>createImmutable</member>,
+ the following rules apply:
+ <a name="keyrules"></a>
+ <ul><li>A <VOID/> key is not allowed.</li>
+ <li>If the key type is <code>BOOLEAN</code>, <code>CHAR</code>, <code>FLOAT</code>, <code>DOUBLE</code>,
+ <code>STRING</code>, <code>TYPE</code>, or <code>UNSIGNED HYPER</code>, then only keys of exactly this
+ type are accepted.</li>
+ <li>If the key type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively
+ <code>Float.NaN</code> is not accepted as key.</li>
+ <li>If the key type's class is <member scope="com::sun::star::uno">TypeClass::ENUM</member>, then only keys
+ of exactly this type are accepted.</li>
+ <li>If the key type is any of <code>BYTE</code>, <code>SHORT</code>, <code>UNSIGNED SHORT</code>,
+ <code>LONG</code>, <code>UNSIGNED LONG</code>, or <code>HYPER</code>, then all keys which can losslessly
+ be converted to this type (possibly using widening conversions) are accepted.</li>
+ <li>If the key type is an interface type, then all key values denoting objects which can be queried for
+ the given interface are accepted.</li>
+ <li>All other key types are rejected.</li>
+ </ul></p>
+
+ <p>For the values put into the map using <member>XMap::put</member> or <member>createImmutable</member>,
+ the following rules apply:
+ <a name="valuerules"></a>
+ <ul><li>The <VOID/> value will be accepted to be put into the map.</p>
+ <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::ANY</member>, any value
+ will be accepted.</li>
+ <li>If the value type is an interface type, then all values denoting objects which can be queried for
+ the given interface are accepted.</li>
+ <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::EXCEPTION</member>
+ or <member scope="com::sun::star::uno">TypeClass::STRUCT</member>, then values whose type equals the
+ value type, or is a sub class of the value type, are accepted.</li>
+ <li>For all other value types, only values whose type matches exactly are accepted.</li>
+ <li>If the value type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively
+ <code>Float.NaN</code> is not accepted.</li>
+ </ul></p>
+
+ <p>The factory methods of the <code>XEnumerableMap</code> interface support both <em>isolated</em>
+ and <em>non-isolated</em> enumerators. The latter one will be automatically disposed when the map changes
+ after enumerator creation, so every attempt to use them will result in a
+ <type scope="com::sun::star::lang">DisposedException</type> being thrown.</p>
+
+ @see http://udk.openoffice.org/common/man/typesystem.html
+*/
+service EnumerableMap : XEnumerableMap
+{
+ /** creates an instance mapping from the given key type to the given value type
+
+ @param KeyType
+ denotes the type of the keys in the to-be-created map
+ @param ValueType
+ denotes the type of the values in the to-be-created map
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types.
+ For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member>
+ and <member scope="com::sun::star::uno">TypeClass::UNKNOWN</member> are accepted.
+ For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface
+ types are accepted.
+ */
+ create( [in] type KeyType, [in] type ValueType )
+ raises( ::com::sun::star::beans::IllegalTypeException );
+
+ /** creates an instance mapping from the given key type to the given value type
+
+ <p>The resulting map is immutable, so later alter operations on it will fail
+ with a <type scope="com::sun::star::lang">NoSupportException</type>.</p>
+
+ @param KeyType
+ denotes the type of the keys in the to-be-created map
+ @param ValueType
+ denotes the type of the values in the to-be-created map
+ @param Values
+ denote the values contained in the to-be-created map
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types.
+ For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member>
+ are accepted.<br/>
+ For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface
+ types are accepted.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if any of the given values or keys violates the <a href="#keyrules">key rules</a> or
+ <a href="#valuerules">value rules</a>.
+ */
+ createImmutable(
+ [in] type KeyType,
+ [in] type ValueType,
+ [in] sequence< ::com::sun::star::beans::Pair< any, any > > Values
+ )
+ raises( ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/udkapi/com/sun/star/container/NoSuchElementException.idl b/udkapi/com/sun/star/container/NoSuchElementException.idl
new file mode 100644
index 000000000000..b5343a33d064
--- /dev/null
+++ b/udkapi/com/sun/star/container/NoSuchElementException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_NoSuchElementException_idl__
+#define __com_sun_star_container_NoSuchElementException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** is thrown by child access methods of collections, if the addressed child
+ does not exist.
+
+ @see XEnumeration
+ @see XEnumeration::nextElement
+ */
+published exception NoSuchElementException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XChild.idl b/udkapi/com/sun/star/container/XChild.idl
new file mode 100644
index 000000000000..bb1cff98b99b
--- /dev/null
+++ b/udkapi/com/sun/star/container/XChild.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XChild_idl__
+#define __com_sun_star_container_XChild_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
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides access to the parent of the object.
+
+ <p>This interface normally is only supported if the objects all have
+ exactly one dedicated parent container.</p>
+ */
+published interface XChild: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** grants access to the object containing this content.
+ */
+ com::sun::star::uno::XInterface getParent();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the parent to this object.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the name of this object cannot be changed.
+ */
+ void setParent( [in] com::sun::star::uno::XInterface Parent )
+ raises( com::sun::star::lang::NoSupportException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XComponentEnumeration.idl b/udkapi/com/sun/star/container/XComponentEnumeration.idl
new file mode 100644
index 000000000000..1cc0f5597e84
--- /dev/null
+++ b/udkapi/com/sun/star/container/XComponentEnumeration.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XComponentEnumeration_idl__
+#define __com_sun_star_container_XComponentEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides a typified enumeration through components.
+ */
+published interface XComponentEnumeration: com::sun::star::container::XEnumeration
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the next component of this enumeration.
+
+ @throws NoSuchElementException
+ if no more elements exist.
+ */
+ com::sun::star::lang::XComponent nextComponent()
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl b/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl
new file mode 100644
index 000000000000..e8fcb33f4730
--- /dev/null
+++ b/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XComponentEnumerationAccess_idl__
+#define __com_sun_star_container_XComponentEnumerationAccess_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XComponentEnumeration_idl__
+#include <com/sun/star/container/XComponentEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides a factory for a typified enumeration through
+ a collection of components.
+ */
+published interface XComponentEnumerationAccess: com::sun::star::container::XEnumerationAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** creates a new instance of enumeration through components.
+ */
+ com::sun::star::container::XComponentEnumeration createComponentEnumeration();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XContainer.idl b/udkapi/com/sun/star/container/XContainer.idl
new file mode 100644
index 000000000000..686f0b1ea4c4
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContainer.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContainer_idl__
+#define __com_sun_star_container_XContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerListener_idl__
+#include <com/sun/star/container/XContainerListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** supports quick access to the information if a container currently
+ contains elements.
+
+ <p>The <type>XContainer</type> interface is provided for containers
+ which need to broadcast changes within the container; that means
+ the actions of adding or removing elements are broadcast to the
+ listeners. </p>
+
+ <p>This can be useful for UI to enable/disable some functions
+ without actually accessing the data. </p>
+
+ @see XContent
+ @see XIndexAccess
+ @see XNameAcces
+ @see XEnumerationAccess
+ */
+published interface XContainer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** adds the specified listener to receive events when
+ elements are inserted or removed.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see XContainerListener
+ */
+ [oneway] void addContainerListener( [in] com::sun::star::container::XContainerListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener so it does not receive
+ any events from this container.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see XContainerListener
+ */
+ [oneway] void removeContainerListener( [in] com::sun::star::container::XContainerListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl b/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl
new file mode 100644
index 000000000000..0b1c7f2a6926
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContainerApproveBroadcaster_idl__
+#define __com_sun_star_container_XContainerApproveBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+interface XContainerApproveListener;
+
+/** allows containers to implement a vetoing mechanism for insertion, removal, and
+ replacement of their elements.
+ */
+interface XContainerApproveBroadcaster
+{
+ /** adds a listener which can veto changes in the container's content
+ */
+ void addContainerApproveListener(
+ [in] XContainerApproveListener Listener );
+
+ /** removes a previously added listener
+ */
+ void removeContainerApproveListener(
+ [in] XContainerApproveListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/udkapi/com/sun/star/container/XContainerApproveListener.idl b/udkapi/com/sun/star/container/XContainerApproveListener.idl
new file mode 100644
index 000000000000..323e4038e13a
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContainerApproveListener.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContainerApproveListener_idl
+#define __com_sun_star_container_XContainerApproveListener_idl
+
+#ifndef __com_sun_star_container_ContainerEvent_idl__
+#include <com/sun/star/container/ContainerEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_util_XVeto_idl__
+#include <com/sun/star/util/XVeto.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** is notified to approve changes which happen to the content of a generic container
+
+ @see XContainerApproveBroadcaster
+ */
+interface XContainerApproveListener
+{
+ /** is called for the listener to approve an insertion into the container
+
+ @return
+ an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface,
+ if the insertion is vetoed, <NULL/> otherwise.
+ */
+ com::sun::star::util::XVeto approveInsertElement( [in] ContainerEvent Event )
+ raises ( com::sun::star::lang::WrappedTargetException );
+
+ /** is called for the listener to approve a replacement inside the container
+
+ @return
+ an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface,
+ if the replacement is vetoed, <NULL/> otherwise.
+ */
+ com::sun::star::util::XVeto approveReplaceElement( [in] ContainerEvent Event )
+ raises ( com::sun::star::lang::WrappedTargetException );
+
+ /** is called for the listener to approve a removal of an element from the container
+
+ @return
+ an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface,
+ if the removal is vetoed, <NULL/> otherwise.
+ */
+ com::sun::star::util::XVeto approveRemoveElement( [in] ContainerEvent Event )
+ raises ( com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/udkapi/com/sun/star/container/XContainerListener.idl b/udkapi/com/sun/star/container/XContainerListener.idl
new file mode 100644
index 000000000000..5c1367ff11e5
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContainerListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContainerListener_idl__
+#define __com_sun_star_container_XContainerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_container_ContainerEvent_idl__
+#include <com/sun/star/container/ContainerEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** receives events when the content of the related container changes.
+ */
+published interface XContainerListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a container has inserted an element.
+ */
+ [oneway] void elementInserted( [in] com::sun::star::container::ContainerEvent Event );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a container has removed an element.
+ */
+ [oneway] void elementRemoved( [in] com::sun::star::container::ContainerEvent Event );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a container has replaced an element.
+ */
+ [oneway] void elementReplaced( [in] com::sun::star::container::ContainerEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XContainerQuery.idl b/udkapi/com/sun/star/container/XContainerQuery.idl
new file mode 100644
index 000000000000..611138365dbe
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContainerQuery.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContainerQuery_idl__
+#define __com_sun_star_container_XContainerQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+/** supports simple query feature on a container
+
+ <p>
+ This interface makes it possible to create sub sets of container items
+ which serve specified search criterion.
+ <p>
+ */
+published interface XContainerQuery: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a sub set of container items which match given query command
+
+ <p>
+ Items of this sub set must match used query string. Format of query depends
+ from real implementation. Using of "param=value" pairs isn't neccessary.
+ So it's possible to combine different parameters as one simple command
+ string.
+ <p>
+
+ @param Query items of sub set must match to this query<br>
+ example:<br>
+ (1)<br>
+ query as parameter sequence to return all elements wich match
+ the name pattern and supports a special feature; sort it ascending<br>
+ "name=*myname_??_;sort=ascending;feature=VISIBLE"<br>
+ (2)<br>
+ query as command to return all elements which support special feature
+ and match by name pattern;ascending sort is the default<br>
+ "getAllVisible(*myname_??_)"<br>
+
+ @returns an sub set of container items as an enumeration.
+ */
+ XEnumeration createSubSetEnumerationByQuery( [in] string Query );
+
+ //-------------------------------------------------------------------------
+ /** creates a sub set of container items which supports searched properties as minimum
+
+ <p>
+ It's not possible to use special commands or search specific parameters here.
+ You can match by properties only. Enumerated elements must provide queried
+ properties as minimum. Not specified properties willn't be used for searching.
+ <p>
+
+ @param Properties items of sub set must support given properties as minimum<br>
+ example:<br>
+ (supported)<br>
+ search for items wich match the name pattern and supports the VISIBLE feature<br>
+ Parameters[0].Name = "name"<br>
+ Parameters[0].Value = "*myname_??_"<br>
+ Parameters[1].Name = "feature"<br>
+ Parameters[1].Value = "VISIBLE"<br>
+ ...<br>
+ (unsupported)<br>
+ "sort" isn't a property of a container item!
+ Parameters[0].Name = "sort"<br>
+ Parameters[0].Value = "ascending"<br>
+ ...<br>
+
+ @returns an sub set of container items as an enumeration.
+ */
+ XEnumeration createSubSetEnumerationByProperties( [in] sequence< com::sun::star::beans::NamedValue > Properties );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XContentEnumerationAccess.idl b/udkapi/com/sun/star/container/XContentEnumerationAccess.idl
new file mode 100644
index 000000000000..37f2bc34b372
--- /dev/null
+++ b/udkapi/com/sun/star/container/XContentEnumerationAccess.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XContentEnumerationAccess_idl__
+#define __com_sun_star_container_XContentEnumerationAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** allows access to the collections of all content types within the object.
+
+ @example
+ <p>This example prints the names of all tables: </p>
+
+ <listing>
+ xTextTableEnum = xTextDoc.createContentEnumeration( "com::sun::star::text::TextTable" )
+ while xTextTableEnum.hasMoreElements() do
+ print xTextTableEnum.nextElement().Name
+ wend
+ </listing>
+ */
+published interface XContentEnumerationAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a new enumeration object for the contents of the specified service type.
+ */
+ com::sun::star::container::XEnumeration createContentEnumeration( [in] string aServiceName );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::container::XContentEnumerationAccess::getAvailableServiceNames
+ /** @returns
+ all names of services of which instances exist in this object.
+
+ <p><member>XContentEnumerationAccess::createContentEnumeration</member>
+ creates an enumeration for all the service names which are
+ listed here. For all others it creates no enumeration. </p>
+ */
+ sequence<string> getAvailableServiceNames();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XElementAccess.idl b/udkapi/com/sun/star/container/XElementAccess.idl
new file mode 100644
index 000000000000..754c01e53ee7
--- /dev/null
+++ b/udkapi/com/sun/star/container/XElementAccess.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XElementAccess_idl__
+#define __com_sun_star_container_XElementAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the base interface of all collection interfaces.
+ */
+published interface XElementAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the type of the elements. <atom>void</atom> means that it is a
+ multi-type container and you cannot determine the exact types
+ with this interface.
+ */
+ type getElementType();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if the object contain elements,
+ otherwise <FALSE/>.
+ */
+ boolean hasElements();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XEnumerableMap.idl b/udkapi/com/sun/star/container/XEnumerableMap.idl
new file mode 100644
index 000000000000..6e9b60d47361
--- /dev/null
+++ b/udkapi/com/sun/star/container/XEnumerableMap.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.
+ *
+ ***********************************************************************/
+
+#ifndef __com_sun_star_container_XEnumerableMap_idl__
+#define __com_sun_star_container_XEnumerableMap_idl__
+
+#include <com/sun/star/container/XMap.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** extends <type>XMap</type> with enumeration capabilities.
+
+ <p>No assumption should be made about the ordering of the elements returned by the various enumerators.
+ In particular, you cannot assume the elements are returned in the same order as they were inserted. Also,
+ you should not expect the <code>XMap</code> implementation to make use of a possibly existing strict ordering
+ defined on the domain of all possible key values.</p>
+
+ <p>You can create enumerators for the keys of the map, its values, and its key-value pairs.</p>
+
+ <p>In all cases, you can create an <em>isolated</em> enumerator, which works on a copy of the
+ map's content. Such an iterator is not affected by changes done to the map after creation of
+ the enumerator.</p>
+
+ <p>On the contrary, an enumerator which is <em>non-isolated</em> works directly on the map data.
+ This is less expensive than an <em>isolated</em> enumerator, but means that changes to the map while
+ an enumeration is running potentially invalidate your enumerator. The concrete behavior in this
+ case is undefined, it's up to the service implementing the <code>XEnumerableMap</code> interface
+ to specify it in more detail.</p>
+
+ <p>Implementations of this interface might decide to support only <em>isolated</em> enumerators, or
+ only <em>non-isolated</em> enumerators. Again, it's up to the service to specify this. Requesting an
+ enumerator type which is not supported will generally result in an <type scope="com::sun::star::lang">NoSupportException</type>
+ being thrown.</p>
+ */
+interface XEnumerableMap : XMap
+{
+ /** creates a enumerator for the keys of the map
+
+ @param Isolated
+ controls whether the newly create enumerator should be isolated from the map.
+
+ @throws ::com::sun::star::lang::NoSupportException
+ if the specified enumerator method is not supported by the implementation.
+ */
+ XEnumeration createKeyEnumeration( [in] boolean Isolated )
+ raises ( ::com::sun::star::lang::NoSupportException );
+
+ /** creates a enumerator for the values of the map
+
+ @param Isolated
+ controls whether the newly create enumerator should be isolated from the map.
+
+ @throws ::com::sun::star::lang::NoSupportException
+ if the specified enumerator method is not supported by the implementation.
+ */
+ XEnumeration createValueEnumeration( [in] boolean Isolated )
+ raises ( ::com::sun::star::lang::NoSupportException );
+
+ /** creates a enumerator for the key-value pairs of the map
+
+ <p>The elements returned by the enumerator are instances of <type scope="com::sun::star::beans">Pair</type>,
+ holding the key-value-pairs which are part of the map.</p>
+
+ @param Isolated
+ controls whether the newly create enumerator should be isolated from the map.
+
+ @throws ::com::sun::star::lang::NoSupportException
+ if the specified enumerator method is not supported by the implementation.
+ */
+ XEnumeration createElementEnumeration( [in] boolean Isolated )
+ raises ( ::com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/udkapi/com/sun/star/container/XEnumeration.idl b/udkapi/com/sun/star/container/XEnumeration.idl
new file mode 100644
index 000000000000..7da0c79f4d0f
--- /dev/null
+++ b/udkapi/com/sun/star/container/XEnumeration.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XEnumeration_idl__
+#define __com_sun_star_container_XEnumeration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides functionality to enumerate the contents of a container.
+
+ <p>An object that implements the <type>XEnumeration</type> interface
+ generates a series of elements, one at a time. Successive calls to
+ the <code>XEnumeration::nextElement</code> method return successive
+ elements of the series. </p>
+
+ <p>For example (Java), to print all elements of a vector <var>aVect</var>:
+ </p>
+
+ <listing>
+ for ( XEnumeration xEnum = aVect.elements() ;
+ xEnum.hasMoreElements() ; )
+ {
+ System.out.println( xEnum.nextElement() );
+ }
+ </listing>
+
+
+ <p> If the object changed, the behavior of the enumeration is
+ not specified. This is not a remote interface. </p>
+ */
+published interface XEnumeration: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** tests whether this enumeration contains more elements.
+ */
+ boolean hasMoreElements();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the next element of this enumeration.
+
+ @throws NoSuchElementException
+ if no more elements exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ any nextElement()
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XEnumerationAccess.idl b/udkapi/com/sun/star/container/XEnumerationAccess.idl
new file mode 100644
index 000000000000..0282a7cd3592
--- /dev/null
+++ b/udkapi/com/sun/star/container/XEnumerationAccess.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XEnumerationAccess_idl__
+#define __com_sun_star_container_XEnumerationAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** used to enumerate objects in a container which contains objects.
+ */
+published interface XEnumerationAccess: com::sun::star::container::XElementAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a new enumeration object for this container.
+ It returns NULL if there are no objects in this container.
+ */
+ com::sun::star::container::XEnumeration createEnumeration();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XHierarchicalName.idl b/udkapi/com/sun/star/container/XHierarchicalName.idl
new file mode 100644
index 000000000000..5913390249c9
--- /dev/null
+++ b/udkapi/com/sun/star/container/XHierarchicalName.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XHierarchicalName_idl__
+#define __com_sun_star_container_XHierarchicalName_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** specifies the fully qualified name of the object within a hierarchy.
+
+ <p>The name is generally globally unique in the hierarchy. </p>
+
+ @see com::sun::star::container::XHierarchicalNameAccess
+ @see com::sun::star::container::XNamed
+ */
+published interface XHierarchicalName: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the fully qualified hierarchical name of the object.
+ */
+ string getHierarchicalName();
+
+ //-------------------------------------------------------------------------
+
+ /** builds the hierarchical name of an object, given a relative name
+
+ <p>Can be used to find the name of a descendant object in the hierarchy
+ without actually accessing it. </p>
+
+ @see XHierarchicalNameAccess::hasByHierarchicalName
+ */
+ string composeHierarchicalName( [in] string aRelativeName )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl b/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl
new file mode 100644
index 000000000000..b19e6ad1dcb5
--- /dev/null
+++ b/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#define __com_sun_star_container_XHierarchicalNameAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** is used to have hierarchical access to elements within a container.
+
+ <p>You address an object of a specific level in the hierarchy by giving its
+ fully qualified name, e.g., "com.sun.star.uno.XInterface". </p>
+
+ <p>To implement inaccurate name access, support the
+ <type scope="com::sun::star::beans">XExactName</type> interface. </p>
+
+ @see com::sun::star::beans::XExactName
+ */
+published interface XHierarchicalNameAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the object with the specified name.
+
+ @param aName
+ the name of the object.
+
+ @throws NoSuchElementException
+ if an element under Name does not exist.
+ */
+ any getByHierarchicalName( [in] string aName )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if an element with this name is in
+ the container, <FALSE/> otherwise.
+
+ <p>In many cases, the next call is <member>XNameAccess::getByName</member>.
+ You should optimize this case.
+
+ @param aName
+ the name of the object.
+ */
+ boolean hasByHierarchicalName( [in] string aName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl b/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl
new file mode 100644
index 000000000000..ae6de0e81ef2
--- /dev/null
+++ b/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XHierarchicalNameContainer_idl__
+#define __com_sun_star_container_XHierarchicalNameContainer_idl__
+
+#ifndef __com_sun_star_container_XHierarchicalNameReplace_idl__
+#include <com/sun/star/container/XHierarchicalNameReplace.idl>
+#endif
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module container {
+
+//=============================================================================
+
+/**
+ * Insertion and removal of hierarchical elements.
+ */
+published interface XHierarchicalNameContainer : com::sun::star::container::XHierarchicalNameReplace
+{
+
+ /** inserts the element at the specified name.
+ */
+ void insertByHierarchicalName( [in] string aName,
+ [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the element at the specified name.
+ */
+ void removeByHierarchicalName( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl b/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl
new file mode 100644
index 000000000000..ac8110d4e7b6
--- /dev/null
+++ b/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XHierarchicalNameReplace_idl__
+#define __com_sun_star_container_XHierarchicalNameReplace_idl__
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/**
+ * Replacement of hierarchical elements.
+ */
+published interface XHierarchicalNameReplace : com::sun::star::container::XHierarchicalNameAccess
+{
+
+ /** replaces the element at the specified name.
+ */
+ void replaceByHierarchicalName( [in] string aName,
+ [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/udkapi/com/sun/star/container/XIdentifierAccess.idl b/udkapi/com/sun/star/container/XIdentifierAccess.idl
new file mode 100644
index 000000000000..a13b4761ae00
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIdentifierAccess.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIdentifierAccess_idl__
+#define __com_sun_star_container_XIdentifierAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides access to the elements of a collection through a unique identifier.
+ */
+published interface XIdentifierAccess: com::sun::star::container::XElementAccess
+{
+ /** @returns
+ the element with the specified identifier
+
+ @param Identifier
+ specifies the identifier of the element that should be retrieved.
+
+ @throws com::sun::star::lang::NoSuchElementException
+ If the identifier is not existing.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <typee scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ any getByIdentifier( [in] long Identifierr )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ /** @returns
+ a sequence of all identifiers in this container.
+
+ <p>The order of the identifiers is not specified. </p>
+ */
+ sequence<long> getIdentifiers();
+}
+;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XIdentifierContainer.idl b/udkapi/com/sun/star/container/XIdentifierContainer.idl
new file mode 100644
index 000000000000..138db504bd51
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIdentifierContainer.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIdentifierContainer_idl__
+#define __com_sun_star_container_XIdentifierContainer_idl__
+
+#ifndef __com_sun_star_container_XIdentifierReplace_idl__
+#include <com/sun/star/container/XIdentifierReplace.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the creation and removal of
+ elements with unique identifiers.
+
+ @see XContainer
+ */
+published interface XIdentifierContainer: com::sun::star::container::XIdentifierReplace
+{
+ //-------------------------------------------------------------------------
+
+ /** inserts an element and creates a new unique identifier for it.
+
+ @returns
+ the newly created identifier under which the element is inserted.
+
+ @param aElement
+ The new element that will be inserted.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument is not vailid for this container.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+
+ */
+ long insert( [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the element with the specified identifier.
+
+ @param Identifier
+ The identifier that should be removed.
+
+ @throws com::sun::star::lang::NoSuchElementException
+ If the identifier does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ void removeByIdentifier( [in] long Identifier )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XIdentifierReplace.idl b/udkapi/com/sun/star/container/XIdentifierReplace.idl
new file mode 100644
index 000000000000..6b5fda44eb66
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIdentifierReplace.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIdentifierReplace_idl__
+#define __com_sun_star_container_XIdentifierReplace_idl__
+
+#ifndef __com_sun_star_container_XIdentifierAccess_idl__
+#include <com/sun/star/container/XIdentifierAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the replacement of elements
+ with unique identifiers.
+*/
+published interface XIdentifierReplace: com::sun::star::container::XIdentifierAccess
+{
+ /** replaces the element with the specified identifier.
+
+ @param Identifier
+ specifies the identifier of the element that should be retrieved.
+
+ @param aElement
+ the new element that replaces the old element for the specified identifier.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the argument is not valid for this container.
+
+ @throws com::sun::star::lang::NoSuchElementException
+ If the identifier is not existing.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ void replaceByIdentifer( [in] long Identifier,
+ [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XImplicitIDAccess.idl b/udkapi/com/sun/star/container/XImplicitIDAccess.idl
new file mode 100644
index 000000000000..4c108918a724
--- /dev/null
+++ b/udkapi/com/sun/star/container/XImplicitIDAccess.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XImplicitIDAccess_idl__
+#define __com_sun_star_container_XImplicitIDAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+/** makes it possible to access contents through an implicit (unique) ID.
+ */
+published interface XImplicitIDAccess: com::sun::star::container::XElementAccess
+{
+ /** @returns
+ the element with the specified implicit ID.
+ */
+ any getByImplicitID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException );
+
+ /** @returns
+ a sequence with all existing implicit IDs.
+ */
+ sequence<string> getImplicitIDs();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/container/XImplicitIDContainer.idl b/udkapi/com/sun/star/container/XImplicitIDContainer.idl
new file mode 100644
index 000000000000..c7cfb4ba828a
--- /dev/null
+++ b/udkapi/com/sun/star/container/XImplicitIDContainer.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XImplicitIDContainer_idl__
+#define __com_sun_star_container_XImplicitIDContainer_idl__
+
+#ifndef __com_sun_star_container_XImplicitIDReplace_idl__
+#include <com/sun/star/container/XImplicitIDReplace.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+/** makes it possible to insert and remove elements in/from a container
+ using an implicit (unique) ID.
+ */
+published interface XImplicitIDContainer: com::sun::star::container::XImplicitIDReplace
+{
+ /** adds a new object to the container and generates an implicit (unique)
+ ID for this object.
+
+ @returns
+ the implicit ID for the new object.
+ */
+ string addWithImplicitID( [in] any aElement );
+
+ /** removes an object from the container which is specified by
+ an implicit (unique) identifier.
+ */
+ void removeByImplicitID( [in] string ID )
+ raises( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/container/XImplicitIDReplace.idl b/udkapi/com/sun/star/container/XImplicitIDReplace.idl
new file mode 100644
index 000000000000..df0a0d739f84
--- /dev/null
+++ b/udkapi/com/sun/star/container/XImplicitIDReplace.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XImplicitIDReplace_idl__
+#define __com_sun_star_container_XImplicitIDReplace_idl__
+
+#ifndef __com_sun_star_container_XImplicitIDAccess_idl__
+#include <com/sun/star/container/XImplicitIDAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+/** makes it possible to replace contents in a collection by
+ an implicit (unique) ID:
+ */
+published interface XImplicitIDReplace: com::sun::star::uno::XInterface
+{
+ /** replaces the content which is specified by its implicit (unique)
+ ID with a new content.
+ */
+ void replaceByUniqueID( [in] string ID, [in] any aNewElement )
+ raises( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/container/XIndexAccess.idl b/udkapi/com/sun/star/container/XIndexAccess.idl
new file mode 100644
index 000000000000..6cac3654f362
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIndexAccess.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIndexAccess_idl__
+#define __com_sun_star_container_XIndexAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** provides access to the elements of a collection through an
+ index.
+
+ <p>This interface should only be used if the data structure, itself,
+ is indexed.</p>
+ */
+published interface XIndexAccess: com::sun::star::container::XElementAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the number of elements in this container.
+ */
+ long getCount();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::container::XIndexAccess::getByIndex
+ /** @returns
+ the element at the specified index.
+
+ @param Index
+ specifies the position in the array. The first index is 0.
+
+ @throws com::sun::star::lang::IndexOutOfBoundException
+ if the index is not valid.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ any getByIndex( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XIndexContainer.idl b/udkapi/com/sun/star/container/XIndexContainer.idl
new file mode 100644
index 000000000000..6af5913ffc69
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIndexContainer.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIndexContainer_idl__
+#define __com_sun_star_container_XIndexContainer_idl__
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the insertion and removal of
+ indexed elements.@see XContainer
+ */
+published interface XIndexContainer: com::sun::star::container::XIndexReplace
+{
+ //-------------------------------------------------------------------------
+
+ /** inserts the given element at the specified index.
+
+ <p>To append an element, use the index "last index +1". </p>
+ */
+ void insertByIndex( [in] long Index,
+ [in] any Element )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the element at the specified index.
+ */
+ void removeByIndex( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XIndexReplace.idl b/udkapi/com/sun/star/container/XIndexReplace.idl
new file mode 100644
index 000000000000..915063dbadb0
--- /dev/null
+++ b/udkapi/com/sun/star/container/XIndexReplace.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XIndexReplace_idl__
+#define __com_sun_star_container_XIndexReplace_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the replacement of indexed
+ elements.
+ @see XContainer
+ */
+published interface XIndexReplace: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** replaces the element at the specified index with the given element.
+ */
+ void replaceByIndex( [in] long Index,
+ [in] any Element )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XMap.idl b/udkapi/com/sun/star/container/XMap.idl
new file mode 100644
index 000000000000..b9a5bd24b97c
--- /dev/null
+++ b/udkapi/com/sun/star/container/XMap.idl
@@ -0,0 +1,203 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XMap_idl__
+#define __com_sun_star_container_XMap_idl__
+
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/container/XElementAccess.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** describes a map between keys and values.
+
+ <p>Keys in the map are unique, and each key maps to exactly one value.</p>
+
+ <p>Locating elements in the map, both values and keys, requires a notion of equality of two objects.
+ In conformance with the <a href="http://udk.openoffice.org/common/man/typesystem.html">UNO type system</a>,
+ two values are said to be equal if and only if they have the same type, and both denote the same element of this
+ type's value set.</p>
+
+ @see <type>Map</type> for a default implementation of this interface
+*/
+interface XMap
+{
+ interface XElementAccess;
+
+ /** denotes the type of the keys in the map.
+
+ <p>Implementations are free to accept any supertype of <code>KeyType</code> as keys.</p>
+ */
+ [attribute, readonly] type KeyType;
+
+ /** denotes the type of the values in the map.
+
+ <p>Implementations are free to accept any supertype of the <code>ValueType</code> as values.</p>
+ */
+ [attribute, readonly] type ValueType;
+
+ /** clears the map, removing all key-value pairs from it.
+
+ @throws ::com::sun::star::beans::NoSupportException
+ if the map is not mutable.
+ */
+ void clear()
+ raises( ::com::sun::star::lang::NoSupportException );
+
+ /** determines whether a mapping for he given key exists in the map
+
+ @param Key
+ is the key whose presence in the map is to be tested.
+ @return
+ <TRUE/> if and only if the map contains a mapping for the given key.
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if the given key is not of a type which is accepted by the map
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given key is not supported to be put into the map. It's up to the service
+ implementing the <code>XMap</code> interface to specify which special values are not
+ supported. For instances, implementations might decide to not allow <VOID/> keys, or
+ to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic
+ behavior with respect to equality.
+ */
+ boolean containsKey( [in] any Key )
+ raises( ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException );
+
+ /** determines whether the map contains a mapping to a given value.
+
+ @param Value
+ is the value whose presence in the map is to be tested.
+ @return
+ <TRUE/> if and only one or more keys map to the given value.
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if the given value is not of a type which is accepted by the map. It's up to the service
+ implementing the <code>XMap</code> interface to specify which special values are not
+ supported. For instances, implementations might decide to not allow <code>Double.NaN</code>
+ (<em>not a number</em>) to due its problematic behavior with respect to equality.
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given value is not supported to be put into the map.
+ */
+ boolean containsValue( [in] any Value )
+ raises( ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException );
+
+ /** gets the value to which a given key maps.
+
+ @param Key
+ they key whose associated value is to be returned.
+ @return
+ the value which is associated with the given key.
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if the given key is not of a type which is accepted by the map
+ @throws ::com::sun::star::beans::IllegalArgumentException
+ if the given key is not supported to be put into the map. It's up to the service
+ implementing the <code>XMap</code> interface to specify which special values are not
+ supported. For instances, implementations might decide to not allow <VOID/> keys, or
+ to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic
+ behavior with respect to equality.
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no value associated with the given key
+ */
+ any get( [in] any Key )
+ raises( ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException );
+
+ /** associates a given key with a given value
+
+ <p>If the map already contains a mapping for the given key, then the old value is replaced by the
+ given new value.</p>
+
+ @param Key
+ is the key which the given value should be associated with
+ @param Value
+ is the value which should be associated with the given key
+ @return
+ the value which was previously associated with the given key, or <VOID/>
+ if there was no such previous association.
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if the given key is not of a type which is accepted by the map
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given key, or the given value, is not supported to be put into the map. It's up to
+ the service implementing the <code>XMap</code> interface to specify which special values
+ are not supported.<br/>
+ For instances, implementations might decide to not allow <VOID/> keys or values, or to
+ reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic behavior
+ with respect to equality.
+ @throws ::com::sun::star::beans::NoSupportException
+ if the map does not support putting new mappings into it
+ */
+ any put( [in] any Key, [in] any Value )
+ raises( ::com::sun::star::lang::NoSupportException,
+ ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException );
+
+ /** removes a key-value mapping, given by key, from the map.
+
+ @param Key
+ is the key whose mapping should be removed from the map
+ @return
+ the value which was associated with the given key before the removal
+
+ @throws ::com::sun::star::beans::IllegalTypeException
+ if the given key is not of a type which is accepted by the map
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given key is not supported to be put into the map. It's up to the service
+ implementing the <code>XMap</code> interface to specify which special values are not
+ supported. For instances, implementations might decide to not allow <VOID/> keys, or
+ to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic
+ behavior with respect to equality.
+ @throws ::com::sun::star::beans::NoSupportException
+ if the map does not support removing mappings
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no value associated with the given key
+ */
+ any remove( [in] any Key )
+ raises( ::com::sun::star::lang::NoSupportException,
+ ::com::sun::star::beans::IllegalTypeException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/udkapi/com/sun/star/container/XNameAccess.idl b/udkapi/com/sun/star/container/XNameAccess.idl
new file mode 100644
index 000000000000..a845f1085bbe
--- /dev/null
+++ b/udkapi/com/sun/star/container/XNameAccess.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XNameAccess_idl__
+#define __com_sun_star_container_XNameAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** is used to access named objects within a container.
+
+ <p>To implement inaccurate name access, support the
+ <type scope="com::sun::star::beans">XExactName</type>
+ interface. </p>
+ @see com::sun::star::beans::XExactName
+ */
+published interface XNameAccess: com::sun::star::container::XElementAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the object with the specified name.
+
+ @param aName
+ the name of the object.
+
+ @throws NoSuchElementException
+ if an element under Name does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ If the implementation has internal reasons for exceptions,
+ then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type>
+ exception.
+ */
+ any getByName( [in] string aName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of all element names in this container.
+
+ <p>The order of the names is not specified. </p>
+ */
+ sequence<string> getElementNames();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if an element with this name is in
+ the container, <FALSE/> otherwise.
+
+ <p>In many cases the next call is <member>XNameAccess::getByName</member>.
+ You should optimize this case. </p>
+
+ @param aName
+ the name of the object.
+ */
+ boolean hasByName( [in] string aName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XNameContainer.idl b/udkapi/com/sun/star/container/XNameContainer.idl
new file mode 100644
index 000000000000..b11763f8649e
--- /dev/null
+++ b/udkapi/com/sun/star/container/XNameContainer.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XNameContainer_idl__
+#define __com_sun_star_container_XNameContainer_idl__
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the insertion and removal of
+ named elements.
+ @see XContainer
+ */
+published interface XNameContainer: com::sun::star::container::XNameReplace
+{
+ //-------------------------------------------------------------------------
+
+ /** inserts the given element at the specified name.
+ */
+ void insertByName( [in] string aName,
+ [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the element with the specified name.
+ */
+ void removeByName( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XNameReplace.idl b/udkapi/com/sun/star/container/XNameReplace.idl
new file mode 100644
index 000000000000..286f2241cc78
--- /dev/null
+++ b/udkapi/com/sun/star/container/XNameReplace.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XNameReplace_idl__
+#define __com_sun_star_container_XNameReplace_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the replacement of named
+ elements.
+ @see XContainer
+ */
+published interface XNameReplace: com::sun::star::container::XNameAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** replaces the element with the specified name with the given element.
+ */
+ void replaceByName( [in] string aName,
+ [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XNamed.idl b/udkapi/com/sun/star/container/XNamed.idl
new file mode 100644
index 000000000000..b503514ee539
--- /dev/null
+++ b/udkapi/com/sun/star/container/XNamed.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XNamed_idl__
+#define __com_sun_star_container_XNamed_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** specifies the name of the object.
+
+ <p>The name is generally unique in the container of the object.</p>
+ */
+published interface XNamed: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the programmatic name of the object.
+ */
+ string getName();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the programmatic name of the object.
+ */
+ [oneway] void setName( [in] string aName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XSet.idl b/udkapi/com/sun/star/container/XSet.idl
new file mode 100644
index 000000000000..5377c2a0785a
--- /dev/null
+++ b/udkapi/com/sun/star/container/XSet.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XSet_idl__
+#define __com_sun_star_container_XSet_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** This is the generic interface for supporting the insertion and removal of
+ elements.@see XContainer
+ */
+published interface XSet: com::sun::star::container::XEnumerationAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <TRUE/> if the given element is a member of this container,
+ otherwise <FALSE/>.
+ */
+ boolean has( [in] any aElement );
+
+ //-------------------------------------------------------------------------
+
+ /** inserts the given element into this container.
+ */
+ void insert( [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the given element from this container.
+ */
+ void remove( [in] any aElement )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XStringKeyMap.idl b/udkapi/com/sun/star/container/XStringKeyMap.idl
new file mode 100644
index 000000000000..cf2b87d49b49
--- /dev/null
+++ b/udkapi/com/sun/star/container/XStringKeyMap.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XStringKeyMap_idl__
+#define __com_sun_star_container_XStringKeyMap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+//=============================================================================
+
+/** maps strings to anys.
+
+ @since OOo 2.3.0
+ */
+
+interface XStringKeyMap
+{
+ //-------------------------------------------------------------------------
+ /** reads data from the map.
+
+ @param aKey
+ The key string which should be searched for.
+
+ @return
+ the value matching aKey.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if an element under aKey does not exist.
+ */
+ any getValue( [in] string aKey )
+ raises( com::sun::star::container::NoSuchElementException );
+
+
+ //-------------------------------------------------------------------------
+ /** checks for element existence.
+
+ @param aKey
+ The key string which should be searched for.
+
+ @return
+ true if an element with key aKey exists.
+ */
+ boolean hasValue( [in] string aKey );
+
+
+ //-------------------------------------------------------------------------
+ /** writes data to the map.
+
+ @param aKey
+ The key string which should be used to store the value.
+
+ @param aValue
+ The value that should be stored.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the element could not be inserted.
+
+ @throws com::sun::star::container::ElementExistException
+ if there is already a value stored under the key aKey.
+ */
+ void insertValue( [in] string aKey, [in] any aValue )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+
+ //-------------------------------------------------------------------------
+ /** the number of elements in the map.
+ */
+ [attribute, readonly] long Count;
+
+
+ //-------------------------------------------------------------------------
+ /** obtains the key of an element by index.
+
+ @param nIndex
+ is the index of the element.
+
+ @return
+ the key string matching the given index.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the specified index is greater than the number of
+ elements
+ */
+ string getKeyByIndex( [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ //-------------------------------------------------------------------------
+ /** obtains the value of an element by index.
+
+ @param nIndex
+ is the index of the key.
+
+ @return
+ the value matching the given index.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the specified index is greater than the number of
+ elements
+ */
+ any getValueByIndex( [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/XUniqueIDAccess.idl b/udkapi/com/sun/star/container/XUniqueIDAccess.idl
new file mode 100644
index 000000000000..28e19afc726e
--- /dev/null
+++ b/udkapi/com/sun/star/container/XUniqueIDAccess.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_container_XUniqueIDAccess_idl__
+#define __com_sun_star_container_XUniqueIDAccess_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module container {
+
+/** makes it possible to access contents via a unique ID.
+ */
+published interface XUniqueIDAccess: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the element with the specified unique ID.
+ */
+ any getByUniqueID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException );
+
+ /** removes the element with the specified unique ID from this
+ container.
+ */
+ void removeByUniqueID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/container/makefile.mk b/udkapi/com/sun/star/container/makefile.mk
new file mode 100644
index 000000000000..5385b7e98c13
--- /dev/null
+++ b/udkapi/com/sun/star/container/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=csscontainer
+PACKAGE=com$/sun$/star$/container
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XIdentifierAccess.idl\
+ XIdentifierReplace.idl\
+ XIdentifierContainer.idl\
+ ContainerEvent.idl\
+ ElementExistException.idl\
+ EnumerableMap.idl\
+ NoSuchElementException.idl\
+ XChild.idl\
+ XUniqueIDAccess.idl\
+ XComponentEnumeration.idl\
+ XComponentEnumerationAccess.idl\
+ XContainer.idl\
+ XContainerApproveBroadcaster.idl\
+ XContainerApproveListener.idl\
+ XContainerListener.idl\
+ XContainerQuery.idl\
+ XContentEnumerationAccess.idl\
+ XElementAccess.idl\
+ XEnumerableMap.idl\
+ XEnumeration.idl\
+ XEnumerationAccess.idl\
+ XHierarchicalName.idl\
+ XHierarchicalNameAccess.idl\
+ XHierarchicalNameReplace.idl\
+ XHierarchicalNameContainer.idl\
+ XImplicitIDAccess.idl\
+ XImplicitIDContainer.idl\
+ XImplicitIDReplace.idl\
+ XIndexAccess.idl\
+ XIndexContainer.idl\
+ XIndexReplace.idl\
+ XMap.idl\
+ XNameAccess.idl\
+ XNameContainer.idl\
+ XNamed.idl\
+ XNameReplace.idl\
+ XSet.idl\
+ XStringKeyMap.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/corba/corba.idl b/udkapi/com/sun/star/corba/corba.idl
new file mode 100644
index 000000000000..d7e6bdea4c07
--- /dev/null
+++ b/udkapi/com/sun/star/corba/corba.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+module com { module sun { module star { module corba
+{
+ /**
+ @deprecated
+ */
+ published typedef unsigned long ObjectSystemID;
+ /**
+ @deprecated
+ */
+ published typedef sequence< byte > OpaqueData;
+
+ /**
+ @deprecated
+ */
+ published struct OneThreadID
+ {
+ ObjectSystemID objSysID;
+ OpaqueData threadID;
+ };
+
+ /**
+ @deprecated
+ */
+ published typedef sequence<OneThreadID> ThreadIDs;
+
+ /**
+ @deprecated
+ */
+ published struct LogicalThreadID // Service context
+ {
+ ThreadIDs IDs;
+ };
+
+ /**
+ @deprecated
+ */
+ published struct CorbaString8
+ {
+ string theString;
+ };
+
+ /**
+ @deprecated
+ */
+ published struct CorbaUnion
+ {
+ long dummy;
+ };
+
+ /**
+ @deprecated
+ */
+ published struct ObjectKey
+ {
+ CorbaString8 sOid;
+ CorbaString8 sType;
+ };
+
+ /**
+ @deprecated
+ */
+ published enum TCKind
+ {
+ tk_null, tk_void,
+ tk_short, tk_long, tk_ushort, tk_ulong,
+ tk_float, tk_double, tk_boolean, tk_char,
+ tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref,
+ tk_struct, tk_union, tk_enum, tk_string,
+ tk_sequence, tk_array, tk_alias, tk_except,
+ tk_longlong, tk_ulonglong, tk_longdouble,
+ tk_wchar, tk_wstring, tk_fixed,
+ tk_value, tk_value_box,
+ tk_native,
+ tk_abstract_interface
+ };
+
+}; }; }; };
diff --git a/udkapi/com/sun/star/corba/giop/giop.idl b/udkapi/com/sun/star/corba/giop/giop.idl
new file mode 100644
index 000000000000..56e6fe67eda4
--- /dev/null
+++ b/udkapi/com/sun/star/corba/giop/giop.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * 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 <com/sun/star/corba/iop/iop.idl>
+module com { module sun { module star { module corba { module giop
+{
+ /**
+ @deprecated
+ */
+published struct Version
+ {
+ byte major;
+ byte minor;
+ };
+
+ /**
+ @deprecated
+ */
+published enum MsgType_1_1
+ {
+ Request, Reply, CancelRequest,
+ LocateRequest, LocateReply,
+ CloseConnection, MessageError,
+ Fragment // GIOP 1.1 addition
+ };
+
+
+ /**
+ @deprecated
+ */
+published struct MessageHeader_1_0
+ {// Renamed from MessageHeader
+ byte magic_1;
+ byte magic_2;
+ byte magic_3;
+ byte magic_4;
+ Version GIOP_version;
+ boolean byte_order;
+ byte message_type;
+ unsigned long message_size;
+ };
+
+ /**
+ @deprecated
+ */
+published struct MessageHeader_1_1
+ {
+ byte magic_1;
+ byte magic_2;
+ byte magic_3;
+ byte magic_4;
+ Version GIOP_version;
+ byte flags; // GIOP 1.1 change
+ byte message_type;
+ unsigned long message_size;
+ };
+
+ /**
+ @deprecated
+ */
+published typedef MessageHeader_1_1 MessageHeader_1_2;
+
+ /**
+ @deprecated
+ */
+published struct RequestHeader_1_0
+ {
+ com::sun::star::corba::iop::ServiceContextList service_context;
+ unsigned long request_id;
+ boolean response_expected;
+ sequence < byte > object_key;
+ CorbaString8 operation;
+ sequence < byte > requesting_principal;
+ };
+
+ /**
+ @deprecated
+ */
+published struct RequestHeader_1_1
+ {
+ com::sun::star::corba::iop::ServiceContextList service_context;
+ unsigned long request_id;
+ boolean response_expected;
+ byte reserved_1;
+ byte reserved_2;
+ byte reserved_3; // Added in GIOP 1.1
+ sequence <byte> object_key;
+ CorbaString8 operation;
+ sequence <byte> requesting_principal; // binary compatible
+ };
+
+ /**
+ @deprecated
+ */
+published struct IORAddressingInfo
+ {
+ unsigned long selected_profile_index;
+ com::sun::star::corba::iop::IOR ior;
+ };
+
+ /**
+ @deprecated
+ */
+published constants TargetAddressGroup
+ {
+ const short KeyAddr = 0;
+ const short ProfileAddr = 1;
+ const short ReferenceAddr = 2;
+ };
+
+ /**
+ @deprecated
+ */
+published struct TargetAddress : CorbaUnion
+ {
+ short nDiscriminator;
+ sequence < byte > object_key; // KeyAddr
+ com::sun::star::corba::iop::TaggedProfile profile; // ProfileAddr
+ IORAddressingInfo ior; // ReferenceAddr
+ };
+
+
+ /**
+ @deprecated
+ */
+published struct RequestHeader_1_2
+ {
+ unsigned long request_id;
+ byte response_flags;
+ byte reserved_1;
+ byte reserved_2;
+ byte reserved_3;
+ TargetAddress target;
+ CorbaString8 operation;
+// Principal not in GIOP 1.2
+ com::sun::star::corba::iop::ServiceContextList service_context; // 1.2 change
+ };
+
+
+ /**
+ @deprecated
+ */
+published enum ReplyStatusType_1_2
+ {
+ NO_EXCEPTION,
+ USER_EXCEPTION,
+ SYSTEM_EXCEPTION,
+ LOCATION_FORWARD,
+ LOCATION_FORWARD_PERM, // new value for 1.2
+ NEEDS_ADDRESSING_MODE // new value for 1.2
+ };
+
+
+ /**
+ @deprecated
+ */
+published struct ReplyHeader_1_2
+ {
+ unsigned long request_id;
+ ReplyStatusType_1_2 reply_status;
+ com::sun::star::corba::iop::ServiceContextList service_context; // 1.2 change
+ };
+
+ /**
+ @deprecated
+ */
+published struct SystemExceptionReplyBody
+ {
+ CorbaString8 exception_id;
+ unsigned long minor_code_value;
+ unsigned long completion_status;
+ };
+
+ /**
+ @deprecated
+ */
+published struct CancelRequestHeader
+ {
+ unsigned long request_id;
+ };
+
+ /**
+ @deprecated
+ */
+published struct LocateRequestHeader_1_0
+ {
+// Renamed LocationRequestHeader
+ unsigned long request_id;
+ sequence <byte> object_key;
+ };
+
+ /**
+ @deprecated
+ */
+published typedef LocateRequestHeader_1_0 LocateRequestHeader_1_1;
+
+ /**
+ @deprecated
+ */
+published enum LocateStatusType_1_2 {
+ UNKNOWN_OBJECT,
+ OBJECT_HERE,
+ OBJECT_FORWARD,
+ OBJECT_FORWARD_PERM, // new value for GIOP 1.2
+ LOC_SYSTEM_EXCEPTION, // new value for GIOP 1.2
+ LOC_NEEDS_ADDRESSING_MODE // new value for GIOP 1.2
+ };
+
+ /**
+ @deprecated
+ */
+published struct LocateReplyHeader_1_2
+ {
+ unsigned long request_id;
+ LocateStatusType_1_2 locate_status;
+ };
+
+ /**
+ @deprecated
+ */
+published struct FragmentHeader_1_2
+ {
+ unsigned long request_id;
+ };
+
+
+}; }; }; }; };
+
diff --git a/udkapi/com/sun/star/corba/giop/makefile.mk b/udkapi/com/sun/star/corba/giop/makefile.mk
new file mode 100644
index 000000000000..1e05e5619965
--- /dev/null
+++ b/udkapi/com/sun/star/corba/giop/makefile.mk
@@ -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.
+#
+#*************************************************************************
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssgiop
+PACKAGE=com$/sun$/star$/giop
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ giop.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/corba/iiop/iiop.idl b/udkapi/com/sun/star/corba/iiop/iiop.idl
new file mode 100644
index 000000000000..055b4c8506bb
--- /dev/null
+++ b/udkapi/com/sun/star/corba/iiop/iiop.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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 <com/sun/star/corba/giop/giop.idl>
+module com { module sun { module star { module corba { module iiop
+{
+ /**
+ @deprecated
+ */
+published struct Version
+ {
+ byte major;
+ byte minor;
+ };
+
+
+ /**
+ @deprecated
+ */
+published struct ProfileBody_1_0
+ {// renamed from ProfileBody
+ Version iiop_version;
+ CorbaString8 host;
+ unsigned short port;
+ sequence <byte> object_key;
+ };
+
+ /**
+ @deprecated
+ */
+published struct ProfileBody_1_1
+ {// also used for 1.2
+ Version iiop_version;
+ CorbaString8 host;
+ unsigned short port;
+ sequence < byte > object_key;
+// Added in 1.1 unchanged for 1.2
+ sequence <com::sun::star::corba::iop::TaggedComponent> components;
+ };
+
+ /**
+ @deprecated
+ */
+published struct ListenPoint
+ {
+ CorbaString8 host;
+ unsigned short port;
+ };
+
+ /**
+ @deprecated
+ */
+published typedef sequence<ListenPoint> ListenPointList;
+
+ /**
+ @deprecated
+ */
+published struct BiDirIIOPServiceContext
+ {// BI_DIR_IIOP Service Context
+ ListenPointList listen_points;
+ };
+
+}; }; }; }; };
+
diff --git a/udkapi/com/sun/star/corba/iiop/makefile.mk b/udkapi/com/sun/star/corba/iiop/makefile.mk
new file mode 100644
index 000000000000..c59fd00293ba
--- /dev/null
+++ b/udkapi/com/sun/star/corba/iiop/makefile.mk
@@ -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.
+#
+#*************************************************************************
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssiiop
+PACKAGE=com$/sun$/star$/iiop
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ iiop.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/corba/iop/iop.idl b/udkapi/com/sun/star/corba/iop/iop.idl
new file mode 100644
index 000000000000..85be91f3ae47
--- /dev/null
+++ b/udkapi/com/sun/star/corba/iop/iop.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 <com/sun/star/corba/corba.idl>
+module com { module sun { module star { module corba { module iop
+{ // IDL
+
+ /**
+ @deprecated
+ */
+ published typedef unsigned long ProfileId;
+
+ /**
+ @deprecated
+ */
+ published constants ProfileIdGroup
+ {
+ const ProfileId TAG_INTERNET_IOP = 0;
+ const ProfileId TAG_MULTIPLE_COMPONENTS = 1;
+ };
+
+ /**
+ @deprecated
+ */
+ published struct TaggedProfile
+ {
+ ProfileId tag;
+ sequence <byte> profile_data;
+ };
+ // an Interoperable Object Reference is a sequence of
+ // object-specific protocol profiles, plus a type ID.
+
+ /**
+ @deprecated
+ */
+ published struct IOR
+ {
+ CorbaString8 type_id;
+ sequence <TaggedProfile> profiles;
+ };
+
+ // Standard way of representing multicomponent profiles.
+ // This would be encapsulated in a TaggedProfile.
+ /**
+ @deprecated
+ */
+ published typedef unsigned long ComponentId;
+
+ /**
+ @deprecated
+ */
+ published struct TaggedComponent
+ {
+ ComponentId tag;
+ sequence <byte> component_data;
+ };
+
+ /**
+ @deprecated
+ */
+ published typedef sequence <TaggedComponent> MultipleComponentProfile;
+
+ /**
+ @deprecated
+ */
+ published typedef unsigned long ServiceId;
+
+ /**
+ @deprecated
+ */
+ published struct ServiceContext
+ {
+ ServiceId context_id;
+ sequence < byte > context_data;
+ };
+
+ /**
+ @deprecated
+ */
+ published typedef sequence <ServiceContext> ServiceContextList;
+
+ /**
+ @deprecated
+ */
+ published constants ServiceIdGroup
+ {
+ const ServiceId TransactionService = 0;
+ const ServiceId CodeSets = 1;
+ const ServiceId ChainBypassCheck = 2;
+ const ServiceId ChainBypassInfo = 3;
+ const ServiceId LogicalThreadId = 4;
+ const ServiceId BI_DIR_IIOP = 5;
+ const ServiceId SendingContextRunTime = 6;
+ const ServiceId INVOCATION_POLICIES = 7;
+ const ServiceId FORWARDED_IDENTITY = 8;
+ const ServiceId UnknownExceptionInfo = 9;
+ };
+
+}; }; }; }; };
+
diff --git a/udkapi/com/sun/star/corba/iop/makefile.mk b/udkapi/com/sun/star/corba/iop/makefile.mk
new file mode 100644
index 000000000000..982c68c9afb6
--- /dev/null
+++ b/udkapi/com/sun/star/corba/iop/makefile.mk
@@ -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.
+#
+#*************************************************************************
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssiop
+PACKAGE=com$/sun$/star$/iop
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ iop.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/corba/makefile.mk b/udkapi/com/sun/star/corba/makefile.mk
new file mode 100644
index 000000000000..a959378cf827
--- /dev/null
+++ b/udkapi/com/sun/star/corba/makefile.mk
@@ -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.
+#
+#*************************************************************************
+PRJ=..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=csscorba
+PACKAGE=com$/sun$/star$/corba
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ corba.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/io/AlreadyConnectedException.idl b/udkapi/com/sun/star/io/AlreadyConnectedException.idl
new file mode 100644
index 000000000000..4430eacda8ad
--- /dev/null
+++ b/udkapi/com/sun/star/io/AlreadyConnectedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_AlreadyConnectedException_idl__
+#define __com_sun_star_io_AlreadyConnectedException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::AlreadyConnectedException
+/** is thrown when a client tries to connect to a resource to which he is
+ already connected.
+ */
+exception AlreadyConnectedException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/BufferSizeExceededException.idl b/udkapi/com/sun/star/io/BufferSizeExceededException.idl
new file mode 100644
index 000000000000..881ae786b1cc
--- /dev/null
+++ b/udkapi/com/sun/star/io/BufferSizeExceededException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_BufferSizeExceededException_idl__
+#define __com_sun_star_io_BufferSizeExceededException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::BufferSizeExceededException
+/** is thrown by instances which need to buffer data.
+ <p>It indicates that not enough system resources are available for
+ extending the buffer. (May also indicate that the internal buffer
+ has grown to a larger size than 2G. Some current implementations do
+ not support larger buffers.)
+ </p>
+ */
+published exception BufferSizeExceededException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/ConnectException.idl b/udkapi/com/sun/star/io/ConnectException.idl
new file mode 100644
index 000000000000..f67ae57a0e78
--- /dev/null
+++ b/udkapi/com/sun/star/io/ConnectException.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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_io_ConnectException_idl__
+#define __com_sun_star_io_ConnectException_idl__
+
+#ifndef __com_sun_star_io_SocketException_idl__
+#include <com/sun/star/io/SocketException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::ConnectException
+/** Signals that an error occurred while attempting to connect a
+ socket to a remote address and port. Typically, the connection
+ was refused remotely (e.g., no process is listening on the remote
+ address/port).
+ */
+exception ConnectException: com::sun::star::io::SocketException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/DataInputStream.idl b/udkapi/com/sun/star/io/DataInputStream.idl
new file mode 100644
index 000000000000..df11692395e0
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataInputStream.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_DataInputStream_idl__
+#define __com_sun_star_io_DataInputStream_idl__
+
+#ifndef __com_sun_star_io_XDataInputStream_idl__
+#include <com/sun/star/io/XDataInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::DataInputStream
+/** reads structured data from a chained <type>XInputStream</type>.
+ <p>
+ An implementation of this service in general does not need
+ to buffer data itself.
+
+ @see com::sun::star::io::ObjectInputStream
+ */
+published service DataInputStream
+{
+ /** allows to read structured data.
+ */
+ interface com::sun::star::io::XDataInputStream;
+
+ /** used to plug the inputstream-data-source.
+ A plain input stream is sufficient.
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** Allows to chain the DataInputStream, so that
+ */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/DataOutputStream.idl b/udkapi/com/sun/star/io/DataOutputStream.idl
new file mode 100644
index 000000000000..9bfe73312192
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataOutputStream.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_DataOutputStream_idl__
+#define __com_sun_star_io_DataOutputStream_idl__
+
+#ifndef __com_sun_star_io_XDataOutputStream_idl__
+#include <com/sun/star/io/XDataOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::DataOutputStream
+/** writes structured data to a chained <type>XOutputStream</type>.
+
+ <p>
+ An implementation of this service in general does not need
+ to buffer data itself.
+ */
+published service DataOutputStream
+{
+ /** allows to write structured data.
+ */
+ interface com::sun::star::io::XDataOutputStream;
+
+ /** used to plug the outputstream-data-sink.
+ <p>A plain output stream is sufficient.
+ */
+ interface com::sun::star::io::XActiveDataSource;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/DataTransferEvent.idl b/udkapi/com/sun/star/io/DataTransferEvent.idl
new file mode 100644
index 000000000000..d78f6eb4d64c
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataTransferEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_DataTransferEvent_idl__
+#define __com_sun_star_io_DataTransferEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::io::DataTransferEvent
+/** is broadcast by a filter.
+ @see XDataTransferEventListener
+ */
+published struct DataTransferEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::io::DataTransferEvent::aException
+ /** specifies an occurred exception.
+ */
+ any aException;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/FilePermission.idl b/udkapi/com/sun/star/io/FilePermission.idl
new file mode 100644
index 000000000000..3511e2c7e2a5
--- /dev/null
+++ b/udkapi/com/sun/star/io/FilePermission.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_FilePermission_idl__
+#define __com_sun_star_io_FilePermission_idl__
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+/** This permission represents access to a file or directory.
+ A FilePermission consists of a file url and a set of actions valid for that url.
+ <p>
+ The path of the file url that ends in <code>"/*"</code> indicates all the files and
+ directories contained in that directory. A path that ends with <code>"/-"</code>
+ indicates (recursively) all files and subdirectories contained in that
+ directory. A file url string consisting of the special token
+ <code>"&lt;&lt;ALL FILES&gt;&gt;"</code> matches any file.
+ <br>
+ Note: A file url string consisting of a single <code>"*"</code> indicates all the files
+ in the current directory, while a string consisting of a single <code>"-"</code> indicates
+ all the files in the current directory and (recursively) all files and
+ subdirectories contained in the current directory.
+ <br>
+ The actions to be granted is a list of one or more comma-separated keywords.
+ The possible keywords are <code>"read"</code>, <code>"write"</code>,
+ <code>"execute"</code>, and <code>"delete"</code>.
+ Their meaning is defined as follows:
+ <ul>
+ <li><code>read</code> -- read permission</li>
+ <li><code>write</code> -- write permission</li>
+ <li><code>execute</code> -- execute permission</li>
+ <li><code>delete</code> -- delete permission</li>
+ </ul><br>
+ The actions string is processed case-insensitive.
+ </p>
+
+ @attention
+ Be careful when granting FilePermissions. Think about the implications of
+ granting read and especially write access to various files and directories.
+ The <code>"&lt;&lt;ALL FILES&gt;&gt;"</code> permission with write action is
+ especially dangerous. This grants permission to write to the entire file system.
+
+ @since OOo 1.1.2
+*/
+published struct FilePermission
+{
+ /** target file url
+ */
+ string URL;
+ /** comma separated actions list
+ */
+ string Actions;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/IOException.idl b/udkapi/com/sun/star/io/IOException.idl
new file mode 100644
index 000000000000..6b2da1b6351d
--- /dev/null
+++ b/udkapi/com/sun/star/io/IOException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_IOException_idl__
+#define __com_sun_star_io_IOException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::IOException
+/** is thrown when an input or output error has occurred.
+ */
+published exception IOException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/MarkableInputStream.idl b/udkapi/com/sun/star/io/MarkableInputStream.idl
new file mode 100644
index 000000000000..65058592cc06
--- /dev/null
+++ b/udkapi/com/sun/star/io/MarkableInputStream.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_DataInputStream_idl__
+#define __com_sun_star_io_DataInputStream_idl__
+
+#ifndef __com_sun_star_io_XMarkableStream_idl__
+#include <com/sun/star/io/XMarkableStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+
+module com { module sun { module star { module io {
+
+//==========================================================================
+/** allows to set marks in an inputstream and to later jump back to these
+ marks.
+ <p>The implementation reads the original data from the input stream,
+ that has been set previously at the <type>XActiveDataSink</type>
+ interface. In general the implementation must buffer the data. </p>
+ */
+published service MarkableInputStream
+{
+ /** allows to access the data of this stream
+ */
+ interface com::sun::star::io::XInputStream;
+
+ /** allows to create marks at the current position
+ and to set the current position.
+ */
+ interface com::sun::star::io::XMarkableStream;
+
+ /** allows to access to the underlying source
+ of this stream.
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+
+
+#endif
diff --git a/udkapi/com/sun/star/io/MarkableOutputStream.idl b/udkapi/com/sun/star/io/MarkableOutputStream.idl
new file mode 100644
index 000000000000..576f7f56452a
--- /dev/null
+++ b/udkapi/com/sun/star/io/MarkableOutputStream.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_DataInputStream_idl__
+#define __com_sun_star_io_DataInputStream_idl__
+
+#ifndef __com_sun_star_io_XMarkableStream_idl__
+#include <com/sun/star/io/XMarkableStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+
+module com { module sun { module star { module io {
+
+//==========================================================================
+/** allows to set marks in an outputstream and to later jump back to these
+ marks.
+ <p>The implementation stores the data as long as marks exists
+ and later writes these data into the output stream,
+ that has been set previously at the <type>XActiveDataSource</type>
+ interface. </p>
+ */
+published service MarkableOutputStream
+{
+ /** allows to write data at the current position.
+ <p> Flushing the outputstream will only flush data,
+ which was written before the first non-deleted mark,
+ because data after the first non-deleted mark
+ may be modified by later jumpToMark()/writeBytes() calls.
+ */
+ interface com::sun::star::io::XOutputStream;
+
+ /** allows to create marks at the current position
+ and to set the current position.
+ */
+ interface com::sun::star::io::XMarkableStream;
+
+ /** allows to access to the underlying sink
+ of this stream.
+ */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+
+
+#endif
diff --git a/udkapi/com/sun/star/io/NoRouteToHostException.idl b/udkapi/com/sun/star/io/NoRouteToHostException.idl
new file mode 100644
index 000000000000..c37663eaf55d
--- /dev/null
+++ b/udkapi/com/sun/star/io/NoRouteToHostException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_NoRouteToHostException_idl__
+#define __com_sun_star_io_NoRouteToHostException_idl__
+
+#ifndef __com_sun_star_io_SocketException_idl__
+#include <com/sun/star/io/SocketException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::NoRouteToHostException
+/** Signals that an error occurred while attempting to connect a socket to
+ a remote address and port. Typically, the remote host cannot be reached
+ because of an intervening firewall, or if an intermediate router is down.
+ */
+exception NoRouteToHostException: com::sun::star::io::SocketException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/NotConnectedException.idl b/udkapi/com/sun/star/io/NotConnectedException.idl
new file mode 100644
index 000000000000..956e10896f96
--- /dev/null
+++ b/udkapi/com/sun/star/io/NotConnectedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_NotConnectedException_idl__
+#define __com_sun_star_io_NotConnectedException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::NotConnectedException
+/** is thrown when a read/write operation is tried on an instance that has
+ not been chained properly.
+ */
+published exception NotConnectedException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/ObjectInputStream.idl b/udkapi/com/sun/star/io/ObjectInputStream.idl
new file mode 100644
index 000000000000..69e98d3a1d6e
--- /dev/null
+++ b/udkapi/com/sun/star/io/ObjectInputStream.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_ObjectInputStream_idl__
+#define __com_sun_star_io_ObjectInputStream_idl__
+
+#ifndef __com_sun_star_io_XObjectInputStream_idl__
+#include <com/sun/star/io/XObjectInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+#ifndef __com_sun_star_io_XMarkableStream_idl__
+#include <com/sun/star/io/XMarkableStream.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::ObjectInputStream
+/** is a stream which allows reading the data of persistent objects.
+
+ <p>Implementations of this service must fulfill the specifications of the
+ <type>DataInputStream</type> service. It must be chained to an
+ <type>XMarkableStream</type>. Therefore, it provides the
+ <type>XMarkableStream</type> interface, and delegates the calls to the
+ chained object. </p>
+ <p>The written objects are held until this instance is destroyed.
+ The references to the objects are read as four-byte integers.
+ Data format reads:</p>
+
+ <pre>
+ short InfoLength
+ long ObjectReference // 0 indicates no object
+ UTF ServiceName // length of 0 indicates this is only a reference
+ long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data
+ Object ObjectData // the data of the object
+ ... // skipping additional data
+ </pre>
+
+ @guarantees
+ <ul>
+ <li>-thread safe</li>
+ <li>-allow buffer size is 2 ^ 31 -1</li>
+ <li>-maximum object reference identifier must be the number of objects. </li>
+ <li>-object reference identifier 0 indicates no object</li>
+ <li>-skip addition data</li>
+ <li>-set the stream position behind the object data</li>
+ </ul>
+ */
+published service ObjectInputStream
+{
+ /** allows to read the data from the stream.
+ */
+ interface com::sun::star::io::XObjectInputStream;
+
+ /** allows to set the underlying inputstream */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+ /** allows to set marks within the stream. The implementation
+ may forward calls to this interface to a chained markablestream. */
+ interface com::sun::star::io::XMarkableStream;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/ObjectOutputStream.idl b/udkapi/com/sun/star/io/ObjectOutputStream.idl
new file mode 100644
index 000000000000..3669db12b723
--- /dev/null
+++ b/udkapi/com/sun/star/io/ObjectOutputStream.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_ObjectOutputStream_idl__
+#define __com_sun_star_io_ObjectOutputStream_idl__
+
+#ifndef __com_sun_star_io_XObjectOutputStream_idl__
+#include <com/sun/star/io/XObjectOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::ObjectOutputStream
+/** is a stream which allows writing the data of persistent objects.
+
+ <p>Implementations of this service must fulfill the specifications of the
+ <type>DataOutputStream</type> service; futhermore, the stream needs to be chained to a
+ <type>XMarkableStream</type>. Therefore, it also provides the <type>XMarkableStream</type>
+ interface, but it delegates the calls to the chained object.
+ The written objects are held until this instance is destroyed.
+ The references to the objects are written as four-byte integers
+ and begin at 1. Data format is written: </p>
+ <pre>
+ short InfoLength
+ long ObjectReference // 0 indicates no object
+ UTF ServiceName // length of 0 indicates this is only a reference
+ long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data
+ Object ObjectData // the data of the object
+ </pre>
+
+ @garantees
+ <ul>
+ <li>-thread safe </li>
+ <li>-allow buffer size is 2 ^ 31 -1 </li>
+ <li>-maximum object reference identifier is the number of objects. </li>
+ <li>-object reference identifier 0 indicates no object </li>
+ </ul>
+ */
+published service ObjectOutputStream
+{
+ /** allows to write the data to the stream.
+ */
+ interface com::sun::star::io::XObjectOutputStream;
+
+ /** allows to set the underlying outputstream */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/Pipe.idl b/udkapi/com/sun/star/io/Pipe.idl
new file mode 100644
index 000000000000..256f6357a447
--- /dev/null
+++ b/udkapi/com/sun/star/io/Pipe.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_Pipe_idl__
+#define __com_sun_star_io_Pipe_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::Pipe
+/** the implementation of an output stream and an input stream.
+ <p>
+ All data written through the outputstream is buffered until it is
+ read again from the input stream. Often two different threads access
+ input and outputstream.
+
+ <p> With the pipe-service, an outputstream can be converted into an
+ input stream at the cost of an additional buffer.
+ */
+published service Pipe
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::io::XOutputStream;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::io::XInputStream;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/Pump.idl b/udkapi/com/sun/star/io/Pump.idl
new file mode 100644
index 000000000000..7e52e917d979
--- /dev/null
+++ b/udkapi/com/sun/star/io/Pump.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_Pipe_idl__
+#define __com_sun_star_io_Pipe_idl__
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataControl_idl__
+#include <com/sun/star/io/XActiveDataControl.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::Pump
+/** the implementation of a data source and a data sink.
+ <p>A thread will be created that reads from the input stream and writes
+ the data to the connected output stream. Data will not be buffered by
+ this service. </p>
+
+ */
+published service Pump
+{
+ /** allows to set the outputstream
+ */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to set the inputstream
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows listener administration and starting/stopping the pump */
+ interface com::sun::star::io::XActiveDataControl;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/SequenceInputStream.idl b/udkapi/com/sun/star/io/SequenceInputStream.idl
new file mode 100644
index 000000000000..e480b280c0bd
--- /dev/null
+++ b/udkapi/com/sun/star/io/SequenceInputStream.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_SequenceInputStream_idl__
+#define __com_sun_star_io_SequenceInputStream_idl__
+
+#ifndef __com_sun_star_io_XSeekableInputStream_idl__
+#include <com/sun/star/io/XSeekableInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::io::SequenceInputStream
+/** This service allows to wrap a sequence of bytes with a stream object.
+ */
+published service SequenceInputStream : XSeekableInputStream
+{
+ /** allows to create a stream based on the sequence.
+ */
+ createStreamFromSequence( [in] sequence<byte> aData );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/SequenceOutputStream.idl b/udkapi/com/sun/star/io/SequenceOutputStream.idl
new file mode 100644
index 000000000000..7822ac991004
--- /dev/null
+++ b/udkapi/com/sun/star/io/SequenceOutputStream.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_SequenceOutputStream_idl__
+#define __com_sun_star_io_SequenceOutputStream_idl__
+
+#ifndef __com_sun_star_io_XSequenceOutputStream_idl__
+#include <com/sun/star/io/XSequenceOutputStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** This service allows to wrap a sequence of bytes with a output stream object.
+ */
+service SequenceOutputStream : XSequenceOutputStream;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/SocketException.idl b/udkapi/com/sun/star/io/SocketException.idl
new file mode 100644
index 000000000000..2d53f43c0579
--- /dev/null
+++ b/udkapi/com/sun/star/io/SocketException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_SocketException_idl__
+#define __com_sun_star_io_SocketException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::SocketException
+/** Thrown to indicate that there is an error in the underlying
+ protocol, such as a TCP error.
+ */
+exception SocketException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/TempFile.idl b/udkapi/com/sun/star/io/TempFile.idl
new file mode 100644
index 000000000000..84d16e362db0
--- /dev/null
+++ b/udkapi/com/sun/star/io/TempFile.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_TempFile_idl__
+#define __com_sun_star_io_TempFile_idl__
+
+#ifndef __com_sun_star_io_XTempFile_idl__
+#include <com/sun/star/io/XTempFile.idl>
+#endif
+
+
+//=========================================================================
+module com { module sun { module star { module io {
+
+//========================================================================
+/** This service allows to get access to temp files.
+ */
+service TempFile : XTempFile;
+
+//=========================================================================
+
+}; }; }; };
+
+#endif \ No newline at end of file
diff --git a/udkapi/com/sun/star/io/TextInputStream.idl b/udkapi/com/sun/star/io/TextInputStream.idl
new file mode 100644
index 000000000000..6f5e8dd00ac5
--- /dev/null
+++ b/udkapi/com/sun/star/io/TextInputStream.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_TextInputStream_idl__
+#define __com_sun_star_io_TextInputStream_idl__
+
+#ifndef __com_sun_star_io_XTextInputStream_idl__
+#include <com/sun/star/io/XTextInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_io_XConnectable_idl__
+#include <com/sun/star/io/XConnectable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** provides functionality to read text data from a
+ <type scope="com::sun::star::io">XInputStream</type>
+ that initially has to be passed to the method
+ <member>XActiveDataSink::setInputStream()</member>.
+
+ <p>For details about the text functionality see
+ <type scope="com::sun::star::io">XTextInputStream</type>.
+ */
+published service TextInputStream
+{
+ /// Interface to read text data
+ interface com::sun::star::io::XTextInputStream;
+
+ /// Interface to specify the used <type scope="com::sun::star::io">XInputStream</type>
+ interface com::sun::star::io::XActiveDataSink;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/TextOutputStream.idl b/udkapi/com/sun/star/io/TextOutputStream.idl
new file mode 100644
index 000000000000..879b58070580
--- /dev/null
+++ b/udkapi/com/sun/star/io/TextOutputStream.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_TextOutputStream_idl__
+#define __com_sun_star_io_TextOutputStream_idl__
+
+#ifndef __com_sun_star_io_XTextOutputStream_idl__
+#include <com/sun/star/io/XTextOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** provides functionality to write text data to a
+ <type scope="com::sun::star::io">XOutputStream</type>
+ that initially has to be passed to the method
+ <member>XActiveDataSource::setOutputStream()</member>.
+
+ <p>For details about the text functionality see
+ <type scope="com::sun::star::io">XTextOutputStream</type>.
+ */
+published service TextOutputStream
+{
+ /// Interface to write text data
+ interface com::sun::star::io::XTextOutputStream;
+
+ /// Interface to specify the used <type scope="com::sun::star::io">XOutputStream</type>
+ interface com::sun::star::io::XActiveDataSource;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/UnexpectedEOFException.idl b/udkapi/com/sun/star/io/UnexpectedEOFException.idl
new file mode 100644
index 000000000000..234174a69c32
--- /dev/null
+++ b/udkapi/com/sun/star/io/UnexpectedEOFException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_UnexpectedEOFException_idl__
+#define __com_sun_star_io_UnexpectedEOFException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::UnexpectedEOFException
+/** is thrown when the <code>EOF/code> is reached during reading a datatype
+ (<code>long</code>, <code>string</code>, etc.).
+ */
+published exception UnexpectedEOFException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/UnknownHostException.idl b/udkapi/com/sun/star/io/UnknownHostException.idl
new file mode 100644
index 000000000000..6cb2cf423b5c
--- /dev/null
+++ b/udkapi/com/sun/star/io/UnknownHostException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_UnknownHostException_idl__
+#define __com_sun_star_io_UnknownHostException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::UnknownHostException
+/** is thrown when the IP address of a host could not be determined.
+ */
+exception UnknownHostException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/WrongFormatException.idl b/udkapi/com/sun/star/io/WrongFormatException.idl
new file mode 100644
index 000000000000..8be8f31c2c1c
--- /dev/null
+++ b/udkapi/com/sun/star/io/WrongFormatException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_WrongFormatException_idl__
+#define __com_sun_star_io_WrongFormatException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::io::WrongFormatException
+/** is thrown when inconsistent data comes up while reading a complex
+ data type (<code>string</code> or object).
+ */
+published exception WrongFormatException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XActiveDataControl.idl b/udkapi/com/sun/star/io/XActiveDataControl.idl
new file mode 100644
index 000000000000..9e53a38b3d44
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataControl.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XActiveDataControl_idl__
+#define __com_sun_star_io_XActiveDataControl_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStreamListener_idl__
+#include <com/sun/star/io/XStreamListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XActiveDataControl
+/** makes it possible to control an active data source.
+
+ <p>This interface should be supported by objects which implement
+ <type>XActiveDataSource</type> or <type>XActiveDataSink</type>.</p>
+ */
+published interface XActiveDataControl: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataControl::addListener
+ /** registers an object to receive events from this data source.
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addListener( [in] com::sun::star::io::XStreamListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataControl::removeListener
+ /** unregisters an object to receive events from this data source.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removeListener( [in] com::sun::star::io::XStreamListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataControl::start
+ /** starts I/O.
+
+ <p>Either <member>XActiveDataControl::setInputStream()</member> or
+ <member>XActiveDataControl::setOutputStream()</member> must be called beforehand.
+ </p>
+
+ <p>This method does not block the thread, so reading is
+ generally not finished when the method returns. </p>
+ */
+ void start();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataControl::terminate
+ /** does a weak abort.
+
+ <p>It closes all connected resources and calls
+ <member>XInputStream::close</member> or
+ <member>XOutputStream::close</member> and fires the
+ <member>XStreamListener::terminated</member>-event.</p>
+ */
+ void terminate();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XActiveDataSink.idl b/udkapi/com/sun/star/io/XActiveDataSink.idl
new file mode 100644
index 000000000000..3602e4d7c538
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataSink.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XActiveDataSink_idl__
+#define __com_sun_star_io_XActiveDataSink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XActiveDataSink
+/** makes it possible to read the corresponding object from an input stream.
+
+ <p>If you want to allow control from outside, also implement the
+ <type>XActiveDataControl</type> interface. </p>
+ */
+published interface XActiveDataSink: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataSink::setInputStream
+ /** plugs the input stream.
+
+ <p>If <type>XConnectable</type> is also implemented, this
+ method should query <var>aStream</var> for an
+ <type>XConnectable</type> and connect both.</p>
+ */
+ void setInputStream( [in] com::sun::star::io::XInputStream aStream );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XActiveDataSink::getInputStream
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XInputStream getInputStream();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XActiveDataSource.idl b/udkapi/com/sun/star/io/XActiveDataSource.idl
new file mode 100644
index 000000000000..441dedf5f371
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataSource.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XActiveDataSource_idl__
+#define __com_sun_star_io_XActiveDataSource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XActiveDataSource
+/** has to be implemented if the class should be able to write into an output
+ stream.
+ @see XActiveDataControl.
+ */
+published interface XActiveDataSource: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataSource::setOutputStream
+ /** plugs the output stream.
+
+ <p>If <type>XConnectable</type> is also implemented, this
+ method should query <var>aStream</var> for a
+ <type>XConnectable</type> and connect both.
+ </p>
+ */
+ void setOutputStream( [in] com::sun::star::io::XOutputStream aStream );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XActiveDataSource::getOutputStream
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XOutputStream getOutputStream();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XActiveDataStreamer.idl b/udkapi/com/sun/star/io/XActiveDataStreamer.idl
new file mode 100644
index 000000000000..686981525d90
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataStreamer.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XActiveDataStreamer_idl__
+#define __com_sun_star_io_XActiveDataStreamer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XActiveDataStreamer
+/** makes it possible to read and write the corresponding stream.
+
+
+ <p>If you want to allow control from outside, also implement the
+ <type>XActiveDataControl</type> interface. </p>
+ */
+published interface XActiveDataStreamer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XActiveDataStreamer::setStream
+ /** plugs the input/output stream.
+
+ <p>If <type>XConnectable</type> is also implemented, this
+ method should query <var>aStream</var> for a
+ <type>XConnectable</type> and connect both.</p>
+ */
+ void setStream( [in] com::sun::star::io::XStream aStream );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XActiveDataStreamer::getStream
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XStream getStream();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
new file mode 100644
index 000000000000..aa5a0ba1802c
--- /dev/null
+++ b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XAsyncOutputMonitor_idl__
+#define __com_sun_star_io_XAsyncOutputMonitor_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include "com/sun/star/io/IOException.idl"
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include "com/sun/star/uno/XInterface.idl"
+#endif
+
+module com { module sun { module star { module io {
+
+/**
+ An optional companion interface to
+ <type scope="com::sun::star::io">XOutputStream</type> that supports scenarios
+ where <member scope="com::sun::star::io">XOutputStream::writeBytes</member>
+ operates asynchronously and does not necessarily report any errors.
+
+ <p>A typical scenario where this interface is useful is when an
+ <type scope="com::sun::star::io">XOutputStream</type> is used to write to a
+ file via NFS. Normally, any calls to
+ <member scope="com::sun::star::io">XOutputStream::writeBytes</member> will
+ execute asynchronously then, in that any potential errors might only be
+ reported by later calls to
+ <member scope="com::sun::star::io">XOutputStream::writeBytes</member> or
+ <member scope="com::sun::star::io">XOutputStream::closeOutput</member>. If
+ such an output stream shall not be closed immediately after one or more calls
+ to <member scope="com::sun::star::io">XOutputStream::writeBytes</member>, but
+ the client wants to know as soon as possible whether writing was successful,
+ then <member
+ scope="com::sun::star::io">XAsyncOutputMonitor::waitForCompletion</member>
+ should be called after the series of calls to
+ <member scope="com::sun::star::io">XOutputStream::writeBytes</member>.</p>
+
+ @since OOo2.0.0
+*/
+interface XAsyncOutputMonitor {
+ /**
+ waits for the completion of any previous calls to
+ <member scope="com::sun::star::io">XOutputStream::writeBytes</member>,
+ and reports potentially pending errors.
+
+ <p>Calling this method is potentially expensive (even if the associated
+ <type scope="com::sun::star::io">XOutputStream</type> represents a local
+ file not accessed via NFS, for example). This method has a similar
+ description to
+ <member scope="com::sun::star::io">XOutputStream::flush</member>.
+ However, where the semantics of <code>flush</code> are rather vague,
+ <code>waitForCompletion</code> has very specific semantics&mdash;it just
+ blocks long enough so that any errors encountered during previous calls
+ to <member scope="com::sun::star::io">XOutputStream::writeBytes</member>
+ can reliably be reported. It specificially does not guarantee that any
+ data have savely been stored on a stable physical medium, like a hard
+ disk (and it is completely unspecified whether <code>flush</code> should
+ give this guarantee).</p>
+
+ @throws com::sun::star::io::IOException
+ if any previous call to <member
+ scope="com::sun::star::io">XOutputStream::writeBytes</member> encountered
+ such an error, but has not yet reported it (in cases where
+ <code>writeBytes</code> operates asynchronously).
+ */
+ void waitForCompletion() raises (IOException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XConnectable.idl b/udkapi/com/sun/star/io/XConnectable.idl
new file mode 100644
index 000000000000..8286e5add4af
--- /dev/null
+++ b/udkapi/com/sun/star/io/XConnectable.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XConnectable_idl__
+#define __com_sun_star_io_XConnectable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XConnectable
+/** makes it possible to connect data sinks and sources.
+
+ <p>The predecessor-member is the element in the connection that is
+ nearer to the source of the data. The successor-member is the element
+ that is further away from the source of the data. (Note that this
+ classification does not depend on whether the class implements
+ <type>XInputStream</type> or <type>XOutputStream</type>; it only
+ depends on the direction of data flow.) </p>
+ <p>This interface allows generic services to navigate between
+ arbitrary elements of a connection.</p>
+ */
+published interface XConnectable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XConnectable::setPredecessor
+ /** sets the source of the data flow for this object.
+ */
+ void setPredecessor( [in] com::sun::star::io::XConnectable aPredecessor );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XConnectable::getPredecessor
+ /** @returns
+ the predecessor of this object.
+ */
+ com::sun::star::io::XConnectable getPredecessor();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XConnectable::setSuccessor
+ /** sets the sink of the data flow for this object.
+ */
+ void setSuccessor( [in] com::sun::star::io::XConnectable aSuccessor );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XConnectable::getSuccessor
+ /** @returns
+ the successor of this object.
+ */
+ com::sun::star::io::XConnectable getSuccessor();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XDataExporter.idl b/udkapi/com/sun/star/io/XDataExporter.idl
new file mode 100644
index 000000000000..672342a8a7a9
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataExporter.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XDataExporter_idl__
+#define __com_sun_star_io_XDataExporter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_io_XDataTransferEventListener_idl__
+#include <com/sun/star/io/XDataTransferEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XDataExporter
+/** makes it possible to export data from a component into a data sink.
+
+ <p>Exporter objects are registered for specific components and data types.
+ </p>
+ */
+published interface XDataExporter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataExporter::exportData
+ /** exports data for a component into an output stream.
+ */
+ [oneway] void exportData( [in] com::sun::star::io::XOutputStream aOutputStream,
+ [in] com::sun::star::lang::XComponent Component,
+ [in] com::sun::star::io::XDataTransferEventListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataExporter::cancel
+ /** cancels the export process.
+ */
+ [oneway] void cancel();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XDataImporter.idl b/udkapi/com/sun/star/io/XDataImporter.idl
new file mode 100644
index 000000000000..b395ad91ceb1
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataImporter.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XDataImporter_idl__
+#define __com_sun_star_io_XDataImporter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_io_XDataTransferEventListener_idl__
+#include <com/sun/star/io/XDataTransferEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XDataImporter
+/** makes it possible to import data from a data source into a component.
+
+ <p>Importer objects are registered for specific components and data types.</p>
+ */
+published interface XDataImporter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataImporter::importData
+ /** imports data for a component from an active data source.
+ */
+ [oneway] void importData( [in] com::sun::star::io::XActiveDataSource aActiveSource,
+ [in] com::sun::star::lang::XComponent Component,
+ [in] com::sun::star::io::XDataTransferEventListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataImporter::cancel
+ /** cancels the import process.
+ */
+ [oneway] void cancel();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XDataInputStream.idl b/udkapi/com/sun/star/io/XDataInputStream.idl
new file mode 100644
index 000000000000..fc5183e89acc
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataInputStream.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XDataInputStream_idl__
+#define __com_sun_star_io_XDataInputStream_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XDataInputStream
+/** makes it possible to read machine-independent simple data types from a
+ stream.
+ @see com::sun::star::io::XDataOutputStream
+ */
+published interface XDataInputStream: com::sun::star::io::XInputStream
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readBoolean
+ /** reads in a boolean. It is an 8-bit value. 0 means FALSE; all
+ other values mean TRUE.
+ */
+ byte readBoolean()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readByte
+ /** reads an 8-bit byte.
+ */
+ byte readByte()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readChar
+ /** reads a 16-bit unicode character.
+ */
+ char readChar()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readShort
+ /** reads a 16-bit big endian integer.
+ */
+ short readShort()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readLong
+ /** reads a 32-bit big endian integer.
+ */
+ long readLong()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readHyper
+ /** reads a 64-bit big endian integer.
+ */
+ hyper readHyper()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readFloat
+ /** reads a 32-bit IEEE float.
+ */
+ float readFloat()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readDouble
+ /** reads a 64-bit IEEE double.
+ */
+ double readDouble()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataInputStream::readUTF
+ /** reads a string of UTF encoded characters.
+ */
+ string readUTF()
+ raises( com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XDataOutputStream.idl b/udkapi/com/sun/star/io/XDataOutputStream.idl
new file mode 100644
index 000000000000..ab64c9920257
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataOutputStream.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XDataOutputStream_idl__
+#define __com_sun_star_io_XDataOutputStream_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XDataOutputStream
+/** makes it possible to write machine-independent simple data types to a
+ stream.
+ @see com::sun::star::io::XDataInputStream
+ */
+published interface XDataOutputStream: com::sun::star::io::XOutputStream
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeBoolean
+ /** writes a boolean. It is an 8-bit value. 0 means FALSE; all other
+ values mean TRUE.
+ */
+ void writeBoolean( [in] boolean Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeByte
+ /** writes an 8-bit byte.
+ */
+ void writeByte( [in] byte Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeChar
+ /** writes a 16-bit character.
+ */
+ void writeChar( [in] char Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeShort
+ /** writes a 16-bit big endian integer.
+ */
+ void writeShort( [in] short Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeLong
+ /** writes a 32-bit big endian integer.
+ */
+ void writeLong( [in] long Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeHyper
+ /** writes a 64-bit big endian integer.
+ */
+ void writeHyper( [in] hyper Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeFloat
+ /** writes a 32-bit IEEE float.
+ */
+ void writeFloat( [in] float Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeDouble
+ /** writes a 64-bit IEEE double.
+ */
+ void writeDouble( [in] double Value )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeUTF
+ /** writes a string in UTF format.
+ */
+ void writeUTF( [in] string Value )
+ raises( com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XDataTransferEventListener.idl b/udkapi/com/sun/star/io/XDataTransferEventListener.idl
new file mode 100644
index 000000000000..2cc7d83a9e73
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataTransferEventListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XDataTransferEventListener_idl__
+#define __com_sun_star_io_XDataTransferEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_io_DataTransferEvent_idl__
+#include <com/sun/star/io/DataTransferEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XDataTransferEventListener
+/** is used to receive callbacks from an importer or exporter.
+ */
+published interface XDataTransferEventListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataTransferEventListener::finished
+ /** is called when an import or export process has finished.
+ */
+ [oneway] void finished( [in] com::sun::star::io::DataTransferEvent aEvent );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XDataTransferEventListener::cancelled
+ /** is called when an import or export process has been cancelled.
+ */
+ [oneway] void cancelled( [in] com::sun::star::io::DataTransferEvent aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XInputStream.idl b/udkapi/com/sun/star/io/XInputStream.idl
new file mode 100644
index 000000000000..2ebbde5d61b1
--- /dev/null
+++ b/udkapi/com/sun/star/io/XInputStream.idl
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XInputStream_idl__
+#define __com_sun_star_io_XInputStream_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_BufferSizeExceededException_idl__
+#include <com/sun/star/io/BufferSizeExceededException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XInputStream
+/** This is the basic interface to read data from a stream.
+ <p>
+ See the <a href="http://udk.openoffice.org/common/man/concept/streams.html">
+ streaming document</a> for further information on chaining and piping streams.
+ */
+published interface XInputStream: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XInputStream::readBytes
+ /** reads the specified number of bytes in the given sequence.
+
+ <p>The return value specifies the number of bytes which have been
+ put into the sequence. A difference between <var>nBytesToRead</var>
+ and the return value indicates that EOF has been reached. This means
+ that the method blocks until the specified number of bytes are
+ available or the EOF is reached. </p>
+ @param aData
+ after the call, the byte sequence contains the requested number
+ of bytes (or less as a sign of EOF).
+
+ <p>
+ C++ only : Note that for unbridged (e.g., in-process)
+ calls, using the same sequence for repetive readBytes()-calls
+ can bear a performance advantage. The callee can put the data
+ directly into the sequence so that no buffer reallocation is
+ necessary.
+ But this holds only when
+ <ol>
+ <li> neither caller nor callee keep a second reference to the same
+ sequence.
+ <li> the sequence is pre-allocated with the requested number of bytes.
+ <li> the same sequence is reused ( simply preallocationg a new
+ sequence for every call bears no advantage ).
+ <li> the call is not bridged (e.g., betweeen different compilers
+ or different processes ).
+ </ol>
+
+ If the same 'optimized' code runs against an interface in a different process,
+ there is an unnecessary memory allocation/deallocation (the out parameter
+ is of course NOT transported over the connection), but this should
+ be negligible compared to a synchron call.
+ @param nBytesToRead
+ the total number of bytes to read
+ */
+ long readBytes( [out] sequence<byte> aData,
+ [in] long nBytesToRead )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XInputStream::readSomeBytes
+ /** reads the available number of bytes, at maximum
+ <var>nMaxBytesToRead</var>.
+
+ <p>This method is very similar to the readBytes method, except that
+ it has different blocking behaviour.
+ The method blocks as long as at least 1 byte is available or
+ EOF has been reached. EOF has only been reached, when the method
+ returns 0 and the corresponding byte sequence is empty.
+ Otherwise, after the call, aData contains the available,
+ but no more than nMaxBytesToRead, bytes.
+ @param aData contains the data read from the stream.
+ @param nMaxBytesToRead The maximum number of bytes to be read from this
+ stream during the call.
+ @see com::sun::star::io::XInputStream::readBytes
+ */
+ long readSomeBytes( [out] sequence<byte> aData,
+ [in] long nMaxBytesToRead )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XInputStream::skipBytes
+ /** skips the next <var>nBytesToSkip</var> bytes (must be positive).
+
+ <p>It is up to the implementation whether this method is
+ blocking the thread or not. </p>
+ @param nBytesToSkip
+ number of bytes to skip
+ */
+ void skipBytes( [in] long nBytesToSkip )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XInputStream::available
+ /** states how many bytes can be read or skipped without blocking.
+
+ <p>Note: This method offers no information on whether the EOF
+ has been reached. </p>
+ */
+ long available()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException
+ );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XInputStream::closeInput
+ /** closes the stream.
+
+ <p>Users must close the stream explicitly when no further
+ reading should be done. (There may exist ring references to
+ chained objects that can only be released during this call.
+ Thus not calling this method would result in a leak of memory or
+ external resources.) </p>
+ */
+ void closeInput()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException);
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XInputStreamProvider.idl b/udkapi/com/sun/star/io/XInputStreamProvider.idl
new file mode 100644
index 000000000000..f45aae34fb06
--- /dev/null
+++ b/udkapi/com/sun/star/io/XInputStreamProvider.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XInputStreamProvider_idl__
+#define __com_sun_star_io_XInputStreamProvider_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+/** Interface for providing an input stream.
+
+ <p>Every time createInputStream() is called a new input stream
+ is returned, always pointing to the begin of the same data. All
+ input streams returned by <member>createInputStream()</member>
+ are completely independend from each other.</p>
+*/
+published interface XInputStreamProvider : com::sun::star::uno::XInterface
+{
+ /** Creates a new input stream, every time providing
+ the same data.
+
+ @return
+ a new input stream
+ */
+ com::sun::star::io::XInputStream createInputStream();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XMarkableStream.idl b/udkapi/com/sun/star/io/XMarkableStream.idl
new file mode 100644
index 000000000000..856b01cef2bf
--- /dev/null
+++ b/udkapi/com/sun/star/io/XMarkableStream.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XMarkableStream_idl__
+#define __com_sun_star_io_XMarkableStream_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XMarkableStream
+/** makes it possible to set and remove seekable marks to a stream.
+ */
+published interface XMarkableStream: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XMarkableStream::createMark
+ /** creates a mark of the current postion and returns an identifier to it.
+ */
+ long createMark()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XMarkableStream::deleteMark
+ /** deletes the mark that you previously created with
+ <member>XMarkableStream::createMark</member>.
+
+ <p>It is an error to delete a mark if other marks after this
+ exist. In this case, for reasons of robustness, the
+ implementation must delete this mark and all others after
+ this mark. </p>
+ */
+ void deleteMark( [in] long Mark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XMarkableStream::jumpToMark
+ /** jumps to a previously created mark.
+ */
+ void jumpToMark( [in] long nMark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+
+ /** jumps to the furthest position of the stream.
+ <p> In the inputstream case, a subsequent read call returns
+ data, that was never read or skipped over before. In the
+ outputstream case, a subsequent write call will add
+ new data at the end of the stream without overwriting existing data.
+ */
+ void jumpToFurthest()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::io::XMarkableStream::offsetToMark
+ /** @returns
+ the offset from the current stream position to the
+ mark ("current position" - "mark position").
+
+ @param nMark
+ identifies the mark which is used as a base
+ to calculate the offset of the current position.
+
+ @throws IllegalArgumentException
+ if the mark does not exist or is deleted.
+
+ @throws IOException
+ if an I/O error has occurred.
+ */
+ long offsetToMark( [in] long nMark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XObjectInputStream.idl b/udkapi/com/sun/star/io/XObjectInputStream.idl
new file mode 100644
index 000000000000..565cf5f4e9a5
--- /dev/null
+++ b/udkapi/com/sun/star/io/XObjectInputStream.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XObjectInputStream_idl__
+#define __com_sun_star_io_XObjectInputStream_idl__
+
+#ifndef __com_sun_star_io_XDataInputStream_idl__
+#include <com/sun/star/io/XDataInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+/** reads XPersistObject implementations from a stream
+ */
+published interface XObjectInputStream: com::sun::star::io::XDataInputStream
+{
+ //-------------------------------------------------------------------------
+
+ /** reads an object from the stream. In general, it
+ reads the service name, instantiaties the object and
+ calls read on the XPersistObject interface with itself
+ as argument.
+ */
+ com::sun::star::io::XPersistObject readObject()
+ raises( com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XObjectOutputStream.idl b/udkapi/com/sun/star/io/XObjectOutputStream.idl
new file mode 100644
index 000000000000..31d34a96bda0
--- /dev/null
+++ b/udkapi/com/sun/star/io/XObjectOutputStream.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XObjectOutputStream_idl__
+#define __com_sun_star_io_XObjectOutputStream_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_XDataOutputStream_idl__
+#include <com/sun/star/io/XDataOutputStream.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+ published interface XPersistObject;
+
+//=============================================================================
+
+/** stores XPersistObject implementations into the stream
+
+ <p>An implementation of the type <type>XPersistObject</type>
+ uses this interface to write its internal state into a stream.
+ Have a look there for the explanation of the concept.
+
+ @see com::sun::star::io::XPersistObject
+ */
+published interface XObjectOutputStream: XDataOutputStream
+{
+ /** writes an object to the stream.
+ @param Object the object, which shall serialize itself into the stream.
+ */
+ void writeObject( [in] XPersistObject Object )
+ raises( IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XOutputStream.idl b/udkapi/com/sun/star/io/XOutputStream.idl
new file mode 100644
index 000000000000..cc2cd61bd963
--- /dev/null
+++ b/udkapi/com/sun/star/io/XOutputStream.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XOutputStream_idl__
+#define __com_sun_star_io_XOutputStream_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_BufferSizeExceededException_idl__
+#include <com/sun/star/io/BufferSizeExceededException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XOutputStream
+/** This is the basic interface to write data to a stream.
+ <p>
+ See the <a href="http://udk.openoffice.org/common/man/concept/streams.html">
+ streaming document</a> for further information on chaining and piping streams.
+ */
+published interface XOutputStream: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XOutputStream::writeBytes
+ /** writes the whole sequence to the stream. (blocking call)
+ */
+ void writeBytes( [in] sequence<byte> aData )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XOutputStream::flush
+ /** flushes out of the stream any data that may exist in buffers.
+
+ <p>The semantics of this method are rather vague. See
+ <member scope="com::sun::star::io">
+ XAsyncOutputMonitor::waitForCompletion</member> for a similar method
+ with very specific semantics, that is useful in certain scenarios.</p>
+ */
+ void flush()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XOutputStream::closeOutput
+ /** gets called to indicate that all data has been written.
+
+ <p>If this method has not yet been called, no attached
+ <type>XInputStream</type> receives an EOF signal. No further
+ bytes may be written after this method has been called.</p>
+ */
+ void closeOutput()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XPersist.idl b/udkapi/com/sun/star/io/XPersist.idl
new file mode 100644
index 000000000000..77f750c6599d
--- /dev/null
+++ b/udkapi/com/sun/star/io/XPersist.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XPersist_idl__
+#define __com_sun_star_io_XPersist_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XPersist
+/** makes it possible to write this object to an URL or read it from an URL.
+ */
+published interface XPersist: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XPersist::write
+ /** writes all the persistent data of the object to the URL.
+ */
+ void write ( [in] string URL ) raises ( com::sun::star::io::IOException ) ;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XPersist::read
+ /** reads all the persistent data of the object from the URL.
+ */
+ void read ( [in] string URL ) raises ( com::sun::star::io::IOException ) ;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XPersistObject.idl b/udkapi/com/sun/star/io/XPersistObject.idl
new file mode 100644
index 000000000000..53da2b9a2e64
--- /dev/null
+++ b/udkapi/com/sun/star/io/XPersistObject.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XPersistObject_idl__
+#define __com_sun_star_io_XPersistObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+ published interface XObjectInputStream;
+ published interface XObjectOutputStream;
+
+//=============================================================================
+
+/** allows to make UNO objects persistent
+
+ <p>Every UNO object, that wants to be serializable, should implement
+ this interface. The object stores stores itself, when the
+ write method is called.
+ <p>
+ The object needs to be created before it deserializes
+ itself again (by using the read method). Therefor it must be
+ createable by name via a factory, which is in general
+ the global service manager. The create and read mechanism
+ is implemented by the <type scope="com::sun::star::io">ObjectInputStream</type>.
+
+ <p>The serialization format (the series of strings, integers, objects) must
+ be specified at the specification of the concrete service.
+
+ <p>The interface does not support any special versioning mechanism.
+
+ @see com::sun::star::io::XObjectOutputStream
+ @see com::sun::star::io::XObjectInputStream
+ */
+published interface XPersistObject: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** gives the service name of the object
+
+ @returns
+ the service name that specifies the behavior and the
+ persistent data format of this implementation.
+
+ <p>This name is used to create such an object by a factory
+ during deserialization. </p>
+
+ @see com::sun::star::lang::XServiceInfo::getAvailableServiceNames
+ */
+ string getServiceName();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XPersistObject::write
+ /** writes all the persistent data of the object to the stream.
+ <p>The implementation
+ must write the data in the order documented in the service specification.
+ @param OutStream the stream, the data shall be written to. The stream
+ supports simple types and other XPersistObject implementations.
+ */
+ void write( [in] com::sun::star::io::XObjectOutputStream OutStream )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XPersistObject::read
+ /** reads all the persistent data of the object from the stream.
+ <p>In case
+ other XPersistObjects are read from the stream, the implementation uses a factory
+ to create these objects (in general the global service manager).
+ <p> The implementation must read the data in the order documented at
+ the service specification.
+ @param InStream the stream, the data shall be read from.
+ */
+ void read( [in] com::sun::star::io::XObjectInputStream InStream )
+ raises( com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XSeekable.idl b/udkapi/com/sun/star/io/XSeekable.idl
new file mode 100644
index 000000000000..f22dbdb875ca
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSeekable.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XSeekable_idl__
+#define __com_sun_star_io_XSeekable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XSeekable
+/** makes it possible to seek to a certain position within a stream.
+
+ <p>This interface should be supported, if it is possible to access the
+ data at the new position quickly.
+ You should not support this interface, if you have a continuous
+ stream, for example, a video stream.
+ */
+published interface XSeekable: com::sun::star::uno::XInterface
+{
+
+ // DocMerge from xml: method com::sun::star::io::XSeekable::seek
+ /** changes the seek pointer to a new location relative to the beginning of the stream.
+
+
+ <p> This method changes the seek pointer so subsequent reads and writes can take place at a different
+ location in the stream object. It is an error to seek before the beginning of the stream or after the
+ end of the stream. </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException in case location is negative or greater than <member>XSeekable::getLength</member>.
+ */
+ void seek( [in] hyper location )
+ raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::io::IOException );
+
+
+ // DocMerge from xml: method com::sun::star::io::XSeekable::getPosition
+ /** returns the current offset of the stream.
+ @returns
+ the current offset in this stream.
+ */
+ hyper getPosition()
+ raises( com::sun::star::io::IOException );
+
+
+ // DocMerge from xml: method com::sun::star::io::XSeekable::getLength
+ /** returns the length of the stream.
+ @returns
+ the length of the storage medium on which the stream works.
+ */
+ hyper getLength()
+ raises( com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/io/XSeekableInputStream.idl b/udkapi/com/sun/star/io/XSeekableInputStream.idl
new file mode 100644
index 000000000000..63cbf0a6d306
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSeekableInputStream.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XSeekableInputStream_idl__
+#define __com_sun_star_io_XSeekableInputStream_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XSeekable_idl__
+#include <com/sun/star/io/XSeekable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** This interface can be used to represent a seekable input stream.
+ */
+published interface XSeekableInputStream
+{
+ interface XInputStream;
+ interface XSeekable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/io/XSequenceOutputStream.idl b/udkapi/com/sun/star/io/XSequenceOutputStream.idl
new file mode 100644
index 000000000000..43539f82c647
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSequenceOutputStream.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XSequenceOutputStream_idl__
+#define __com_sun_star_io_XSequenceOutputStream_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** This interface offers access to the written bytes
+*/
+interface XSequenceOutputStream
+{
+ interface XOutputStream;
+
+ /** allows to get access to the written data
+ */
+ sequence< byte > getWrittenBytes()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XStream.idl b/udkapi/com/sun/star/io/XStream.idl
new file mode 100644
index 000000000000..c24dfd020e0c
--- /dev/null
+++ b/udkapi/com/sun/star/io/XStream.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XStream_idl__
+#define __com_sun_star_io_XStream_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XStream
+/** offers read and write access to the same stream.
+ */
+published interface XStream: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStream::getInputStream
+ /** @returns
+ the <type>XInputStream</type> part of the stream. Closing the returned
+ <type>XInputStream</type> also closes any <type>XOutputStream</type> part.
+ */
+ XInputStream getInputStream();
+
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStream::getOutputStream
+ /** @returns
+ the <type>XInputStream</type> part of the stream. Closing the returned
+ <type>XOutputStream</type> also closes the <type>XInputStream</type> part.
+ */
+ XOutputStream getOutputStream();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XStreamListener.idl b/udkapi/com/sun/star/io/XStreamListener.idl
new file mode 100644
index 000000000000..5fc5d0b15edc
--- /dev/null
+++ b/udkapi/com/sun/star/io/XStreamListener.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_io_XStreamListener_idl__
+#define __com_sun_star_io_XStreamListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::io::XStreamListener
+/** makes it possible to receive events from an active data control.
+ */
+published interface XStreamListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStreamListener::started
+ /** gets called as soon as data transfer has started.
+ */
+ void started();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStreamListener::closed
+ /** gets called when data transfer terminates normally or when data
+ transfer is terminated from outside.
+
+ <p>The termination could be done using the method
+ <member>XActiveDataControl::terminate()</member>.</p>
+ */
+ void closed();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStreamListener::terminated
+ /** gets called when <member>XActiveDataControl::terminate()</member> is called.
+ */
+ void terminated();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::io::XStreamListener::error
+ /** gets called when an internal error in source or sink has occurred.
+
+ <p>After the method is called, the close is called on the
+ connected streams.</p>
+ */
+ void error( [in] any aException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XTempFile.idl b/udkapi/com/sun/star/io/XTempFile.idl
new file mode 100644
index 000000000000..94b7daaac85c
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTempFile.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XTempFile_idl__
+#define __com_sun_star_io_XTempFile_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XSeekable_idl__
+#include <com/sun/star/io/XSeekable.idl>
+#endif
+
+
+//========================================================================
+module com { module sun { module star { module io {
+
+//========================================================================
+/** This interface offers access to temp files.
+ */
+interface XTempFile
+{
+ // INTERFACES
+ //
+ // -------------------------------------------------------------------
+ /** interface <type>XStream</type> offers read and write access to
+ the same stream.
+ */
+ interface XStream;
+
+ // --------------------------------------------------------------------
+ /** interface <type>XSeekable</type> makes it possible to seek to a
+ certain position within a stream.
+ */
+ interface XSeekable;
+
+ // ATTRIBUTES
+ //
+ // --------------------------------------------------------------------
+ /** This attribute controls whether the file will be automatically
+ removed on object destruction.
+ */
+ [attribute] boolean RemoveFile;
+
+ // --------------------------------------------------------------------
+ /** This attribute specifies the URL of the temp file.
+ */
+ [readonly,attribute] string Uri;
+
+ // --------------------------------------------------------------------
+ /** This attribute specifies the temp file name.
+ */
+ [readonly,attribute] string ResourceName;
+
+};
+
+//=========================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XTextInputStream.idl b/udkapi/com/sun/star/io/XTextInputStream.idl
new file mode 100644
index 000000000000..73b79218001f
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextInputStream.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XTextInputStream_idl__
+#define __com_sun_star_io_XTextInputStream_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** Interface to read strings from a stream.
+
+ <p>This interfaces allows to read strings seperated by
+ delimiters and to read lines. The character encoding
+ to be used can be set by <member>setEncoding()</member>.
+ Default encoding is "utf8".</p>
+ */
+published interface XTextInputStream: com::sun::star::io::XInputStream
+{
+ //-------------------------------------------------------------------------
+ /** reads text until a line break (CR, LF, or CR/LF) or
+ EOF is found and returns it as string (without CR, LF).
+
+ <p>The read characters are converted according to the
+ encoding defined by <member>setEncoding</member>. If
+ EOF is already reached before calling this method
+ an empty string is returned.<p>
+
+ @see setEncoding
+ @see isEOF
+ */
+ string readLine()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** reads text until one of the given delimiter characters
+ or EOF is found and returns it as string (without delimiter).
+
+ <p><strong>Important:</strong> CR/LF is not used as default
+ delimiter! So if no delimiter is defined or none of the
+ delimiters is found, the stream will be read to EOF. The
+ read characters are converted according to the encoding
+ defined by <member>setEncoding</member>. If EOF is already
+ reached before calling this method an empty string is returned.</p>
+
+ @see setEncoding
+ @see isEOF
+ */
+ string readString( [in] sequence<char> Delimiters, [in] boolean bRemoveDelimiter )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** Returns the EOF status.
+
+ <p>This method has to be used to detect if the end
+ of the stream is reached.</p>
+ <p><strong>Important:</strong>
+ This cannot be detected by asking for an empty string
+ because that can be a valid return value of <member>
+ readLine()</member> (if the line is empty) and
+ readString() (if a delimiter is directly followed
+ by the next one).</p>
+
+ @returns
+ <TRUE/>, if the end of file is reached, so that
+ no next string can be read. <FALSE/> otherwise
+ */
+ boolean isEOF()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** sets character encoding.
+
+ @param Encoding
+ sets the character encoding that should be used.
+ The character encoding names refer to the document
+ http://www.iana.org/assignments/character-sets.
+ Which character sets are supported depends on
+ the implementation.
+ */
+ void setEncoding( [in] string Encoding );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XTextOutputStream.idl b/udkapi/com/sun/star/io/XTextOutputStream.idl
new file mode 100644
index 000000000000..423d18682abc
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextOutputStream.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XTextOutputStream_idl__
+#define __com_sun_star_io_XTextOutputStream_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** Interface to write strings to a stream using a special
+ character encoding.
+
+ <p>This interfaces allows to write strings to a stream.
+ The character encoding to be used can be set by <member>
+ setEncoding()</member>. Default encoding is "utf8".</p>
+ */
+published interface XTextOutputStream: com::sun::star::io::XOutputStream
+{
+ //-------------------------------------------------------------------------
+ /** writes a string to the stream using the encoding
+ defined by <member>setEncoding</member>.
+
+ <p>Line breaks or delimiters that may be neccessary
+ to support <member>XTextInputStream::readLine</member>
+ and <member>XTextInputStream::readString</member>
+ have to be added manually to the parameter string.</p>
+
+ @see setEncoding
+ @see XTextInputStream::readLine
+ @see XTextInputStream::readString
+ */
+ void writeString( [in] string aString )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** sets character encoding.
+
+ @param Encoding
+ sets the character encoding that should be used.
+ The character encoding names refer to the document
+ http://www.iana.org/assignments/character-sets.
+ Which character sets are supported depends on
+ the implementation.
+ */
+ void setEncoding( [in] string Encoding );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/io/XTruncate.idl b/udkapi/com/sun/star/io/XTruncate.idl
new file mode 100644
index 000000000000..719922b198eb
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTruncate.idl
@@ -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 __com_sun_star_io_XTruncate_idl__
+#define __com_sun_star_io_XTruncate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+
+//=============================================================================
+
+/** makes it possible to set the size of the underlying data of a stream
+ to zero.
+ */
+published interface XTruncate: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the size of the underlying data of the stream to zero.
+ */
+ void truncate()
+ raises( IOException );
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/io/XXMLExtractor.idl b/udkapi/com/sun/star/io/XXMLExtractor.idl
new file mode 100644
index 000000000000..12ee0f23083b
--- /dev/null
+++ b/udkapi/com/sun/star/io/XXMLExtractor.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_io_XXMLExtractor_idl__
+#define __com_sun_star_io_XXMLExtractor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module io {
+
+//=============================================================================
+/** offers the capability to extract the XML document stream from a document
+ storage.
+*/
+
+published interface XXMLExtractor : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** extracts the XML stream from the document storage.
+
+ @returns
+ the extracted XML stream.
+ */
+ com::sun::star::io::XInputStream extract( [in] com::sun::star::io::XInputStream aStream );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/udkapi/com/sun/star/io/makefile.mk b/udkapi/com/sun/star/io/makefile.mk
new file mode 100644
index 000000000000..3c8b0d5ac1d2
--- /dev/null
+++ b/udkapi/com/sun/star/io/makefile.mk
@@ -0,0 +1,99 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssio
+PACKAGE=com$/sun$/star$/io
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FilePermission.idl\
+ BufferSizeExceededException.idl\
+ MarkableInputStream.idl\
+ MarkableOutputStream.idl\
+ DataInputStream.idl\
+ DataOutputStream.idl\
+ DataTransferEvent.idl\
+ IOException.idl\
+ NotConnectedException.idl\
+ AlreadyConnectedException.idl\
+ ObjectInputStream.idl\
+ ObjectOutputStream.idl\
+ Pipe.idl\
+ Pump.idl\
+ SequenceInputStream.idl\
+ SequenceOutputStream.idl\
+ UnexpectedEOFException.idl\
+ WrongFormatException.idl\
+ XActiveDataControl.idl\
+ XActiveDataSink.idl\
+ XActiveDataSource.idl\
+ XActiveDataStreamer.idl\
+ XConnectable.idl\
+ XDataExporter.idl\
+ XDataImporter.idl\
+ XDataInputStream.idl\
+ XDataOutputStream.idl\
+ XDataTransferEventListener.idl\
+ XInputStream.idl\
+ XStream.idl\
+ XMarkableStream.idl\
+ XObjectInputStream.idl\
+ XObjectOutputStream.idl\
+ XOutputStream.idl\
+ XPersist.idl\
+ XPersistObject.idl\
+ XStreamListener.idl\
+ XSeekable.idl\
+ XSeekableInputStream.idl\
+ XSequenceOutputStream.idl\
+ TextInputStream.idl\
+ TextOutputStream.idl\
+ XTextInputStream.idl\
+ XTextOutputStream.idl\
+ XTruncate.idl\
+ XXMLExtractor.idl\
+ XInputStreamProvider.idl\
+ UnknownHostException.idl\
+ SocketException.idl\
+ NoRouteToHostException.idl\
+ ConnectException.idl \
+ XAsyncOutputMonitor.idl\
+ XTempFile.idl\
+ TempFile.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl
new file mode 100755
index 000000000000..588ac4933b05
--- /dev/null
+++ b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_InvalidJavaSettingsException_idl__
+#define __com_sun_star_java_InvalidJavaSettingsException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates a the Java settings have been modified.
+
+ <p>The Java framework uses a configuration file, which can be used
+ 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
+ */
+exception InvalidJavaSettingsException: JavaInitializationException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaDisabledException.idl b/udkapi/com/sun/star/java/JavaDisabledException.idl
new file mode 100644
index 000000000000..ef226072c13f
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaDisabledException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaDisabledException_idl__
+#define __com_sun_star_java_JavaDisabledException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that Java could not be initialized because it has
+ been switched off.<p>
+ The user has switched off Java in the configuration of the office,
+ for example by means of the options dialog.
+
+ @since OOo 1.1.2
+ */
+published exception JavaDisabledException: JavaInitializationException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaInitializationException.idl b/udkapi/com/sun/star/java/JavaInitializationException.idl
new file mode 100644
index 000000000000..c43ea40709b5
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaInitializationException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaInitializationException_idl__
+#define __com_sun_star_java_JavaInitializationException_idl__
+
+#ifndef __com_sun_star_uno_DeploymentException_idl__
+#include <com/sun/star/uno/DeploymentException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that there is no Java available <p>
+ It is presumed that Java is a vital part of an office installation.
+ That is, if Java does work for some reason, it it not guaranteed that
+ the office is functional. A JavaInitializationException is therefore
+ caused by some misconfiguration of Java which is closer described by
+ other exceptions in this namespace which inherit JavaInitializationException.
+ These are:
+ <p>
+ <type scope:"com::sun::star::java">JavaDisabledException</type> <br>
+ <type scope:"com::sun::star::java">JavaNotConfiguredException</type> <br>
+ <type scope:"com::sun::star::java">MissingJavaRuntimeException</type> <br>
+ <type scope:"com::sun::star::java">JavaVMCreationFailureException</type> <br>
+
+ @since OOo 1.1.2
+ */
+published exception JavaInitializationException: com::sun::star::uno::DeploymentException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaNotConfiguredException.idl b/udkapi/com/sun/star/java/JavaNotConfiguredException.idl
new file mode 100644
index 000000000000..db69e409811f
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaNotConfiguredException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaNotConfiguredException_idl__
+#define __com_sun_star_java_JavaNotConfiguredException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that the user did not configure Java for an Office installation. <p>
+ This exception occurs if there is no java.ini or javarc available. This usually
+ happens if a user cancels the Java configuration which of the office.
+
+ @since OOo 1.1.2
+ */
+published exception JavaNotConfiguredException: JavaInitializationException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaNotFoundException.idl b/udkapi/com/sun/star/java/JavaNotFoundException.idl
new file mode 100644
index 000000000000..3f8a994decc1
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaNotFoundException.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaNotFoundException_idl__
+#define __com_sun_star_java_JavaNotFoundException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that no suitable JRE was found.
+
+ @since OOo 2.0.0
+ */
+exception JavaNotFoundException: JavaInitializationException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl b/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl
new file mode 100644
index 000000000000..6f027e9556fc
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaVMCreationFailureException_idl__
+#define __com_sun_star_java_JavaVMCreationFailureException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that the Java Virtual Machine could not be created <p>
+ This exception can be thrown when the creation of the Java Virtual
+ Machine failed, even if the runtime library could be loaded.
+ Possible reasons for a failure are that JNI_CreateJavaVM returns
+ an error code that reflects a failure, JNI_CreateJavaVM does not
+ return because it tries to quit the process ( _exit), the shared
+ library is corrupted, so that the symbols for JNI_GetDefaultVMInitArgs
+ or JNI_CreateJavaVM cannot be found, etc.
+
+ @since OOo 1.1.2
+ */
+published exception JavaVMCreationFailureException: JavaInitializationException
+{
+ /** contains an error code that reflects the returned error code of
+ JNI_CreateJavaVM or other errors. A negative value represents
+ the returned error code of JNI_CreateJavaVM. All other values
+ indicate a different cause.
+ */
+ long ErrorCode;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/JavaVirtualMachine.idl b/udkapi/com/sun/star/java/JavaVirtualMachine.idl
new file mode 100644
index 000000000000..e7d80865a432
--- /dev/null
+++ b/udkapi/com/sun/star/java/JavaVirtualMachine.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_JavaVirtualMachine_idl__
+#define __com_sun_star_java_JavaVirtualMachine_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module java {
+
+ published interface XJavaVM;
+ published interface XJavaThreadRegister_11;
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::java::JavaVirtualMachine
+/** exports interfaces to handle a JavaVM and Java threads.
+
+ @deprecated
+ A UNO service seems to be at the wrong abstraction level for this
+ functionality. This should probably be replaced by an appropriate C/C++
+ API.
+ */
+published service JavaVirtualMachine
+{
+ // DocMerge: empty anyway
+ interface XJavaVM;
+
+ // DocMerge: empty anyway
+ interface XJavaThreadRegister_11;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl b/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl
new file mode 100644
index 000000000000..dd98d8eeaa3e
--- /dev/null
+++ b/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_MissingJavaRuntimeException_idl__
+#define __com_sun_star_java_MissingJavaRuntimeException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+module com { module sun { module star { module java {
+
+
+/** indicates that the Java runtime library could not be found. <p>
+ This happens when a user moves or deletes a Java installation after
+ the office has been configured to use that Java installation.
+
+ @since OOo 1.1.2
+ */
+published exception MissingJavaRuntimeException: JavaInitializationException
+{
+ /** contains the path to the runtime lib as file URL.
+ */
+ string URLRuntimeLib;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/RestartRequiredException.idl b/udkapi/com/sun/star/java/RestartRequiredException.idl
new file mode 100755
index 000000000000..a41b7de14b6a
--- /dev/null
+++ b/udkapi/com/sun/star/java/RestartRequiredException.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_RestartRequiredException_idl__
+#define __com_sun_star_java_RestartRequiredException_idl__
+
+#ifndef __com_sun_star_java_JavaInitializationException_idl__
+#include <com/sun/star/java/JavaInitializationException.idl>
+#endif
+
+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
+ */
+exception RestartRequiredException: JavaInitializationException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/WrongJavaVersionException.idl b/udkapi/com/sun/star/java/WrongJavaVersionException.idl
new file mode 100644
index 000000000000..5cf1840bbc61
--- /dev/null
+++ b/udkapi/com/sun/star/java/WrongJavaVersionException.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_WrongJavaVersionException_idl__
+#define __com_sun_star_java_WrongJavaVersionException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include "com/sun/star/uno/Exception.idl"
+#endif
+
+module com { module sun { module star { module java {
+
+//============================================================================
+/** indicates that an operation involving Java (probably executing Java code)
+ failed due to a wrong Java version.
+ */
+published exception WrongJavaVersionException: com::sun::star::uno::Exception
+{
+ //------------------------------------------------------------------------
+ /** contains the lowest Java version for which the operation would
+ succeed, or is left empty if this is unknown.
+ */
+ string LowestSupportedVersion;
+
+ //------------------------------------------------------------------------
+ /** contains the highest Java version for which the operation would
+ succeed, or is left empty if this is unknown.
+ */
+ string HighestSupportedVersion;
+
+ //------------------------------------------------------------------------
+ /** contains the Java version that has been detected, or is left empty if
+ this is unknown.
+ */
+ string DetectedVersion;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl b/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl
new file mode 100644
index 000000000000..788ecfec33f6
--- /dev/null
+++ b/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_XJavaThreadRegister_11_idl__
+#define __com_sun_star_java_XJavaThreadRegister_11_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module java {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::java::XJavaThreadRegister_11
+/** must be implemented by the user of the XJavaThreadRegister_11.
+
+ @incomplete
+ @deprecated
+ */
+published interface XJavaThreadRegister_11: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::isThreadAttached
+ /** returns <true/> if the current thread is already attached to the VM otherwise <false/>.
+ */
+ boolean isThreadAttached();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::registerThread
+ /** registers the current thread.
+
+ <p>This method should be called every time a JNI function is called from Java. </p>
+ */
+ void registerThread();
+
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::revokeThread
+ /** revokes the current thread from the list of registerd threads.
+
+ <p>This method should be called at the end of every JNI call from Java. </p>
+ */
+ void revokeThread();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/java/XJavaVM.idl b/udkapi/com/sun/star/java/XJavaVM.idl
new file mode 100644
index 000000000000..4f31f3994ef1
--- /dev/null
+++ b/udkapi/com/sun/star/java/XJavaVM.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_java_XJavaVM_idl__
+#define __com_sun_star_java_XJavaVM_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module java {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::java::XJavaVM
+/** must be implemented by the user of the XJavaVM.
+
+ @deprecated
+ A UNO interface seems to be at the wrong abstraction level for this
+ functionality (also, the C++ classes <code>jvmaccess::VirtualMachine</code>
+ and <code>jvmaccess::UnoVirtualMachine</code> used by
+ <member scope="com::sun::star::java">XJavaVM::getJavaVM</member> are not
+ part of the public C++ UNO runtime API). This should probably be replaced
+ by an appropriate C/C++ API.
+ */
+published interface XJavaVM: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaVM::getJavaVM
+ /** returns the address of the Java Virtual Machine.
+
+ <p>If the VM is not already instantiated, it will be now.</p>
+
+ <p>If the <code>processID</code> is a normal 16-byte ID, the returned
+ <atom>any</atom> contains a JNI <code>JavaVM</code> pointer as a
+ <atom>long</atom> or <atom>hyper</atom> integer (depending on the
+ platform). If the <code>processID</code> does not match the current
+ process, or if the VM cannot be instantiated for whatever reason, a
+ <void/> <atom>any</atom> is returned.</p>
+
+ <p>If the <code>processID</code> has an additional 17th byte of
+ value&nbsp;<code>0</code>, the returned <atom>any</atom> contains a
+ non&ndash;reference-counted pointer to a (reference-counted) instance of
+ the C++ <code>jvmaccess::VirtualMachine</code> class, always represented
+ as a <atom>hyper</atom> integer. The pointer is guaranteed to be valid
+ as long as the reference to this
+ <type scope="com::sun::star::java">XJavaVM</type> is valid (but the
+ pointer should be converted into a reference-counted reference as soon
+ as possible). Again, if the first 16 bytes of the
+ <code>processID</code> do not match the current process, or if the VM
+ cannot be instantiated for whatever reason, a <void/> <atom>any</atom>
+ is returned.</p>
+
+ <p>If the <code>processID</code> has an additional 17th byte of
+ value&nbsp;<code>1</code>, the returned <atom>any</atom> contains a
+ non&ndash;reference-counted pointer to a (reference-counted) instance of
+ the C++ <code>jvmaccess::UnoVirtualMachine</code> class, always
+ represented as a <atom>hyper</atom> integer. The pointer is guaranteed
+ to be valid as long as the reference to this
+ <type scope="com::sun::star::java">XJavaVM</type> is valid. Again, if
+ the first 16 bytes of the <code>processID</code> do not match the
+ current process, or if the VM cannot be instantiated for whatever
+ reason, a <void/> <atom>any</atom> is returned.</p>
+
+ <p>The first form (returning a JNI <code>JavaVM</code> pointer) is
+ mainly for backwards compatibility, new code should use the second form
+ (returning a pointer to a <code>jvmaccess::VirtualMachine</code>) if it
+ does not want to use the Java UNO environment, and it should use the
+ third form (returning a pointer to a
+ <code>jvmaccess::UnoVirtualMachine</code>) if it wants to use the Java
+ UNO environment. For example, one advantage of using
+ <code>jvmaccess::VirtualMachine</code> instead of the raw
+ <code>JavaVM</code> pointer is that whenever you attach a native thread
+ to the Java virtual machine, that thread's context
+ <code>ClassLoader</code> (see
+ <code>java.lang.Thread.getContextClassLoader</code>) will automatically
+ be set to a meaningful value.</p>
+
+ @param processID
+ The process ID of the caller's process, possibly extended by a 17th byte
+ of value <code>0</code> or&nbsp;<code>1</code>.
+
+ @return
+ On success, the <atom>any</atom> contains a pointer represented as
+ <atom>long</atom> or <atom>hyper</atom>, otherwise the <atom>any</atom>
+ is <void/>.
+ */
+ any getJavaVM( [in] sequence<byte> processID );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaVM::isVMStarted
+ /** returns <true/> if the VM is started successfully, otherwise <false/>.
+ */
+ boolean isVMStarted();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::java::XJavaVM::isVMEnabled
+ /** Returns <true/> if the VM is enabled.
+
+ <p>It is only possible to get the VM, if this method return 0. </p>
+ */
+ boolean isVMEnabled();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/java/makefile.mk b/udkapi/com/sun/star/java/makefile.mk
new file mode 100644
index 000000000000..bf7f467c9de0
--- /dev/null
+++ b/udkapi/com/sun/star/java/makefile.mk
@@ -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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssjava
+PACKAGE=com$/sun$/star$/java
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ JavaVirtualMachine.idl\
+ WrongJavaVersionException.idl\
+ XJavaThreadRegister_11.idl\
+ XJavaVM.idl\
+ JavaInitializationException.idl\
+ JavaDisabledException.idl\
+ JavaNotConfiguredException.idl\
+ MissingJavaRuntimeException.idl\
+ JavaVMCreationFailureException.idl\
+ JavaNotFoundException.idl \
+ InvalidJavaSettingsException.idl \
+ RestartRequiredException.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl
new file mode 100644
index 000000000000..b491f06eb41a
--- /dev/null
+++ b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__
+#define __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::ArrayIndexOutOfBoundsException
+/** This exception is thrown to indicate that an array has been
+ accessed with an illegal index.
+
+ <p>The index is either negative or greater than or equal to
+ the size of the array. </p>
+ */
+published exception ArrayIndexOutOfBoundsException: com::sun::star::lang::IndexOutOfBoundsException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/ClassNotFoundException.idl b/udkapi/com/sun/star/lang/ClassNotFoundException.idl
new file mode 100644
index 000000000000..4b2d3e3ed415
--- /dev/null
+++ b/udkapi/com/sun/star/lang/ClassNotFoundException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_ClassNotFoundException_idl__
+#define __com_sun_star_lang_ClassNotFoundException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::ClassNotFoundException
+/** This exception is thrown when an application tries to load
+ the information on the type through its string name.
+ */
+published exception ClassNotFoundException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/DisposedException.idl b/udkapi/com/sun/star/lang/DisposedException.idl
new file mode 100644
index 000000000000..5e404c6b1def
--- /dev/null
+++ b/udkapi/com/sun/star/lang/DisposedException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_DisposedException_idl__
+#define __com_sun_star_lang_DisposedException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::DisposedException
+/** This exception occurs if the object behind this interface has been
+ disposed before and can't uphold its method specification anymore.
+
+ <p>The implementation normally should implement the
+ <type scope="com::sun::star::lang">XComponent</type> interface
+ to indicate this possibility. </p>
+ */
+published exception DisposedException: com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/EventObject.idl b/udkapi/com/sun/star/lang/EventObject.idl
new file mode 100644
index 000000000000..4cab388aafbf
--- /dev/null
+++ b/udkapi/com/sun/star/lang/EventObject.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_EventObject_idl__
+#define __com_sun_star_lang_EventObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::lang::EventObject
+/** specifies the base for all event objects and identifies the
+ source of the event.
+ */
+published struct EventObject
+{
+ // DocMerge from xml: field com::sun::star::lang::EventObject::Source
+ /** refers to the object that fired the event.
+ */
+ com::sun::star::uno::XInterface Source;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/IllegalAccessException.idl b/udkapi/com/sun/star/lang/IllegalAccessException.idl
new file mode 100644
index 000000000000..0e9332b43019
--- /dev/null
+++ b/udkapi/com/sun/star/lang/IllegalAccessException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_IllegalAccessException_idl__
+#define __com_sun_star_lang_IllegalAccessException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::IllegalAccessException
+/** This exception is thrown when an application tries to change
+ a constant property.
+ */
+published exception IllegalAccessException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/IllegalArgumentException.idl b/udkapi/com/sun/star/lang/IllegalArgumentException.idl
new file mode 100644
index 000000000000..4aafc1f08648
--- /dev/null
+++ b/udkapi/com/sun/star/lang/IllegalArgumentException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_IllegalArgumentException_idl__
+#define __com_sun_star_lang_IllegalArgumentException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::IllegalArgumentException
+/** This exception is thrown to indicate that a method has
+ passed an illegal or inappropriate argument.
+ */
+published exception IllegalArgumentException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::lang::IllegalArgumentException::ArgumentPosition
+ /** identifies the position of the illegal argument.
+
+ <p>This field is -1 if the position is not known.</p>
+ */
+ short ArgumentPosition;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl
new file mode 100644
index 000000000000..33747c07b9a6
--- /dev/null
+++ b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#define __com_sun_star_lang_IndexOutOfBoundsException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::IndexOutOfBoundsException
+/** This exception is thrown to indicate that a container has been
+ accessed with an illegal index.
+
+ <p>The index is either negative or greater than or equal to
+ the count of the elements. </p>
+ */
+published exception IndexOutOfBoundsException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/InvalidListenerException.idl b/udkapi/com/sun/star/lang/InvalidListenerException.idl
new file mode 100644
index 000000000000..24460b32a607
--- /dev/null
+++ b/udkapi/com/sun/star/lang/InvalidListenerException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_InvalidListenerException_idl__
+#define __com_sun_star_lang_InvalidListenerException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::InvalidListenerException
+/** is thrown by the <member>XConnectionPoint::advice</member> method
+ to indicate that the listener has not supplied the necessary
+ interface.
+
+ @see XConnectionPoint
+ */
+published exception InvalidListenerException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/ListenerExistException.idl b/udkapi/com/sun/star/lang/ListenerExistException.idl
new file mode 100644
index 000000000000..5505426b468e
--- /dev/null
+++ b/udkapi/com/sun/star/lang/ListenerExistException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_ListenerExistException_idl__
+#define __com_sun_star_lang_ListenerExistException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::ListenerExistException
+/** is thrown by the <member>XConnectionPoint::advise</member> method
+ to indicate that there is only one listener allowed.
+
+ @see XConnectionPoint
+ */
+published exception ListenerExistException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/Locale.idl b/udkapi/com/sun/star/lang/Locale.idl
new file mode 100644
index 000000000000..40c43748b2d7
--- /dev/null
+++ b/udkapi/com/sun/star/lang/Locale.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_Locale_idl__
+#define __com_sun_star_lang_Locale_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::lang::Locale
+/** object represents a specific geographical, political, or cultural region.
+
+ <p>An operation that requires a <code>Locale</code> to perform
+ its task is called <em>locale-sensitive</em> and uses the
+ <code>Locale</code> to tailor information for the user. For example,
+ displaying a number is a locale-sensitive operation; the number
+ should be formatted according to the customs/conventions of the
+ user's native country, region, or culture. </p>
+
+ <p> Because a <code>Locale</code> object is just an identifier for a
+ region, no validity check is performed. If you want to see whether
+ particular resources are available for the <code>Locale</code>, use
+ the <method scope="com::sun::star::resource">XLocale::getAvailableLocales</method> method to ask for the
+ locales it supports.</p>
+
+ <p> <strong>Note:</strong> When you ask for a resource for a
+ particular locale, you get the best available match, not necessarily
+ precisely what you asked for. For more information, see
+ <type scope="com::sun::star::resource">XResourceBundle</type>.</p>
+
+ <p> Each implementation that performs locale-sensitive operations
+ allows you to get all the available objects of that type. Use the
+ <typed scope="com::sun::star::resource">XLocale</type> interface to set the locale. </p>
+ */
+published struct Locale
+{
+ // DocMerge from xml: field com::sun::star::lang::Locale::Language
+ /** specifies an <strong>ISO Language Code</strong>.
+
+ <p>These codes are the lower-case two-letter codes as defined by
+ ISO-639. You can find a full list of these codes at a number of
+ sites, such as: <br>
+ <a href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">
+ <code>http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt</code></a>.
+ </p>
+
+ <p>If this field contains an empty string, the meaning depends on the
+ context.</p>
+ */
+ string Language;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::lang::Locale::Country
+ /** specifies an <strong>ISO Country Code.</strong>
+
+ <p>These codes are the upper-case two-letter codes as
+ defined by ISO-3166. You can find a full list of these codes at a
+ number of sites, such as: <br>
+ <a href="http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html">
+ <code>http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html</code></a>.
+ </p>
+
+ <p>If this field contains an empty string, the meaning depends on the
+ context.</p>
+ */
+ string Country;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::lang::Locale::Variant
+ /** contains a variant of the locale; codes are vendor and
+ browser-specific.
+
+ <p>For example, use WIN for Windows, MAC for Macintosh, and POSIX
+ for POSIX. Wherever there are two variants, separate them with an
+ underscore, and put the most important one first. For example, a
+ traditional Spanish collation might construct a locale with parameters
+ for language, country and variant as: "es", "ES", "Traditional_WIN".</p>
+ */
+ string Variant;
+
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/MultiServiceFactory.idl b/udkapi/com/sun/star/lang/MultiServiceFactory.idl
new file mode 100644
index 000000000000..d55199784370
--- /dev/null
+++ b/udkapi/com/sun/star/lang/MultiServiceFactory.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_MultiServiceFactory_idl__
+#define __com_sun_star_lang_MultiServiceFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Provides a collection of implementations of services.
+
+ <p>The factories for instantiating objects of implemetations
+ are accessed via a service name.</p>
+
+ <p>The <type scope="com::sun::star::container">XContentEnumerationAccess</type>
+ interface can be supported optionally.
+ If it is suported, it is possible to enumerate all implementations that
+ support the service specified with the argument of
+ <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member>.
+ The enumerator returns interfaces. The type of the interface is not specified.
+ Commonly this is <type>XSingleComponentFactory</type>.</p>
+*/
+published service MultiServiceFactory
+{
+ /** This interface uses a service name to instantiate a component
+ which supports the specified service.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** This interface uses a service name and a component context to instantiate
+ a component which supports the specified service.
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** Factories, as well as all other services, should always support
+ this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/NoSuchFieldException.idl b/udkapi/com/sun/star/lang/NoSuchFieldException.idl
new file mode 100644
index 000000000000..2ae3045275f3
--- /dev/null
+++ b/udkapi/com/sun/star/lang/NoSuchFieldException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_NoSuchFieldException_idl__
+#define __com_sun_star_lang_NoSuchFieldException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::NoSuchFieldException
+/** signals that the class does not have a field of a specified name.
+ */
+published exception NoSuchFieldException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/NoSuchMethodException.idl b/udkapi/com/sun/star/lang/NoSuchMethodException.idl
new file mode 100644
index 000000000000..dfaab8937843
--- /dev/null
+++ b/udkapi/com/sun/star/lang/NoSuchMethodException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_NoSuchMethodException_idl__
+#define __com_sun_star_lang_NoSuchMethodException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::NoSuchMethodException
+/** signals that the interface does not have a method of a specified name.
+ */
+published exception NoSuchMethodException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/NoSupportException.idl b/udkapi/com/sun/star/lang/NoSupportException.idl
new file mode 100644
index 000000000000..0048e2faf0a0
--- /dev/null
+++ b/udkapi/com/sun/star/lang/NoSupportException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_NoSupportException_idl__
+#define __com_sun_star_lang_NoSupportException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** This exception is thrown when a feature of an interface is not
+ supported.
+
+ <p>An example is a <code>setParent(...)</code> method and the object
+ does not allow the change. </p>
+
+ @see XEnumeration
+ @see com::sun::star::container::XChild::setParent
+ */
+published exception NoSupportException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/NotInitializedException.idl b/udkapi/com/sun/star/lang/NotInitializedException.idl
new file mode 100644
index 000000000000..b876d4180d27
--- /dev/null
+++ b/udkapi/com/sun/star/lang/NotInitializedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_NotInitializedException_idl__
+#define __com_sun_star_lang_NotInitializedException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/**
+ */
+/** is thrown when a component is attempted to be used before it was
+ completely constructed.
+*/
+published exception NotInitializedException : com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/udkapi/com/sun/star/lang/NullPointerException.idl b/udkapi/com/sun/star/lang/NullPointerException.idl
new file mode 100644
index 000000000000..939c278ba797
--- /dev/null
+++ b/udkapi/com/sun/star/lang/NullPointerException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_NullPointerException_idl__
+#define __com_sun_star_lang_NullPointerException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::NullPointerException
+/** This exception is thrown when an application attempts to use
+ <NULL/> in a case where an object is required.
+
+ <p>Applications should throw instances of this class to indicate
+ other illegal uses of the <NULL/> object. </p>
+
+ @see com::sun::star::reflection::XIdlReflection::forName
+ */
+published exception NullPointerException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/RegistryServiceManager.idl b/udkapi/com/sun/star/lang/RegistryServiceManager.idl
new file mode 100644
index 000000000000..78cd1b018ac0
--- /dev/null
+++ b/udkapi/com/sun/star/lang/RegistryServiceManager.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_RegistryServiceManager_idl__
+#define __com_sun_star_lang_RegistryServiceManager_idl__
+
+#ifndef __com_sun_star_lang_ServiceManager_idl__
+#include <com/sun/star/lang/ServiceManager.idl>
+#endif
+
+#ifndef __com_sun_star_lang_MultiServiceFactory_idl__
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Provides a collection of implementations for services reading from a
+ persistent registry storage.
+
+ For usage of the service manager have a look at service description
+ of <type>ServiceManager</type>.
+
+ @see ServiceManager
+*/
+published service RegistryServiceManager
+{
+ /** This is a derived ServiceManager service.
+ */
+ service com::sun::star::lang::ServiceManager;
+
+ /** The first two arguments of the intitialization arguments reference:
+ <ol>
+ <li>a simple registry
+ (<type scope="com::sun::star::registry">XSimpleRegistry</type>),
+ i.e. the registry to be read from</li>
+ <li>a component context
+ (<type scope="com::sun::star::uno">XComponentContext</type>)
+ to be installed as "DefaultContext" property of the
+ <type>ServiceManager</type> which is the context to be used
+ using the <type>XMultiServiceFactory</type> interface.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** Property access.
+ */
+ interface com::sun::star::beans::XPropertySet;
+ /** Specifies the current registry to be read from.
+ */
+ [readonly, property] com::sun::star::registry::XSimpleRegistry Registry;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/ServiceManager.idl b/udkapi/com/sun/star/lang/ServiceManager.idl
new file mode 100644
index 000000000000..e49e21e8a648
--- /dev/null
+++ b/udkapi/com/sun/star/lang/ServiceManager.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_ServiceManager_idl__
+#define __com_sun_star_lang_ServiceManager_idl__
+
+#ifndef __com_sun_star_lang_MultiServiceFactory_idl__
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XSet_idl__
+#include <com/sun/star/container/XSet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContentEnumerationAccess_idl__
+#include <com/sun/star/container/XContentEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Provides a collection of implementations for services. This is a singleton
+ you commonly find in your component context under key
+ <code>/singletons/com.sun.star.lang.theServiceManager</code>.
+
+ <p>
+ The factories are accessed with a service name. It is possible to
+ access the factories with their implementation names, but you should
+ avoid this.
+ </p>
+
+ <p>Service factories added via <type scope="com::sun::star::container">XSet</type>
+ should support the following interfaces: </p>
+
+ <dl>
+ <dt><type>XServiceInfo</type></dt>
+ <dd>supported interfaces/ implementation name</dd>
+
+ <dt><type>XSingleComponentFactory</type>(optional)</dt>
+ <dd>is used to create instances of the implementation.</dd>
+
+ <dt><type>XComponent</type> (optional)</dt>
+ <dd>The service manager calls the method
+ <member scope="com::sun::star::lang">XComponent::dispose</member>
+ on the factory when going down (i.e. it is commonly disposed by the component context).</dd>
+ </dl>
+
+ @see com::sun::star::uno::XComponentContext
+*/
+published service ServiceManager
+{
+ /** This is a derived MultiServiceFactory service.
+ */
+ service com::sun::star::lang::MultiServiceFactory;
+
+ /** Disposing of service manager.
+ <p>
+ The component context disposes its service manager singleton when going down
+ (i.e. when the component context is disposed).
+ </p>
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** Management of service factories.
+ */
+ interface com::sun::star::container::XSet;
+
+ /** Enumeration of all service factories.
+ <p>
+ It is possible to enumerate all implementations that support the
+ service specified with the argument of the
+ <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member> method.
+ The enumerator commonly returns <type>XSingleComponentFactory</type>
+ interfaces.
+ </p>
+ */
+ interface com::sun::star::container::XContentEnumerationAccess;
+
+ /** Property access.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+ /** specifies the default component context to be used, if instanciating services
+ via <type>XMultiServiceFactory</type>
+ */
+ [optional, property] com::sun::star::uno::XComponentContext DefaultContext;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl
new file mode 100644
index 000000000000..c75835b90194
--- /dev/null
+++ b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_ServiceNotRegisteredException_idl__
+#define __com_sun_star_lang_ServiceNotRegisteredException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::ServiceNotRegisteredException
+/** This exception is thrown when a needed service is not found.
+
+ <p>Applications should throw instances of this class to indicate
+ that a needed service is not registered. </p>
+ */
+published exception ServiceNotRegisteredException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/SystemDependent.idl b/udkapi/com/sun/star/lang/SystemDependent.idl
new file mode 100644
index 000000000000..5d4bf69be0e6
--- /dev/null
+++ b/udkapi/com/sun/star/lang/SystemDependent.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_SystemDependent_idl__
+#define __com_sun_star_lang_SystemDependent_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::lang::SystemDependent
+/** These constants are used to specify systems which depend on return values.
+
+ <p> You should avoid system-dependent methods if possible.
+
+ @example:C++
+
+ <listing>
+ #ifdef __WINDOW // Microsoft Windows
+ HWND hWin = (HWND)xInterface->getWindowHandle(SystemDependentWIN32);
+ if( hWin ) ...
+ #elif( ... ) // other systems
+ ...
+ #endif
+ </listing>
+
+ <p>The Symbols are now prepended with SYSTEM_ thus we avoid collisions
+ with system headers. </p>
+
+ @see com::sun::star::awt::XSystemDependentWindowPeer
+ @deprecated
+ */
+published constants SystemDependent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_WIN32
+ /** The called interface method returns a value specified for the
+ 32-bit Windows systems.
+
+ <p>These are Windows NT, Windows 95, Windows 98 or higher. </p>
+ */
+ const short SYSTEM_WIN32 = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_WIN16
+ /** The called interface method returns a value specified for
+ the 16-bit Windows system.
+
+ <p>This is Windows 3.11. </p>
+ */
+ const short SYSTEM_WIN16 = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_JAVA
+ /** The called interface method returns a value specified for the system java.
+
+ <p>These are <em>JRE 1.1</em>, <em>JRE 1.2</em>, <em>JDK 1.1</em>,
+ <em>JDK 1.2</em> or higher. </p>
+
+ <p>The return should be a handle to a java object locked with
+ the call <code>JavaEnvironment->NewGlobalRef( ... )</code>
+ by the callee. </p>
+ */
+ const short SYSTEM_JAVA = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_OS2
+ /** The called interface method returns a value specified for the <em>OS/2</em> system.
+ */
+ const short SYSTEM_OS2 = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_MAC
+ /** The called interface method returns a value specified for the <em>MAC-OS</em> system.
+ */
+ const short SYSTEM_MAC = 5;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_XWINDOW
+ /** The called interface method returns a value specified for the <em>X Window System</em>.
+ */
+ const short SYSTEM_XWINDOW = 6;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/WrappedTargetException.idl b/udkapi/com/sun/star/lang/WrappedTargetException.idl
new file mode 100644
index 000000000000..169b0073f9a7
--- /dev/null
+++ b/udkapi/com/sun/star/lang/WrappedTargetException.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_WrappedTargetException_idl__
+#define __com_sun_star_lang_WrappedTargetException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::lang::WrappedTargetException
+/** This is a checked exception that wraps an exception thrown
+ by the original target.
+
+ <p>Normally this exception is declared for generic methods. </p>
+
+ @see com::sun::star::container::XIndexAccess
+ @see com::sun::star::container::XNameAccess
+ @see com::sun::star::beans::XPropertySet
+ */
+published exception WrappedTargetException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::lang::WrappedTargetException::TargetException
+ /** The exception is thrown by the target.
+ */
+ any TargetException;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl
new file mode 100644
index 000000000000..0a48f02d672a
--- /dev/null
+++ b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_WrappedTargetRuntimeException_idl__
+#define __com_sun_star_lang_WrappedTargetRuntimeException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** This is a runtime exception that wraps any other exception thrown
+ by the original target.
+ <p>
+ This exception should not be declared at interfaces, use
+ <type>WrappedTargetException</type> instead. It was defined
+ to transport an exception via interface-methods, that do not
+ specify the appropriate exceptions (so using this exception
+ should in general be avoided).
+ */
+published exception WrappedTargetRuntimeException: ::com::sun::star::uno::RuntimeException
+{
+ //-------------------------------------------------------------------------
+ /** The exception is thrown by the target.
+ */
+ any TargetException;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XComponent.idl b/udkapi/com/sun/star/lang/XComponent.idl
new file mode 100644
index 000000000000..250842aebd40
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XComponent.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XComponent_idl__
+#define __com_sun_star_lang_XComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+ published interface XEventListener;
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XComponent
+/** allows to exclicitly free resources and break cyclic references.
+
+ <p>Actually the real lifetime of an UNO object is controlled by
+ references kept on interfaces of this object. But there are two
+ distinct meanings in keeping a reference to an interface:
+ 1st to own the object and 2nd to know the object.
+
+ <p>You are only allowed to keep references of interfaces
+ to UNO objects if you are by definition the owner of that object or
+ your reference is very temporary or you have registered an
+ EventListener at that object and release the reference when
+ "disposing" is called.</p>
+ */
+published interface XComponent: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XComponent::dispose
+ /** The owner of an object calls this method to explicitly free all
+ resources kept by this object and thus break cyclic references.
+
+ <p>Only the owner of this object is allowed to call this method.
+ The object should release all resources and references in the
+ easiest possible manner ( for instance no serialization should
+ take place anymore ).
+ </p>
+ <p>
+ The object must notify all registered listeners using the method
+ <member>XEventListener::disposing</member>. All notfied objects
+ should release there references to this object without
+ calling <member>XComponent::removeEventListener</member>
+ (the disposed object will release the listeners eitherway).
+ </p>
+
+ <p>After this method has been called, the object should behave as passive
+ as possible, thus it should ignore all calls
+ in case it can comply with its specification (for instance addEventListener()).
+ Often the object can't fulfill its specification anymore,
+ in this case it must throw the <type>DisposedException</type>
+ (which is derived from <type scope="com::sun::star::uno">RuntimeException</type>)
+ when it gets called.</p>
+
+ <p>For some objects no real owner can be identified, thus it can be
+ disposed from multiple reference holders. In this case
+ the object should be able to cope with multiple dispose()-calls (which
+ are inevitable in a multithreaded environment).
+ */
+ void dispose();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XComponent::addEventListener
+ /** adds an event listener to the object.
+
+ <p>The broadcaster fires the disposing method of this listener
+ if the <member>XComponent::dispose</member> method is called.</p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.</p>
+
+ <p>If this <type scope="com::sun::star::lang">XComponent</type> is
+ already disposed when <member scope="com::sun::star::lang">
+ XComponent::addEventListener</member> is called, the call will not fail
+ with a <type scope="com::sun::star::lang">DisposedException</type>, but
+ the caller will be notified via the
+ <member scope="com::sun::star::lang">XEventListener::disposing</member>
+ callback. This callback can occur synchronously within the
+ <member scope="com::sun::star::lang">XComponent::addEventListener
+ </member> call.</p>
+
+ @see XComponent::removeEventListener
+ */
+ void addEventListener( [in] XEventListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XComponent::removeEventListener
+ /** removes an event listener from the listener list.
+
+ <p>It is a "noop" if the specified listener is not registered.</p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ <p>If this <type scope="com::sun::star::lang">XComponent</type> is
+ already disposed when <member scope="com::sun::star::lang">
+ XComponent::removeEventListener</member> is called, the call will not
+ fail with a <type scope="com::sun::star::lang">DisposedException</type>,
+ but will rather be ignored silently.</p>
+
+ @see XComponent::addEventListener
+ */
+ void removeEventListener( [in] XEventListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XConnectionPoint.idl b/udkapi/com/sun/star/lang/XConnectionPoint.idl
new file mode 100644
index 000000000000..7d20e9703465
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XConnectionPoint.idl
@@ -0,0 +1,204 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XConnectionPoint_idl__
+#define __com_sun_star_lang_XConnectionPoint_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XConnectionPointContainer_idl__
+#include <com/sun/star/lang/XConnectionPointContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ListenerExistException_idl__
+#include <com/sun/star/lang/ListenerExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_InvalidListenerException_idl__
+#include <com/sun/star/lang/InvalidListenerException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from idl: interface com::sun::star::lang::XConnectionPoint
+/** supports connection points for connectable objects.
+
+ <p>Connectable objects support the following features: </p>
+
+ <ul>
+ <li>outgoing interfaces, such as event sets; </li>
+ <li>the ability to enumerate the types of the outgoing interfaces;
+ <li>the ability to connect and disconnect sinks to the object
+ for those outgoing types; </li>
+ <li>the ability to enumerate the connections that exist to a
+ particular outgoing interface. </li>
+ </ul>
+
+ <h4>When to Implement?<h4>
+
+ <p>To create a connectable object, you need to implement objects
+ that provide two related interfaces: </p>
+
+ <ul>
+ <li><type>XConnectionPointContainer</type> </li>
+ <li><type>XConnectionPoint</type> </li>
+ </ul>
+
+ <p>The <type>XConnectionPointContainer</type> interface is implemented
+ on the connectable object to indicate the existence of the outgoing
+ interfaces. It provides a sequence of sub-objects. It also provides
+ access to all the connection point sub-objects, each of which
+ implements the <type>XConnectionPoint</type> interface. The
+ <type>XConnectionPoint</type> interface provides a sequence of
+ sub-objects. </p>
+
+ <p>Each connection point is a separate sub-object to avoid circular
+ reference counting problems. A connection point controls how many
+ connections (one or more) it will allow in its implementation of
+ <member>XConnectionPoint::advise()</member>. </p>
+
+ <h4>When to use?</h4>
+
+ <p>A client can use the <type>XConnectionPointContainer</type> interface: </p>
+
+ <UL>
+
+ <LI>to get a sequence of connection points for each outgoing type. </LI>
+
+ <LI>to obtain access to connection point sub-objects with the
+ <type>XConnectionPoint</type> interface for each
+ outgoing type. Through the XConnectionPoint interface,
+ a client starts or terminates an advisory loop with the
+ connectable object and the client's own sink. The
+ client can also use the <type>XConnectionPoint</type>
+ interface to get a sequence of the connections that it
+ knows about. </LI>
+ </UL>
+
+ @see XConnectionPointContainer
+ */
+published interface XConnectionPoint: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnectionType
+ /** @returns
+ the type of the outgoing interface managed by this
+ connection point.
+
+ <p>Using the <member>XConnectionPointContainer::getConnectionPoints</member>
+ method, a client can obtain an <type>XConnectionPoint</type>
+ interface. Using that interface and this method, the client
+ can determine the type of each connection point enumerated. The
+ type returned from this method must enable the caller to access
+ this same connection point through
+ <member>XConnectionPointContainer::findConnectionPoint</member>.
+
+ @see XConnectionPointContainer::findConnectionPoint
+ */
+ type getConnectionType();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnectionPointContainer
+ /** @returns
+ the <type>XConnectionPointContainer</type> interface on
+ the parent connectable object.
+
+ @see XConnectionPointContainer
+ */
+ com::sun::star::lang::XConnectionPointContainer getConnectionPointContainer();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::advise
+ /** creates a connection between a connection point and a
+ client's sink, where the sink implements the outgoing interface
+ supported by this connection point.
+
+ <p>A few <code>add...Listener</code> methods need additional parameters
+ to add listeners or throw exceptions. One of these methods is
+ <member scope="com::sun::star::beans">XPropertySet::addPropertyChangeListener</member>.
+ We ignore the problem in this interface. A solution must be provided
+ in an additional <type>XConnectionPoint</type> interface. </p>
+
+ @param xListener
+ specifies the listener interface on the client's advise sink.
+ The client's sink receives outgoing calls from the
+ connection point container.
+
+ @throws ListenerExistException
+ if it is a unicast broadcaster and a listener is already set.
+
+ @throws InvalidListenerException
+ if the listener does not supply the needed interfaces.
+
+ @see com::sun::star::beans::XPropertySet::addPropertyChangeListener
+ */
+ void advise( [in] com::sun::star::uno::XInterface xListener )
+ raises( com::sun::star::lang::ListenerExistException,
+ com::sun::star::lang::InvalidListenerException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::unadvise
+ /** terminates a notification previously set up with advise.
+
+ <p>A few <code>remove...Listener</code> methods need additional
+ parameters to add listeners or throw exceptions. One of these methods
+ is <member scope="com::sun::star::beans">XPropertySet::removePropertyChangeListener</member>.
+ We ignore the problem in this interface. A solution must be
+ provided in an additional <type>XConnectionPoint</type> interface. </p>
+
+ @param listener
+ specifies the listener interface on the client's advise sink.
+
+ @see com::sun::star::beans::XPropertySet::removePropertyChangeListener
+ */
+ void unadvise( [in] com::sun::star::uno::XInterface xListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnections
+ /** @returns
+ a sequence of all currently advised connections.
+ */
+ sequence<com::sun::star::uno::XInterface> getConnections();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XConnectionPointContainer.idl b/udkapi/com/sun/star/lang/XConnectionPointContainer.idl
new file mode 100644
index 000000000000..d21f97161ac1
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XConnectionPointContainer.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XConnectionPointContainer_idl__
+#define __com_sun_star_lang_XConnectionPointContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+ published interface XConnectionPoint;
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XConnectionPointContainer
+/** makes it possible to locate a specific connection point
+ for a specified UIK and manages a sequence of connections points.
+
+ <p>An implementation of this interface <strong>must</strong>
+ support the <type scope="com::sun::star::uno">XWeak</type> interface.
+ Look at the language binding for a superclass or something else. </p>
+
+ @see XConnectionPoint
+ @see com::sun::star::uno::XWeak
+ */
+published interface XConnectionPointContainer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::getConnectionPointTypes
+ /** @returns
+ a sequence of all outgoing types; specifies which are supported
+ by this connectable object.
+ */
+ sequence<type> getConnectionPointTypes();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::queryConnectionPoint
+ /** @returns
+ an <type>XConnectionPoint</type> interface of a
+ connection point for a specified type if that type
+ describes a supported outgoing interface. It is
+ <const>NULL</const> on failure of the call.
+
+ @param aType
+ specifies the connection point's type.
+ */
+ XConnectionPoint queryConnectionPoint( [in] type aType );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::advise
+ /** creates a connection between this object and a
+ client's sink, where the sink implements the outgoing
+ interface specified with ID.
+
+ <p>The interface is advised under the connection point you
+ get with <code>queryConnectionPoint( id )</code>. </p>
+
+ <p>Use this method instead of the advise method at the
+ connection point, only if you know that the broadcaster supports
+ the outgoing interface, or if it does not matter that the
+ outgoing interface is not supported. </p>
+
+ @see XConnectionPoint::advise
+ */
+ [oneway] void advise( [in] type aType,
+ [in] com::sun::star::uno::XInterface xListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::unadvise
+ /** terminates a notification previously set up with
+ advise at the container or at the suitable connection point.
+
+ @see XConnectionPoint::unadvise
+ */
+ [oneway] void unadvise( [in] type aType,
+ [in] com::sun::star::uno::XInterface xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XEventListener.idl b/udkapi/com/sun/star/lang/XEventListener.idl
new file mode 100644
index 000000000000..95128a6a78c6
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XEventListener.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XEventListener_idl__
+#define __com_sun_star_lang_XEventListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XEventListener
+/** base interface for all event listeners interfaces.
+ */
+published interface XEventListener: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XEventListener::disposing
+ /** gets called when the broadcaster is about to be disposed.
+
+ <p>All listeners and all other objects, which reference the
+ broadcaster should release the reference to the source.
+ No method should be invoked anymore on this object (
+ including <member>XComponent::removeEventListener</member> ).
+ </p>
+
+ <p>This method is called for every listener registration
+ of derived listener interfaced, not only for registrations
+ at <type>XComponent</type>. </p>
+ */
+ void disposing( [in] com::sun::star::lang::EventObject Source );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XInitialization.idl b/udkapi/com/sun/star/lang/XInitialization.idl
new file mode 100644
index 000000000000..26a7b5e7a5bf
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XInitialization.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XInitialization_idl__
+#define __com_sun_star_lang_XInitialization_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XInitialization
+/** initializes an object directly after its creation.
+
+ <p>This interface works together with factories. If you want to
+ initialize the object after creation, you should
+ support this interface and you may support other interfaces
+ which offer type-safe initialization methods. </p>
+
+ <p>Instead of calling <member>XSingleComponentFactory::createInstanceWithContext</member>
+ and later initialize(), you should call
+ <member>XSingleComponentFactory::createInstanceWithArgumentsAndContext</member>
+ to pass the arguments to the instance. The reason is, that a component may want to
+ return the same instance for the same set of parameters, and it can do so by implementing
+ the factory itself.
+ </p>
+
+ */
+published interface XInitialization: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::lang::XInitialization::initialize
+ /** initializes the object.
+
+ <p>It should be called directly after the object is created.
+ */
+ void initialize( [in] sequence<any> aArguments )
+ raises( com::sun::star::uno::Exception );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XLocalizable.idl b/udkapi/com/sun/star/lang/XLocalizable.idl
new file mode 100644
index 000000000000..b270d9ecdc73
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XLocalizable.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XLocalizable_idl__
+#define __com_sun_star_lang_XLocalizable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XLocalizable
+/** makes it possible to set a <type>Locale</type> to be used by the object.
+ */
+published interface XLocalizable: com::sun::star::uno::XInterface
+{
+
+ // DocMerge from xml: method com::sun::star::lang::XLocalizable::setLocale
+ /** sets the locale to be used by this object.
+ */
+ void setLocale( [in] Locale eLocale );
+
+
+ // DocMerge from idl: method com::sun::star::lang::XLocalizable::getLocale
+ /** @returns
+ the locale, which is used by this object.
+ */
+ Locale getLocale();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XMain.idl b/udkapi/com/sun/star/lang/XMain.idl
new file mode 100644
index 000000000000..85ce9b9e48ba
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XMain.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XMain_idl__
+#define __com_sun_star_lang_XMain_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Executing interface for executable components run by the uno executable
+ loader. This is an application to run components passing the command
+ line arguments.
+*/
+published interface XMain: com::sun::star::uno::XInterface
+{
+ /** This method is called to run the component.
+
+ @param aArguments
+ arguments passed to the component,
+ i.e. the command line arguments
+ @return
+ return value passed to be returned by main()
+ */
+ long run( [in] sequence< string > aArguments );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XMultiComponentFactory.idl b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl
new file mode 100644
index 000000000000..826b46257ce9
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#define __com_sun_star_lang_XMultiComponentFactory_idl__
+
+#ifndef __com_sun_star_uno_XComponentContext_idl__
+#include <com/sun/star/uno/XComponentContext.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+/** Factory interface for creating component instances giving a context from
+ which to retrieve deployment values.
+
+ @see XInitialization
+*/
+published interface XMultiComponentFactory : com::sun::star::uno::XInterface
+{
+ /** Creates an instance of a component which supports the
+ services specified by the factory.
+
+ @param aServiceSpecifier
+ service name
+ @param Context
+ context the component instance gets its deployment values from
+ @return
+ component instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithContext(
+ [in] string aServiceSpecifier,
+ [in] com::sun::star::uno::XComponentContext Context )
+ raises (com::sun::star::uno::Exception);
+
+ /** Creates an instance of a component which supports the
+ services specified by the factory, and initializes the new instance
+ with the given arguments and context.
+
+ @param ServiceSpecifier
+ service name
+ @param Arguments
+ arguments
+ @param Context
+ context the component instance gets its deployment values from
+ @return
+ component instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext(
+ [in] string ServiceSpecifier,
+ [in] sequence<any> Arguments,
+ [in] com::sun::star::uno::XComponentContext Context )
+ raises (com::sun::star::uno::Exception);
+
+ /** Gets the names of all supported services.
+
+ @returns
+ sequence of all service names
+ */
+ sequence< string > getAvailableServiceNames();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XMultiServiceFactory.idl b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl
new file mode 100644
index 000000000000..73ed89b21b4c
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XMultiServiceFactory_idl__
+#define __com_sun_star_lang_XMultiServiceFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Factories support this interface creating instances giving a name,
+ e.g. a service name.
+
+ <p>
+ Note:
+ Although this interface deals with the notion of "services", this is not
+ generally be meant. In general this interface can be used for all kinds
+ of factories for all kinds of instances, indeed not only UNO services.
+ </p>
+*/
+published interface XMultiServiceFactory: com::sun::star::uno::XInterface
+{
+ /** Creates an instance classified by the specified name.
+
+ @param aServiceSpecifier
+ classified name of instance
+ @return
+ instance
+ */
+ com::sun::star::uno::XInterface createInstance( [in] string aServiceSpecifier )
+ raises( com::sun::star::uno::Exception );
+
+ /** Creates an instance classified by the specified name and passes the arguments
+ to that instance.
+
+ @param ServiceSpecifier
+ classified name of instance
+ @param Arguments
+ arguments passed to the instance
+ @return
+ instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithArguments(
+ [in] string ServiceSpecifier,
+ [in] sequence<any> Arguments )
+ raises( com::sun::star::uno::Exception );
+
+ /** Provides the available names of the factory to be used to create instances.
+
+ @returns
+ sequence of all names
+ */
+ sequence<string> getAvailableServiceNames();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XServiceDisplayName.idl b/udkapi/com/sun/star/lang/XServiceDisplayName.idl
new file mode 100644
index 000000000000..6715bc7e1212
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XServiceDisplayName.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XServiceDisplayName_idl__
+#define __com_sun_star_lang_XServiceDisplayName_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+/** provides a name for the service to be used in displays.
+
+ <p>This name can be used in displays (dialogs, menus, etc.) to provide
+ a more memorable / meaningful name than the service name or its
+ implementation name. It should not be used to identify / select a
+ specific service / implementation.</p>
+ */
+published interface XServiceDisplayName : ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the display name of the service for a given language.
+
+ <p>The caller may specify a
+ <type scope="com::sun::star::lang">Locale</type> for the preferred
+ language of the resulting string.
+ However, if that locale is not supported the resulting string may
+ be given in a different language. Usually this should be English.</p>
+
+ @param aLocale
+ the preferred language for the resulting display name.
+
+ @returns
+ the string to be used for the service in displays.
+ */
+ string getServiceDisplayName(
+ [in] ::com::sun::star::lang::Locale aLocale );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/lang/XServiceInfo.idl b/udkapi/com/sun/star/lang/XServiceInfo.idl
new file mode 100644
index 000000000000..42f09f85e666
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XServiceInfo.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XServiceInfo_idl__
+#define __com_sun_star_lang_XServiceInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Provides information regarding the implementation, i.e. which services
+ are implemented and the name of the implementation.
+*/
+published interface XServiceInfo: com::sun::star::uno::XInterface
+{
+ /** Provides the implementation name of the service implementation.
+
+ @returns
+ unique name of the implementation
+ */
+ string getImplementationName();
+
+ /** Tests whether the specified service is supported, i.e. implemented
+ by the implementation.
+
+ @param ServiceName
+ name of service to be tested
+ @return
+ true, if service is supported, false otherwise
+ */
+ boolean supportsService( [in] string ServiceName );
+
+ /** Provides the supported service names of the implementation, including
+ also indirect service names.
+
+ @return
+ sequence of service names that are supported
+ */
+ sequence<string> getSupportedServiceNames();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XServiceName.idl b/udkapi/com/sun/star/lang/XServiceName.idl
new file mode 100644
index 000000000000..ec4910e2a97f
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XServiceName.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XServiceName_idl__
+#define __com_sun_star_lang_XServiceName_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module lang {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::lang::XServiceName
+/** identifies the object with a service name which can be used to create
+ such an object by a factory.
+ */
+published interface XServiceName: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::lang::XServiceName::getServiceName
+ /** @returns
+ the service name that can be used to create such an object
+ by a factory.
+
+ @see com::sun::star::io::XPersistObject::getServiceName
+ */
+ string getServiceName();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XSingleComponentFactory.idl b/udkapi/com/sun/star/lang/XSingleComponentFactory.idl
new file mode 100644
index 000000000000..776003591d93
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XSingleComponentFactory.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XSingleComponentFactory_idl__
+#define __com_sun_star_lang_XSingleComponentFactory_idl__
+
+#ifndef __com_sun_star_uno_XComponentContext_idl__
+#include <com/sun/star/uno/XComponentContext.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+/** Factory interface to create instances of an implementation of a service
+ specification.
+
+ @see XInitialization
+*/
+published interface XSingleComponentFactory : com::sun::star::uno::XInterface
+{
+ /** Creates an instance of a service implementation.
+
+ @param Context
+ the instance gets its deployment values from this
+ @return
+ component instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithContext(
+ [in] com::sun::star::uno::XComponentContext Context )
+ raises (com::sun::star::uno::Exception);
+
+ /** Creates an instance of a component and initializes the new instance
+ with the given arguments and context.
+
+ @param Arguments
+ arguments passed to implementation
+ @param Context
+ the instance gets its deployment values from this
+ @return
+ component instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext(
+ [in] sequence<any> Arguments,
+ [in] com::sun::star::uno::XComponentContext Context )
+ raises( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/lang/XSingleServiceFactory.idl b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl
new file mode 100644
index 000000000000..e8b246394ce1
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XSingleServiceFactory_idl__
+#define __com_sun_star_lang_XSingleServiceFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** Factory interface to produce instances of an implementation
+ of a service specification.
+
+ This interface is deprecated. Please use <type>XSingleComponentFactory</type>.
+
+ @see XInitialization
+ @deprecated
+*/
+published interface XSingleServiceFactory: com::sun::star::uno::XInterface
+{
+ /** Creates an instance of a service implementation.
+
+ @return
+ service instance
+ */
+ com::sun::star::uno::XInterface createInstance()
+ raises( com::sun::star::uno::Exception );
+
+ /** Creates an instance of a service implementation initialized with
+ some arguments.
+
+ @param aArguments
+ arguments passed to implementation
+ @return
+ service instance
+ */
+ com::sun::star::uno::XInterface createInstanceWithArguments( [in] sequence<any> aArguments )
+ raises( com::sun::star::uno::Exception );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/XTypeProvider.idl b/udkapi/com/sun/star/lang/XTypeProvider.idl
new file mode 100644
index 000000000000..95b70e4febaf
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XTypeProvider.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XTypeProvider_idl__
+#define __com_sun_star_lang_XTypeProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** interface to get information about the types
+ (usually interface types) supported by an object.
+ */
+published interface XTypeProvider: com::sun::star::uno::XInterface
+{
+
+ /** returns
+ a sequence of all types (usually interface types) provided by the object.
+ Important: If the object aggregates other objects the sequence also has
+ to contain all types supported by the aggregated objects.
+ */
+ sequence<type> getTypes();
+
+
+ /** returns
+ a sequence of bytes with length > 0 that is used as an Id to distinguish
+ unambiguously between two sets of types, e.g. to realise hashing
+ functionality when the object is introspected. Two objects that return
+ the same UUID also have to return the same set of types in getTypes().
+
+ If a unique implementation Id cannot be provided this method has to return
+ an empty sequence.
+
+ Important: If the object aggregates other objects the UUID has to be unique
+ for the whole combination of objects.
+ */
+ sequence<byte> getImplementationId();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/udkapi/com/sun/star/lang/XUnoTunnel.idl b/udkapi/com/sun/star/lang/XUnoTunnel.idl
new file mode 100644
index 000000000000..c3fc7522a968
--- /dev/null
+++ b/udkapi/com/sun/star/lang/XUnoTunnel.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_lang_XUnoTunnel_idl__
+#define __com_sun_star_lang_XUnoTunnel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+
+//=============================================================================
+
+module com { module sun { module star { module lang {
+
+//=============================================================================
+
+/** An interface to tunnel UNO. This means providing access to data or
+ something else, which is not specified by UNO-IDL.
+
+ @attention
+ Restrictive useage. Use only, if there is no better possibility left.
+ It is definitely a hack.
+
+ <p>
+ Common usage:
+ Getting a C++ object pointer in the same process, thus to use an
+ implementation directly, most often because of a design flaw.
+ </p>
+*/
+published interface XUnoTunnel: com::sun::star::uno::XInterface
+{
+ /** Call this method to get something which is not specified in UNO, e.g.
+ an address to some C++ object.
+
+ @attention
+ The identifier specifies how the return value is to be reinterpreted.
+ The identifier must be globally unique, because it is unknown where
+ the implementation resides.
+
+ @param aIdentifier
+ identifier
+ @return
+ something
+ */
+ hyper getSomething( [in] sequence< byte > aIdentifier );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/lang/makefile.mk b/udkapi/com/sun/star/lang/makefile.mk
new file mode 100644
index 000000000000..b0a2d81725d5
--- /dev/null
+++ b/udkapi/com/sun/star/lang/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=csslang
+PACKAGE=com$/sun$/star$/lang
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ArrayIndexOutOfBoundsException.idl\
+ ClassNotFoundException.idl\
+ DisposedException.idl\
+ EventObject.idl\
+ IllegalAccessException.idl\
+ IllegalArgumentException.idl\
+ IndexOutOfBoundsException.idl\
+ InvalidListenerException.idl\
+ ListenerExistException.idl\
+ Locale.idl\
+ MultiServiceFactory.idl\
+ NoSuchFieldException.idl\
+ NoSuchMethodException.idl\
+ NoSupportException.idl\
+ NotInitializedException.idl\
+ NullPointerException.idl\
+ RegistryServiceManager.idl\
+ ServiceManager.idl\
+ ServiceNotRegisteredException.idl\
+ SystemDependent.idl\
+ WrappedTargetException.idl\
+ WrappedTargetRuntimeException.idl\
+ XComponent.idl\
+ XConnectionPoint.idl\
+ XConnectionPointContainer.idl\
+ XEventListener.idl\
+ XInitialization.idl\
+ XLocalizable.idl\
+ XMultiServiceFactory.idl\
+ XMultiComponentFactory.idl\
+ XServiceDisplayName.idl\
+ XServiceInfo.idl\
+ XServiceName.idl\
+ XSingleServiceFactory.idl\
+ XSingleComponentFactory.idl\
+ XTypeProvider.idl\
+ XUnoTunnel.idl\
+ XMain.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl b/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl
new file mode 100644
index 000000000000..aaae21e4234f
--- /dev/null
+++ b/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_loader_CannotActivateFactoryException_idl__
+#define __com_sun_star_loader_CannotActivateFactoryException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module loader {
+
+//=============================================================================
+
+/** indicates an error during component activation
+ <p> This exception is thrown when an application tries to
+ activate a component factory using the
+ <member>XImplementationLoader::activate()</member>
+ method, but the component factory can not be activated.
+ <p>
+ Possible reasons for this error is a missing shared library or .jar file,
+ a badly linked library, a wrong LD_LIBRARY_PATH or PATH, an incomplete
+ classpath, or a missing java installation. The Message should
+ contain some more detailed explanations.
+ */
+published exception CannotActivateFactoryException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/loader/Dynamic.idl b/udkapi/com/sun/star/loader/Dynamic.idl
new file mode 100644
index 000000000000..800064c3050b
--- /dev/null
+++ b/udkapi/com/sun/star/loader/Dynamic.idl
@@ -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 __com_sun_star_loader_SharedLibrary_idl__
+#define __com_sun_star_loader_SharedLibrary_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+module com { module sun { module star { module loader {
+
+ published interface XImplementationLoader;
+
+
+/** makes it possible to access services accessible via a <code>UnoUrlResolver</code>
+ E.g., instantiation of services in another process. This service is still in an
+ experimental state and should not be used in a production environment.
+ */
+published service Dynamic
+{
+ /** is used to write persistent information into the given registry
+ for accessing a <code>SingleServiceFactory</code> and for activating this
+ implementation.
+ */
+ /** allows registration and activation of described service.
+ The url parameter has to be a comma-separated list of attributes.
+ The following attribute types are understood:
+ servicename = the service name to register this component under
+ link = a parameter given to a resolver to get a <code>SingleServiceFactory</code>
+ resolver = a <code>UnoUrlResolver</code> service, which is used to resolve the link
+ */
+ interface XImplementationLoader;
+
+
+ /** gives information about other supported services
+ */
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/loader/Java.idl b/udkapi/com/sun/star/loader/Java.idl
new file mode 100644
index 000000000000..43ca17300bfe
--- /dev/null
+++ b/udkapi/com/sun/star/loader/Java.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_loader_Java_idl__
+#define __com_sun_star_loader_Java_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+ module com { module sun { module star { module loader {
+
+ published interface XImplementationLoader;
+
+
+// DocMerge from xml: service com::sun::star::loader::Java
+/** allows to access a java component stored with a .jar file
+ */
+published service Java
+{
+
+ /** is used for writing persistent information in the registry for
+ external implementation and for activating this implementation. The
+ locationUrls must be absolute file urls.
+ */
+ interface XImplementationLoader;
+
+
+ /** gives information about other supported services
+ */
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+
+}; }; }; };
+
+/*=====================================================================
+
+ Source Code Control System - Update
+
+=====================================================================*/
+#endif
+
diff --git a/udkapi/com/sun/star/loader/Java2.idl b/udkapi/com/sun/star/loader/Java2.idl
new file mode 100644
index 000000000000..4e0c2ff2546a
--- /dev/null
+++ b/udkapi/com/sun/star/loader/Java2.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_loader_Java2_idl__
+#define __com_sun_star_loader_Java2_idl__
+
+#ifndef __com_sun_star_loader_Java_idl__
+#include <com/sun/star/loader/Java.idl>
+#endif
+
+
+module com { module sun { module star { module loader {
+/**the same as <type scope="com::sun::star::loader">Java</type>.
+<p>This service was introduced for UNO 3 components. The then
+<type scope="com::sun::star::loader">Java</type> service was intended for
+UNO 2 components. Since UNO 2 is not supported anymore, the service
+name is reused again.
+*/
+published service Java2
+{
+ service Java;
+
+};
+
+
+}; }; }; };
+#endif
+
diff --git a/udkapi/com/sun/star/loader/SharedLibrary.idl b/udkapi/com/sun/star/loader/SharedLibrary.idl
new file mode 100644
index 000000000000..29362851cba6
--- /dev/null
+++ b/udkapi/com/sun/star/loader/SharedLibrary.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_loader_SharedLibrary_idl__
+#define __com_sun_star_loader_SharedLibrary_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+ module com { module sun { module star { module loader {
+
+ published interface XImplementationLoader;
+
+
+/** allows to access a native component stored in a shared library.
+ */
+published service SharedLibrary
+{
+
+ /** is used for writing persistent information in the registry for
+ an external implementation and for activating this
+ implementation.
+ */
+ interface XImplementationLoader;
+
+
+ /** gives information about other supported services
+ */
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+}; }; }; }; //module com.sun.star.loader
+
+/*=====================================================================
+
+ Source Code Control System - Update
+
+=====================================================================*/
+#endif
+
diff --git a/udkapi/com/sun/star/loader/XImplementationLoader.idl b/udkapi/com/sun/star/loader/XImplementationLoader.idl
new file mode 100644
index 000000000000..837c31867895
--- /dev/null
+++ b/udkapi/com/sun/star/loader/XImplementationLoader.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_loader_XImplementationLoader_idl__
+#define __com_sun_star_loader_XImplementationLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XRegistryKey_idl__
+#include <com/sun/star/registry/XRegistryKey.idl>
+#endif
+
+#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__
+#include <com/sun/star/registry/CannotRegisterImplementationException.idl>
+#endif
+
+#ifndef __com_sun_star_loader_CannotActivateFactoryException_idl__
+#include <com/sun/star/loader/CannotActivateFactoryException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module loader {
+
+//=============================================================================
+
+/** handles activation (loading) of a UNO component.
+ @see com::sun::star::registry::XImplementationRegistration
+ */
+published interface XImplementationLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** activates a concrete implementation within a component.
+ @param implementationName The name of the implementation,
+ which shall be instantiated. The method
+ <member>XImplementationLoader::writeRegistryInfo</member>
+ writes a list of implementation names hosted by this component.
+ @param implementationLoaderUrl specification bug, ignore this parameter, please
+ pass an empty string.
+ @param locationUrl Points to the location of the file containing
+ the component (for instance a .jar-file or a shared library).
+ This parameter
+ should be in an URL format (= protocol:protocol-dependent-part).
+ In case the string contains no
+ leading "protocol:", the implementation in general assumes,
+ that it is a relative file url. <p>Special loaders may define
+ their own protocol (for instance an executable loader may need
+ more than only one file url).
+
+ @param xKey A registry which may be used to read static data previously
+ written via <method>XImplementationLoader::writeRegistryInfo()</method>.
+ The use of this parameter is deprecated.
+
+ @return returns a factory interface, which allows to create an instance of
+ the concrete implementation. In general, the object supports a
+ <type scope="com::sun::star::lang">XSingleComponentFactory</type>
+ and the <type scope="com::sun::star::lang">XServiceInfo</type> interface. The
+ XServiceInfo interface informs about the capabilities of the
+ service implementation, not the factory itself.
+ */
+ com::sun::star::uno::XInterface activate( [in] string implementationName,
+ [in] string implementationLoaderUrl,
+ [in] string locationUrl,
+ [in] com::sun::star::registry::XRegistryKey xKey )
+ raises( com::sun::star::loader::CannotActivateFactoryException );
+
+ //-------------------------------------------------------------------------
+ /** writes a list of all implementations hosted by this component into a registry key.
+ <p>This method is called during registering a component.
+ @param xKey The registry key, which shall be used to write for each
+ implementation the implementation name plus a list of supported
+ services.
+ @param implementationLoaderUrl specification bug, ignore this parameter, please
+ pass an empty string.
+ @param locationUrl Points to the location of the file containing
+ the component (for instance a .jar-file or a shared library).
+ This parameter
+ should be in an URL format (= protocol:protocol-dependent-part).
+ In case the string contains no
+ leading &quot;protocol:&quot;, the implementation in general assumes,
+ that it is a relative file url. <p>Special loaders may define
+ their own protocol (for instance an executable loader may need
+ more than only one file url).
+ @see com::sun::star::registry::XImplementationRegistration
+ */
+ boolean writeRegistryInfo( [in] com::sun::star::registry::XRegistryKey xKey,
+ [in] string implementationLoaderUrl,
+ [in] string locationUrl )
+ raises( com::sun::star::registry::CannotRegisterImplementationException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/loader/makefile.mk b/udkapi/com/sun/star/loader/makefile.mk
new file mode 100644
index 000000000000..3f3641b0df34
--- /dev/null
+++ b/udkapi/com/sun/star/loader/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssloader
+PACKAGE=com$/sun$/star$/loader
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CannotActivateFactoryException.idl\
+ Java.idl\
+ Java2.idl\
+ Dynamic.idl\
+ SharedLibrary.idl\
+ XImplementationLoader.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/makefile.mk b/udkapi/com/sun/star/makefile.mk
new file mode 100644
index 000000000000..ab74a150fd35
--- /dev/null
+++ b/udkapi/com/sun/star/makefile.mk
@@ -0,0 +1,46 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=css
+PACKAGE=com$/sun$/star
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ udk-modules.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/reflection/CoreReflection.idl b/udkapi/com/sun/star/reflection/CoreReflection.idl
new file mode 100644
index 000000000000..3398897c1984
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/CoreReflection.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_CoreReflection_idl__
+#define __com_sun_star_reflection_CoreReflection_idl__
+
+#ifndef __com_sun_star_reflection_XIdlReflection_idl__
+#include <com/sun/star/reflection/XIdlReflection.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** This service is the implementation of the reflection API.
+ You can obtain information about types, modify values of reflected types
+ and call on objects.
+*/
+published service CoreReflection
+{
+ /** Interface to reflect types.
+ */
+ interface com::sun::star::reflection::XIdlReflection;
+
+ /** CoreReflection has to be disposed if possible
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+/** Accessable singleton to CoreReflection instance.
+singleton theCoreReflection
+{
+ service CoreReflection;
+};
+*/
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/FieldAccessMode.idl b/udkapi/com/sun/star/reflection/FieldAccessMode.idl
new file mode 100644
index 000000000000..233c6c74b5d4
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/FieldAccessMode.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_FieldAccessMode_idl__
+#define __com_sun_star_reflection_FieldAccessMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Denotes the access possibilities via <type>XIdlField2</type> to an
+ interface attribute, enum or compound type (struct/exception).
+*/
+published enum FieldAccessMode
+{
+ /** readable and writeable
+ */
+ READWRITE,
+ /** readable only
+ */
+ READONLY,
+ /** writeable only
+ */
+ WRITEONLY,
+ /** Deprecated. Not used anymore.
+ @deprecated
+ */
+ CONST
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl
new file mode 100644
index 000000000000..783763254a98
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_InvaildTypeNameException_idl__
+#define __com_sun_star_reflection_InvalidTypeNameException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** thrown in case that a certain type name does exist, but does not meet
+ some other criteria.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidTypeNameException : com::sun::star::uno::Exception
+{
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/InvocationTargetException.idl b/udkapi/com/sun/star/reflection/InvocationTargetException.idl
new file mode 100644
index 000000000000..cbc3e9aec5be
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/InvocationTargetException.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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#define __com_sun_star_reflection_InvocationTargetException_idl__
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** This exception denotes a checked exception (wrapping an originating exception)
+ and may be thrown upon using invocation API.
+
+ @see XIdlMethod
+*/
+published exception InvocationTargetException: com::sun::star::lang::WrappedTargetException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/MethodMode.idl b/udkapi/com/sun/star/reflection/MethodMode.idl
new file mode 100644
index 000000000000..c5b2afe2c0de
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/MethodMode.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_MethodMode_idl__
+#define __com_sun_star_reflection_MethodMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** MethodMode denotes the mode in which method calls are run, i.e. either oneway or
+ twoway. Mode oneway denotes that a call may be run asynchronously
+ (thus having no out parameters or return value)
+*/
+published enum MethodMode
+{
+ /** method may be run asynchronously
+ */
+ ONEWAY,
+
+ /** method is run The
+ */
+ TWOWAY
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl b/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl
new file mode 100644
index 000000000000..b553d4d0aedc
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_NoSuchTypeNameException_idl__
+#define __com_sun_star_reflection_NoSuchTypeNameException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** thrown in case that a certain type name does not exist.
+
+ @since OOo 1.1.2
+ */
+published exception NoSuchTypeNameException : com::sun::star::uno::Exception
+{
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/ParamInfo.idl b/udkapi/com/sun/star/reflection/ParamInfo.idl
new file mode 100644
index 000000000000..e3510a7502ea
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/ParamInfo.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_ParamInfo_idl__
+#define __com_sun_star_reflection_ParamInfo_idl__
+
+#ifndef __com_sun_star_reflection_ParamMode_idl__
+#include <com/sun/star/reflection/ParamMode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+ published interface XIdlClass;
+
+//=============================================================================
+
+/** Provides information about a formal parameter of a method.
+*/
+published struct ParamInfo
+{
+ /** name of the parameter
+ */
+ string aName;
+
+ /** parameter mode: in, out, inout
+ */
+ ParamMode aMode;
+
+ /** formal type of the parameter
+ */
+ XIdlClass aType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/ParamMode.idl b/udkapi/com/sun/star/reflection/ParamMode.idl
new file mode 100644
index 000000000000..a14157eb603c
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/ParamMode.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_ParamMode_idl__
+#define __com_sun_star_reflection_ParamMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** The parameter mode denotes the transfer between caller and callee
+ of a method.
+*/
+published enum ParamMode
+{
+ /** parameter serves as pure input for a called method
+ */
+ IN,
+
+ /** parameter serves as pure output for the callee (in addition to the return value)
+ */
+ OUT,
+
+ /** parameter serves as input as well as output; data can transferred in both directions
+ */
+ INOUT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/ProxyFactory.idl b/udkapi/com/sun/star/reflection/ProxyFactory.idl
new file mode 100644
index 000000000000..872a9b8529b3
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/ProxyFactory.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_ProxyFactory_idl__
+#define __com_sun_star_reflection_ProxyFactory_idl__
+
+#ifndef __com_sun_star_reflection_XProxyFactory_idl__
+#include <com/sun/star/reflection/XProxyFactory.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Service to create proxy objects acting on behalf of a given
+ target object.<br>
+ A proxy delegates calls to a given target object.
+ In addition, it is aggregatable, thus it is possible to
+ intercept calls on the proxy's interfaces.
+
+ @attention
+ A proxy object is UNO conform, but does NOT provide original target
+ interfaces on queryInterface() calls. This may lead to problems
+ regarding object identity, e.g. when dealing with listener proxies.
+
+ @deprecated
+ Aggregation will no longer be supported as a high-level concept of UNO.
+ You may still have the option to implement an UNO object consisting of
+ several single objects in your specific programming language, though this
+ depends on your programming language.
+ Thus this service is deprecated, too.
+*/
+published service ProxyFactory
+{
+ /** Factory interface to produce proxies
+ */
+ interface com::sun::star::reflection::XProxyFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl
new file mode 100644
index 000000000000..77dd99f6b2a5
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_TypeDescriptionManager_idl__
+#define __com_sun_star_reflection_TypeDescriptionManager_idl__
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XSet_idl__
+#include <com/sun/star/container/XSet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__
+#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** This service manages type descriptions and acts as a central access point
+ to every type description. It delegates calls for demanded types to
+ subsequent
+ <type scope="com::sun::star::reflection">TypeDescriptionProvider</type>s
+ and may cache type descriptions.<br>
+ Using cppuhelper's bootstrapping routines bootstrapping an initial
+ component context, there is a singleton accessable via key
+ "/singletons/com.sun.star.reflection.theTypeDescriptionManager".
+ This singleton object is hooked into the C UNO runtime typelib and
+ lives until the context is shut down.<br>
+
+ @see com::sun::star::reflection::TypeDescriptionProvider
+ @see com::sun::star::reflection::XTypeDescription
+*/
+published service TypeDescriptionManager
+{
+ /** Interface to retrieve type descriptions.
+
+ <ul>
+ <li>Names are given in dotted notation, for example
+ <code>"com.sun.star.uno.XInterface"</code>.</li>
+
+ <li>Sequence types are accessible via
+ <code>"[]<var>ComponentType</var>"</code></li>
+
+ <li>Instantiated polymorphic struct types are accessible via
+ <code>"<var>StructType</var>&lt;<!--
+ --><var>Parameter</var><sub>1</sub>,&hellip;,<!--
+ --><var>Parameter</var><sub><var>n</var></sub>&gt;"</code>.</li>
+
+ <li>Members of interface types are accessible via
+ <code>"<var>InterfaceType</var>::<var>Member</var>"</code>.</li>
+ </ul>
+
+ <p>The returned values are of interface type
+ <type>XTypeDescription</type>.</p>
+
+ <p>Even though the name of this interface suggests that the used type
+ names are hierarchic, this need not be the case. (For example, consider
+ the names of instantiated polymorphic struct types, like
+ <code>"Struct&lt;long&gt;"</code>.)</p>
+ */
+ interface com::sun::star::container::XHierarchicalNameAccess;
+
+ /** You can manually add or remove a providers via this interface.
+ */
+ interface com::sun::star::container::XSet;
+
+ /** Interface to signal shutdown to the manager.<br>
+ This signals all providers to shut down, because usually each provider
+ references its manager, listening for disposing events.
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+
+ /** Interface for creating enumerations for type descriptions supported
+ by this <type>TypeDescriptionManager</type>
+
+ @since OOo 1.1.2
+ */
+ [optional] interface XTypeDescriptionEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl
new file mode 100644
index 000000000000..c99217a807fb
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_reflection_TypeDescriptionProvider_idl__
+#define __com_sun_star_reflection_TypeDescriptionProvider_idl__
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__
+#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** This service provides type descriptions, i.e. concrete
+ service implementations read from source like the persistent registry
+ database format.<br>
+
+ @see com::sun::star::reflection::TypeDescriptionManager
+ @see com::sun::star::reflection::XTypeDescription
+*/
+published service TypeDescriptionProvider
+{
+ /** Interface to retrieve type descriptions.
+
+ <p>Names are given in dotted notation, for example
+ <code>"com.sun.star.uno.XInterface"</code>. The returned values are of
+ interface type <type>XTypeDescription</type>.</p>
+
+ <p>Even though the name of this interface suggests that the used type
+ names are hierarchic, this need not be the case.</p>
+ */
+ interface com::sun::star::container::XHierarchicalNameAccess;
+
+ /** Interface to signal shutdown to the provider.<br>
+ This has to be done manually, because usually each provider references
+ its manager (which may implement type caching) for late resolution of
+ partial types (e.g. parameter types).
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** Interface for creating enumerations for type descriptions supported
+ by this <type>TypeDescriptionProvider</type>
+
+ @since OOo 1.1.2
+ */
+ [optional] interface XTypeDescriptionEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl
new file mode 100644
index 000000000000..b49d7ba3c019
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__
+#define __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Defines depths for searching through type description collections.
+
+ @since OOo 1.1.2
+ */
+published enum TypeDescriptionSearchDepth
+{
+ /** Infinite search depth. Search through all children including direct
+ children, grand children, grand children's children, ...
+ */
+ INFINITE = -1,
+
+ /** Search only through direct children.
+ */
+ ONE = 1
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl
new file mode 100644
index 000000000000..9719376f16ac
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XArrayTypeDescription_idl__
+#define __com_sun_star_reflection_XArrayTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Deprecated. Arrays are not supported.
+ Reflects a fixed-size array type.
+ The type class of this description is TypeClass_ARRAY.
+
+ @deprecated
+*/
+published interface XArrayTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the element type of the array.
+
+ @return
+ element type of the array
+ */
+ com::sun::star::reflection::XTypeDescription getType();
+
+ /** Returns the number of dimensions of the array.
+
+ @return
+ dimension of the array
+ */
+ long getNumberOfDimensions();
+
+ /** Returns dimensions of array (same length as getNumberOfDimensions()).
+
+ @return
+ dimensions of array
+ */
+ sequence< long > getDimensions();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl b/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl
new file mode 100644
index 000000000000..4ac232067452
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XCompoundTypeDescription_idl__
+#define __com_sun_star_reflection_XCompoundTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a compound type, i.e. a struct or exception.
+
+ <p>For struct types, this type is superseded by
+ <type>XStructTypeDescription</type>, which supports polymorphic struct
+ types.</p>
+*/
+published interface XCompoundTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the type of the base type of the compound type.
+ If the compound does not have a base type, the method returns a null interface.
+
+ @return
+ base interface or null
+ */
+ com::sun::star::reflection::XTypeDescription getBaseType();
+
+ /** Returns the member types of the struct/exception in IDL declaration order.
+
+ <p>For a polymorphic struct type template, a member of parameterized
+ type is represented by an instance of
+ <type scope="com::sun::star::reflection::">XTypeDescription</type> whose
+ type class is <code>UNKNOWN</code> and whose name is the name of the
+ type parameter.</p>
+
+ @return
+ members of struct/exception
+ */
+ sequence<com::sun::star::reflection::XTypeDescription> getMemberTypes();
+
+ /** Returns the member names of the struct/exception in IDL declaration order.
+
+ @return
+ members names of struct/exception
+ */
+ sequence<string> getMemberNames();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl b/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl
new file mode 100644
index 000000000000..e830a191bb6e
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XConstantTypeDescription_idl__
+#define __com_sun_star_reflection_XConstantTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a constant.
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::CONSTANT</member>.
+
+ <p>Constants may be contained in constants groups and modules.
+
+ @see XModuleTypeDescription
+ @see XConstantsTypeDescription
+
+ @since OOo 1.1.2
+
+ */
+published interface XConstantTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** @return the value of the constant.
+
+ <p>Following types are allowed for constants:
+ <ul>
+ <li>boolean
+ <li>byte
+ <li>short
+ <li>unsigned short
+ <li>long
+ <li>unsigned long
+ <li>hyper
+ <li>unsigned hyper
+ <li>float
+ <li>double
+ </ul>
+ */
+ any getConstantValue();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl b/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl
new file mode 100644
index 000000000000..438413614d98
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XConstantsTypeDescription_idl__
+#define __com_sun_star_reflection_XConstantsTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XConstantTypeDescription_idl__
+#include <com/sun/star/reflection/XConstantTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a constants group.
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::CONSTANTS</member>.
+
+ @since OOo 1.1.2
+ */
+published interface XConstantsTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the contstants defined for this constants group.
+
+ @return a sequence containing constants descriptions.
+ */
+ sequence< XConstantTypeDescription > getConstants();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl b/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl
new file mode 100644
index 000000000000..8226b9e21361
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XEnumTypeDescription_idl__
+#define __com_sun_star_reflection_XEnumTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an enum type.
+*/
+published interface XEnumTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the default enum value.
+
+ @return
+ default enum value
+ */
+ long getDefaultEnumValue();
+
+ /** Returns the enum member values.
+
+ @return
+ enum member values
+ */
+ sequence<string> getEnumNames();
+
+ /** Returns the enum member names.
+
+ @return
+ enum member names
+ */
+ sequence<long> getEnumValues();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlArray.idl b/udkapi/com/sun/star/reflection/XIdlArray.idl
new file mode 100644
index 000000000000..702201642d2e
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlArray.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlArray_idl__
+#define __com_sun_star_reflection_XIdlArray_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/ArrayIndexOutOfBoundsException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an IDL sequence and provides dynamic access to instances of
+ that sequence.
+ This interface supports widening conversion when getting or setting elements.
+
+ @attention
+ Although the name of this interface denotes arrays,
+ sequences are meant. Don't be obfuscated, arrays are not supported by UNO!
+*/
+published interface XIdlArray: com::sun::star::uno::XInterface
+{
+ /** Rellocates the length of the sequence instance.
+
+ @param array
+ sequence instance
+ @length
+ new length of sequence
+ */
+ void realloc(
+ [inout] any array,
+ [in] long length )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the length of the given sequence.
+
+ @param array
+ sequence instance
+ @return
+ length of sequence
+ */
+ long getLen( [in] any array )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns element at given index.
+
+ @param aArray
+ sequence instance
+ @param nIndex
+ index
+ @return
+ value
+
+ @throws IllegalArgumentException
+ if the specified object is not a sequence or if the specified object is null
+
+ @throws ArrayIndexOutOfBoundsException
+ if the specified index argument is negative, or if it is greater than or equal to the
+ length of the specified sequence.
+ */
+ any get(
+ [in] any aArray,
+ [in] long nIndex )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ /** Sets a new value at given index.
+
+ @param aArray
+ sequence instance
+ @param nIndex
+ index
+ @param aNewValue
+ new value to be set
+
+ @throws IllegalArgumentException
+ if the specified object is not a sequence or if the specified object is null
+
+ @throws ArrayIndexOutOfBoundsException
+ if the specified index argument is negative, or if it is greater than or equal to the
+ length of the specified sequence.
+ */
+ void set(
+ [inout] any aArray,
+ [in] long nIndex,
+ [in] any aNewValue )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::ArrayIndexOutOfBoundsException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlClass.idl b/udkapi/com/sun/star/reflection/XIdlClass.idl
new file mode 100644
index 000000000000..fd9048ce111c
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlClass.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlClass_idl__
+#define __com_sun_star_reflection_XIdlClass_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Uik_idl__
+#include <com/sun/star/uno/Uik.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module reflection {
+
+ published interface XIdlField;
+ published interface XIdlMethod;
+ published interface XIdlArray;
+
+//=============================================================================
+
+/** Provides information reflecting an UNO type.
+*/
+published interface XIdlClass: com::sun::star::uno::XInterface
+{
+ /** Deprecated. Do not call.
+ @deprecated
+ */
+ sequence<XIdlClass> getClasses();
+ /** Deprecated. Do not call.
+ @deprecated
+ */
+ XIdlClass getClass( [in] string aName );
+
+ /** Tests whether two reflecting objects reflect the same type.
+
+ @returns
+ true, if the objects reflect the same type, false otherwise.
+ */
+ boolean equals( [in] XIdlClass Type );
+
+ /** Tests whether values of this reflected type are assignable from values
+ of a second one (<code>xType</code>).
+
+ @param xType
+ another reflected type
+ @return
+ true, if values of this reflected type are assignable
+ from values of <code>xType</code>.
+ */
+ boolean isAssignableFrom( [in] XIdlClass xType );
+
+ /** Returns the <type scope="com::sun::star::uno">TypeClass</type>
+ of the reflected type.
+
+ @returns
+ type class of the reflected type.
+ */
+ com::sun::star::uno::TypeClass getTypeClass();
+
+ /** Returns the fully-qualified name of the reflected type.
+
+ @returns
+ the fully-qualified name of the type
+ */
+ string getName();
+
+ /** Deprecated. Do not call.
+
+ @deprecated
+ */
+ com::sun::star::uno::Uik getUik();
+
+ /** If the reflected type is an interface, then the returned
+ sequence of <type>XIdlClass</type> reflect the base interfaces.
+ <br>
+ If the reflected type is not an interface or an interface that is
+ not derived from another, then an empty sequence is returned.
+
+ @return
+ all base interfaces of an interface type or an empty sequence.
+ */
+ sequence<XIdlClass> getSuperclasses();
+
+ /** Deprecated. Do not call.
+ @deprecated
+ */
+ sequence<XIdlClass> getInterfaces();
+
+ /** If the reflected type is an array or sequence, then this method
+ returns a <type>XIdlClass</type> interface reflecting
+ the element.
+
+ @return
+ reflection interface of the element type of an array or
+ sequence type (null-reference otherwise).
+ */
+ XIdlClass getComponentType();
+
+ /** If the reflected type is an interface, struct or union, then you
+ get a <type>XIdlField</type> interface reflecting the demanded
+ field (/interface attribute) by name.
+ <br>
+ If the reflected type is not an interface, struct or union or the
+ interace, struct or union does not have a field (/interface attribute)
+ with the demanded name, then a null-reference is returned.
+
+ @param aName
+ name of the demanded field reflection
+ @return
+ demanded field (/interface attribute) reflection (or null-reference)
+ */
+ XIdlField getField( [in] string aName );
+
+ /** If the reflected type is an interface, struct or union, then you
+ get a sequence of <type>XIdlField</type> interfaces reflecting all fields
+ (/interface attributes). This also includes all inherited
+ fields (/interface attributes) of the interface, struct of union.
+ <br>
+ If the reflected type is not an interface, struct or union or the
+ interface, struct or union does not have any field (/interface attribute),
+ then an empty sequence is returned.
+
+ @return
+ all field (/interface attribute) reflections (or empty sequence)
+ */
+ sequence<XIdlField> getFields();
+
+ /** If the reflected type is an interface, then you get
+ a <type>XIdlMethod</type> interface reflecting the demanded method by name.
+ <br>
+ If the reflected type is not an interface or the interface does not have
+ a method with the demanded name (including inherited methods),
+ then a null-reference is returned.
+
+ @param aName
+ name of demanded method reflection
+ @return
+ demanded method reflection (or null-reference)
+ */
+ XIdlMethod getMethod( [in] string aName );
+
+ /** If the reflected type is an interface, then you get
+ a sequence of <type>XIdlMethod</type> interfaces reflecting all methods
+ of the interface. This also includes the inherited methods of the interface.
+ <br>
+ If the reflected type is not an interface or the interface
+ does not have any methods, then a null-reference is returned.
+
+ @return
+ all method reflections (or empty sequence)
+ */
+ sequence<XIdlMethod> getMethods();
+
+ /** If the reflected type is an array, then you get
+ a <type>XIdlArray</type> interface to modify instances of the array type.
+ <br>
+ If the reflected type is not an array, then a null-reference is returned.
+
+ @return
+ inteface to modify array instances (or null-reference)
+ */
+ XIdlArray getArray();
+
+ /** This method creates instances of the reflected type.
+
+ @attention
+ Instances of type <code>any</code> can not be passed using an <code>any</code>, because
+ anys cannot be nested. So if the reflected type is an <code>any</code>, then the
+ returned value is empty.
+
+ @param obj
+ pure out parameter to pass the created instance
+ */
+ void createObject( [out] any obj );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlClassProvider.idl b/udkapi/com/sun/star/reflection/XIdlClassProvider.idl
new file mode 100644
index 000000000000..0b61cdd68bd8
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlClassProvider.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlClassProvider_idl__
+#define __com_sun_star_reflection_XIdlClassProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Deprecated interface. Do not use anymore.
+
+ @deprecated
+*/
+published interface XIdlClassProvider: com::sun::star::uno::XInterface
+{
+ sequence<com::sun::star::reflection::XIdlClass> getIdlClasses();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlField.idl b/udkapi/com/sun/star/reflection/XIdlField.idl
new file mode 100644
index 000000000000..76daf3a1d83e
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlField.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlField_idl__
+#define __com_sun_star_reflection_XIdlField_idl__
+
+#ifndef __com_sun_star_reflection_XIdlMember_idl__
+#include <com/sun/star/reflection/XIdlMember.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_FieldAccessMode_idl__
+#include <com/sun/star/reflection/FieldAccessMode.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Deprecated. Use <type scope="com::sun::star::reflection">XIdlField2</type>
+ instead.
+
+ @deprecated
+*/
+published interface XIdlField: com::sun::star::reflection::XIdlMember
+{
+ com::sun::star::reflection::XIdlClass getType();
+ com::sun::star::reflection::FieldAccessMode getAccessMode();
+ any get(
+ [in] any obj )
+ raises( com::sun::star::lang::IllegalArgumentException );
+ void set(
+ [in] any obj,
+ [in] any value )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IllegalAccessException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlField2.idl b/udkapi/com/sun/star/reflection/XIdlField2.idl
new file mode 100644
index 000000000000..87e516c906dd
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlField2.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlField2_idl__
+#define __com_sun_star_reflection_XIdlField2_idl__
+
+#ifndef __com_sun_star_reflection_XIdlMember_idl__
+#include <com/sun/star/reflection/XIdlMember.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_FieldAccessMode_idl__
+#include <com/sun/star/reflection/FieldAccessMode.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an IDL interface attribute, enum or compound type
+ (i.e. struct/exception) member.
+*/
+published interface XIdlField2: com::sun::star::reflection::XIdlMember
+{
+ /** Returns the type of the field.
+
+ @return
+ type of the field
+ */
+ com::sun::star::reflection::XIdlClass getType();
+
+ /** Returns the access mode of the field, i.e. read-write, read-only or
+ write-only (access mode "const" is deprecated).
+
+ @return
+ access mode of the field
+ */
+ com::sun::star::reflection::FieldAccessMode getAccessMode();
+
+ /** Gets the value of the reflected field from the given object,
+ i.e. an interface, enum or compound type (struct/exception).
+ For enums, the given object is ignored; the returned value
+ reflects the constant enum 32-bit value.
+
+ <p>When setting an interface attribute raises a
+ non-<type scope="com::sun::star::uno">RuntimeException</type>, it is
+ wrapped in a <type
+ scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p>
+
+ @param obj
+ object instance having member of reflected type
+ @return
+ value of field
+
+ @throws IllegalAccessException
+ An <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is thrown if the given object is no interface, enum or compound type;
+ or the given object does not have the reflected field.
+ */
+ any get(
+ [in] any obj )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Sets the value of the reflected field of the given object,
+ i.e. an interface or compound type (struct/exception).
+
+ <p>When setting an interface attribute raises a
+ non-<type scope="com::sun::star::uno">RuntimeException</type>, it is
+ wrapped in a <type
+ scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p>
+
+ @param obj
+ object instance having member of reflected type
+ @param value
+ value to be set
+
+ @throws IllegalAccessException
+ An <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is thrown if the given object is no interface or compound type;
+ or the given object does not have the reflected field.
+ */
+ void set(
+ [inout] any obj,
+ [in] any value )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IllegalAccessException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlMember.idl b/udkapi/com/sun/star/reflection/XIdlMember.idl
new file mode 100644
index 000000000000..b806b81652bf
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlMember.idl
@@ -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 __com_sun_star_reflection_XIdlMember_idl__
+#define __com_sun_star_reflection_XIdlMember_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+ published interface XIdlClass;
+
+/** Base interface for <type>XIdlField2</type>s and <type>XIdlMethod</type>s.
+*/
+published interface XIdlMember: com::sun::star::uno::XInterface
+{
+ /** Returns the declaring type of this field, i.e. the type having
+ the member declared (interface, enum, struct, exception).
+
+ @returns
+ declaring type
+ */
+ XIdlClass getDeclaringClass();
+
+ /** Returns the fully-qualified name of the member.
+
+ @return fully-qualified name of the member
+ */
+ string getName();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlMethod.idl b/udkapi/com/sun/star/reflection/XIdlMethod.idl
new file mode 100644
index 000000000000..8a9f106ce66a
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlMethod.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlMethod_idl__
+#define __com_sun_star_reflection_XIdlMethod_idl__
+
+#ifndef __com_sun_star_reflection_XIdlMember_idl__
+#include <com/sun/star/reflection/XIdlMember.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_ParamInfo_idl__
+#include <com/sun/star/reflection/ParamInfo.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_MethodMode_idl__
+#include <com/sun/star/reflection/MethodMode.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+ published interface XIdlClass;
+
+//=============================================================================
+
+/** Reflects an IDL interface method.
+*/
+published interface XIdlMethod: com::sun::star::reflection::XIdlMember
+{
+ /** Returns the return type of the reflected method.
+
+ @return
+ return type of reflected method
+ */
+ XIdlClass getReturnType();
+
+ /** Returns the formal parameter types of the reflected method in order of IDL
+ declaration.
+
+ @return
+ formal parameter types of reflected method
+ */
+ sequence<XIdlClass> getParameterTypes();
+
+ /** Returns formal parameter informations of the reflected method
+ in order of IDL declaration.
+ Parameter information reflects the parameter's access mode (in, out, inout),
+ the parameter's name and formal type.
+
+ @return
+ parameter informations of reflected method
+ */
+ sequence<ParamInfo> getParameterInfos();
+
+ /** Returns the declared exceptions types of the reflected method.
+
+ @return
+ declared exception types of reflected method
+ */
+ sequence<com::sun::star::reflection::XIdlClass> getExceptionTypes();
+
+ /** Returns the method mode in which calls are run, i.e. either oneway or
+ twoway. Method mode oneway denotes that a call may be run asynchronously
+ (thus having no out parameters or return value)
+
+ @return
+ method mode of reflected method
+ */
+ com::sun::star::reflection::MethodMode getMode();
+
+ /** Invokes the reflected method on a given object with the given parameters.
+ The parameters may be widening converted to fit their exact IDL type,
+ meaning no loss of information.
+
+ @param obj
+ object to call on
+ @param args
+ arguments passed to the method
+ @return
+ return value of the method call (may be empty for methods returning void)
+
+ @throws IllegalArgumentException
+ if the given object is a nuull reference or does not support the reflected
+ method's interface
+ @throws IllegalArgumentException
+ if the given number of arguments differ from the expected number
+ or the given arguments' types differ from the expected ones (even a
+ widening conversion was not possible)
+ @throws InvocationTargetException
+ if the reflected method that has been invoked has thrown an exception.
+ The original exception will be wrapped up and signalled by the
+ InvocationTargetException
+ */
+ any invoke(
+ [in] any obj,
+ [inout] sequence<any> args )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::reflection::InvocationTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIdlReflection.idl b/udkapi/com/sun/star/reflection/XIdlReflection.idl
new file mode 100644
index 000000000000..9455430eabf1
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlReflection.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIdlReflection_idl__
+#define __com_sun_star_reflection_XIdlReflection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Interface to reflect types.
+
+ @see CoreReflection
+ @see XIdlClass
+*/
+published interface XIdlReflection: com::sun::star::uno::XInterface
+{
+ /** Obtaining a reflection interface for a type. You specify the type by
+ its name.
+ If the given type name can not be reflected, then a null-reference
+ is returned.
+
+ @param aTypeName
+ the type's name
+ @return
+ reflection interface for the demanded type (or null)
+ */
+ com::sun::star::reflection::XIdlClass forName( [in] string aTypeName );
+
+ /** Obtaining a reflection interface for an object. This method takes
+ the type of the object the any contains into account. If the any
+ contains no object, then a null-reference is returned.
+
+ @param aObj
+ an object
+ @return
+ reflection interface of the type of the demanded object (or null)
+ */
+ com::sun::star::reflection::XIdlClass getType( [in] any aObj );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl b/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl
new file mode 100644
index 000000000000..ef80d722d55e
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XIndirectTypeDescription_idl__
+#define __com_sun_star_reflection_XIndirectTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a typedef or sequence type.
+ The type class of this description is TypeClass_TYPEDEF or
+ TypeClass_SEQUENCE.
+*/
+published interface XIndirectTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the typedefed type, if the type is a typedef,
+ or the element type, if the type is a sequence.
+
+ @return
+ referenced type
+ */
+ com::sun::star::reflection::XTypeDescription getReferencedType();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl
new file mode 100644
index 000000000000..c16d620d6f0d
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XInterfaceAttributeTypeDescription_idl__
+#define __com_sun_star_reflection_XInterfaceAttributeTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__
+#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an interface attribute type.
+
+ <p>This type is superseded by
+ <type>XInterfaceAttributeTypeDescription2</type>, which supports extended
+ attributes.</p>
+
+ The type class of this type is TypeClass_INTERFACE_ATTRIBUTE.
+*/
+published interface XInterfaceAttributeTypeDescription: com::sun::star::reflection::XInterfaceMemberTypeDescription
+{
+ /** Returns true, if this attribute is read-only.
+
+ @return
+ true, if attribute is read-only
+ */
+ boolean isReadOnly();
+
+ /** Returns the type of the attribute.
+
+ @return
+ type of attribute
+ */
+ com::sun::star::reflection::XTypeDescription getType();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl
new file mode 100644
index 000000000000..96b8957683ff
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XInterfaceAttributeTypeDescription2_idl__
+#define __com_sun_star_reflection_XInterfaceAttributeTypeDescription2_idl__
+
+#include "com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XCompoundTypeDescription;
+
+/**
+ Reflects an interface attribute, supporting extended attributes that are
+ bound or raise exceptions.
+
+ <p>This type supersedes <type>XInterfaceAttributeTypeDescription</type>,
+ which does not support extended attributes.</p>
+
+ @since OOo 2.0.0
+ */
+interface XInterfaceAttributeTypeDescription2:
+ XInterfaceAttributeTypeDescription
+{
+ /**
+ Returns whether this object reflects a bound attribute.
+
+ @return <TRUE/> iff this object reflects a bound attribute
+ */
+ boolean isBound();
+
+ /**
+ Returns the exceptions that can be raised by the attribute's getter.
+
+ @return the reflections of all the exceptions that are listed in the
+ <code>raises</code> specification of the attribute's getter (if any), in
+ no particular order; all elements of the returned sequence will be
+ reflections of exception types
+ */
+ sequence<XCompoundTypeDescription> getGetExceptions();
+
+ /**
+ Returns the exceptions that can be raised by the attribute's setter.
+
+ @return the reflections of all the exceptions that are listed in the
+ <code>raises</code> specification of the attribute's setter (if any), in
+ no particular order; all elements of the returned sequence will be
+ reflections of exception types
+ */
+ sequence<XCompoundTypeDescription> getSetExceptions();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl
new file mode 100644
index 000000000000..bbc57be77c8e
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__
+#define __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Base interface for reflected interface members.
+
+ @see XInterfaceAttributeTypeDescription
+ @see XInterfaceMethodTypeDescription
+*/
+published interface XInterfaceMemberTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns name of member
+
+ @return
+ member name
+ */
+ string getMemberName();
+
+ /** Returns the position the member including all inherited members of base
+ interfaces.
+
+ @return
+ position of member
+ */
+ long getPosition();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl
new file mode 100644
index 000000000000..c51af484f950
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_reflection_XInterfaceMethodTypeDescription_idl__
+#define __com_sun_star_reflection_XInterfaceMethodTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__
+#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XMethodParameter_idl__
+#include <com/sun/star/reflection/XMethodParameter.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an interface method type.
+ The type class of this type is TypeClass_INTERFACE_METHOD.
+*/
+published interface XInterfaceMethodTypeDescription: com::sun::star::reflection::XInterfaceMemberTypeDescription
+{
+ /** Returns the method's return type.
+
+ @return
+ method's return type
+ */
+ com::sun::star::reflection::XTypeDescription getReturnType();
+
+ /** Returns true, if this method is declared oneway.
+
+ @return
+ true, if this method is declared oneway
+ */
+ boolean isOneway();
+
+ /** Returns all parameters of the method in order of IDL declaration.
+
+ @return
+ method parameters
+ */
+ sequence<com::sun::star::reflection::XMethodParameter> getParameters();
+
+ /** Returns declared exceptions that may occur upon invocations of the method.
+
+ @return
+ declared exceptions of method
+ */
+ sequence<com::sun::star::reflection::XTypeDescription> getExceptions();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl
new file mode 100644
index 000000000000..d47dd7c3dd47
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XInterfaceTypeDescription_idl__
+#define __com_sun_star_reflection_XInterfaceTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Uik_idl__
+#include <com/sun/star/uno/Uik.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__
+#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects an interface type.
+
+ <p>This type is superseded by <type>XInterfaceTypeDescription2</type>, which
+ supports multiple inheritance.</p>
+
+ @see XInterfaceMemberTypeDescription
+*/
+published interface XInterfaceTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the base interface or null, if the reflected interface is not
+ inherited from another.
+
+ <p>This method is deprecated, as it only supports single inheritance.
+ See <type>XInterfaceTypeDescription2</type> for a replacement that
+ supports multiple inheritance.</p>
+
+ @return
+ base interface or null
+ @deprecated
+ */
+ com::sun::star::reflection::XTypeDescription getBaseType();
+
+ /** Deprecated. UIK are not used anymore, a type is uniquely identified by
+ its name.<br>
+ Returns the UIK, i.e. the unique identifier of the interface.
+
+ @return
+ uik of the interface
+ @deprecated
+ */
+ com::sun::star::uno::Uik getUik();
+
+ /** Returns the members of the interfaces, i.e. attributes and methods.
+
+ @returns
+ interface members
+ */
+ sequence<com::sun::star::reflection::XInterfaceMemberTypeDescription> getMembers();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl
new file mode 100644
index 000000000000..31ab93e4ecac
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XInterfaceTypeDescription2_idl__
+#define __com_sun_star_reflection_XInterfaceTypeDescription2_idl__
+
+#include "com/sun/star/reflection/XInterfaceTypeDescription.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XTypeDescription;
+
+/** Reflects an interface type, supporting multiple inheritance.
+
+ <p>This type supersedes <type>XInterfaceTypeDescription</type>, which only
+ supported single inheritance.</p>
+
+ @since OOo 2.0.0
+ */
+interface XInterfaceTypeDescription2: XInterfaceTypeDescription {
+ /** Returns a sequence of all directly inherited (mandatory) base interface
+ types.
+
+ @returns
+ a sequence of all directly inherited (mandatory) base interface types,
+ in the correct order; each element of the returned sequence will be the
+ reflection of either an interface type (of type <type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription</type>) or
+ a typedef (of type <type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>)
+ that&mdash;directly or indirectly&mdash;denotes an interface type
+ */
+ sequence<XTypeDescription> getBaseTypes();
+
+ /** Returns a sequence of all directly inherited optional base interface
+ types.
+
+ @returns
+ a sequence of all directly inherited optional base interface types, in
+ the correct order; each element of the returned sequence will be the
+ reflection of either an interface type (of type <type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription</type>) or
+ a typedef (of type <type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>)
+ that&mdash;directly or indirectly&mdash;denotes an interface type
+ */
+ sequence<XTypeDescription> getOptionalBaseTypes();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XMethodParameter.idl b/udkapi/com/sun/star/reflection/XMethodParameter.idl
new file mode 100644
index 000000000000..c089f79336ac
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XMethodParameter.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XMethodParameter_idl__
+#define __com_sun_star_reflection_XMethodParameter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a method parameter.
+
+ <p>This type is superseded by <type>XParameter</type>, which supports
+ parameters of service constructors as well as parameters of interface
+ methods.</p>
+
+ @see XInterfaceMethodTypeDescription
+*/
+published interface XMethodParameter: com::sun::star::uno::XInterface
+{
+ /** Returns the name of the parameter
+
+ @return
+ name of parameter
+ */
+ string getName();
+
+ /** Returns the type of the parameter.
+
+ @return
+ type of parameter
+ */
+ com::sun::star::reflection::XTypeDescription getType();
+
+ /** Returns true, if the parameter is declared as [in] or [inout] in IDL.
+
+ @return
+ true, if declared [in] or [inout] parameter
+ */
+ boolean isIn();
+
+ /** Returns true, if the parameter is declared as [out] or [inout] in IDL.
+
+ @return
+ true, if declared [out] or [inout] parameter
+ */
+ boolean isOut();
+
+ /** Returns the position of the parameter regarding the IDL method declaration.
+
+ @return
+ position of the parameter
+ */
+ long getPosition();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl b/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl
new file mode 100644
index 000000000000..d102f246dc76
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XModuleTypeDescription_idl__
+#define __com_sun_star_reflection_XModuleTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a module.
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::MODULE</member>.
+
+ @since OOo 1.1.2
+ */
+published interface XModuleTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the type descriptions for the members of this module.
+
+ @return a sequence containing type descriptions.
+ */
+ sequence< XTypeDescription > getMembers();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XParameter.idl b/udkapi/com/sun/star/reflection/XParameter.idl
new file mode 100644
index 000000000000..d7b8aaa16cbb
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XParameter.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XParameter_idl__
+#define __com_sun_star_reflection_XParameter_idl__
+
+#include "com/sun/star/reflection/XMethodParameter.idl"
+
+module com { module sun { module star { module reflection {
+
+/**
+ Reflects a parameter of an interface method or a service constructor.
+
+ <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
+ */
+interface XParameter: XMethodParameter {
+ /**
+ Returns whether this is a rest parameter.
+
+ <p>A rest parameter must always come last in a parameter list.</p>
+
+ <p>Currently, only service constructors can have rest parameters, and
+ those rest parameters must be in parameters of type <atom>any</atom>.</p>
+
+ @return <TRUE/> if and only if this parameter is a rest parameter
+ */
+ boolean isRestParameter();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl b/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl
new file mode 100644
index 000000000000..f280998221e9
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl
@@ -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 __com_sun_star_reflection_XPropertyTypeDescription_idl__
+#define __com_sun_star_reflection_XPropertyTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a property.
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::PROPERTY</member>.
+
+ @since OOo 1.1.2
+ */
+published interface XPropertyTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** @return the flags defined for this property.
+
+ <p>The possible values are defined in
+ <type scope="com::sun::star::beans">PropertyAttribute</type>
+ */
+ short getPropertyFlags();
+
+ /** @return the type description for this property.
+ */
+ XTypeDescription getPropertyTypeDescription();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XProxyFactory.idl b/udkapi/com/sun/star/reflection/XProxyFactory.idl
new file mode 100644
index 000000000000..9b592e594031
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XProxyFactory.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XProxyFactory_idl__
+#define __com_sun_star_reflection_XProxyFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_uno_XAggregation_idl__
+#include <com/sun/star/uno/XAggregation.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Factory interface to produce proxy objects.
+
+ @deprecated
+ Aggregation will no longer be supported as a high-level concept of UNO.
+ You may still have the option to implement an UNO object consisting of
+ several single objects in your specific programming language, though this
+ depends on your programming language.
+ Thus this interface is deprecated, too.
+*/
+published interface XProxyFactory: com::sun::star::uno::XInterface
+{
+ /** This method creates a new proxy object that acts on behalf of the given
+ target object.<br>
+ The proxy delegates calls to the given target object.
+ In addition, it is aggregatable, thus it is possible to
+ intercept calls on the proxy's interfaces.
+
+ @attention
+ The proxy object is UNO conform, but does NOT provide original target
+ interfaces on queryInterface() calls. This may lead to problems
+ regarding object identity, e.g. when dealing with listener proxies.
+
+ @param xTarget
+ target object
+ @return
+ proxy object
+ */
+ com::sun::star::uno::XAggregation createProxy(
+ [in] com::sun::star::uno::XInterface xTarget );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XPublished.idl b/udkapi/com/sun/star/reflection/XPublished.idl
new file mode 100644
index 000000000000..afb7cefa8a9a
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XPublished.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XPublished_idl__
+#define __com_sun_star_reflection_XPublished_idl__
+
+#include "com/sun/star/uno/XInterface.idl"
+
+module com { module sun { module star { module reflection {
+
+/**
+ Reflects the &ldquo;published&rdquo; status of a UNOIDL entity.
+
+ <p>This interface is intended to be supported by objects that also support
+ <type scope="com::sun::star::reflection">XTypeDescription</type>.
+ (This interface could have been made an optional sub-interface of
+ <type scope="com::sun::star::reflection">XTypeDescription</type>, but is
+ instead kept independent for reasons of backwards compatibility.)</p>
+
+ <p>For the various kinds of UNOIDL entities that are represented by objects
+ supporting <type scope="com::sun::star::reflection">XTypeDescription</type>
+ and its subtypes, this optional interface should be supported as follows:</p>
+ <ul>
+ <li>Enum types
+ (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>),
+ plain struct types
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ polymorphic struct type templates
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ exception types (<type
+ scope="com::sun::star::reflection">XCompoundTypeDescription</type>),
+ interface types (<type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>),
+ typedefs (<type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ individual constants (<type
+ scope="com::sun::star::reflection">XConstantTypeDescription</type>),
+ constant groups (<type
+ scope="com::sun::star::reflection">XConstantsTypeDescription</type>),
+ single-interface&ndash;based services (<type
+ scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
+ accumulation-based services (<type
+ scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
+ interface-based singletons (<type
+ scope="com::sun::star::reflection">XSingletonTypeDescription2</type>),
+ and service-based singletons (<type
+ scope="com::sun::star::reflection">XSingletonTypeDescription2</type>)
+ support the notion of being published. Therefore, for an object that
+ represents any such entity,
+ <type scope="com::sun::star::reflection">XPublished</type> should be
+ supported.</li>
+
+ <li>Sequence types (<type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ type parameters of polymorphic struct type templates
+ (<type scope="com::sun::star::reflection">XTypeDescription</type>),
+ instantiated polymorphic struct types
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ attributes of interface types (<type scope="com::sun::star::reflection">
+ XInterfaceAttributeTypeDescription2</type>), methods of interface types
+ (<type scope="com::sun::star::reflection">
+ XInterfaceMethodTypeDescription</type>), properties of
+ accumulation-based services (<type
+ scope="com::sun::star::reflection">XPropertyTypeDescription</type>),
+ deprecated
+ <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s,
+ and deprecated
+ <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do
+ not support the notion of being published. Therefore, for an object that
+ represents any such entity,
+ <type scope="com::sun::star::reflection">XPublished</type> should not be
+ supported.</li>
+ </ul>
+
+ @since OOo 2.0.0
+*/
+interface XPublished {
+ /**
+ Returns the &ldquo;published&rdquo; status of a UNOIDL entity.
+
+ @return <TRUE/> if the UNOIDL entity represented by this object is
+ published
+ */
+ boolean isPublished();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl
new file mode 100644
index 000000000000..2f8f05ba82cc
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XServiceConstructorDescription2_idl__
+#define __com_sun_star_reflection_XServiceConstructorDescription2_idl__
+
+#include "com/sun/star/uno/XInterface.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XCompoundTypeDescription;
+interface XParameter;
+
+/**
+ Reflects a service constructor.
+
+ @since OOo 2.0.0
+ */
+interface XServiceConstructorDescription {
+ /**
+ Returns whether the constructor is a default constructor.
+
+ @return <TRUE/> if the constructor is a default constructor
+ */
+ boolean isDefaultConstructor();
+
+ /**
+ Returns the constructor's name.
+
+ @return the constructor's name; for a default constructor, an empty
+ <atom>string</atom> is returned
+ */
+ string getName();
+
+ /**
+ Returns the constructor's parameters.
+
+ @return the reflections of all the constructor's parameters, in their
+ lexical order; for a default constructor, an empty sequence is
+ returned
+ */
+ sequence<XParameter> getParameters();
+
+ /**
+ Returns the exceptions that can be raised by the constructor.
+
+ @return the reflections of all the exceptions that are listed in the
+ constructor's <code>raises</code> specification, in no particular order;
+ all elements of the returned sequence will be reflections of exception
+ types; for a default constructor, an empty sequence is returned (even
+ though the mapping of a default constructor in a particular language
+ binding may well raise certain UNO exceptions)
+ */
+ sequence<XCompoundTypeDescription> getExceptions();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl
new file mode 100644
index 000000000000..8fcd27642e2b
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XServiceTypeDescription_idl__
+#define __com_sun_star_reflection_XServiceTypeDescription_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_reflection_XInterfaceTypeDescription_idl__
+#include <com/sun/star/reflection/XInterfaceTypeDescription.idl>
+#endif
+#ifndef __com_sun_star_reflection_XPropertyTypeDescription_idl__
+#include <com/sun/star/reflection/XPropertyTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a service.
+
+ <p>This type is superseded by <type>XServiceTypeDescription2</type>, which
+ supports single-interface&ndash;based services, in addition to the obsolete,
+ accumulation-based services.</p>
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::SERVICE</member>.
+
+ @since OOo 1.1.2
+ */
+published interface XServiceTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the type descriptions of the mandatory services
+ defined for this service.
+
+ @return a sequence containing service type descriptions, for an
+ obsolete, accumulation-based service; for a
+ single-interface&ndash;based service, an empty sequence is returned
+ */
+ sequence< XServiceTypeDescription > getMandatoryServices();
+
+ /** Returns the type descriptions of the optional services
+ defined for this service.
+
+ @return a sequence containing service type descriptions, for an
+ obsolete, accumulation-based service; for a
+ single-interface&ndash;based service, an empty sequence is returned
+ */
+ sequence< XServiceTypeDescription > getOptionalServices();
+
+ /** Returns the type descriptions of the mandatory interfaces
+ defined for this service.
+
+ @return a sequence containing interface type descriptions, for an
+ obsolete, accumulation-based service; for a
+ single-interface&ndash;based service, an empty sequence is returned
+ */
+ sequence< XInterfaceTypeDescription > getMandatoryInterfaces();
+
+ /** Returns the type descriptions of the optional interface
+ defined for this service.
+
+ @return a sequence containing interface type descriptions, for an
+ obsolete, accumulation-based service; for a
+ single-interface&ndash;based service, an empty sequence is returned
+ */
+ sequence< XInterfaceTypeDescription > getOptionalInterfaces();
+
+ /** Returns the properties defined for this service.
+
+ @return a sequence containing property descriptions, for an obsolete,
+ accumulation-based service; for a single-interface&ndash;based
+ service, an empty sequence is returned
+ */
+ sequence< XPropertyTypeDescription > getProperties();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl
new file mode 100644
index 000000000000..2536a2d2fe16
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XServiceTypeDescription2_idl__
+#define __com_sun_star_reflection_XServiceTypeDescription2_idl__
+
+#include "com/sun/star/reflection/XServiceTypeDescription.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XServiceConstructorDescription;
+interface XTypeDescription;
+
+/**
+ Reflects a service, supporting single-interface&ndash;based services.
+
+ <p>This type supersedes <type>XServiceTypeDescription</type>, which only
+ supports obsolete, accumulation-based services.</p>
+
+ @since OOo 2.0.0
+ */
+interface XServiceTypeDescription2: XServiceTypeDescription {
+ /**
+ Returns whether this object reflects a single-interface&ndash;based
+ service.
+
+ @return <TRUE/> if this object reflects a single-interface&ndash;based
+ service, and <FALSE/> if this object reflects an obsolete,
+ accumulation-based service
+ */
+ boolean isSingleInterfaceBased();
+
+ /**
+ Returns the interface type associated with the service.
+
+ @return the reflection of the interface type associated with the service
+ (of type <type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription</type>
+ or, in case of a typedef, <type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ for a single-interface&ndash;based service; for an obsolete,
+ accumulation-based service, <NULL/> is returned
+ */
+ XTypeDescription getInterface();
+
+ /**
+ Returns the constructors of the service.
+
+ @return the reflections of all constructors of the service, in no
+ particular order
+ */
+ sequence<XServiceConstructorDescription> getConstructors();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl
new file mode 100644
index 000000000000..e77382730511
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XSingletonTypeDescription_idl__
+#define __com_sun_star_reflection_XSingletonTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XServiceTypeDescription_idl__
+#include <com/sun/star/reflection/XServiceTypeDescription.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a singleton.
+
+ <p>This type is superseded by <type>XSingletonTypeDescription2</type>, which
+ supports interface-based singletons, in addition to the obsolete,
+ service-based singletons.</p>
+
+ <p>The type class of this type is
+ <member scope="com::sun::star::uno">TypeClass::SINGLETON</member>.
+
+ @since OOo 1.1.2
+ */
+published interface XSingletonTypeDescription : com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the service associated with the singleton.
+
+ @return the reflection of the service associated with the singleton, for
+ an obsolete, service-based singleton; for an interface-based
+ singleton, <NULL/> is returned
+ */
+ XServiceTypeDescription getService();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl
new file mode 100644
index 000000000000..c4b42d786b00
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XSingletonTypeDescription2_idl__
+#define __com_sun_star_reflection_XSingletonTypeDescription2_idl__
+
+#include "com/sun/star/reflection/XSingletonTypeDescription.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XTypeDescription;
+
+/**
+ Reflects a singleton, supporting interface-based singletons.
+
+ <p>This type supersedes <type>XSingletonTypeDescription</type>, which only
+ supports obsolete, service-based singletons.</p>
+
+ @since OOo 2.0.0
+ */
+interface XSingletonTypeDescription2: XSingletonTypeDescription {
+ /**
+ Returns whether this object reflects an interface-based singleton.
+
+ @return <TRUE/> if this object reflects an interface-based singleton, and
+ <FALSE/> if this object reflects an obsolete, service-based singleton
+ */
+ boolean isInterfaceBased();
+
+ /**
+ Returns the interface type associated with the singleton.
+
+ @return the reflection of the interface type associated with the
+ singleton (of type <type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription</type>
+ or, in case of a typedef, <type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ for an interface-based singleton; for an obsolete, service-based
+ singleton, <NULL/> is returned
+ */
+ XTypeDescription getInterface();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl
new file mode 100644
index 000000000000..69063323874c
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XStructTypeDescription_idl__
+#define __com_sun_star_reflection_XStructTypeDescription_idl__
+
+#include "com/sun/star/reflection/XCompoundTypeDescription.idl"
+
+module com { module sun { module star { module reflection {
+
+interface XTypeDescription;
+
+/**
+ Reflects a struct type, supporting polymorphic struct types.
+
+ <p>This type supersedes <type>XCompoundTypeDescription</type>, which only
+ supports plain struct types.</p>
+
+ <p>This type is used to reflect all of the following:</p>
+ <ul>
+ <li>Polymorphic struct type templates, like
+ <code>Struct&lt;T, U&gt;</code>. For these,
+ <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeParameters</member> returns a non-empty
+ sequence, while <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeArguments</member> returns an empty
+ sequence.</li>
+
+ <li>Instantiated polymorphic struct types, like <code>Struct&lt;long,
+ hyper&gt;</code>. For these,
+ <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeParameters</member> returns an empty
+ sequence, while <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeArguments</member> returns a non-empty
+ sequence.</li>
+
+ <li>Plain struct types. For these, both
+ <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeParameters</member> and
+ <member scope="com::sun::star::reflection"><!--
+ -->XStructTypeDescription::getTypeArguments</member> return an empty
+ sequence.</li>
+ </ul>
+
+ @since OOo 2.0.0
+ */
+interface XStructTypeDescription: XCompoundTypeDescription {
+ /**
+ Returns the type parameters of a polymorphic struct type template.
+
+ @return a sequence of the names of all type parameters, in the correct
+ order; for a plain struct type, or an instantiated polymorphic struct
+ type, an empty sequence is returned
+ */
+ sequence<string> getTypeParameters();
+
+ /**
+ Returns the type arguments of an instantiated polymorphic struct type.
+
+ @return a sequence of all type arguments, in the correct order; for a
+ plain struct type, or a polymorphic struct type template, an empty
+ sequence is returned
+ */
+ sequence<XTypeDescription> getTypeArguments();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XTypeDescription.idl b/udkapi/com/sun/star/reflection/XTypeDescription.idl
new file mode 100644
index 000000000000..34ce721d2f33
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XTypeDescription.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XTypeDescription_idl__
+#define __com_sun_star_reflection_XTypeDescription_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Reflects a UNOIDL entity.
+
+ @see XPublished
+ @see XIndirectTypeDescription
+ @see XEnumTypeDescription
+ @see XStructTypeDescription
+ @see XCompoundTypeDescription
+ @see XInterfaceTypeDescription2
+ @see XInterfaceAttributeTypeDescription2
+ @see XInterfaceMethodTypeDescription
+ @see XConstantTypeDescription
+ @see XConstantsTypeDescription
+ @see XServiceTypeDescription2
+ @see XPropertyTypeDescription2
+ @see XSingletonTypeDescription2
+*/
+published interface XTypeDescription : com::sun::star::uno::XInterface
+{
+ /** Returns the type class of the reflected UNOIDL entity.
+
+ @return
+ type class of the entity
+ */
+ com::sun::star::uno::TypeClass getTypeClass();
+
+ /** Returns the fully qualified name of the UNOIDL entity.
+
+ @return
+ fully qualified name of the entity
+ */
+ string getName();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl
new file mode 100644
index 000000000000..bc47bdfc26d5
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__
+#define __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Defines an enumeration for type descriptions.
+
+ @since OOo 1.1.2
+ */
+published interface XTypeDescriptionEnumeration : com::sun::star::container::XEnumeration
+{
+ /** Returns the next element of the enumeration.
+
+ @returns
+ the next element of this enumeration.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if no more elements exist.
+ */
+ XTypeDescription nextTypeDescription()
+ raises( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl
new file mode 100644
index 000000000000..5a7e129919b7
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__
+#define __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+#ifndef __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__
+#include <com/sun/star/reflection/XTypeDescriptionEnumeration.idl>
+#endif
+#ifndef __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__
+#include <com/sun/star/reflection/TypeDescriptionSearchDepth.idl>
+#endif
+#ifndef __com_sun_star_reflection_NoSuchTypeNameException_idl__
+#include <com/sun/star/reflection/NoSuchTypeNameException.idl>
+#endif
+#ifndef __com_sun_star_reflection_InvalidTypeNameException_idl__
+#include <com/sun/star/reflection/InvalidTypeNameException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Defines an interface for creating enumerations for type descriptions.
+
+ @since OOo 1.1.2
+
+ */
+published interface XTypeDescriptionEnumerationAccess : com::sun::star::uno::XInterface
+{
+ /** Creates an enumeration for type descriptions.
+
+ <p>An enumeration is always created for an UNOIDL module. The
+ enumeration contents can be restricted by specifying type classes.
+ Only types that match one of the supplied type classes will be part of
+ the collection. Additionally, it is possible to specify the depth
+ for the search within the underlying type description tree.
+
+ @param moduleName
+ contains the name of an UNOIDL module. Modules are seperated by a
+ single '.' (i.e., "com.sun.star.reflection"). The root of the module
+ hierarchy is specified with an empty string. Module names are always
+ absolute, never relative.
+
+ @param types
+ restricts the contents of the enumeration. It will only contain
+ type descriptions that match one of the supplied type classes. An
+ empty sequence specifies that the enumeration shall contain all
+ type descriptions.
+
+ <p>Valid types classes are:
+ <ul>
+ <li><member scope="com::sun::star::uno">TypeClass::MODULE</member>
+ <li><member scope="com::sun::star::uno">TypeClass::INTERFACE</member>
+ <li><member scope="com::sun::star::uno">TypeClass::SERVICE</member>
+ <li><member scope="com::sun::star::uno">TypeClass::STRUCT</member>
+ <li><member scope="com::sun::star::uno">TypeClass::ENUM</member>
+ <li><member scope="com::sun::star::uno">TypeClass::EXCEPTION</member>
+ <li><member scope="com::sun::star::uno">TypeClass::TYPEDEF</member>
+ <li><member scope="com::sun::star::uno">TypeClass::CONSTANT</member>
+ <li><member scope="com::sun::star::uno">TypeClass::CONSTANTS</member>
+ <li><member scope="com::sun::star::uno">TypeClass::SINGLETON</member>
+ </ul>
+
+ @param depth
+ specifies the depth of search in the underlying tree of type
+ descriptions. Clients should be aware of the fact that specifiying
+ <member>TypeDescriptionSearchDepth::INFINITE</member> can lead to
+ larger delays when constructing or using the
+ <type>XTypeDescriptionEnumeration</type> instance.
+
+ @returns
+ an enumeration of type descriptions.
+
+ <p>The enumeration returns implementations of
+ <type>XTypeDescription</type>. Following concrete UNOIDL parts
+ represented by specialized interfaces derived from
+ <type>XTypeDescription</type> can be returned by the enumerator:
+
+ <table border="1">
+ <thead><tr><th>IDL</th><th>interface</th></tr></thead>
+ <tbody>
+ <tr>
+ <td>enum</td>
+ <td><type>XEnumTypeDescription</type></td>
+ </tr>
+ <tr>
+ <td>struct</td>
+ <td><type>XCompoundTypeDescription</type> (the returned
+ object should actually implement
+ <type>XStructTypeDescription</type>)</td>
+ </tr>
+ <tr>
+ <td>exception</td>
+ <td><type>XCompoundTypeDescription</type></td>
+ </tr>
+ <tr>
+ <td>interface</td>
+ <td><type>XInterfaceTypeDescription</type> (the returned
+ object should actually implement
+ <type>XInterfaceTypeDescription2</type>)</td>
+ </tr>
+ <tr>
+ <td>service</td>
+ <td><type>XServiceTypeDescription</type> (the returned
+ object should actually implement
+ <type>XServiceTypeDescription2</type>)</td>
+ </tr>
+ <tr>
+ <td>singleton</td>
+ <td><type>XSingletonTypeDescription</type> (the returned
+ object should actually implement
+ <type>XSingletonTypeDescription2</type>)</td>
+ </tr>
+ <tr>
+ <td>module</td>
+ <td><type>XModuleTypeDescription</type></td>
+ </tr>
+ <tr>
+ <td>typedef</td>
+ <td><type>XIndirectTypeDescription</type></td>
+ </tr>
+ <tr>
+ <td>constant</td>
+ <td><type>XConstantTypeDescription</type></td>
+ </tr>
+ <tr>
+ <td>constants</td>
+ <td><type>XConstantsTypeDescription</type></td>
+ </tr>
+ </tbody>
+ </table>
+
+ @throws NoSuchTypeNameException
+ in case that the given module name does not exist. This exception
+ will never be thrown in case moduleName is the empty string.
+
+ @throws InvalidTypeNameException
+ in case that the given module name does exist, but does not specify
+ an UNOIDL module. This exception will never be thrown in case
+ moduleName is the empty string.
+ */
+ XTypeDescriptionEnumeration
+ createTypeDescriptionEnumeration(
+ [in] string moduleName,
+ [in] sequence< com::sun::star::uno::TypeClass > types,
+ [in] TypeDescriptionSearchDepth depth )
+ raises( NoSuchTypeNameException, InvalidTypeNameException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl
new file mode 100644
index 000000000000..d02d6d53fd2d
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_reflection_XUnionTypeDescription_idl__
+#define __com_sun_star_reflection_XUnionTypeDescription_idl__
+
+#ifndef __com_sun_star_reflection_XTypeDescription_idl__
+#include <com/sun/star/reflection/XTypeDescription.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module reflection {
+
+//=============================================================================
+
+/** Deprecated. Unions are not supported.
+ Reflects a union type.
+ The discriminant of a union switches between the current value types.
+ In addition, there is also a default case, having no discriminant.
+
+ @deprecated
+*/
+published interface XUnionTypeDescription: com::sun::star::reflection::XTypeDescription
+{
+ /** Returns the (ordinal) discriminant type.
+
+ @return
+ type of the discriminant
+ */
+ com::sun::star::reflection::XTypeDescription getDiscriminantType();
+
+ /** Returns the default discriminant value.
+
+ @return
+ default discriminant value
+ */
+ any getDefaultDiscriminant();
+
+ /** Returns the type of the default value.
+
+ @return
+ type of the default value
+ */
+ com::sun::star::reflection::XTypeDescription getDefaultMemberType();
+
+ /** Returns discriminants of all members in order of IDL declaration.
+
+ @return
+ discriminants of all members
+ */
+ sequence< any > getDiscriminants();
+
+ /** Returns types of all members in order of IDL declaration.
+
+ @return
+ types of all members
+ */
+ sequence< com::sun::star::reflection::XTypeDescription > getMemberTypes();
+
+ /** Returns names of all members in order of IDL declaration.
+
+ @return
+ names of all members
+ */
+ sequence< string > getMemberNames();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/reflection/makefile.mk b/udkapi/com/sun/star/reflection/makefile.mk
new file mode 100644
index 000000000000..a8b1bc8e62a4
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/makefile.mk
@@ -0,0 +1,93 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssreflection
+PACKAGE=com$/sun$/star$/reflection
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CoreReflection.idl\
+ FieldAccessMode.idl\
+ InvalidTypeNameException.idl\
+ InvocationTargetException.idl\
+ MethodMode.idl\
+ NoSuchTypeNameException.idl\
+ ParamInfo.idl\
+ ParamMode.idl\
+ ProxyFactory.idl\
+ TypeDescriptionManager.idl\
+ TypeDescriptionProvider.idl\
+ TypeDescriptionSearchDepth.idl\
+ XArrayTypeDescription.idl\
+ XCompoundTypeDescription.idl\
+ XConstantTypeDescription.idl\
+ XConstantsTypeDescription.idl\
+ XUnionTypeDescription.idl\
+ XEnumTypeDescription.idl\
+ XIdlArray.idl\
+ XIdlClass.idl\
+ XIdlClassProvider.idl\
+ XIdlField.idl\
+ XIdlField2.idl\
+ XIdlMember.idl\
+ XIdlMethod.idl\
+ XIdlReflection.idl\
+ XIndirectTypeDescription.idl\
+ XInterfaceAttributeTypeDescription.idl\
+ XInterfaceAttributeTypeDescription2.idl \
+ XInterfaceMemberTypeDescription.idl\
+ XInterfaceMethodTypeDescription.idl\
+ XInterfaceTypeDescription.idl\
+ XInterfaceTypeDescription2.idl \
+ XMethodParameter.idl\
+ XModuleTypeDescription.idl\
+ XParameter.idl \
+ XPropertyTypeDescription.idl\
+ XProxyFactory.idl\
+ XPublished.idl \
+ XServiceConstructorDescription.idl \
+ XServiceTypeDescription.idl\
+ XServiceTypeDescription2.idl \
+ XSingletonTypeDescription.idl\
+ XSingletonTypeDescription2.idl \
+ XStructTypeDescription.idl \
+ XTypeDescription.idl\
+ XTypeDescriptionEnumeration.idl\
+ XTypeDescriptionEnumerationAccess.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl
new file mode 100644
index 000000000000..bcdea4f072b9
--- /dev/null
+++ b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_CannotRegisterImplementationException_idl__
+#define __com_sun_star_registry_CannotRegisterImplementationException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::CannotRegisterImplementationException
+/** is thrown when an application tries to register a new component (implementation) using the
+ <member>XImplementationRegistration::registerImplementation()</member>
+ method, but the component cannot be registered. The reason for this exception could be:<br>
+ <br><ul>
+ <li>the component cannot be found or cannot be loaded (missing path or classpath)
+ <li>the component doesn't provide the necessary specifactions (exported registration functions for a
+ C++ component (shared library) or a named registration class with the appropriate methods for
+ a Java component (normally a jar file)).
+ </ul><br>
+
+ */
+published exception CannotRegisterImplementationException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/DefaultRegistry.idl b/udkapi/com/sun/star/registry/DefaultRegistry.idl
new file mode 100644
index 000000000000..4de5566cf0f1
--- /dev/null
+++ b/udkapi/com/sun/star/registry/DefaultRegistry.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_DefaultRegistry_idl__
+#define __com_sun_star_registry_DefaultRegistry_idl__
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::DefaultRegistry
+/** implicitly supports a local registry and a read-only
+ system registry for global information.
+ In the context of this service,
+ the functions <code>open</code>, <code>close</code>, and <code>destroy</code>
+ from <type>XSimpleRegistry</type> are not supported and throw an exception
+ if they are used.
+ <dl>
+ <dt>Functions of <type>XSimpleRegistry</type>:
+ <dl>
+ <dt> <b>getURL</b>
+ </dt>
+ <dd> returns the name of the local registry.
+ </dd>
+ <dt> <b>isValid</b>
+ </dt>
+ <dd> checks if the local registry is valid. If the interface is not <NULL/>
+ the local registry should always be valid.
+ </dd>
+ <dt> <b>isReadOnly</b> </dt>
+ <dd> checks if the local registry has write protection.
+ </dd>
+ <dt> <b>mergeKey</b>
+ </dt>
+ <dd> merges all information from the specified registry in the local registry.
+ </dd>
+ <dt> <b>getRootKey</b>
+ </dt>
+ <dd> returns a virtual rootkey of both registries.
+ </dd>
+ </dl>
+
+ <br>
+
+ </dt>
+ <dt>Functions of XRegistryKey:
+ <dl>
+ <dt> <b>openKey</b>
+ </dt>
+ <dd> returns a virtual key which is specified in the local or the sytem
+ registry.
+ </dd>
+ <dt> <b>deleteKey</b>
+ </dt>
+ <dd> deletes the key only if it is present in the local registry.
+ </dd>
+ <dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b>
+ </dt>
+ <dd> sets the value at the specified key in the local registry.
+ </dd>
+ <dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b>
+ </dt>
+ <dd> returns the value at the specified key in the local registry, or if
+ the value is not present in the local registry, it will return the value of the
+ system registry.
+ </dd>
+ <dt> <b>openKeys</b>
+ </dt>
+ <dd> returns a sequence of all subkeys in both registries.
+ </dd>
+ <dt> <b>getKeyNames</b>
+ </dt>
+ <dd> returns a sequence with the names of all subkeys in both registries.
+ </dd>
+ <dt>
+ <br>
+ <b>Note: all write functions only work on the local registry.</b>
+ </dt>
+ </dl>
+
+ <br>
+
+ </dt>
+ <dt>How to find the registries:
+ <dl>
+ <dt> search for the system registry:
+ </dt>
+ <dd> The system registry will always be searched in the same directory as the
+ executable. The name of the system registry is "applicat.rdb". If the system
+ registry was not found, then the environment variable STAR_REGISTRY will be checked.
+ If this variable was set, it must contain a full path to a valid system registry.
+ </dd>
+ <dt> Search for the user registry using the following rules:
+ </dt>
+ <dd>
+ <dl>
+ <dt> 1. (for further use) search in sversion.ini (.sversionrc) for an entry
+ REGISTRY_VERSION_STRING (example: UserRegistry 5.0/505=test.rdb) in the section
+ [Registry]. If found, then take this value instead of "user.rdb" as "REGISTRY NAME".
+ </dt>
+ <dt> 2. Search in the config directory of the user for a file "REGISTRY NAME". If
+ found, return the full path and name of the file. If not found, retry this
+ step with a dot before "REGISTRY NAME".
+ </dt>
+ <dt> 3. If not found, a new user registry with name user.rdb will be created in the user
+ config directory.
+ </dt>
+ </dl>
+ </dd>
+ </dl>
+ </dt>
+ </dl>
+ <h4>Guarantees:</h4>
+
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service DefaultRegistry
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XSimpleRegistry;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/ImplementationRegistration.idl b/udkapi/com/sun/star/registry/ImplementationRegistration.idl
new file mode 100644
index 000000000000..5e2dd27408b3
--- /dev/null
+++ b/udkapi/com/sun/star/registry/ImplementationRegistration.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_ImplementationRegistration_idl__
+#define __com_sun_star_registry_ImplementationRegistration_idl__
+
+#ifndef __com_sun_star_registry_XImplementationRegistration_idl__
+#include <com/sun/star/registry/XImplementationRegistration.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::ImplementationRegistration
+/** is the implementation of the interface <type>XImplementationRegistration</type>.
+ This service can be used to install or uninstall components (implementations).
+ Further, it is possible to check if all runtime dependencies (needed services) are
+ available to use a specified component.
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service ImplementationRegistration
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XImplementationRegistration;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/InvalidRegistryException.idl b/udkapi/com/sun/star/registry/InvalidRegistryException.idl
new file mode 100644
index 000000000000..b9a3a1ef9aab
--- /dev/null
+++ b/udkapi/com/sun/star/registry/InvalidRegistryException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_InvalidRegistryException_idl__
+#define __com_sun_star_registry_InvalidRegistryException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::InvalidRegistryException
+/** signals that the registry is invalid or an operation on the registry
+ failed.
+ */
+published exception InvalidRegistryException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/InvalidValueException.idl b/udkapi/com/sun/star/registry/InvalidValueException.idl
new file mode 100644
index 000000000000..013fca9d8b49
--- /dev/null
+++ b/udkapi/com/sun/star/registry/InvalidValueException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_InvalidValueException_idl__
+#define __com_sun_star_registry_InvalidValueException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::InvalidValueException
+/** signals that the value of the key is invalid or does not have the
+ appropriate key type.
+ */
+published exception InvalidValueException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/MergeConflictException.idl b/udkapi/com/sun/star/registry/MergeConflictException.idl
new file mode 100644
index 000000000000..67973f693af2
--- /dev/null
+++ b/udkapi/com/sun/star/registry/MergeConflictException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_MergeConflictException_idl__
+#define __com_sun_star_registry_MergeConflictException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::MergeConflictException
+/** is thrown if entries of two registries are contradictory in the context of
+ <member>XSimpleRegistry::mergeKey()e</member> method.
+ */
+published exception MergeConflictException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/NestedRegistry.idl b/udkapi/com/sun/star/registry/NestedRegistry.idl
new file mode 100644
index 000000000000..e10f9e7c8dc2
--- /dev/null
+++ b/udkapi/com/sun/star/registry/NestedRegistry.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_DefaultRegistry_idl__
+#define __com_sun_star_registry_DefaultRegistry_idl__
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::NestedRegistry
+/** supports a shared view on two different registries. The registry
+ files will be opened in two different modes, registry1 will be opened with read/write
+ rights and registry2 will be opened read-only.
+ In the context of this service, the functions <code>open</code>, <code>close</code>,
+ and <code>destroy</code> from <type>XSimpleRegistry</type> are not supported and
+ throw an exception if they are used.
+ <dl>
+ <dt>Functions of <type>XSimpleRegistry</type>:
+ <dl>
+ <dt> <b>getURL</b>
+ </dt>
+ <dd> returns the name of registry1.
+
+ </dd>
+ <dt> <b>isValid</b>
+ </dt>
+ <dd> checks if registry1 is valid. If the interface is not <NULL/>
+ then registry1 should always be valid.
+
+ </dd>
+ <dt> <b>isReadOnly</b>
+ </dt>
+ <dd> checks if registry1 has write protection.
+ </dd>
+ <dt> <b>mergeKey</b>
+ </dt>
+ <dd> merges all information from the specified registry in registry1.
+
+ </dd>
+ <dt> <b>getRootKey</b>
+ </dt>
+ <dd> returns a virtual rootkey of both registries.
+ </dd>
+ </dl>
+
+ <br>
+
+ </dt>
+ <dt>Functions of <type>XRegistryKey</type>:
+ <dl>
+ <dt> <b>openKey</b>
+ </dt>
+ <dd> returns a virtual key which is specified in registy1 or registry2.
+
+ </dd>
+ <dt> <b>deleteKey</b>
+ </dt>
+ <dd> deletes the key only if it is present in registry1.
+
+ </dd>
+ <dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b>
+ </dt>
+ <dd> sets the value at the specified key in registry1.
+
+ </dd>
+ <dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b>
+ </dt>
+ <dd> returns the value at the specified key in registry1, or if
+ the value is not present in registry1, it will return the value of registry2.
+
+ </dd>
+ <dt> <b>openKeys</b>
+ </dt>
+ <dd> returns a sequence of all subkeys in both registries.
+
+ </dd>
+ <dt> <b>getKeyNames</b>
+ </dt>
+ <dd> returns a sequence with the names of all subkeys in both
+ registries.
+
+ </dd>
+ <dt>
+ <br>
+ <b>Note: all write functions only work on registry1.</b>
+ </dt>
+ </dl>
+ </dt>
+ </dl>
+ <br>
+ How to initialize the registries:<br>
+ Use a sequence of <type>XSimpleRegistry</type> with two elements. The first element must be
+ the registry which is opened with read/write rights and the second element must be
+ the read-only one.<br>
+ Two different ways are possible:<br>
+ <ul>
+ <li> use <method scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</method> to
+ create an instance of this service where the value of the any parameter must be the sequence with
+ the two open registries.
+ <li> use the initialize function of the <type scope="com::sun::star::lang">XInitialization</type> interface where the value of the
+ any parameter must be the sequence with the two open registries.
+ </ul>
+ <br>
+
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service NestedRegistry
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XSimpleRegistry;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/RegistryKeyType.idl b/udkapi/com/sun/star/registry/RegistryKeyType.idl
new file mode 100644
index 000000000000..b753b8abe327
--- /dev/null
+++ b/udkapi/com/sun/star/registry/RegistryKeyType.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_RegistryKeyType_idl__
+#define __com_sun_star_registry_RegistryKeyType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::registry::RegistryKeyType
+/** represents all possible types of a key.
+
+ <p>A key can be a normal key with a value and subkeys, or it can be a
+ link which references another key.</p>
+ */
+published enum RegistryKeyType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryKeyType:: KEY,
+
+ // DocMerge: empty anyway
+ KEY,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryKeyType:: LINK
+
+ // DocMerge: empty anyway
+ LINK
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/RegistryValueType.idl b/udkapi/com/sun/star/registry/RegistryValueType.idl
new file mode 100644
index 000000000000..9d98fee12da9
--- /dev/null
+++ b/udkapi/com/sun/star/registry/RegistryValueType.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_RegistryValueType_idl__
+#define __com_sun_star_registry_RegistryValueType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::registry::RegistryValueType
+/** represents all possible types of a key value.
+
+ <p>An ASCII value and a string value will both be handled with type
+ string. But interns will be handled differently. Normally the idl
+ string represents a unicode string. </p>
+ */
+published enum RegistryValueType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: NOT_DEFINED,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::NOT_DEFINED
+ /** the type of the key is not defined.
+ */
+ NOT_DEFINED,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: LONG,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONG
+ /** the type of the key is long.
+ */
+ LONG,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCII,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCII
+ /** the type of the key is ASCII.
+ */
+ ASCII,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: STRING,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRING
+ /** the type of the key is a string.
+ */
+ STRING,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: BINARY,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::BINARY
+ /** the type of the key is binary.
+ */
+ BINARY,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: LONGLIST,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONGLIST
+ /** the type of the key is LONGLIST.
+ */
+ LONGLIST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCIILIST,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCIILIST
+ /** the type of the key is a ASCIILIST.
+ */
+ ASCIILIST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: STRINGLIST
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRINGLIST
+ /** the type of the key is a STRINGLIST.
+ */
+ STRINGLIST
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/SimpleRegistry.idl b/udkapi/com/sun/star/registry/SimpleRegistry.idl
new file mode 100644
index 000000000000..122b707cd3bb
--- /dev/null
+++ b/udkapi/com/sun/star/registry/SimpleRegistry.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_SimpleRegistry_idl__
+#define __com_sun_star_registry_SimpleRegistry_idl__
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::SimpleRegistry
+/** makes it possible to create, open, or close a registry. Further, it is
+ possible to merge a registry under a specified key in the open registry.
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service SimpleRegistry
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XSimpleRegistry;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration.idl b/udkapi/com/sun/star/registry/XImplementationRegistration.idl
new file mode 100644
index 000000000000..50ea2f8fd966
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XImplementationRegistration.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_XImplementationRegistration_idl__
+#define __com_sun_star_registry_XImplementationRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+
+#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__
+#include <com/sun/star/registry/CannotRegisterImplementationException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::registry::XImplementationRegistration
+/** offers a registry for implementation objects and provides information
+ about the registered implementations.
+ */
+published interface XImplementationRegistration: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::registerImplementation
+ /** registers a component which provides one or more implementations.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be installed
+ in the system registry (if this feature is supported).
+ */
+ void registerImplementation( [in] string aImplementationLoader,
+ [in] string aLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg )
+ raises( com::sun::star::registry::CannotRegisterImplementationException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::revokeImplementation
+ /** revokes a component and all their provided implementations from the registry.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be revoked
+ from the system registry (if this feature is supported).
+ */
+ boolean revokeImplementation( [in] string aLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XImplementationRegistration::getImplementations
+
+ // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::getImplementations
+ /** @returns
+ the names of the implementations registered by the url location.
+
+ @param aImplementationLoader
+ specifies the name of the needed loader for this type of implementation. For
+ example, the loader "com.sun.star.loader.SharedLibrary" for implementations
+ that are realized as an SharedLibrary.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+ */
+ sequence<string> getImplementations( [in] string aImplementationLoader,
+ [in] string aLocation );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XImplementationRegistration::checkInstantiation
+
+ // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::checkInstantiation
+ /** @returns
+ a sequence with names of the missing services to create an instance of this implementation.
+
+ @param implementationName
+ specifies the name of the checked implementation.
+ */
+ sequence<string> checkInstantiation( [in] string implementationName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration2.idl b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl
new file mode 100644
index 000000000000..01c97b8274ab
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_XImplementationRegistration2_idl__
+#define __com_sun_star_registry_XImplementationRegistration2_idl__
+
+#ifndef __com_sun_star_registry_XImplementationRegistration_idl__
+#include <com/sun/star/registry/XImplementationRegistration.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+/** extends the functionality of <type scope="com::sun::star::registry">XImplementationRegistration</type>. It can be useful to specify a complete Url to a component but register the components name only (library or jar name).
+
+ @since OOo 2.4
+ */
+interface XImplementationRegistration2: com::sun::star::registry::XImplementationRegistration
+{
+ //-------------------------------------------------------------------------
+
+ /** registers a component which provides one or more implementations.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param aRegisteredLocation
+ the URL with which the component is actually registered.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be installed
+ in the system registry (if this feature is supported).
+ */
+ void registerImplementationWithLocation( [in] string aImplementationLoader,
+ [in] string aLocation, [in] string aRegisteredLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg )
+ raises( com::sun::star::registry::CannotRegisterImplementationException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XRegistryKey.idl b/udkapi/com/sun/star/registry/XRegistryKey.idl
new file mode 100644
index 000000000000..7920ca6945c0
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XRegistryKey.idl
@@ -0,0 +1,466 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_XRegistryKey_idl__
+#define __com_sun_star_registry_XRegistryKey_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidRegistryException_idl__
+#include <com/sun/star/registry/InvalidRegistryException.idl>
+#endif
+
+#ifndef __com_sun_star_registry_RegistryKeyType_idl__
+#include <com/sun/star/registry/RegistryKeyType.idl>
+#endif
+
+#ifndef __com_sun_star_registry_RegistryValueType_idl__
+#include <com/sun/star/registry/RegistryValueType.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidValueException_idl__
+#include <com/sun/star/registry/InvalidValueException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module registry {
+
+//=============================================================================
+/** makes structural information (except regarding tree structures)
+ of a single registry key accessible.
+
+ <p>This is the main interface for registry keys.<p>
+
+ @see XSimpleRegistry
+*/
+published interface XRegistryKey: com::sun::star::uno::XInterface
+{
+ //---------------------------------------------------------------------
+ /** This is the key of the entry relative to its parent.<p>
+
+ <p>The access path starts with the root "/" and all parent
+ entry names are delimited with slashes "/" too, like in a
+ UNIX (R) file system. Slashes which are part of single names
+ are represented as hexadecimals preceded with a "%" like in
+ URL syntax.
+ */
+ [readonly, attribute] string KeyName;
+
+ //-------------------------------------------------------------------------
+ /** checks if the key can be overwritten.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ boolean isReadOnly()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the key points to an open valid key in the data-source.
+ */
+ boolean isValid();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the type of the specified key.
+
+ @param rKeyName
+ specifies the relative path from the current key to
+ the key of the type which will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::RegistryKeyType getKeyType( [in] string rKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the type of the key value or NOT_DEFINED if the key has no value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::RegistryValueType getValueType()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ a long value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the value is not of type long.
+ */
+ long getLongValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a long value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setLongValue( [in] long value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getLongListValue
+ /** @returns
+ a sequence of longs if the key contains a long list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type long list.
+ */
+ sequence<long> getLongListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a long list value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setLongListValue( [in] sequence<long> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiValue
+ /** @returns
+ an ascii string value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type ascii.
+ */
+ string getAsciiValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets an ASCII string value to the key.
+
+ <p>The high byte of the string should be NULL. If not, there
+ is no guarantee that the string will be correctly transported.
+ If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setAsciiValue( [in] string value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiListValue
+ /** @returns
+ a sequence of ascii strings if the key contains an asci list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type ascii list.
+ */
+ sequence<string> getAsciiListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets an ASCII string list value to the key.
+
+ <p>The high byte of the string should be NULL. If not, there
+ is no guarantee that the string will be correctly transported.
+ If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setAsciiListValue( [in] sequence<string> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getStringValue
+ /** @returns
+ a unicode string value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type string.
+ */
+ string getStringValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a unicode string value to the key.
+
+ <p> If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setStringValue( [in] string value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getStringListValue
+ /** @returns
+ a sequence of unicode strings if the key contains an unicode string list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type string list.
+ */
+ sequence<string> getStringListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a unicode string value to the key.
+
+ <p>If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setStringListValue( [in] sequence<string> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getBinaryValue
+ /** @returns
+ a binary value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type binary.
+ */
+ sequence<byte> getBinaryValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a binary value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setBinaryValue( [in] sequence<byte> value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** opens a sub key of the key.
+
+ <p>If the sub key does not exist, the function returns a
+ NULL-interface.
+
+ @param aKeyName
+ the relative path from the current key to the key
+ which will be created.
+
+ @returns
+ a NULL interface if the key does not exist.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::XRegistryKey openKey( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** creates a new key in the registry.<p>
+
+ <p>If the key already exists, the function will open the key.
+
+ @param aKeyName
+ specifies the relative path from the current key to
+ the key which will be created.
+
+ @returns
+ a NULL interface if the key could not be created.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly
+ or if the key exists and is of type LINK.
+ */
+ com::sun::star::registry::XRegistryKey createKey( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** closes a key in the registry.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void closeKey()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** deletes a key from the registry.
+
+ @param aKeyName
+ specifies the relative path from the current key to
+ the key which will be deleted.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly,
+ the key does not exists or if the key is of type LINK.
+ */
+ void deleteKey( [in] string rKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::openKeys
+ /** opens all subkeys of the key. If a subkey is a link, the link will be
+ resolved and the appropriate key will be opened.
+
+ @returns
+ an empty sequence if the key has no subkeys.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ sequence<com::sun::star::registry::XRegistryKey> openKeys()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getKeyNames
+ /** @returns a sequence with the names of all subkeys of the key.
+ If the key has no subkeys, the function returns an empty sequence. If a subkey is
+ a link, the name of the link will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ sequence<string> getKeyNames()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** creates a new link in the registry.
+
+ @returns
+ <TRUE/> if the link was created. If the link already
+ exists or the link target does not exist, the
+ function returns <FALSE/>.
+
+ @param aLinkName
+ specifies the relative path from the current key to
+ the link which will be created.
+
+ @param aLinkTarget
+ specifies the full path of the key which will be
+ referenced by the link.
+
+ @throws InvalidRegistryException
+ if the registry is not open or the registry is
+ readonly.
+
+ */
+ boolean createLink( [in] string aLinkName,
+ [in] string aLinkTarget )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** deletes a link from the registry.
+
+ @param aLinkName
+ specifies the relative path from the current key to
+ the link which will be deleted.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly,
+ or if the link does not exist.
+ */
+ void deleteLink( [in] string rLinkName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getLinkTarget
+ /** @returns
+ the target (complete path of a key) of the link specified by rLinkName.
+
+ @param rLinKName
+ specifies the relative path from the current key to
+ the link which target will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open or the link does not exists.
+ */
+ string getLinkTarget( [in] string rLinkName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getResolvedName
+ /** @returns
+ the resolved name of a key. The function resolve the complete name of the key.
+ If a link could not be resolved, the linktarget concatenated with the unresolved rest
+ of the name, will be returned.
+
+ @param rKeyName
+ specifies a relative path from the current key which will be resolved from all links.
+
+ @throws InvalidRegistryException
+ if the registry is not open or a recursion was detected.
+ */
+ string getResolvedName( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/registry/XSimpleRegistry.idl b/udkapi/com/sun/star/registry/XSimpleRegistry.idl
new file mode 100644
index 000000000000..4ebd9f4cd7c1
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XSimpleRegistry.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_registry_XSimpleRegistry_idl__
+#define __com_sun_star_registry_XSimpleRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidRegistryException_idl__
+#include <com/sun/star/registry/InvalidRegistryException.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XRegistryKey_idl__
+#include <com/sun/star/registry/XRegistryKey.idl>
+#endif
+
+#ifndef __com_sun_star_registry_MergeConflictException_idl__
+#include <com/sun/star/registry/MergeConflictException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module registry {
+
+//=============================================================================
+/** allows access to a registry (a persistent data source).
+ The data is stored in a hierarchical key structure beginning with a root key.
+ Each key can store a value and can have multiple subkeys.
+
+ @see XRegistryKey
+*/
+published interface XSimpleRegistry: com::sun::star::uno::XInterface
+{
+ //---------------------------------------------------------------------
+ /** returns the URL of the current data source of the registry.
+ */
+ string getURL();
+
+ //-------------------------------------------------------------------------
+ /** connects the registry to a persistent data source represented by
+ an URL.
+
+ <p>If a local registry is already open, this function
+ will close the currently open registry.
+
+ @param aURL
+ specifies the complete URL to access the data source.
+
+ @param bReadOnly
+ specifies if the data source should be opened for
+ read only.
+
+ @param bCreate
+ specifies if the data source should be created if it
+ does not already exist.
+
+ @throws InvalidRegistryException
+ if the registry does not exist.
+ */
+ void open( [in] string rURL,
+ [in] boolean bReadOnly,
+ [in] boolean bCreate )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the registry points to a valid data-source.
+ */
+ boolean isValid();
+
+ //-------------------------------------------------------------------------
+ /** disconnects the registry from the data-source.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void close()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** destroys the registry and the data source.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void destroy()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the root key of the registry.
+
+ @throws InvalidRegistryException
+ if no registry is open
+ */
+ com::sun::star::registry::XRegistryKey getRootKey()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the registry is readonly.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ boolean isReadOnly()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** DEPRECATED: this method lacks a registry key (better than a URL).
+
+ merges a registry under the specified key.
+
+ <p>If the key does not exist it will be created. Existing
+ keys will be overridden from keys of registry specified by
+ <var>aUrl</var>.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws MergeConflictException
+ if any differences occur during merging
+ */
+ void mergeKey( [in] string aKeyName,
+ [in] string aUrl )
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::MergeConflictException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/registry/makefile.mk b/udkapi/com/sun/star/registry/makefile.mk
new file mode 100644
index 000000000000..0e420aa848f6
--- /dev/null
+++ b/udkapi/com/sun/star/registry/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssregistry
+PACKAGE=com$/sun$/star$/registry
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CannotRegisterImplementationException.idl\
+ DefaultRegistry.idl\
+ ImplementationRegistration.idl\
+ InvalidRegistryException.idl\
+ InvalidValueException.idl\
+ MergeConflictException.idl\
+ NestedRegistry.idl\
+ RegistryKeyType.idl\
+ RegistryValueType.idl\
+ SimpleRegistry.idl\
+ XImplementationRegistration.idl\
+ XImplementationRegistration2.idl\
+ XRegistryKey.idl\
+ XSimpleRegistry.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/script/AllEventObject.idl b/udkapi/com/sun/star/script/AllEventObject.idl
new file mode 100644
index 000000000000..3ecaf84896ff
--- /dev/null
+++ b/udkapi/com/sun/star/script/AllEventObject.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_AllEventObject_idl__
+#define __com_sun_star_script_AllEventObject_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** This event is a wrapper for an original event in a forwarding event.
+
+ <p> Usually the original event is the first argument in the
+ array of arguments. </p>
+ */
+published struct AllEventObject: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** A helper value for the implementation that can be used arbitrarily.
+
+ <p>This field reflects the third parameter of the method
+ <member>XAllListenerAdapterService::createAllListerAdapter</member>.
+ </p>
+ */
+ any Helper;
+
+ //-------------------------------------------------------------------------
+ /** contains the type of the original listener.
+ */
+ type ListenerType;
+
+ //-------------------------------------------------------------------------
+ /** The original method name on which the event was fired.
+ */
+ string MethodName;
+
+ //-------------------------------------------------------------------------
+ /** The arguments of the original method.
+ */
+ sequence<any> Arguments;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/AllListenerAdapter.idl b/udkapi/com/sun/star/script/AllListenerAdapter.idl
new file mode 100644
index 000000000000..49e466108e53
--- /dev/null
+++ b/udkapi/com/sun/star/script/AllListenerAdapter.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_AllListenerAdapter_idl__
+#define __com_sun_star_script_AllListenerAdapter_idl__
+
+#ifndef __com_sun_star_script_XAllListenerAdapterService_idl__
+#include <com/sun/star/script/XAllListenerAdapterService.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** makes it possible to generate the adapters from specific
+ interfaces to the interface <type>XAllListener</type>.
+ */
+published service AllListenerAdapter
+{
+ /// interface to create adapters for listener types
+ interface com::sun::star::script::XAllListenerAdapterService;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/ArrayWrapper.idl b/udkapi/com/sun/star/script/ArrayWrapper.idl
new file mode 100644
index 000000000000..8f60780229c7
--- /dev/null
+++ b/udkapi/com/sun/star/script/ArrayWrapper.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XArrayWrapper_idl__
+#define __com_sun_star_script_XArrayWrapper_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module script {
+
+//=============================================================================
+/** Allows an UNO sequence that is passed between different language
+ boundries to indicate it prefers to be represented as a multidimensional
+ array with 0 or 1 based indices. UNO does not natively represent
+ Multi-Dimensional arrays, instead a sequence can have elements that are
+ themselves sequences (an array of arrays ). <p>Some languages ( example
+ BASIC ) can natively represent both Multi-Dimentional arrays and array of
+ arrays.
+ Those languages could represent a sequence of sequences as either a
+ Multi-Dimentional array or array of arrays. This structure allows a
+ preference for a Multi-Dimensional array representation to be specified.</p>
+*/
+
+struct ArrayWrapper
+{
+ /** Indicates whether the Array should be have 1 or 0 based indexing.
+ */
+ boolean IsZeroIndex;
+ /** Contains the Array to be passed.
+ <p> Multi-dimensional arrays can only be represented as a sequence where the elements of the sequence are themselves sequences. N-Levels of indirection are possible, where N is the number of dimensions. Note: its perfectly legal to use this structure with a single dimensioned array just to indicate the array indexing.</p>
+ */
+ any Array;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/udkapi/com/sun/star/script/BasicErrorException.idl b/udkapi/com/sun/star/script/BasicErrorException.idl
new file mode 100644
index 000000000000..63a91b8e6373
--- /dev/null
+++ b/udkapi/com/sun/star/script/BasicErrorException.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_BasicErrorException_idl__
+#define __com_sun_star_script_BasicErrorException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** is thrown in order to transport an error to Basic.
+
+ @since OOo 2.0.0
+ */
+published exception BasicErrorException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ /** The error code.
+ */
+ long ErrorCode;
+
+ //-------------------------------------------------------------------------
+
+ /** Specifies the argument which is used in the localized error message for
+ the placeholder.
+ */
+ string ErrorMessageArgument;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/script/CannotConvertException.idl b/udkapi/com/sun/star/script/CannotConvertException.idl
new file mode 100644
index 000000000000..1d2ba4e2c910
--- /dev/null
+++ b/udkapi/com/sun/star/script/CannotConvertException.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_CannotConvertException_idl__
+#define __com_sun_star_script_CannotConvertException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** This exception is thrown to indicate that a type conversion can not be performed.
+*/
+published exception CannotConvertException: com::sun::star::uno::Exception
+{
+ /** This member contains the class of the type to which the value should be
+ converted.
+ */
+ com::sun::star::uno::TypeClass DestinationTypeClass;
+
+ /** This member contains the reason that the conversion failed.
+ Have a look at <type>FailReason</type>.
+ */
+ long Reason;
+
+ /** If the conversion of a method argument fails, this is the index
+ of the value in the "IN" argument list. [optional]
+ */
+ long ArgumentIndex;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/script/CannotCreateAdapterException.idl b/udkapi/com/sun/star/script/CannotCreateAdapterException.idl
new file mode 100644
index 000000000000..6b7d33d1873e
--- /dev/null
+++ b/udkapi/com/sun/star/script/CannotCreateAdapterException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_CannotCreateAdapterException_idl__
+#define __com_sun_star_script_CannotCreateAdapterException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** is thrown by an attacher if an adapter service cannot create the
+ appropriate adapter.
+
+ @see com::sun::star::script::XAllListenerAdapterService
+ @see com::sun::star::script::XEventAttacher
+ @see com::sun::star::script::XEventAttacherManager
+ */
+published exception CannotCreateAdapterException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/ContextInformation.idl b/udkapi/com/sun/star/script/ContextInformation.idl
new file mode 100644
index 000000000000..9863017b90a2
--- /dev/null
+++ b/udkapi/com/sun/star/script/ContextInformation.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_ContextInformation_idl__
+#define __com_sun_star_script_ContextInformation_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** provides information about a certain stack frame.
+
+ @deprecated
+ */
+published struct ContextInformation
+{
+ /** Full qualified name to adress the module or function associated with the context.
+ If the module or function can't be adressed by name, e.g., in case that a runtime
+ generated eval-module is executed, this string is empty
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+ /** Source code of the Module, that is associated with the context. If the source can
+ be accessed using the ModuleName or if the source is unknown (executing compiled
+ code) this string can be empty.
+ */
+ string SourceCode;
+
+ //-------------------------------------------------------------------------
+ /** contains the first line in the module's source code associated with
+ the context.
+
+ <p>If "name" addresses a function, all line and column values
+ are nevertheless given relative to the module's source. If
+ source code is not available, this value addresses a binary
+ position in the compiled code. </p>
+
+ @see XLibraryAccess::getModuleCode
+ @see XLibraryAccess::getFunctionCode
+ */
+ long StartLine;
+
+ //-------------------------------------------------------------------------
+ /** contains the first column in the <var>StartLine</var> associated with
+ the context.
+ */
+ long StartColumn;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the last line in the module's source code associated with
+ the context.
+ */
+ long EndLine;
+
+ //-------------------------------------------------------------------------
+ /** contains the first column in the <var>EndLine</var> that is NOT
+ associated with the context.
+ */
+ long EndColumn;
+
+ //-------------------------------------------------------------------------
+ /** Get all names of the local variable in this context.
+ */
+ sequence<string> LocalVariableNames;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/Converter.idl b/udkapi/com/sun/star/script/Converter.idl
new file mode 100644
index 000000000000..f0a9167ab074
--- /dev/null
+++ b/udkapi/com/sun/star/script/Converter.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_Converter_idl__
+#define __com_sun_star_script_Converter_idl__
+
+#ifndef __com_sun_star_script_XTypeConverter_idl__
+#include <com/sun/star/script/XTypeConverter.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** This service provides a widening converter converting from one type to another,
+ if possible.
+
+ <p>What is possible?
+ <ul>
+ <li>byte: byte, (short *1), (long *1), (hyper *1), (float *1), (double *1), (enum *2), (any *3), boolean, (char *4), (string *5)</li>
+ <li>short: byte, short, (long *1), (hyper *1), (float *7), (double *7), (enum *2), (any *3), boolean, char, (string *5)</li>
+ <li>long: byte, short, long, (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li>
+ <li>hyper: byte, short, long, hyper, (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li>
+ <li>float: byte, short, long, hyper, float, (double *7), (enum *8), (any *3), boolean, char, (string *5)</li>
+ <li>double: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, (string *5)</li>
+ <li>enum: (byte *9), (short *9), (long *9), (hyper *9), (float *9), (double *9), (enum *10), (any *3), (string *11)</li>
+ <li>void: ok for all types</li>
+ <li>any: ok for all types</li>
+ <li>boolean: byte, short, long, hyper, float, double, (any *3), boolean, char, (string *12). 0 => false, != 0 => true</li>
+ <li>char: byte, short, (long *1), (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *13)</li>
+ <li>string: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, string</li>
+ <li>struct: (any *3), (struct *14)</li>
+ <li>interface: (any *3), (struct *14)</li>
+ <li>exception: (any *3), (exception *14)</li>
+ <li>union: (any *3), (union *14)</li>
+ <li>sequence: (any *3), (sequence *15)</li>
+ </ul>
+ rules:
+ <ul>
+ <li>1: only converts if the value is in the range of the target type.</li>
+ <li>2: only converts if the value, not the position, of the enum is in the range of the target type.</li>
+ <li>3: get value until it is not an any. Then convert it with the other rules.</li>
+ <li>4: only converts if the value of the character is between 0 - 255.</li>
+ <li>5: only converts if the value represents a decimal, hexadecimal (0x...) or a floating point number.
+ Examples: 10, 0x10, 10.045, 10,555, +10, +10.6e10, -10.6e-10, .16.</li>
+ <li>7: only converts if the value is in the range of the target type.
+ The value is rounded to an integer.</li>
+ <li>8: only converts if the float can be converted back to the same enum value.</li>
+ <li>9: only converts if the number is one of the enumeration type values. Normally you need
+ reflection information of the enum type.</li>
+ <li>10: only converts if it is the same enumeration type.</li>
+ <li>11: only converts if the string contains the name of an enumeration type value. Normally you need
+ core reflection information of the enum type.</li>
+ <li>12: only converts if the value of the string is "1", "true" or "0", "false". The comparision
+ is case insensitive.</li>
+ <li>13: only converts if the length of the string is 1 or 0.</li>
+ <li>14: only converts if the types are equal or the source type is derived from the destination
+ type.</li>
+ <li>15: only converts if each element of the source sequence can be converted to an element
+ of the destination sequence.</li>
+ </ul>
+*/
+published service Converter
+{
+ /** Conversion interface.
+ */
+ interface com::sun::star::script::XTypeConverter;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/script/Engine.idl b/udkapi/com/sun/star/script/Engine.idl
new file mode 100644
index 000000000000..5e193a7fe679
--- /dev/null
+++ b/udkapi/com/sun/star/script/Engine.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_Engine_idl__
+#define __com_sun_star_script_Engine_idl__
+
+#ifndef __com_sun_star_script_XEngine_idl__
+#include <com/sun/star/script/XEngine.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::script::Engine
+/** service that any scripting engine must implement.
+
+ <p>The implementation of this
+ interface should supply the interfaces com.sun.star.script.XDebugging2 and
+ interface com.sun.star.script.XInvocation.</p>
+ @deprecated
+ */
+published service Engine
+{
+ /// The only interface of this service
+ interface com::sun::star::script::XEngine;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/FailReason.idl b/udkapi/com/sun/star/script/FailReason.idl
new file mode 100644
index 000000000000..a8f02fe3a19a
--- /dev/null
+++ b/udkapi/com/sun/star/script/FailReason.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_FailReason_idl__
+#define __com_sun_star_script_FailReason_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** These values specify the reason why a type conversion failed.
+*/
+published constants FailReason
+{
+ /** The given value does not fit in the range of the destination type.
+ */
+ const long OUT_OF_RANGE = 1;
+
+ /** The given value cannot be converted to a number.
+ */
+ const long IS_NOT_NUMBER = 2;
+
+ /** The given value cannot be converted to an enumeration.
+ */
+ const long IS_NOT_ENUM = 3;
+
+ /** The given value cannot be converted to a boolean.
+ */
+ const long IS_NOT_BOOL = 4;
+
+ /** The given value is not an interface or cannot queried to the right interface.
+ */
+ const long NO_SUCH_INTERFACE = 5;
+
+ /** The given value cannot be converted to right structure or exception type.
+ */
+ const long SOURCE_IS_NO_DERIVED_TYPE = 6;
+
+ /** The type class of the given value is not supported.
+ */
+ const long TYPE_NOT_SUPPORTED = 7;
+
+ /** The given value cannot be converted and none of the other reasons match.
+ */
+ const long INVALID = 8;
+
+ /** This value is deprecated. Do not use.
+ @deprecated
+ */
+ const long NO_DEFAULT_AVAILABLE = 9;
+
+ /** This value is deprecated. Do not use.
+ @deprecated
+ */
+ const long UNKNOWN = 10;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/script/FinishEngineEvent.idl b/udkapi/com/sun/star/script/FinishEngineEvent.idl
new file mode 100644
index 000000000000..7ec3d6818657
--- /dev/null
+++ b/udkapi/com/sun/star/script/FinishEngineEvent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_FinishEngineEvent_idl__
+#define __com_sun_star_script_FinishEngineEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_script_FinishReason_idl__
+#include <com/sun/star/script/FinishReason.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** event contains the reasons and the data for the
+ <member>XEngineListener::finished()</member> method.
+ @deprecated
+ */
+published struct FinishEngineEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** specifies why the script terminates.
+ */
+ com::sun::star::script::FinishReason Finish;
+
+ //-------------------------------------------------------------------------
+ /** error message.
+
+ <p>Only valid if Reason is RuntimeError or CompileError.</p>
+ */
+ string ErrorMessage;
+
+ //-------------------------------------------------------------------------
+ /** contains the return value.
+
+ <p>This field is only valid if <member>FinishEngineEvent::Finish</member> is
+ <const>FinishReason::OK</const>.</p>
+ */
+ any Return;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/FinishReason.idl b/udkapi/com/sun/star/script/FinishReason.idl
new file mode 100644
index 000000000000..068769e59130
--- /dev/null
+++ b/udkapi/com/sun/star/script/FinishReason.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_FinishReason_idl__
+#define __com_sun_star_script_FinishReason_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** contains the response for a scripting engine termination.
+ @deprecated
+ */
+published enum FinishReason
+{
+ //-------------------------------------------------------------------------
+ /** script in the engine terminated normally.
+ */
+ OK,
+
+ //-------------------------------------------------------------------------
+ /** script in the engine was cancelled.
+ */
+ Cancel,
+
+ //-------------------------------------------------------------------------
+ /** error occurred during script execution or compiling.
+ */
+ Error
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/InterruptEngineEvent.idl b/udkapi/com/sun/star/script/InterruptEngineEvent.idl
new file mode 100644
index 000000000000..b89fcf74503d
--- /dev/null
+++ b/udkapi/com/sun/star/script/InterruptEngineEvent.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_InterruptEngineEvent_idl__
+#define __com_sun_star_script_InterruptEngineEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_script_InterruptReason_idl__
+#include <com/sun/star/script/InterruptReason.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** describes an interrupt which occurs in the scripting engine.
+ @deprecated
+ */
+published struct InterruptEngineEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** fully qualified name to address the module or function affected by the event that
+ took place.
+
+ <p>If the module or function can't be addressed by name (for example, in case
+ that a runtime-generated eval-module is executed), this string is empty.</p>
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+ /** source code of the Module affected by the event that took place.
+
+ <p>If the source can
+ be accessed using the ModuleName, or if the source is unknown (executing compiled
+ code), this string can be empty.</p>
+ */
+ string SourceCode;
+
+ //-------------------------------------------------------------------------
+ /** contains the first line in the module's source code that is affected
+ by the event that took place.
+
+
+
+ <p>If "name" addresses a function, all line and column values
+ are nevertheless given relative to the module's source. If
+ source code is not available, this value addresses a binary
+ position in the compiled code. </p>
+
+ @see XLibraryAccess::getModuleCode
+ @see XLibraryAccess::getFunctionCode
+ */
+ long StartLine;
+
+ //-------------------------------------------------------------------------
+ /** contains the first column in the "StartLine" that is affected by the
+ event that took place.
+ */
+ long StartColumn;
+
+ //-------------------------------------------------------------------------
+ /** contains the last line in the module's source code that is affected
+ by the event that took place.
+ */
+ long EndLine;
+
+ //-------------------------------------------------------------------------
+ /** contains the first column in the "EndLine" which is NOT affected by
+ the event that took place.
+ */
+ long EndColumn;
+
+ //-------------------------------------------------------------------------
+ /** error message.
+ <p>Only valid if Reason is RuntimeError or CompileError.</p>
+ */
+ string ErrorMessage;
+
+ //-------------------------------------------------------------------------
+ /** contains the interrupt reason.
+ */
+ com::sun::star::script::InterruptReason Reason;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/InterruptReason.idl b/udkapi/com/sun/star/script/InterruptReason.idl
new file mode 100644
index 000000000000..c0e46a2b7f8d
--- /dev/null
+++ b/udkapi/com/sun/star/script/InterruptReason.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_InterruptReason_idl__
+#define __com_sun_star_script_InterruptReason_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** values used to specify the response for a scripting engine
+ interrupt.
+ @deprecated
+ */
+published enum InterruptReason
+{
+ //-------------------------------------------------------------------------
+ /** script execution was cancelled.
+ */
+ Cancel,
+
+ //-------------------------------------------------------------------------
+ /** runtime error occurred during script execution.
+ */
+ RuntimeError,
+
+ //-------------------------------------------------------------------------
+ /** script has invalid syntax.
+ */
+ CompileError,
+
+ //-------------------------------------------------------------------------
+ /** script stopped at a breakpoint.
+ */
+ BreakPoint,
+
+ //-------------------------------------------------------------------------
+ /** script stops because only one scripting engine command was executed.
+ */
+ Step,
+
+ //-------------------------------------------------------------------------
+ /** script stops because one step was executed.
+ */
+ StepOver,
+
+ //-------------------------------------------------------------------------
+ /** script stops because it leaves a function.
+ */
+ StepOut,
+
+ //-------------------------------------------------------------------------
+ /** script stop because one step was executed.
+ */
+ StepStatement
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/Invocation.idl b/udkapi/com/sun/star/script/Invocation.idl
new file mode 100644
index 000000000000..83eb11a37078
--- /dev/null
+++ b/udkapi/com/sun/star/script/Invocation.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_Invocation_idl__
+#define __com_sun_star_script_Invocation_idl__
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** factory service that allows construction of Invocation objects.
+
+ <p>Invoke createInstanceWithArguments() of XSingleServiceFactory
+ to create an Invocation adapter for the passed object (Invoking
+ createInstance() will fail).</p>
+ <p>
+ The adapter has to support <type scope="com::sun::star::script">XInvocation</type>.
+ The adapter may also support <type scope="com::sun::star::script">XInvocation2</type>.
+ </p>
+ */
+published service Invocation
+{
+ /// Interface to specify the object to be mapped by the invocation service.
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/InvocationAdapterFactory.idl b/udkapi/com/sun/star/script/InvocationAdapterFactory.idl
new file mode 100644
index 000000000000..9363de749d6a
--- /dev/null
+++ b/udkapi/com/sun/star/script/InvocationAdapterFactory.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_InvocationAdapterFactory_idl__
+#define __com_sun_star_script_InvocationAdapterFactory_idl__
+
+#ifndef __com_sun_star_script_XInvocationAdapterFactory_idl__
+#include <com/sun/star/script/XInvocationAdapterFactory.idl>
+#endif
+#ifndef __com_sun_star_script_XInvocationAdapterFactory2_idl__
+#include <com/sun/star/script/XInvocationAdapterFactory2.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** Provides functionality to create an adapter that supports (a)
+ special interface type(s) and maps calls to the interface's
+ methods to an invocation interface.
+
+ <p>
+ An adapter like this allows generic dispatch interfaces to
+ meet interface requirements, e.g. if a specific listener
+ interface has to be passed to an add...Listener method.
+ </p>
+
+ <p>
+ The adapter has to support
+ <type scope="com::sun::star::script">XInvocationAdapterFactory</type>.
+ The adapter may also support
+ <type scope="com::sun::star::script">XInvocationAdapterFactory2</type>.
+ </p>
+ */
+published service InvocationAdapterFactory
+{
+ /** Interface for creating adapter objects.
+ This interface is deprecated. Use <type>XInvocationAdapterFactory2</type>.
+ @deprecated
+ */
+ interface com::sun::star::script::XInvocationAdapterFactory;
+
+ /** Interface for creating adapter objects.
+ */
+ interface com::sun::star::script::XInvocationAdapterFactory2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/InvocationInfo.idl b/udkapi/com/sun/star/script/InvocationInfo.idl
new file mode 100644
index 000000000000..ba619e00461b
--- /dev/null
+++ b/udkapi/com/sun/star/script/InvocationInfo.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_InvocationInfo_idl__
+#define __com_sun_star_script_InvocationInfo_idl__
+
+#ifndef __com_sun_star_script_MemberType_idl__
+#include <com/sun/star/script/MemberType.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_ParamMode_idl__
+#include <com/sun/star/reflection/ParamMode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ This struct is used to specify information about object members
+ (methods or properties) accessed via XInvocation, such as names,
+ types, or parameters.
+ </p>
+ */
+published struct InvocationInfo
+{
+
+ /** Name of the method or property.
+ */
+ string aName;
+
+ /** Kind of the member (method or property).
+ */
+ MemberType eMemberType;
+
+ /** Only for property members:
+ This field may contain zero or more constants of the
+ <type scope="com::sun::star::beans">PropertyAttribute</type>
+ constants group. It is not guaranteed that all necessary
+ constants are set to describe the property completely,
+ but a flag will only be set, if the corresponding charac-
+ teristic really exists. Example: If the READONLY flag
+ is set, the property is readonly. If it isn't set, the
+ property nevertheless can be readonly.
+
+ For methods this field is irrelevant and is set to 0.
+ */
+ short PropertyAttribute;
+
+ /** Type of the member, for methods the return type
+ */
+ type aType;
+
+ /** Types method parameters, for properties this sequence is empty
+ */
+ sequence< type > aParamTypes;
+
+ /** Mode of method parameters (IN, OUT, INOUT),
+ for properties this sequence is empty.
+ */
+ sequence< com::sun::star::reflection::ParamMode > aParamModes;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/JavaScript.idl b/udkapi/com/sun/star/script/JavaScript.idl
new file mode 100644
index 000000000000..1134ed10c2f4
--- /dev/null
+++ b/udkapi/com/sun/star/script/JavaScript.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_JavaScript_idl__
+#define __com_sun_star_script_JavaScript_idl__
+
+#ifndef __com_sun_star_script_Engine_idl__
+#include <com/sun/star/script/Engine.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** service is implementation of a JavaScript interpreter.
+
+ <p>The interpreter should be similar to JavaScript 1.1. The exact
+ behavior will be specified in future.</p>
+ @deprecated
+ */
+published service JavaScript
+{
+ /// Parent service
+ service com::sun::star::script::Engine;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/MemberType.idl b/udkapi/com/sun/star/script/MemberType.idl
new file mode 100644
index 000000000000..fcb2eb43d76a
--- /dev/null
+++ b/udkapi/com/sun/star/script/MemberType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_MemberType_idl__
+#define __com_sun_star_script_MemberType_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+//=============================================================================
+/** These values are used to specify a member accessible by
+ <type>XInvocation</type>.
+*/
+published enum MemberType
+{
+ METHOD,
+ PROPERTY,
+ UNKNOWN
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/script/ScriptEvent.idl b/udkapi/com/sun/star/script/ScriptEvent.idl
new file mode 100644
index 000000000000..040124dbafd0
--- /dev/null
+++ b/udkapi/com/sun/star/script/ScriptEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_ScriptEvent_idl__
+#define __com_sun_star_script_ScriptEvent_idl__
+
+#ifndef __com_sun_star_script_AllEventObject_idl__
+#include <com/sun/star/script/AllEventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** script event that gets delivered whenever a script event takes place.
+ <p>For that to happen, a "ScriptEventDescriptor" must be registered at
+ and attached to an object by an <type>XEventAttacherManager</type>.</p>
+ */
+published struct ScriptEvent: com::sun::star::script::AllEventObject
+{
+ //-------------------------------------------------------------------------
+ /** type of the script language as string; for example, "Basic" or "StarScript".
+ */
+ string ScriptType;
+
+ //-------------------------------------------------------------------------
+ /** script code as string.
+
+ <p>The code has to correspond with the language
+ defined by ScriptType.</p>
+ */
+ string ScriptCode;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/ScriptEventDescriptor.idl b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl
new file mode 100644
index 000000000000..4cc7f85bda8e
--- /dev/null
+++ b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_ScriptEventDescriptor_idl__
+#define __com_sun_star_script_ScriptEventDescriptor_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** describes an effect, especially a script to be executed,
+ for a certain event given by the listener type and the name of the
+ event method.
+ */
+published struct ScriptEventDescriptor
+{
+ /** listener type as string, same as listener-XIdlClass.getName().
+ */
+ string ListenerType;
+
+ //-------------------------------------------------------------------------
+ /** event method as string.
+ */
+ string EventMethod;
+
+ //-------------------------------------------------------------------------
+ /** data to be used if the addListener method needs an additional
+ parameter.
+ <p>If the type of this parameter is different from string,
+ it will be converted, when added.</p>
+ */
+ string AddListenerParam;
+
+ //-------------------------------------------------------------------------
+ /** type of the script language as string; for example, "Basic" or "StarScript".
+ */
+ string ScriptType;
+
+ //-------------------------------------------------------------------------
+ /** script code as string (the code has to correspond with the language
+ defined by ScriptType).
+ */
+ string ScriptCode;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XAllListener.idl b/udkapi/com/sun/star/script/XAllListener.idl
new file mode 100644
index 000000000000..d234edd05262
--- /dev/null
+++ b/udkapi/com/sun/star/script/XAllListener.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XAllListener_idl__
+#define __com_sun_star_script_XAllListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_script_AllEventObject_idl__
+#include <com/sun/star/script/AllEventObject.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** specifies a listener combining all methods
+ of a listener interface in a single generic call.
+
+ <p>Without any output parameters, it is possible to adapt any interface
+ if the <type>XAllListenerAdapterService</type> can generate an adapter.</p>
+ */
+published interface XAllListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** gets called when an event occurs at the object.
+ */
+ [oneway] void firing( [in] com::sun::star::script::AllEventObject iaEvent );
+
+ //-------------------------------------------------------------------------
+ /** gets called when a "vetoable event" occurs at the object.
+
+ <p>That happens when the listener method raises an exception,
+ has a return value declared, or is not "oneway".</p>
+ */
+ any approveFiring( [in] com::sun::star::script::AllEventObject aEvent )
+ raises( com::sun::star::reflection::InvocationTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XAllListenerAdapterService.idl b/udkapi/com/sun/star/script/XAllListenerAdapterService.idl
new file mode 100644
index 000000000000..d779be5a45b3
--- /dev/null
+++ b/udkapi/com/sun/star/script/XAllListenerAdapterService.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XAllListenerAdapterService_idl__
+#define __com_sun_star_script_XAllListenerAdapterService_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_script_XAllListener_idl__
+#include <com/sun/star/script/XAllListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** allows the generation of adapters from specific
+ interfaces to the <type>XAllListener</type> interface.
+ */
+published interface XAllListenerAdapterService: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a wrapper from the listener of type
+ <var>xListenerType</var> to the <type>XAllListener</type>
+ listener.
+
+ To get the correct listener interface the returned
+ <type scope="com::sun::star::uno">XInterface</type> has to
+ be queried for it.
+ */
+ com::sun::star::uno::XInterface createAllListerAdapter( [in] type xListenerType,
+ [in] com::sun::star::script::XAllListener xListener,
+ [in] any aHelper );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XDebugging.idl b/udkapi/com/sun/star/script/XDebugging.idl
new file mode 100644
index 000000000000..55335e5c07eb
--- /dev/null
+++ b/udkapi/com/sun/star/script/XDebugging.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XDebugging_idl__
+#define __com_sun_star_script_XDebugging_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_ContextInformation_idl__
+#include <com/sun/star/script/ContextInformation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::script::XDebugging
+/** makes it possible to set breakpoints in an interpreter.
+ @deprecated
+ */
+published interface XDebugging: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the source code line where the breakpoint was set.
+
+ <p>The value can differ from the parameter
+ <var>nSourceCodeLine</var> when this is not a valid line to
+ place it. -1 indicates that the breakpoint cannot be set at
+ this position.
+ */
+ long setBreakPoint( [in] string aModuleName,
+ [in] long nSourceCodeLine,
+ [in] boolean bOn );
+
+ //-------------------------------------------------------------------------
+ /** clears all breakpoints in the module set by "setBreakPoint".
+ */
+ void clearAllBreakPoints( [in] string aModuleName );
+
+ //-------------------------------------------------------------------------
+ /** Evaluates an expression.
+
+ @returns the value of the expression as string.
+
+ @param CallStackPos Position in the call stack for which the expression
+ should be evaluated. 0 is the top/actual position in the call
+ in the call stack, 1 the next and so on.
+ */
+ string eval( [in] string aSourceCode,
+ [in] short nCallStackPos );
+
+ //-------------------------------------------------------------------------
+ /** Returns the engine's stack trace of the current execute position. Line break is the delimiter.
+ */
+ sequence<string> getStackTrace();
+
+ //-------------------------------------------------------------------------
+ /** returns more detailed information about a specified stack frame.
+
+ @param nCallStackPos
+ specifies the position in the call stack for the
+ variables that should be delivered.
+ */
+ com::sun::star::script::ContextInformation getContextInformation( [in] short nCallStackPos );
+
+ //-------------------------------------------------------------------------
+ /** returns the value of the variable at the given stack position.
+ */
+ string dumpVariable( [in] string aVariableName,
+ [in] short nCallStackPos );
+
+ //-------------------------------------------------------------------------
+ /** sets the value of the specified variable within the specified
+ stack frame.
+ */
+ void setVariable( [in] string aVariableName,
+ [in] string aValue,
+ [in] short nCallStackPos );
+
+ //-------------------------------------------------------------------------
+ /** returns whether the given variable exists within the specified stack frame.
+ */
+ boolean isVariable( [in] string aVariableName,
+ [in] short nCallStackPos );
+
+ //-------------------------------------------------------------------------
+ /** stops the execution of the interpreter.
+
+ <p>To continue with the execution, call <method>XDebugging::doContinue</method>.
+ */
+ void stop();
+
+ //-------------------------------------------------------------------------
+ /** executes the next and only the next statement.
+
+ <p>If the next statement is a function call, the function is
+ executed completely.</p>
+ */
+ void stepOver();
+
+ //-------------------------------------------------------------------------
+ /** executes the next and only the next statement.
+
+ <p>If the next statement is a function call, only the function
+ entered.</p>
+ */
+ void stepIn();
+
+ //-------------------------------------------------------------------------
+ /** executes the program until the next return from this stack frame.
+ */
+ void stepOut();
+
+ //-------------------------------------------------------------------------
+ /** continues the program execution.
+ */
+ void doContinue();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XDefaultMethod.idl b/udkapi/com/sun/star/script/XDefaultMethod.idl
new file mode 100644
index 000000000000..5a2409145e28
--- /dev/null
+++ b/udkapi/com/sun/star/script/XDefaultMethod.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XDefaultMethod_idl__
+#define __com_sun_star_script_XDefaultMethod_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module script {
+//==============================================================================
+/**
+ An object supporting this interface indicates to interested
+ parties or clients the name of the default method for
+ this object.
+ <p>For example where ExampleObject is an instance of an Object that
+ supports this interface which returns the default method name
+ "defaultMethod".A scripting engine could use this information to support
+ syntax like <p>"ExampleObject( Param1 .... ParamN )"</p>
+ which would be equivalent to writing
+ <p>"ExampleObject.defaultMethod( Param1 ... ParamN )"</p>
+*/
+interface XDefaultMethod : ::com::sun::star::uno::XInterface
+{
+ //-----------------------------------------------------------------------
+ /**
+ Returns the name of the default method
+
+ @return
+ The <atom>string</atom> name of default method
+ */
+ string getDefaultMethodName();
+
+};
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/script/XDefaultProperty.idl b/udkapi/com/sun/star/script/XDefaultProperty.idl
new file mode 100644
index 000000000000..61bee2515eb4
--- /dev/null
+++ b/udkapi/com/sun/star/script/XDefaultProperty.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XDefaultProperty_idl__
+#define __com_sun_star_script_XDefaultProperty_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module script {
+//==============================================================================
+/**
+ An object supporting this interface indicates to interested
+ parties or clients the name of the default propery for
+ this object.
+ <p>For example where ExampleObject is an instance of an Object that
+ supports this interface which returns the default property name
+ "Value".A scripting engine could use this information to support
+ syntax like <p>ExampleObject = "foo"</p>
+ which would be equivalent to writing
+ <p>ExampleObject.Value = "foo"</p>
+ or
+ <p>bar = ExampleObject</p>
+ which would be equivalent to writing
+ <p>bar = ExampleObject.Value</p>
+*/
+interface XDefaultProperty : ::com::sun::star::uno::XInterface
+{
+ //-----------------------------------------------------------------------
+ /**
+ Returns the name of the default property
+
+ @return
+ The <atom>string</atom> name of default property
+ */
+ string getDefaultPropertyName();
+
+};
+
+}; }; }; };
+#endif
diff --git a/udkapi/com/sun/star/script/XEngine.idl b/udkapi/com/sun/star/script/XEngine.idl
new file mode 100644
index 000000000000..17cfbe4b7426
--- /dev/null
+++ b/udkapi/com/sun/star/script/XEngine.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XEngine_idl__
+#define __com_sun_star_script_XEngine_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_XLibraryAccess_idl__
+#include <com/sun/star/script/XLibraryAccess.idl>
+#endif
+
+#ifndef __com_sun_star_script_XEngineListener_idl__
+#include <com/sun/star/script/XEngineListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+//=============================================================================
+/** makes it possible to control a scripting engine.
+ @deprecated
+ */
+published interface XEngine: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** sets an interface to an object as a scripting root.
+
+ <p>If the root object implements the XInvocation interface,
+ then the engine uses this interface to set/get properties and
+ call methods.
+ </p>
+ */
+ void setRoot( [in] com::sun::star::uno::XInterface xRoot );
+
+ //-------------------------------------------------------------------------
+ /** gets an interface to the object which is the scripting root.
+ */
+ com::sun::star::uno::XInterface getRoot();
+
+ //-------------------------------------------------------------------------
+ /** sets an access object to get external functions.
+ */
+ void setLibraryAccess( [in] com::sun::star::script::XLibraryAccess Library );
+
+ //-------------------------------------------------------------------------
+ /** compiles a script module in the scope of the root object.
+ */
+ boolean compile( [in] string ModuleName,
+ [in] string Script,
+ [in] boolean CreateDebugInfo );
+
+ //-------------------------------------------------------------------------
+ /** runs a script specified by a string.
+
+ <p>The arguments given in <var>aArgs</var> can be ignored by
+ the engine. The Script is executed synchronously.</p>
+ */
+ any run( [in] string aScript,
+ [in] com::sun::star::uno::XInterface xThis,
+ [in] sequence<any> aArgs );
+
+ //-------------------------------------------------------------------------
+ /** runs the script specified by a string and makes callbacks.
+
+ <p>The arguments given in <var>aArgs</var> can be ignored by
+ the engine. The script is executed asynchronously.
+
+ </p>
+ */
+ void runAsync( [in] string acript,
+ [in] com::sun::star::uno::XInterface xThis,
+ [in] sequence<any> args,
+ [in] com::sun::star::script::XEngineListener xCallback );
+
+ //-------------------------------------------------------------------------
+ /** terminates the execution of the running script.
+
+ <p>The waiting queue is cleared too.</p>
+ */
+ void cancel();
+
+ //-------------------------------------------------------------------------
+ /** adds an engine listener.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addEngineListener( [in] com::sun::star::script::XEngineListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** removes an engine listener.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removeEngineListener( [in] com::sun::star::script::XEngineListener Listener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XEngineListener.idl b/udkapi/com/sun/star/script/XEngineListener.idl
new file mode 100644
index 000000000000..0ba2b2fe0d70
--- /dev/null
+++ b/udkapi/com/sun/star/script/XEngineListener.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XEngineListener_idl__
+#define __com_sun_star_script_XEngineListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_script_InterruptEngineEvent_idl__
+#include <com/sun/star/script/InterruptEngineEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_script_FinishEngineEvent_idl__
+#include <com/sun/star/script/FinishEngineEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** makes it possible to receive events from a scripting engine.
+ @deprecated
+ */
+published interface XEngineListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** gets fired when an interrupt occurs during the script execution.
+
+ <p>If you call the method, the execution stops. So in this situation,
+ the stack and variable values are still available by using the
+ appropriate <type>XDebugging</type> methods.
+ </p>
+ */
+ void interrupt( [in] com::sun::star::script::InterruptEngineEvent Evt );
+
+ //-------------------------------------------------------------------------
+ /** gets fired when the script gets into execution state.
+ */
+ void running( [in] com::sun::star::lang::EventObject Evt );
+
+ //-------------------------------------------------------------------------
+ /** gets fired when the script execution has finished.
+ */
+ void finished( [in] com::sun::star::script::FinishEngineEvent Evt );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XEventAttacher.idl b/udkapi/com/sun/star/script/XEventAttacher.idl
new file mode 100644
index 000000000000..7acc672af968
--- /dev/null
+++ b/udkapi/com/sun/star/script/XEventAttacher.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XEventAttacher_idl__
+#define __com_sun_star_script_XEventAttacher_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_script_XAllListener_idl__
+#include <com/sun/star/script/XAllListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_IntrospectionException_idl__
+#include <com/sun/star/beans/IntrospectionException.idl>
+#endif
+
+#ifndef __com_sun_star_script_CannotCreateAdapterException_idl__
+#include <com/sun/star/script/CannotCreateAdapterException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__
+#include <com/sun/star/lang/ServiceNotRegisteredException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** makes it possible to attach script events given by a sequence of
+ <type>ScriptEventDescriptor</type> structures to a given interface.
+ */
+published interface XEventAttacher: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers the given "AllListener" object as a listener at the
+ given interface by creating a suitable listener adapter and
+ calling the "addListener" method corresponding to the
+ "ListenerType".
+ */
+ com::sun::star::lang::XEventListener attachListener( [in] com::sun::star::uno::XInterface xTarget,
+ [in] com::sun::star::script::XAllListener xAllListener,
+ [in] any aHelper,
+ [in] string aListenerType,
+ [in] string aAddListenerParam )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::IntrospectionException,
+ com::sun::star::script::CannotCreateAdapterException,
+ com::sun::star::lang::ServiceNotRegisteredException );
+
+ //-------------------------------------------------------------------------
+ /** registers an object as a listener at the given interface by
+ creating a suitable listener adapter and calling the method
+ which corresponds to the listener type.
+
+ <p>Only the event corresponding to the given event method
+ will be delegated to <var>xAllListener</var>.</p>
+ */
+ com::sun::star::lang::XEventListener attachSingleEventListener( [in] com::sun::star::uno::XInterface xTarget,
+ [in] com::sun::star::script::XAllListener xAllListener,
+ [in] any aHelper,
+ [in] string aListenerType,
+ [in] string aAddListenerParam,
+ [in] string aEventMethod )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::IntrospectionException,
+ com::sun::star::script::CannotCreateAdapterException,
+ com::sun::star::lang::ServiceNotRegisteredException );
+
+ //-------------------------------------------------------------------------
+ /** removes a listener object as a listener from the given interface.
+
+ <p> This method can and should be used as a contrary method
+ to the two attach methods.</p>
+ */
+ void removeListener( [in] com::sun::star::uno::XInterface xTarget,
+ [in] string aListenerType,
+ [in] string aRemoveListenerParam,
+ [in] com::sun::star::lang::XEventListener xToRemoveListener )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::IntrospectionException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XEventAttacherManager.idl b/udkapi/com/sun/star/script/XEventAttacherManager.idl
new file mode 100644
index 000000000000..16f209d876a5
--- /dev/null
+++ b/udkapi/com/sun/star/script/XEventAttacherManager.idl
@@ -0,0 +1,232 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XEventAttacherManager_idl__
+#define __com_sun_star_script_XEventAttacherManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_ScriptEventDescriptor_idl__
+#include <com/sun/star/script/ScriptEventDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__
+#include <com/sun/star/lang/ServiceNotRegisteredException.idl>
+#endif
+
+#ifndef __com_sun_star_script_XScriptListener_idl__
+#include <com/sun/star/script/XScriptListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** registers listeners for specified events.
+ */
+published interface XEventAttacherManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers one event for an object identified by its index.
+
+ <p>If any object is attached under this index, then this
+ event is attached automatically.</p>
+ <p>Exceptions of type
+ <type scope="com::sun::star::beans">IntrospectionException</type> and
+ <type scope="com::sun::star::script">CannotCreateAdapterException</type>
+ that can be thrown by methods of <type>XEventAttacher</type> are caught
+ and ignored.</p>
+ */
+ void registerScriptEvent( [in] long nIndex,
+ [in] com::sun::star::script::ScriptEventDescriptor aScriptEvent )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** registers several events for an object identified by its index.
+
+ <p>The result is the same as if the method <member>registerScriptEvent
+ </member> was called once for each <type>ScriptEventDescriptor</type>
+ in the sequence.</p>
+
+ <p>If any object is attached under this index, then this
+ event is attached automatically (see <member>attach</member>)</p>
+
+ <p>Exceptions of type
+ <type scope="com::sun::star::beans">IntrospectionException</type> and
+ <type scope="com::sun::star::script">CannotCreateAdapterException</type>
+ that can be thrown by methods of <type>XEventAttacher</type> are caught
+ and ignored.</p>
+
+ @see registerScriptEvent
+ @see attach
+ */
+ void registerScriptEvents( [in] long nIndex,
+ [in] sequence<com::sun::star::script::ScriptEventDescriptor> aScriptEvents )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** revokes the registration of an event.
+
+ <p>The parameters <var>ListenerType</var> and
+ <var>EventMethod</var> are equivalent to the first two
+ members of the <type>ScriptEventDescriptor</type>
+ used to register events. If this event at this index has
+ been attached to any object, it is detached automatically
+ (see <member>attach</member>).</p>
+
+ <p>Exceptions of type
+ <type scope="com::sun::star::beans">IntrospectionException</type> and
+ <type scope="com::sun::star::script">CannotCreateAdapterException</type>
+ that can be thrown by methods of <type>XEventAttacher</type> are caught
+ and ignored.</p>
+
+ @see attach
+ */
+ void revokeScriptEvent( [in] long nIndex,
+ [in] string aListenerType,
+ [in] string aEventMethod,
+ [in] string aRemoveListenerParam )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** revokes all events which are registered for the given index.
+
+ <p>If the events at this index have been attached to any
+ object, they are detached automatically.
+ (see <member>attach</member>).</p>
+
+ @see attach
+ */
+ void revokeScriptEvents( [in] long nIndex )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** creates an empty entry at the given position.
+
+ <p>The index <var>n</var> of all entries with <code>n &amp;gt;=
+ nIndex</code> will be increased by one.</p>
+ */
+ void insertEntry( [in] long nIndex )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** removes the entry at the given position.
+
+ <p>If any events are registered at this index, they will
+ be revoked, too. So if the events at this index have been
+ attached to any object they are detached automatically.
+ (see <member>attach</member>).</p>
+
+ @see attach
+ */
+ void removeEntry( [in] long nIndex )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** @eturns
+ all events registered for the given object index.
+
+ @param Index
+ an index previously inserted with the method insertEntry.
+
+ @throws IllegalArgumentException
+ if Index is not valid.
+ */
+ sequence<com::sun::star::script::ScriptEventDescriptor> getScriptEvents( [in] long Index )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** attaches all the <type>ScriptEvent</type>s which are registered
+ for the given index to the given object.
+
+ <p>Exceptions of type
+ <type scope="com::sun::star::beans">IntrospectionException</type> and
+ <type scope="com::sun::star::script">CannotCreateAdapterException</type>
+ that can be thrown by methods of <type>XEventAttacher</type> are caught
+ and ignored.</p>
+ */
+ void attach( [in] long nIndex,
+ [in] com::sun::star::uno::XInterface xObject,
+ [in] any aHelper )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::ServiceNotRegisteredException );
+
+ //-------------------------------------------------------------------------
+ /** detaches all the <type>ScriptEvent</type>s from the given object
+ which are registered at this object for the given index.
+
+ <p>Exceptions of type
+ <type scope="com::sun::star::beans">IntrospectionException</type> and
+ <type scope="com::sun::star::script">CannotCreateAdapterException</type>
+ that can be thrown by methods of <type>XEventAttacher</type> are caught
+ and ignored.</p>
+ */
+ void detach( [in] long nIndex,
+ [in] com::sun::star::uno::XInterface xObject )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** adds an <type>XScriptListener</type> that will be notified when an
+ event takes place. For that a
+ <type>ScriptEventDescriptor</type> is registered at and
+ attached to an object by an <type>XEventAttacherManager</type>.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see removeScriptListener
+ */
+ void addScriptListener( [in] com::sun::star::script::XScriptListener xListener )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** removes a <type>XScriptListener</type> from the listener list.
+
+ <p>Nothing happens if the listener is not registered.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see addScriptListener
+ */
+ void removeScriptListener( [in] com::sun::star::script::XScriptListener Listener )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XInvocation.idl b/udkapi/com/sun/star/script/XInvocation.idl
new file mode 100644
index 000000000000..9299dc8f8802
--- /dev/null
+++ b/udkapi/com/sun/star/script/XInvocation.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XInvocation_idl__
+#define __com_sun_star_script_XInvocation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__
+#include <com/sun/star/beans/XIntrospectionAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_script_CannotConvertException_idl__
+#include <com/sun/star/script/CannotConvertException.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** gives access to an object's methods and properties.
+ Container access is available through
+ <type scope="com::sun::star::container">XIndexContainer</type>,
+ <type scope="com::sun::star::container">XNameContainer</type> and
+ <type scope="com::sun::star::container">XEnumerationAccess</type>.
+ </p>
+ */
+published interface XInvocation: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the introspection from this object or <NULL/>
+ if the object does not provide this information.
+ */
+ com::sun::star::beans::XIntrospectionAccess getIntrospection();
+
+ //-------------------------------------------------------------------------
+ /** provides access to methods exposed by an object.
+
+ @param aParams all parameters; pure out params are undefined in sequence,
+ the value has to be ignored by the callee
+ @param aOutParamIndex This sequence contains the indices of all parameters
+ that are specified as out or inout.
+ @param aOutParam This sequence contains the values of all parameters that
+ are specified as out or inout and corresponds with the
+ indices provided by the aOutParamIndex sequence.
+
+ Example: aOutParamIndex == { 1, 4 } means that
+ aOutParam[0] contains the out value of the aParams[1]
+ parameter and aOutParam[1] contains the out value of
+ the aParams[4] parameter.
+ */
+ any invoke( [in] string aFunctionName,
+ [in] sequence<any> aParams,
+ [out] sequence<short> aOutParamIndex,
+ [out] sequence<any> aOutParam )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::script::CannotConvertException,
+ com::sun::star::reflection::InvocationTargetException );
+
+ //-------------------------------------------------------------------------
+ /** sets a value to the property with the specified name.
+
+ <p> If the underlying object implements an
+ <type scope="com::sun::star::container">XNameContainer</type>,
+ then this method will insert the value if there is no such
+ <var>aPropertyName</var>.
+
+ </p>
+ */
+ void setValue( [in] string aPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::script::CannotConvertException,
+ com::sun::star::reflection::InvocationTargetException );
+
+ //-------------------------------------------------------------------------
+ /** returns the value of the property with the specified name.
+
+ @param aPropertyName
+ specifies the name of the property.
+ */
+ any getValue( [in] string aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+ /** returns <TRUE/> if the method with the specified name exists, else <FALSE/>.
+
+ <p>This optimizes the calling sequence
+ ( <member>XInvocation::hasMethod</member>,
+ <member>XInvocation::invoke</member> )!</p>
+
+ @param aName
+ specifies the name of the method.
+ */
+ boolean hasMethod( [in] string aName );
+
+ //-------------------------------------------------------------------------
+ /** returns <TRUE/> if the property with the specified name exists, else <FALSE/>.
+
+ <p>This optimizes the calling sequence
+ ( <member>XInvocation::hasProperty</member>,
+ <member>XInvocation::getValue</member> ) or
+
+ ( <member>XInvocation::hasProperty</member>,
+ <member>XInvocation::setValue</member> )!
+
+ @param aName
+ specifies the name of the property.
+ */
+ boolean hasProperty( [in] string aName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XInvocation2.idl b/udkapi/com/sun/star/script/XInvocation2.idl
new file mode 100644
index 000000000000..5cc24aa3bd38
--- /dev/null
+++ b/udkapi/com/sun/star/script/XInvocation2.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XInvocation2_idl__
+#define __com_sun_star_script_XInvocation2_idl__
+
+#ifndef __com_sun_star_script_XInvocation_idl__
+#include <com/sun/star/script/XInvocation.idl>
+#endif
+
+#ifndef __com_sun_star_script_InvocationInfo_idl__
+#include <com/sun/star/script/InvocationInfo.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Extension of XInvocation to provide additional information
+ about the methods and properties that are accessable via
+ XInvocation.
+ </p>
+ */
+published interface XInvocation2: com::sun::star::script::XInvocation
+{
+ /** returns the names of all methods and properties accessable via XInvocation.
+ */
+ sequence< string > getMemberNames();
+
+ /** returns information items for all methods and properties accessable via XInvocation.
+
+ @see com::sun::star::script::Invocation
+ */
+ sequence< InvocationInfo > getInfo();
+
+ /** returns information item for the method or property defined by aName
+
+ @param aName
+ specifies the name of the method or property
+
+ @param bExact
+ specifies the name of the method or property
+
+ @throws IllegalArgumentException
+ if aName is not the name of a supported method or property
+
+ @see com::sun::star::script::Invocation
+ */
+ InvocationInfo getInfoForName( [in] string aName, [in] boolean bExact )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl
new file mode 100644
index 000000000000..6584bebbcb5f
--- /dev/null
+++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XInvocationAdapterFactory_idl__
+#define __com_sun_star_script_XInvocationAdapterFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_XInvocation_idl__
+#include <com/sun/star/script/XInvocation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Interface to create adapter objects giving a type to be supported and a
+ an invocation interface incoming calls are delegated to.
+
+ This interface is deprecated. Use <type>XInvocationAdapterFactory2</type>.
+ @deprecated
+*/
+published interface XInvocationAdapterFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Creates an adapter interface of given type for calling the given
+ <type>XInvocation</type> interface.
+
+ @param Invocation
+ invocation interface being called on incoming adapter calls
+ @param aType
+ supported type of adapter
+
+ @returns
+ adapter interface; this interface can be queried for
+ XInterface and given type
+ */
+ com::sun::star::uno::XInterface createAdapter( [in]XInvocation Invocation, [in]type aType );
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl
new file mode 100644
index 000000000000..90c2e57fc5a7
--- /dev/null
+++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XInvocationAdapterFactory2_idl__
+#define __com_sun_star_script_XInvocationAdapterFactory2_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_XInvocation_idl__
+#include <com/sun/star/script/XInvocation.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+/** Interface to create adapter objects giving types to be supported and a
+ an invocation interface incoming calls are delegated to.
+*/
+published interface XInvocationAdapterFactory2 : com::sun::star::uno::XInterface
+{
+ /** Creates an adapter interface of given types for calling the given
+ <type>XInvocation</type> interface.
+
+ @param Invocation
+ invocation interface being called on incoming adapter calls
+ @param aType
+ supported types of adapter
+
+ @returns
+ adapter interface; this interface can be queried for
+ XInterface and given types
+ */
+ com::sun::star::uno::XInterface createAdapter(
+ [in] XInvocation Invocation,
+ [in] sequence< type > aTypes );
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XLibraryAccess.idl b/udkapi/com/sun/star/script/XLibraryAccess.idl
new file mode 100644
index 000000000000..8bb54f02a2dd
--- /dev/null
+++ b/udkapi/com/sun/star/script/XLibraryAccess.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XLibraryAccess_idl__
+#define __com_sun_star_script_XLibraryAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** provides access to additional scripting code.
+
+ <p>This code is organized in modules and these modules contain
+ the functions. It is possible to get just the code from a function,
+ but you can also get the whole code of a module with all functions in it.</p>
+ @deprecated
+ */
+published interface XLibraryAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns <TRUE/>, if the function is accessible through this library;
+ otherwise it returns <FALSE/>.
+
+ @param aFunctionName
+ the fully qualified name of a funtion.
+ (e.g., "UtilLibrary.ModuleDate.FunctionCurrentDate")
+ */
+ boolean isFunction( [in] string aFunctionName );
+
+ //-------------------------------------------------------------------------
+ /** returns <TRUE/> if a fully qualified function name begins with this name.
+
+ @param aPathName
+ a part of a function name (e.g., "UtilLibrary").
+ */
+ boolean isValidPath( [in] string aPathName );
+
+ //-------------------------------------------------------------------------
+ /** Return all module names which contain code.
+ e.g., { "UtilLibrary.ModuleDate", "UtilLibrary.Output", ... }
+ */
+ sequence<string> getModuleNames();
+
+ //-------------------------------------------------------------------------
+ /** get the source code of a module.
+ */
+ string getModuleSource( [in] string aModulName );
+
+ //-------------------------------------------------------------------------
+ /** Get the hole compiled code of a module.
+
+ @param ModuleName the full qualified name of a module.
+ (e.g., "UtilLibrary.ModuleDate")
+ @return an empty sequence, if this module is not found or the
+ code is not compiled.
+ */
+ sequence<byte> getModuleCode( [in] string aModuleName );
+
+ //-------------------------------------------------------------------------
+ /** get the source code of a function.
+ */
+ string getFunctionSource( [in] string aFunctionName );
+
+ //-------------------------------------------------------------------------
+ /** Get the compiled code of a function.
+
+ @param FunctionName the full qualified name of a function.
+ (e.g., "UtilLibrary.ModuleDate.Function.CurrentDate")
+ @return an empty sequence, if this function is not found.
+ */
+ sequence<byte> getFunctionCode( [in] string FunctionName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XScriptEventsAttacher.idl b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl
new file mode 100644
index 000000000000..d60a593fcf52
--- /dev/null
+++ b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XScriptEventsAttacher_idl__
+#define __com_sun_star_script_XScriptEventsAttacher_idl__
+
+#ifndef __com_sun_star_script_XScriptListener_idl__
+#include <com/sun/star/script/XScriptListener.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_IntrospectionException_idl__
+#include <com/sun/star/beans/IntrospectionException.idl>
+#endif
+
+#ifndef __com_sun_star_script_CannotCreateAdapterException_idl__
+#include <com/sun/star/script/CannotCreateAdapterException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__
+#include <com/sun/star/lang/ServiceNotRegisteredException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ This interface can be used to attach script events to a number of
+ objects that give access to the definition of events that should
+ be attached to them, e.g., by supporting XEventsSupplier
+*/
+published interface XScriptEventsAttacher: com::sun::star::uno::XInterface
+{
+ /**
+ Attaches the events defined by XScriptEventsSupplier to the
+ corresponding object implementing XScriptEventsSupplier.
+
+ @param Objects
+ Sequence of all objects. Usually the objects should directly
+ support <type>XScriptEventsAttacher</type> to define the events
+ but this is not strictly required. It's also possible that
+ the object implementing <type>XScriptEventsAttacher</type>
+ knows how to get the necessary information for the objects.
+ @param xListener
+ All events (if defined by XScriptEventsSupplier) that are fired
+ by one of the objects are mapped into a <type>ScriptEvent</type>
+ and passed to the methods of this XScriptListener.
+ @param Helper
+ Helper object for the implementation. This value will be
+ passed to the XScriptListener as Helper property in the
+ <type>ScriptEvent</type>.
+ */
+ void attachEvents( [in] sequence< com::sun::star::uno::XInterface > Objects,
+ [in] com::sun::star::script::XScriptListener xListener,
+ [in] any Helper )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::IntrospectionException,
+ com::sun::star::script::CannotCreateAdapterException,
+ com::sun::star::lang::ServiceNotRegisteredException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/script/XScriptEventsSupplier.idl b/udkapi/com/sun/star/script/XScriptEventsSupplier.idl
new file mode 100644
index 000000000000..3355b7dd83ae
--- /dev/null
+++ b/udkapi/com/sun/star/script/XScriptEventsSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XScriptEventsSupplier_idl__
+#define __com_sun_star_script_XScriptEventsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Gives access to an event container represented by an
+ XNameContainer containing ScriptEventDescriptor instances.
+ */
+published interface XScriptEventsSupplier: com::sun::star::uno::XInterface
+{
+ /**
+ Returns an XNameContainer containing instances
+ of <type>ScriptEventDescriptor</type>
+ */
+ com::sun::star::container::XNameContainer getEvents();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XScriptListener.idl b/udkapi/com/sun/star/script/XScriptListener.idl
new file mode 100644
index 000000000000..f4404d39d645
--- /dev/null
+++ b/udkapi/com/sun/star/script/XScriptListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XScriptListener_idl__
+#define __com_sun_star_script_XScriptListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_script_ScriptEvent_idl__
+#include <com/sun/star/script/ScriptEvent.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** makes it possible to receive <type>ScriptEvent</type>s.
+ */
+published interface XScriptListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** gets called when an event takes place. For that a
+ <type>ScriptEventDescriptor</type> is registered at and
+ attached to an object by an <type>XEventAttacherManager</type>.
+ */
+ void firing( [in] com::sun::star::script::ScriptEvent aEvent );
+
+ //-------------------------------------------------------------------------
+ /** gets called when a "vetoable event" occurs at the object.
+ */
+ any approveFiring( [in] com::sun::star::script::ScriptEvent aEvent )
+ raises( com::sun::star::reflection::InvocationTargetException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XStarBasicAccess.idl b/udkapi/com/sun/star/script/XStarBasicAccess.idl
new file mode 100644
index 000000000000..97a7bfd08da7
--- /dev/null
+++ b/udkapi/com/sun/star/script/XStarBasicAccess.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XStarBasicAccess_idl__
+#define __com_sun_star_script_XStarBasicAccess_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Interface representing a library and provides access to its modules
+
+ @deprecated
+ */
+published interface XStarBasicAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns
+ the library container giving access to the libraries stored in a document
+ or basic library file.
+ */
+ com::sun::star::container::XNameContainer getLibraryContainer();
+
+ //-------------------------------------------------------------------------
+ /**
+ Creates an empty library. This method can be called alternatively to
+ accessing directly the NameContainer returned by getLibraryContainer.
+ By using this method together with addModule and addStarBasicDialog
+ the caller does not have to implement XStarBasicLibraryInfo, XModuleInfo,
+ and XStarBasicDialogInfo
+ */
+ void createLibrary( [in] string LibName, [in] string Password,
+ [in] string ExternalSourceURL, [in] string LinkTargetURL )
+ raises( com::sun::star::container::ElementExistException );
+
+ //-------------------------------------------------------------------------
+ /**
+ Adds a module to an existing (e.g., created by createLibrary) library.
+ By using this method together with createLibrary the caller does not have
+ to implement XStarBasicLibraryInfo and XModuleInfo.
+
+ @throws NoSuchElementException
+ if the library doesn't exist.
+ */
+ void addModule( [in] string LibraryName, [in] string ModuleName,
+ [in] string Language, [in] string Source )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+ /**
+ Adds an old style basic dialog (SI controls) to an existing (e.g., created
+ by createLibrary) library.
+ By using this method together with createLibrary the caller does not have
+ to implement XStarBasicLibraryInfo and XStarBasicDialogInfo
+
+ @throws NoSuchElementException
+ if the library doesn't exist.
+ */
+ void addDialog( [in] string LibraryName, [in] string DialogName,
+ [in] sequence< byte > Data )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl b/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl
new file mode 100644
index 000000000000..ddcf583f2777
--- /dev/null
+++ b/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XStarBasicDialogInfo_idl__
+#define __com_sun_star_script_XStarBasicDialogInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Interface describing old style basic dialog (SI controls) in binary data
+
+ @deprecated
+ */
+published interface XStarBasicDialogInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the name of the dialog
+ */
+ string getName();
+
+ //-------------------------------------------------------------------------
+ /** returns binary data describing the SIDialog in SBX stream format
+ */
+ sequence< byte > getData();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl
new file mode 100644
index 000000000000..4b7337a0b33c
--- /dev/null
+++ b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XStarBasicLibraryInfo_idl__
+#define __com_sun_star_script_XStarBasicLibraryInfo_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Interface representing a library and provides access to its modules
+
+ @deprecated
+ */
+published interface XStarBasicLibraryInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the library's name
+ */
+ string getName();
+
+ //-------------------------------------------------------------------------
+ /** returns
+ the module container giving access to the modules stored in the library.
+ The container has to be returned in any case, no matter if the library is
+ stored embedded, external, or linked.
+
+ @see getExternalSourceURL
+ @see getLinkTargetURL
+ */
+ com::sun::star::container::XNameContainer getModuleContainer();
+
+ //-------------------------------------------------------------------------
+ /** returns
+ the dialog container giving access to the dialogs stored in the library.
+ The container has to be returned in any case, no matter if the library is
+ stored embedded, external, or linked.
+
+ @see getExternalSourceURL
+ @see getLinkTargetURL
+ */
+ com::sun::star::container::XNameContainer getDialogContainer();
+
+ //-------------------------------------------------------------------------
+ /** returns
+ the password, if the library is protected with one,
+ an empty string otherwise.
+ */
+ string getPassword();
+
+ //-------------------------------------------------------------------------
+ /** returns an
+ URL describing the location where the library is stored if the library
+ is stored seperately (for example not in the main XML file but in a
+ special library format file), an empty string otherwise.
+ This information can be useful to optimize the access to the library,
+ e.g., for loading on demand.
+ */
+ string getExternalSourceURL();
+
+ //-------------------------------------------------------------------------
+ /** returns an
+ URL describing the location of the library linked to.
+
+ <p>HINT: This method can be removed when there is a generic interface
+ for linking. Then the implementation will simply support this
+ "XLinked" interface and it can be checked by queryInterface().</p>
+ */
+ string getLinkTargetURL();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl b/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl
new file mode 100644
index 000000000000..93421c3b9d6d
--- /dev/null
+++ b/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XStarBasicModuleInfo_idl__
+#define __com_sun_star_script_XStarBasicModuleInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Script Module containing some scripting code in a certain scripting language
+ @deprecated
+ */
+published interface XStarBasicModuleInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the name of the module
+ */
+ string getName();
+
+ //-------------------------------------------------------------------------
+ /** returns the type of the script language as string, for example, "StarBasic" or "JavaScript".
+ */
+ string getLanguage();
+
+ //-------------------------------------------------------------------------
+ /** returns the script source code as string.
+
+ <p>The code has to correspond with the language
+ defined by Language.</p>
+ */
+ string getSource();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/script/XTypeConverter.idl b/udkapi/com/sun/star/script/XTypeConverter.idl
new file mode 100644
index 000000000000..df854bed1e9f
--- /dev/null
+++ b/udkapi/com/sun/star/script/XTypeConverter.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_script_XTypeConverter_idl__
+#define __com_sun_star_script_XTypeConverter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_script_CannotConvertException_idl__
+#include <com/sun/star/script/CannotConvertException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#include <com/sun/star/uno/TypeClass.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** Interface to provide standard type conversions.
+
+ @see Converter
+*/
+published interface XTypeConverter: com::sun::star::uno::XInterface
+{
+ /** Converts the value <code>aFrom</code> to the specified type
+ <code>xDestinationType</code>.
+ Throws an <type>CannotConvertException</type> if the conversion
+ failed.
+ @param aFrom
+ source value
+ @param xDestinationType
+ destination type
+ @return
+ converted value (any carrying value of type <code>xDestinationType</code>
+ */
+ any convertTo(
+ [in] any aFrom,
+ [in] type xDestinationType )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::script::CannotConvertException );
+
+ /** Converts the value <code>aFrom</code> to the specified simple type
+ <code>aDestinationType</code>.
+ Throws an <type>CannotConvertException</type> if the conversion
+ failed and an <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the destination
+ <type scope="com::sun::star::uno">TypeClass</type> is not simple,
+ e.g. not long or byte.
+
+ @param aFrom
+ source value
+ @param aDestinationType
+ destination type class
+ @return
+ converted value (any carrying value of type <code>aDestinationType</code>
+ */
+ any convertToSimpleType(
+ [in] any aFrom,
+ [in] com::sun::star::uno::TypeClass aDestinationType )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::script::CannotConvertException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/script/makefile.mk b/udkapi/com/sun/star/script/makefile.mk
new file mode 100644
index 000000000000..32aa58fefa6d
--- /dev/null
+++ b/udkapi/com/sun/star/script/makefile.mk
@@ -0,0 +1,88 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssscript
+PACKAGE=com$/sun$/star$/script
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AllEventObject.idl\
+ AllListenerAdapter.idl\
+ BasicErrorException.idl\
+ CannotConvertException.idl\
+ CannotCreateAdapterException.idl\
+ ContextInformation.idl\
+ Converter.idl\
+ Engine.idl\
+ FailReason.idl\
+ FinishEngineEvent.idl\
+ FinishReason.idl\
+ InterruptEngineEvent.idl\
+ InterruptReason.idl\
+ Invocation.idl\
+ InvocationAdapterFactory.idl\
+ JavaScript.idl\
+ ScriptEvent.idl\
+ ScriptEventDescriptor.idl\
+ ArrayWrapper.idl\
+ XAllListener.idl\
+ XAllListenerAdapterService.idl\
+ XDebugging.idl\
+ XEngine.idl\
+ XEngineListener.idl\
+ XEventAttacher.idl\
+ XEventAttacherManager.idl\
+ XInvocationAdapterFactory.idl\
+ XInvocationAdapterFactory2.idl\
+ XInvocation.idl\
+ XInvocation2.idl\
+ InvocationInfo.idl\
+ MemberType.idl\
+ XLibraryAccess.idl\
+ XScriptListener.idl\
+ XTypeConverter.idl\
+ XStarBasicAccess.idl\
+ XStarBasicModuleInfo.idl\
+ XStarBasicDialogInfo.idl\
+ XStarBasicLibraryInfo.idl\
+ XScriptEventsSupplier.idl\
+ XScriptEventsAttacher.idl\
+ XDefaultMethod.idl\
+ XDefaultProperty.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/security/AccessControlException.idl b/udkapi/com/sun/star/security/AccessControlException.idl
new file mode 100644
index 000000000000..289c312165f8
--- /dev/null
+++ b/udkapi/com/sun/star/security/AccessControlException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_AccessControlException_idl__
+#define __com_sun_star_security_AccessControlException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** Exception notifying a lacking permission to access data or execute code
+ thus it is thrown if permission ought to be denied.
+
+ @since OOo 1.1.2
+*/
+published exception AccessControlException : com::sun::star::uno::SecurityException
+{
+ /** lacking permission.
+
+ @attention
+ If it is the case, that XAccessController::checkPermission() was called
+ passing a sequence< any >, i.e. a sequence of paermissions are demanded,
+ then this any holds the sequence of lacking permissions in the same
+ order as they were passed to XAccessController::checkPermission().
+ */
+ any LackingPermission;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/AccessController.idl b/udkapi/com/sun/star/security/AccessController.idl
new file mode 100644
index 000000000000..35d1c51a1a61
--- /dev/null
+++ b/udkapi/com/sun/star/security/AccessController.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_AccessController_idl__
+#define __com_sun_star_security_AccessController_idl__
+
+#ifndef __com_sun_star_security_XAccessController_idl__
+#include <com/sun/star/security/XAccessController.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+/** This meta service supports the XAccessController interface for checking
+ security permissions.
+
+ @attention
+ The specific service implementation of this meta service has to take care
+ of bootstrapping problems, i.e. recurring calls during initialization
+ have to be resolved. This happens when the implementation calls other
+ service implementations.
+
+ Also, it obviously has also to be ensured that the object is process-local
+ to assure that permission checks are not corrupted via insecure inter-process
+ communication.
+
+ @since OOo 1.1.2
+*/
+published service AccessController
+{
+ interface XAccessController;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/AllPermission.idl b/udkapi/com/sun/star/security/AllPermission.idl
new file mode 100644
index 000000000000..53af3b200770
--- /dev/null
+++ b/udkapi/com/sun/star/security/AllPermission.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_AllPermission_idl__
+#define __com_sun_star_security_AllPermission_idl__
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** The AllPermission is a permission that implies all other permissions.
+
+ @attention
+ Granting AllPermission should be done with extreme care, as it implies all
+ other permissions. Thus, it grants code the ability to run with security
+ disabled. Extreme caution should be taken before granting such a
+ permission to code. This permission should be used only during testing,
+ or in extremely rare cases where an application is completely trusted and
+ adding the necessary permissions to the policy is prohibitively cumbersome.
+
+ @since OOo 1.1.2
+*/
+published struct AllPermission
+{
+ byte dummy;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/Policy.idl b/udkapi/com/sun/star/security/Policy.idl
new file mode 100644
index 000000000000..027221fd2c6e
--- /dev/null
+++ b/udkapi/com/sun/star/security/Policy.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_Policy_idl__
+#define __com_sun_star_security_Policy_idl__
+#ifndef __com_sun_star_security_XPolicy_idl__
+#include <com/sun/star/security/XPolicy.idl>
+#endif
+
+
+module com { module sun { module star { module security {
+
+/** Service for getting sets of permissions reading from some persistent
+ storage.
+
+ @since OOo 1.1.2
+*/
+published service Policy
+{
+ interface XPolicy;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/RuntimePermission.idl b/udkapi/com/sun/star/security/RuntimePermission.idl
new file mode 100644
index 000000000000..6c4930b8986c
--- /dev/null
+++ b/udkapi/com/sun/star/security/RuntimePermission.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_RuntimePermission_idl__
+#define __com_sun_star_security_RuntimePermission_idl__
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** This permission grants runtime access to some named functionality.
+ A RuntimePermission contains a name (also referred to as a "target name")
+ but no actions list; you either have the named permission or you don't.
+
+ @since OOo 1.1.2
+*/
+published struct RuntimePermission
+{
+ /** name of permission
+ */
+ string Name;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/XAccessControlContext.idl b/udkapi/com/sun/star/security/XAccessControlContext.idl
new file mode 100644
index 000000000000..535e8753aa20
--- /dev/null
+++ b/udkapi/com/sun/star/security/XAccessControlContext.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_XAccessControlContext_idl__
+#define __com_sun_star_security_XAccessControlContext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_security_AccessControlException_idl__
+#include <com/sun/star/security/AccessControlException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** An XAccessControlContext is used to make system resource access decisions
+ based on the context it encapsulates.
+ <p>
+ More specifically, it encapsulates a context and has methods to check
+ permissions equivalent to XAccessController interface,
+ with one difference:
+ The XAccessControlContext makes access decisions
+ based on the context it encapsulates, rather than
+ that of the current execution thread.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessControlContext : com::sun::star::uno::XInterface
+{
+ /** Determines whether the access request indicated by the specified
+ permission should be allowed or denied, based on this context.
+ The semantics are equivalent to the security permission classes of
+ the Java platform.
+ <p>
+ You can also pass a sequence of permissions (sequence< any >) to check
+ a set of permissions, e.g. for performance reasons.
+ This method quietly returns if the access request is permitted,
+ or throws a suitable AccessControlException otherwise.
+ </p>
+
+ @param perm
+ permission to be checked
+
+ @throws AccessControlException
+ thrown if access is denied
+
+ @see ::com::sun::star::security::AccessControlException
+ @see ::com::sun::star::security::AllPermission
+ @see ::com::sun::star::security::RuntimePermission
+ @see ::com::sun::star::io::FilePermission
+ @see ::com::sun::star::connection::SocketPermission
+ */
+ void checkPermission(
+ [in] any perm )
+ raises (AccessControlException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/XAccessController.idl b/udkapi/com/sun/star/security/XAccessController.idl
new file mode 100644
index 000000000000..708a884bad68
--- /dev/null
+++ b/udkapi/com/sun/star/security/XAccessController.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_XAccessController_idl__
+#define __com_sun_star_security_XAccessController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_security_XAccessControlContext_idl__
+#include <com/sun/star/security/XAccessControlContext.idl>
+#endif
+
+#ifndef __com_sun_star_security_XAction_idl__
+#include <com/sun/star/security/XAction.idl>
+#endif
+
+#ifndef __com_sun_star_security_AccessControlException_idl__
+#include <com/sun/star/security/AccessControlException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** Interface for checking permissions and invoking privileged or restricted
+ actions.
+
+ @since OOo 1.1.2
+*/
+published interface XAccessController : com::sun::star::uno::XInterface
+{
+ /** Determines whether the access request indicated by the specified
+ permission should be allowed or denied, based on the security policy
+ currently in effect.
+ The semantics are equivalent to the security permission classes of
+ the Java platform.
+ <p>
+ You can also pass a sequence of permissions (sequence< any >) to check
+ a set of permissions, e.g. for performance reasons.
+ This method quietly returns if the access request is permitted,
+ or throws a suitable AccessControlException otherwise.
+ </p>
+
+ @param perm
+ permission to be checked
+
+ @throws AccessControlException
+ thrown if access is denied
+
+ @see ::com::sun::star::security::AccessControlException
+ @see ::com::sun::star::security::AllPermission
+ @see ::com::sun::star::security::RuntimePermission
+ @see ::com::sun::star::io::FilePermission
+ @see ::com::sun::star::connection::SocketPermission
+ */
+ void checkPermission(
+ [in] any perm )
+ raises (AccessControlException);
+
+ /** Perform the specified action restricting permissions to the given
+ XAccessControlContext.
+ The action is performed with the intersection of the permissions of the currently installed
+ XAccessControlContext, the given XAccessControlContext and the security policy currently
+ in effect. The latter includes static security, e.g. based on user credentials.
+ <p>
+ If the specified XAccessControlContext is null, then the action is performed
+ with unmodified permissions, i.e. the call makes no sense.
+ </p>
+
+ @param action
+ action object to be executed
+ @param restriction
+ access control context to restrict permission; null for no restriction
+ @return
+ result
+ @throws com::sun::star::uno::Exception
+ any UNO exception may be thrown
+ */
+ any doRestricted(
+ [in] XAction action,
+ [in] XAccessControlContext restriction )
+ raises (com::sun::star::uno::Exception);
+
+ /** Perform the specified action adding a set of permissions defined by the given
+ XAccessControlContext.
+ The action is performed with the union of the permissions of the currently installed
+ XAccessControlContext, the given XAccessControlContext and the security policy currently
+ in effect. The latter includes static security, e.g. based on user credentials.
+ <p>
+ If the given XAccessControlContext is null, then the action is performed
+ <b>only</b> with the permissions of the security policy currently in effect.
+ </p>
+
+ @attention
+ Do carefully use this method only for well known use-cases to avoid exploits!
+ Script engines executing sandboxed scripts should generally deny calling this
+ method.
+
+ @param action
+ action object to be executed
+ @param restriction
+ access control context to restrict permission; null for no restriction
+ @return
+ result
+ @throws com::sun::star::uno::Exception
+ any UNO exception may be thrown
+ */
+ any doPrivileged(
+ [in] XAction action,
+ [in] XAccessControlContext restriction )
+ raises (com::sun::star::uno::Exception);
+
+ /** This method takes a "snapshot" of the current calling context
+ and returns it.
+ <p>
+ This context may then be checked at a later point, possibly in another thread.
+ </p>
+ @return
+ snapshot of context
+ */
+ XAccessControlContext getContext();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/XAction.idl b/udkapi/com/sun/star/security/XAction.idl
new file mode 100644
index 000000000000..7a61477ea628
--- /dev/null
+++ b/udkapi/com/sun/star/security/XAction.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_XAction_idl__
+#define __com_sun_star_security_XAction_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+/** Interface for running an action.
+
+ @since OOo 1.1.2
+*/
+published interface XAction : com::sun::star::uno::XInterface
+{
+ /** Action to be done.
+
+ @return
+ result
+ @throws com::sun::star::uno::Exception
+ any UNO exception may be thrown
+ */
+ any run()
+ raises (com::sun::star::uno::Exception);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/XPolicy.idl b/udkapi/com/sun/star/security/XPolicy.idl
new file mode 100644
index 000000000000..b591eb32353f
--- /dev/null
+++ b/udkapi/com/sun/star/security/XPolicy.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_security_XPolicy_idl__
+#define __com_sun_star_security_XPolicy_idl__
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+module com { module sun { module star { module security {
+
+/** Interface for getting sets of permissions of a specified user or
+ the default permissions if no user is given.
+
+ @see com::sun::star::security::Policy
+
+ @since OOo 1.1.2
+*/
+published interface XPolicy : com::sun::star::uno::XInterface
+{
+ /** Gets the permissions of the specified user excluding the default permissions
+ granted to all users.
+
+ @param userId
+ user id
+ @return
+ permissions of the specified user
+ */
+ sequence< any > getPermissions(
+ [in] string userId );
+
+ /** Gets the default permissions granted to all users.
+
+ @return
+ default permissions
+ */
+ sequence< any > getDefaultPermissions();
+
+ /** Refreshes the policy configuration.
+ */
+ void refresh();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/security/makefile.mk b/udkapi/com/sun/star/security/makefile.mk
new file mode 100644
index 000000000000..f8c66f9df85f
--- /dev/null
+++ b/udkapi/com/sun/star/security/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+# build dependency: security
+# security/auth
+# security/auth/callback
+# security/auth/login
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=udkapi
+
+TARGET=csssec
+PACKAGE=com$/sun$/star$/security
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES= \
+ AllPermission.idl \
+ RuntimePermission.idl \
+ Policy.idl \
+ XPolicy.idl \
+ AccessController.idl \
+ XAccessController.idl \
+ XAccessControlContext.idl \
+ XAction.idl \
+ AccessControlException.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/udkapi/com/sun/star/task/XInteractionAbort.idl b/udkapi/com/sun/star/task/XInteractionAbort.idl
new file mode 100644
index 000000000000..cef59c8ea7b8
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionAbort.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionAbort_idl__
+#define __com_sun_star_task_XInteractionAbort_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionAbort
+/** An interaction continuation specifing to abort executing the process that
+ issued the request.
+ */
+published interface XInteractionAbort: com::sun::star::task::XInteractionContinuation
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/XInteractionContinuation.idl b/udkapi/com/sun/star/task/XInteractionContinuation.idl
new file mode 100644
index 000000000000..c9b2ab5858cb
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionContinuation.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionContinuation_idl__
+#define __com_sun_star_task_XInteractionContinuation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+/** Specifies a way of how to continue from an
+ <type scope="com::sun::star::task">XInteractionRequest</type>.
+ <P>Different sub-interfaces of this interface specify different ways of
+ continuing.</P>
+ */
+published interface XInteractionContinuation: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::task::XInteractionContinuation::select
+ /** Select this way of continuing from an
+ <type scope="com::sun::star::task">XInteractionRequest</type> (given a
+ choice of various
+ <type scope="com::sun::star::task">XInteractionContinuation</type>s).
+ */
+ void select();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/XInteractionHandler.idl b/udkapi/com/sun/star/task/XInteractionHandler.idl
new file mode 100644
index 000000000000..0bbd7fed3202
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionHandler.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionHandler_idl__
+#define __com_sun_star_task_XInteractionHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionRequest_idl__
+#include <com/sun/star/task/XInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionHandler
+/** An interaction request handler.
+ */
+published interface XInteractionHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::task::XInteractionHandler::handle
+ /** Handle an interaction request.
+ */
+ void handle( [in] com::sun::star::task::XInteractionRequest Request );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/XInteractionHandler2.idl b/udkapi/com/sun/star/task/XInteractionHandler2.idl
new file mode 100644
index 000000000000..8fff5823d669
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionHandler2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionHandler2_idl__
+#define __com_sun_star_task_XInteractionHandler2_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+/** An interaction request handler.
+
+ <p>This interface extends the interface <type>XInteractionHandler</type>
+ the way that a caller can determine whether an interaction request was
+ actually handled by the interaction handler.</p>
+ */
+/* published */ interface XInteractionHandler2 : com::sun::star::task::XInteractionHandler
+{
+ //-------------------------------------------------------------------------
+ /** Handle an interaction request.
+
+ @param Request the inteaction request to handle.
+
+ @return <true/>, if the handler handled the request, <false/> otherwise.
+ */
+ boolean handleInteractionRequest(
+ [in] com::sun::star::task::XInteractionRequest Request );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/XInteractionRequest.idl b/udkapi/com/sun/star/task/XInteractionRequest.idl
new file mode 100644
index 000000000000..a0518fd7fd8a
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionRequest.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionRequest_idl__
+#define __com_sun_star_task_XInteractionRequest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionRequest
+/** The description of an interaction request.
+ */
+published interface XInteractionRequest: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::task::XInteractionRequest::getRequest
+ /** Get information about the request itself.
+
+ @returns
+ an <type scope="com::sun::star::uno">Exception</type>, wrapped as an
+ <atom>any</atom>.
+ */
+ any getRequest();
+
+ //-------------------------------------------------------------------------
+ /** Get the set of
+ <type scope="com::sun::star::task">XInteractionContinuation</type>s
+ the client supports for this request.
+ */
+ sequence<com::sun::star::task::XInteractionContinuation> getContinuations();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/XInteractionRetry.idl b/udkapi/com/sun/star/task/XInteractionRetry.idl
new file mode 100644
index 000000000000..eab9ec1ab3c3
--- /dev/null
+++ b/udkapi/com/sun/star/task/XInteractionRetry.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_task_XInteractionRetry_idl__
+#define __com_sun_star_task_XInteractionRetry_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionRetry
+/** An interaction continuation specifing to try to re-execute the process
+ that issued the request.
+ */
+published interface XInteractionRetry: com::sun::star::task::XInteractionContinuation
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/task/makefile.mk b/udkapi/com/sun/star/task/makefile.mk
new file mode 100644
index 000000000000..e95d79ce4665
--- /dev/null
+++ b/udkapi/com/sun/star/task/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=csstask
+PACKAGE=com$/sun$/star$/task
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XInteractionAbort.idl\
+ XInteractionContinuation.idl\
+ XInteractionHandler.idl\
+ XInteractionHandler2.idl\
+ XInteractionRequest.idl\
+ XInteractionRetry.idl
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/test/TestEvent.idl b/udkapi/com/sun/star/test/TestEvent.idl
new file mode 100644
index 000000000000..f5717fd903d5
--- /dev/null
+++ b/udkapi/com/sun/star/test/TestEvent.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_TestEvent_idl__
+#define __com_sun_star_test_TestEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module test {
+
+//=============================================================================
+/** This event gets delivered whenever a test event (an error, an exception,
+ a warning) takes place.
+ @deprecated
+*/
+published struct TestEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** contains the error/warning message
+ */
+ string Message;
+
+ //-------------------------------------------------------------------------
+ /** contains the exception notified by the <type>XTestListener</type>
+ method notifyException. This value is not valid for other events.
+ */
+ any Exception;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/test/TestFactory.idl b/udkapi/com/sun/star/test/TestFactory.idl
new file mode 100644
index 000000000000..100ac85d499f
--- /dev/null
+++ b/udkapi/com/sun/star/test/TestFactory.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_TestFactory_idl__
+#define __com_sun_star_test_TestFactory_idl__
+
+#ifndef __com_sun_star_lang_MultiServiceFactory_idl__
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module test {
+
+//=============================================================================
+/** describes a factory of services with interfaces for testing purposes.
+
+ <p>It create instances that support the interface
+ <type scope="com::sun::star::test">XSimpleTest</type>.
+
+ <p>The services are accessed through interface, service or object
+ names. The name test service must begin with "test." followed by the
+ interface, service or object name ("test.com.sun.star.beans.XPropertySet").
+
+ @example:Java
+
+ <listing>
+ xTestService = TestFactory.createInstance( "com.sun.star.beans.XPropertySet" );
+ xTestService.test( "com.sun.star.beans.XPropertySet", myTestObject );
+ </listing>
+
+ @author Markus Meyer
+ @version 0.1
+ @deprecated
+*/
+published service TestFactory
+{
+ service com::sun::star::lang::MultiServiceFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/test/XSimpleTest.idl b/udkapi/com/sun/star/test/XSimpleTest.idl
new file mode 100644
index 000000000000..f2a310f9a44c
--- /dev/null
+++ b/udkapi/com/sun/star/test/XSimpleTest.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_XSimpleTest_idl__
+#define __com_sun_star_test_XSimpleTest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module test {
+
+//=============================================================================
+/**
+ A simple interface to test a service or interface implementation.
+*/
+published interface XSimpleTest: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /**
+ Test the object TestObject against the test specified with TestName. This test
+ does not change the semantic state of the object, so it can be called on a existing
+ component that will used further on.
+ Note : This can be a strong test limitation. There are some components, that cannot
+ perform their full test scenario.
+ @param TestName the name of the test. Must be an interface, service or implementation name.
+ Note : The name is only used by the test component to distinguish
+ between test scenarios.
+ @param TestObject The instance to be tested.
+
+ @throws IllegalArgumentException
+ if the test does not support TestName or TestObject is null.
+ */
+ void testInvariant( [in] string TestName,
+ [in] com::sun::star::uno::XInterface TestObject )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /**
+ Test the object TestObject against the test specified with TestName. This test
+ changes the state of the object. The object may be useless afterwards.
+ (e.g. a closed XOutputStream). The method in general may be called multipe times with a new
+ test object instance.
+ Note : These tests should include the testInvariant test.
+ Note : Each test scenario should be independent of each other, so even if a scenario
+ didn't pass the test, the other test can still be performed. The error messages
+ are cumulative.
+
+ @param TestName The name of the test. Must be an interface, service or implementation name.
+ Note : The name is only used by the test component to distinguish
+ between test scenarios.
+ @param TestObject The instance to be tested.
+ @param hTestHandle Internal test handle. Handle for first test is always 0.
+ Handle of next test is returned by the method.
+ @return Handle of the next test. -1 if this was the last test.
+
+ @throws IllegalArgumentException
+ if the test does not support TestName or
+ TestObject is null.
+ */
+ long test( [in] string TestName,
+ [in] com::sun::star::uno::XInterface TestObject,
+ [in] long hTestHandle )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /**States if one of the last test has failed. This is cumulative.
+ @return true if all test have been passed succesfully. false if an error has occured.
+
+ */
+ boolean testPassed();
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION MISSING FOR XSimpleTest::getErrors
+ sequence<string> getErrors();
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION MISSING FOR XSimpleTest::getErrorExceptions
+ sequence<any> getErrorExceptions();
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION MISSING FOR XSimpleTest::getWarnings
+ sequence<string> getWarnings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/test/XTest.idl b/udkapi/com/sun/star/test/XTest.idl
new file mode 100644
index 000000000000..12481184b15d
--- /dev/null
+++ b/udkapi/com/sun/star/test/XTest.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_XTest_idl__
+#define __com_sun_star_test_XTest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_test_XTestListener_idl__
+#include <com/sun/star/test/XTestListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module test {
+
+//=============================================================================
+/**
+ A simple interface to test a service or interface implementation.
+*/
+published interface XTest: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /**
+ Test the object TestObject against the test specified with TestName. This test
+ does not change the semantic state of the object, so it can be called on a existing
+ component that will used further on. Note: This can be a strong test limitation.
+ There are some components, that cannot perform their full test scenario.
+ @param TestName
+ the name of the test. Must be an interface, service, or implementation name.
+ Note: The name is only used by the test component to distinguish between test
+ scenarios.
+ @param TestObject
+ The instance to be tested.
+ @throws IllegalArgumentException
+ if the test does not support TestName or TestObject is null.
+ */
+ void testInvariant( [in] string TestName,
+ [in] com::sun::star::uno::XInterface TestObject )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /**
+ Test the object TestObject against the test specified with TestName.
+ This test changes the state of the object. The object may be useless
+ afterwards (e.g., a closed XOutputStream). The method in general may
+ be called multiple times with a new test object instance. Note: Each test
+ scenario should be independent of each other, so even if a scenario
+ didn't pass the test, the other test can still be performed.
+ The error messages are cumulative.
+
+ @param TestName
+ The name of the test. Must be an interface, service, or
+ implementation name. Note: The name is only used by the test component
+ to distinguish between test scenarios.
+ @param TestObject
+ The instance to be tested.
+ @param hTestHandle
+ Internal test handle. Handle for first test is always 0.
+ Handle of next test is returned by the method.
+ @return Handle of the next test. -1 if this was the last test.
+
+ @throws IllegalArgumentException
+ if the test does not support TestName or TestObject is null.
+ */
+ long test( [in] string TestName,
+ [in] com::sun::star::uno::XInterface TestObject,
+ [in] long hTestHandle )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /**
+ Test the object TestObject against the test specified with TestName using
+ several threads. That does NOT mean that testMultiThread should implement
+ a test using several threads but that this test method should be designed
+ to be called by several threads. So for example, it has to take into consideration
+ that a test object state that is changed by the method can be
+ changed again by another thread. So it's not necessarily a mistake if an
+ expected state can't be confirmed after setting it. Besides that, everything
+ is the same as described for the test method.
+
+ If this way of testing with multiple threads is not appropriate for the
+ component to be tested this method should not be implemented (it should
+ only return -1) and a special multithread test adapted to the special
+ needs of testing this component should be integrated in the test method.
+
+ @param TestName
+ The name of the test. Must be an interface, service or
+ implementation name. Note: The name is only used by the test component
+ to distinguish between test scenarios.
+ @param TestObject
+ The instance to be tested.
+ @param hTestHandle
+ Internal test handle. Handle for first test is always 0.
+ Handle of next test is returned by the method.
+ @return Handle of the next test. -1 if this was the last test.
+
+ @throws IllegalArgumentException
+ if the test does not support TestName or TestObject is null.
+ */
+ long testMultiThread( [in] string TestName,
+ [in] com::sun::star::uno::XInterface TestObject,
+ [in] long hTestHandle )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** registers an event listener, which will be called for reporting
+ errors/exceptions and warnings and for protocol purpuses.
+ */
+ void addTestListener( [in] XTestListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters an event listener which was registered with
+ <member>XTest::addTestListener()</member>.
+
+ */
+ void removeTestListener( [in] XTestListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/test/XTestListener.idl b/udkapi/com/sun/star/test/XTestListener.idl
new file mode 100644
index 000000000000..3f385d96d8b9
--- /dev/null
+++ b/udkapi/com/sun/star/test/XTestListener.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_XTestListener_idl__
+#define __com_sun_star_test_XTestListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_test_TestEvent_idl__
+#include <com/sun/star/test/TestEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module test {
+
+//=============================================================================
+/** is used to handle errors/exceptions and warnings during tests.
+*/
+published interface XTestListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** gets called when an error occurs while performing an test.
+ If the error results from an exception, the exception
+ can be found in the Exception member of the TestEvent
+
+ @param evt
+ This property contains the <type>TestEvent</type> object that
+ describes the event source and error description.
+ */
+ void notifyError( [in] com::sun::star::test::TestEvent evt );
+
+ //-------------------------------------------------------------------------
+ /** gets called when an warning occurs while performing an test.
+
+ @param evt
+ This property contains the <type>TestEvent</type> object that
+ describes the event source and warning description.
+ */
+ void notifyWarning( [in] com::sun::star::test::TestEvent evt );
+
+ //-------------------------------------------------------------------------
+ /** can be called by the broadcaster to inform the listener about
+ the progress of the test. The listener can use this information
+ for example to write it into a test protocol file.
+
+ @param evt
+ This property contains the <type>TestEvent</type> object that
+ describes the protocol message.
+ */
+ void protocol( [in] com::sun::star::test::TestEvent evt );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/test/bridge/XBridgeTest.idl b/udkapi/com/sun/star/test/bridge/XBridgeTest.idl
new file mode 100644
index 000000000000..05f444a43318
--- /dev/null
+++ b/udkapi/com/sun/star/test/bridge/XBridgeTest.idl
@@ -0,0 +1,306 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_bridge_XBridge_idl__
+#define __com_sun_star_test_bridge_XBridge_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module test
+{
+module bridge
+{
+
+published enum TestEnum
+{
+ TEST,
+ ONE,
+ TWO,
+ CHECK,
+ LOLA,
+ PALOO,
+ ZA
+};
+
+/**
+ * simple types
+ */
+published struct TestSimple
+{
+ boolean Bool;
+ char Char;
+ byte Byte;
+ short Short;
+ unsigned short UShort;
+ long Long;
+ unsigned long ULong;
+ hyper Hyper;
+ unsigned hyper UHyper;
+ float Float;
+ double Double;
+ TestEnum Enum;
+};
+/**
+ * complex types adding string, inteface, any
+ */
+published struct TestElement : TestSimple
+{
+ string String;
+ com::sun::star::uno::XInterface Interface;
+ any Any;
+};
+/**
+ * adding even more complexity, sequence< TestElement >
+ */
+published struct TestDataElements : TestElement
+{
+ sequence< TestElement > Sequence;
+};
+
+/**
+ * typedef used in interface
+ */
+published typedef TestDataElements TestData;
+
+published interface XRecursiveCall : com::sun::star::uno::XInterface
+{
+ /***
+ * @param nToCall If nToCall is 0, the method returns immeadiatly.
+ * Otherwise, call the given interface with nToCall -1
+ *
+ ***/
+ void callRecursivly( [in] XRecursiveCall xCall , [in] long nToCall );
+};
+
+/**
+ * Monster test interface to test bridge calls.
+ * An implementation of this object has to store given values and return whenever there
+ * is an out param or return value.
+ */
+published interface XBridgeTestBase : com::sun::star::uno::XInterface
+{
+ /**
+ * in parameter test, tests by calls reference also (complex types)
+ */
+ [oneway] void setValues( [in] boolean bBool, [in] char cChar, [in] byte nByte,
+ [in] short nShort, [in] unsigned short nUShort,
+ [in] long nLong, [in] unsigned long nULong,
+ [in] hyper nHyper, [in] unsigned hyper nUHyper,
+ [in] float fFloat, [in] double fDouble,
+ [in] TestEnum eEnum, [in] string aString,
+ [in] com::sun::star::uno::XInterface xInterface, [in] any aAny,
+ [in] sequence< TestElement > aSequence,
+ [in] TestData aStruct );
+ /**
+ * inout parameter test
+ *
+ * @return aStruct. The out parameter contain the values, that were previously set
+ * by setValues or (if not called before) default constructed values.
+ *
+ */
+ TestData setValues2( [inout] boolean bBool, [inout] char cChar, [inout] byte nByte,
+ [inout] short nShort, [inout] unsigned short nUShort,
+ [inout] long nLong, [inout] unsigned long nULong,
+ [inout] hyper nHyper, [inout] unsigned hyper nUHyper,
+ [inout] float fFloat, [inout] double fDouble,
+ [inout] TestEnum eEnum, [inout] string aString,
+ [inout] com::sun::star::uno::XInterface xInterface, [inout] any aAny,
+ [inout] sequence< TestElement > aSequence,
+ [inout] TestData aStruct );
+
+ /**
+ * out parameter test
+ */
+ TestData getValues( [out] boolean bBool, [out] char cChar, [out] byte nByte,
+ [out] short nShort, [out] unsigned short nUShort,
+ [out] long nLong, [out] unsigned long nULong,
+ [out] hyper nHyper, [out] unsigned hyper nUHyper,
+ [out] float fFloat, [out] double fDouble,
+ [out] TestEnum eEnum, [out] string aString,
+ [out] com::sun::star::uno::XInterface xInterface, [out] any aAny,
+ [out] sequence< TestElement > aSequence,
+ [out] TestData aStruct );
+
+ [attribute] boolean Bool;
+ [attribute] byte Byte;
+ [attribute] char Char;
+ [attribute] short Short;
+ [attribute] unsigned short UShort;
+ [attribute] long Long;
+ [attribute] unsigned long ULong;
+ [attribute] hyper Hyper;
+ [attribute] unsigned hyper UHyper;
+ [attribute] float Float;
+ [attribute] double Double;
+ [attribute] TestEnum Enum;
+ [attribute] string String;
+ [attribute] com::sun::star::uno::XInterface Interface;
+ [attribute] any Any;
+ [attribute] sequence< TestElement > Sequence;
+ [attribute] TestData Struct;
+
+
+ /***
+ * This method returns the parameter value.
+ * Method to extensivly test anys.
+ ****/
+ any transportAny( [in] any value );
+
+ /***
+ * methods to check sequence of calls. Call call() and callOneway
+ * in an arbitrary sequence. Increase the callId for every call.
+ * The testobject sets an error flag.
+
+ @see testSequencePassed
+ ***/
+ void call( [in] long nCallId, [in] long nWaitMUSEC );
+ [oneway] void callOneway( [in] long nCallId, [in] long nWaitMUSEC );
+ boolean sequenceOfCallTestPassed();
+
+ /****
+ * methods to check, if threads thread identity is holded.
+ *
+ ***/
+ void startRecursiveCall( [in] XRecursiveCall xCall , [in] long nToCall );
+};
+
+
+/**
+ * Inherting from monster; adds raiseException(), attribute raising RuntimeException.
+ */
+published interface XBridgeTest : XBridgeTestBase
+{
+ /**
+ * the exception struct returned has to be filled with given arguments.
+ * return value is for dummy.
+ */
+ TestData raiseException( [in] short ArgumentPosition,
+ [in] string Message,
+ [in] com::sun::star::uno::XInterface Context )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /**
+ * Throws runtime exception.
+ * check remote bridges handle exceptions during oneway calls properly.
+ * Note that on client side the execption may fly or not. When it flies, it should
+ * have the proper message and context.
+ ***/
+ [oneway] void raiseRuntimeExceptionOneway( [in] string Message,
+ [in] com::sun::star::uno::XInterface Context );
+
+ /**
+ * raises runtime exception;
+ * the exception struct returned has to be filled with formerly set test data.
+ */
+ [attribute] long RuntimeException;
+};
+
+/** Extended tests with sequences.
+ */
+published interface XBridgeTest2 : XBridgeTest
+{
+ sequence< boolean > setSequenceBool( [in] sequence< boolean > aSeq);
+ sequence< char > setSequenceChar( [in] sequence< char > aSeq);
+ sequence< byte> setSequenceByte( [in] sequence< byte > aSeq);
+ sequence< short> setSequenceShort( [in] sequence< short > aSeq);
+ sequence< unsigned short > setSequenceUShort( [in] sequence< unsigned short > aSeq);
+ sequence< long > setSequenceLong( [in] sequence< long > aSeq);
+ sequence< unsigned long > setSequenceULong( [in] sequence< unsigned long > aSeq);
+ sequence< hyper > setSequenceHyper( [in] sequence< hyper > aSeq);
+ sequence< unsigned hyper > setSequenceUHyper( [in] sequence< unsigned hyper > aSeq);
+ sequence< float > setSequenceFloat( [in] sequence< float > aSeq);
+ sequence< double > setSequenceDouble( [in] sequence< double > aSeq);
+ sequence< TestEnum > setSequenceEnum( [in] sequence< TestEnum > aSeq);
+ sequence< string > setSequenceString( [in] sequence< string > aString);
+ sequence< com::sun::star::uno::XInterface > setSequenceXInterface(
+ [in] sequence< com::sun::star::uno::XInterface > aSeq);
+ sequence< any > setSequenceAny( [in] sequence< any > aSeq);
+ sequence< TestElement > setSequenceStruct( [in] sequence< TestElement > aSeq);
+
+ sequence< sequence< long > > setDim2( [in] sequence< sequence< long > > aSeq);
+ sequence< sequence < sequence < long > > > setDim3(
+ [in] sequence< sequence < sequence < long > > > aSeq);
+
+ void setSequencesInOut( [inout] sequence< boolean > aSeqBoolean,
+ [inout] sequence< char > aSeqChar,
+ [inout] sequence< byte > aSeqByte,
+ [inout] sequence< short > aSeqShort,
+ [inout] sequence< unsigned short> aSeqUShort,
+ [inout] sequence< long > aSeqLong,
+ [inout] sequence< unsigned long > aSeqULong,
+ [inout] sequence< hyper > aSeqHyper,
+ [inout] sequence< unsigned hyper > aSeqUHyper,
+ [inout] sequence< float > aSeqFloat,
+ [inout] sequence< double > aSeqDouble,
+ [inout] sequence< TestEnum > aSeqEnum,
+ [inout] sequence< string > aSeqString,
+ [inout] sequence< com::sun::star::uno::XInterface > aSeqXInterface,
+ [inout] sequence< any > aSeqAny,
+ [inout] sequence< sequence< long > > aSeqDim2,
+ [inout] sequence< sequence < sequence < long > > > aSeqDim3);
+
+ void setSequencesOut( [out] sequence< boolean > aSeqBoolean,
+ [out] sequence< char > aSeqChar,
+ [out] sequence< byte > aSeqByte,
+ [out] sequence< short > aSeqShort,
+ [out] sequence< unsigned short> aSeqUShort,
+ [out] sequence< long > aSeqLong,
+ [out] sequence< unsigned long > aSeqULong,
+ [out] sequence< hyper > aSeqHyper,
+ [out] sequence< unsigned hyper > aSeqUHyper,
+ [out] sequence< float > aSeqFloat,
+ [out] sequence< double > aSeqDouble,
+ [out] sequence< TestEnum > aSeqEnum,
+ [out] sequence< string > aSeqString,
+ [out] sequence< com::sun::star::uno::XInterface > aSeqXInterface,
+ [out] sequence< any > aSeqAny,
+ [out] sequence< sequence< long > > aSeqDim2,
+ [out] sequence< sequence < sequence < long > > > aSeqDim3);
+
+
+};
+//=============================================================================
+
+};
+};
+};
+};
+};
+
+#endif
diff --git a/udkapi/com/sun/star/test/bridge/makefile.mk b/udkapi/com/sun/star/test/bridge/makefile.mk
new file mode 100644
index 000000000000..14347311ab55
--- /dev/null
+++ b/udkapi/com/sun/star/test/bridge/makefile.mk
@@ -0,0 +1,45 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssbridgetest
+PACKAGE=com$/sun$/star$/test$/bridge
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XBridgeTest.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/test/makefile.mk b/udkapi/com/sun/star/test/makefile.mk
new file mode 100644
index 000000000000..a1f2016bf27b
--- /dev/null
+++ b/udkapi/com/sun/star/test/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=csstest
+PACKAGE=com$/sun$/star$/test
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ TestFactory.idl\
+ XSimpleTest.idl\
+ TestEvent.idl\
+ XTest.idl\
+ XTestListener.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/test/performance/XPerformanceTest.idl b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl
new file mode 100644
index 000000000000..9ef559c240d6
--- /dev/null
+++ b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_test_performance_XPerformanceTest_idl__
+#define __com_sun_star_test_performance_XPerformanceTest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module test
+{
+module performance
+{
+
+/** struct of simple types to be carried
+*/
+published struct SimpleTypes
+{
+ boolean Bool;
+ char Char;
+ byte Byte;
+ short Short;
+ unsigned short UShort;
+ long Long;
+ unsigned long ULong;
+ hyper Hyper;
+ unsigned hyper UHyper;
+ float Float;
+ double Double;
+};
+/** struct ComplexTypes adding Sequence, String, Interface, Any to SimpleTypes
+*/
+published struct ComplexTypes : SimpleTypes
+{
+ sequence< long > Sequence;
+ string String;
+ com::sun::star::uno::XInterface Interface;
+ any Any;
+};
+
+/** A performance test object has to be implemented in a special way, that:
+ <ul>
+ <li>queryInterface() execution times remain (nearly) static</li>
+ <li>functions kept simple, thus there is (nearly) no execution time of the function itself</li>
+ <li>no dynamic data is ever returned except of createObject(), so return 0, empty strings etc.</li>
+ </ul>
+ The interface is divided into three sections:
+ <ul>
+ <li>measuring asynchron/ synchron calls</li>
+ <li>complex data calls with/out return value; in/out parameters</li>
+ <li>single data types like long, float, string etc.</li>
+ <li>method calls versa attribute calls</li>
+ <li>raising RuntimeException</li>
+ </ul>
+*/
+published interface XPerformanceTest : com::sun::star::uno::XInterface
+{
+ [oneway] void async();
+ void sync();
+
+ ComplexTypes complex_in( [in] ComplexTypes aVal );
+ ComplexTypes complex_inout( [inout] ComplexTypes aVal );
+
+ [oneway] void complex_oneway( [in] ComplexTypes aVal );
+ void complex_noreturn( [in] ComplexTypes aVal );
+
+ XPerformanceTest createObject();
+
+ [attribute] long Long_attr;
+ [attribute] hyper Hyper_attr;
+ [attribute] float Float_attr;
+ [attribute] double Double_attr;
+ [attribute] string String_attr;
+ [attribute] com::sun::star::uno::XInterface Interface_attr;
+ [attribute] any Any_attr;
+ [attribute] sequence< com::sun::star::uno::XInterface > Sequence_attr;
+ [attribute] ComplexTypes Struct_attr;
+
+ long getLong();
+ void setLong( [in] long n );
+ hyper getHyper();
+ void setHyper( [in] hyper n );
+ float getFloat();
+ void setFloat( [in] float f );
+ double getDouble();
+ void setDouble( [in] double f );
+ string getString();
+ void setString( [in] string s );
+ com::sun::star::uno::XInterface getInterface();
+ void setInterface( [in] com::sun::star::uno::XInterface x );
+ any getAny();
+ void setAny( [in] any a );
+ sequence< com::sun::star::uno::XInterface > getSequence();
+ void setSequence( [in] sequence< com::sun::star::uno::XInterface > seq );
+ ComplexTypes getStruct();
+ void setStruct( [in] ComplexTypes c );
+
+ void raiseRuntimeException();
+};
+
+//=============================================================================
+
+};
+};
+};
+};
+};
+
+#endif
diff --git a/udkapi/com/sun/star/test/performance/makefile.mk b/udkapi/com/sun/star/test/performance/makefile.mk
new file mode 100644
index 000000000000..00168c2a005d
--- /dev/null
+++ b/udkapi/com/sun/star/test/performance/makefile.mk
@@ -0,0 +1,45 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssperftest
+PACKAGE=com$/sun$/star$/test$/performance
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XPerformanceTest.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/udk-modules.idl b/udkapi/com/sun/star/udk-modules.idl
new file mode 100644
index 000000000000..cb879e5f803c
--- /dev/null
+++ b/udkapi/com/sun/star/udk-modules.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_modules_idl__
+#define __com_sun_star_modules_idl__
+
+module com { module sun { module star {
+
+/// Java beans-like property access and introspection.
+module beans{};
+
+/// Interfaces for building bridges to other component models.
+module bridge {};
+
+/// Data exchange interfaces for inter-process communication.
+module connection {};
+
+/// Interfaces for collections and containers.
+module container {};
+
+/// Modules for IOP, IIOP and GIOP.
+module corba {};
+
+/// General input/output interfaces.
+module io {};
+
+/// Java to UNO connectivity interfaces.
+module java {};
+
+/// General UNO concepts like factories etc.
+module lang {};
+
+/// Component implementation loader interfaces.
+module loader {};
+
+/// Runtime object inspection / core reflection interfaces.
+module reflection {};
+
+/// Interfaces to access registration databases.
+module registry {};
+
+/// Scripting language bindings.
+module script {};
+
+/// Interface for authorisation and authentification.
+module security {};
+
+/// Test interfaces for core-reflection, introspection and marshalling.
+module test {};
+
+/// Basic UNO interfaces.
+module uno {};
+
+/// URI processing.
+module uri {};
+
+}; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/DeploymentException.idl b/udkapi/com/sun/star/uno/DeploymentException.idl
new file mode 100644
index 000000000000..5cf8e4f48bd7
--- /dev/null
+++ b/udkapi/com/sun/star/uno/DeploymentException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_DeploymentException_idl__
+#define __com_sun_star_uno_DeploymentException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** Exception signalling a deployment error.
+
+ @since OOo 1.1.2
+*/
+published exception DeploymentException : com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/Exception.idl b/udkapi/com/sun/star/uno/Exception.idl
new file mode 100644
index 000000000000..1ddfcdd3d8ce
--- /dev/null
+++ b/udkapi/com/sun/star/uno/Exception.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_Exception_idl__
+#define __com_sun_star_uno_Exception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::uno::Exception
+/** the base of all UNO exceptions
+
+ <p>All exceptions defined in UNO idl should derive from this exception.</p>
+ */
+published exception Exception
+{
+ /** gives a detailed description of the reason, why the exception was thrown.
+ <p>
+ The description should be as detailed as possible.
+
+ */
+ string Message;
+
+ //-------------------------------------------------------------------------
+
+ /** should contain a reference to the original, which raised the exception.
+ <p>May be NULL.</p>
+ */
+ com::sun::star::uno::XInterface Context;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/NamingService.idl b/udkapi/com/sun/star/uno/NamingService.idl
new file mode 100644
index 000000000000..db77fb65cb4c
--- /dev/null
+++ b/udkapi/com/sun/star/uno/NamingService.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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_uno_NamingService_idl__
+#define __com_sun_star_uno_NamingService_idl__
+
+#ifndef __com_sun_star_uno_XNamingService_idl__
+#include <com/sun/star/uno/XNamingService.idl>
+#endif
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+/** a simple named object container.
+
+ */
+published service NamingService
+{
+ /** through this interface the objects are registered and accessed.
+ */
+ interface com::sun::star::uno::XNamingService;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+ Source Code Control System - Update
+
+=============================================================================*/
+#endif
+
diff --git a/udkapi/com/sun/star/uno/RuntimeException.idl b/udkapi/com/sun/star/uno/RuntimeException.idl
new file mode 100644
index 000000000000..c5660e0895fc
--- /dev/null
+++ b/udkapi/com/sun/star/uno/RuntimeException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_RuntimeException_idl__
+#define __com_sun_star_uno_RuntimeException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** This exception or a subclass can occur at every interface method.
+ <p>
+ It shall signal an error, which was not covered by the interface
+ method specification. This exception (or a derived one) is thrown,
+ when for instance an interprocess bridge to the object broke down,
+ some explicitly forbidden invalid parameters were passed ( e.g. null
+ references ) or the called object has been disposed before.
+ */
+published exception RuntimeException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/SecurityException.idl b/udkapi/com/sun/star/uno/SecurityException.idl
new file mode 100644
index 000000000000..341c79827453
--- /dev/null
+++ b/udkapi/com/sun/star/uno/SecurityException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_SecurityException_idl__
+#define __com_sun_star_uno_SecurityException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** Base exception for all security related exceptions.
+*/
+published exception SecurityException : com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/TypeClass.idl b/udkapi/com/sun/star/uno/TypeClass.idl
new file mode 100644
index 000000000000..7d5acb693b56
--- /dev/null
+++ b/udkapi/com/sun/star/uno/TypeClass.idl
@@ -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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_uno_TypeClass_idl__
+#define __com_sun_star_uno_TypeClass_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** This enum describes all type classes of UNO. Every specific type has a type
+ class specifying the general context of the reflected type.
+
+ <p>
+ Example:
+ A type reflecting the interface <type>XInterface</type> is of type class
+ INTERFACE and its name is "com.sun.star.uno.XInterface".
+ </p>
+*/
+published enum TypeClass
+{
+ /** reflecting the void type; denotes no type
+ */
+ VOID,
+ /** reflecting the 16-bit unicode character type
+ */
+ CHAR,
+ /** reflecting the boolean type; true and false
+ */
+ BOOLEAN,
+ /** reflecting the 8-bit ordinal type
+ */
+ BYTE,
+ /** reflecting the signed 16-bit ordinal type
+ */
+ SHORT,
+ /** reflecting the unsigned 16-bit ordinal type
+ */
+ UNSIGNED_SHORT,
+ /** reflecting the signed 32-bit ordinal type
+ */
+ LONG,
+ /** reflecting the unsigned 32-bit type
+ */
+ UNSIGNED_LONG,
+ /** reflecting the signed 64-bit ordinal type
+ */
+ HYPER,
+ /** reflecting the unsigned 64-bit ordinal type
+ */
+ UNSIGNED_HYPER,
+ /** reflecting the 32-bit floating point type
+ */
+ FLOAT,
+ /** reflecting the 64-bit floating point type
+ */
+ DOUBLE,
+ /** reflecting the string type; strings of unicode characters
+ */
+ STRING,
+ /** reflecting the meta type
+ */
+ TYPE,
+ /** reflecting the any type; anys can carry any UNO value except of any values
+ */
+ ANY,
+ /** reflecting enum types
+ */
+ ENUM,
+ /** reflecting typedefed types referencing other types
+ */
+ TYPEDEF,
+ /** reflecting compound types
+ */
+ STRUCT,
+ /** reflecting union types
+ */
+ UNION,
+ /** reflecting exception types
+ */
+ EXCEPTION,
+ /** reflecting sequence types
+ */
+ SEQUENCE,
+ /** reflecting array types
+ */
+ ARRAY,
+ /** reflecting interface types
+ */
+ INTERFACE,
+ /** reflecting services
+ */
+ SERVICE,
+ /** reflecting modules
+ */
+ MODULE,
+ /** reflecting interface methods
+ */
+ INTERFACE_METHOD,
+ /** reflecting interface attributes
+ */
+ INTERFACE_ATTRIBUTE,
+ /** reflecting the unreflectable type
+ */
+ UNKNOWN,
+ /** reflecting properties
+ */
+ PROPERTY,
+ /** reflecting constants
+ */
+ CONSTANT,
+ /** reflecting constants groups
+ */
+ CONSTANTS,
+ /** reflecting singletons
+ */
+ SINGLETON
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/Uik.idl b/udkapi/com/sun/star/uno/Uik.idl
new file mode 100644
index 000000000000..1ef1f776f3df
--- /dev/null
+++ b/udkapi/com/sun/star/uno/Uik.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_Uik_idl__
+#define __com_sun_star_uno_Uik_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+/** Specifies an universal interface key (globally unique).
+
+ This struct is deprecated. Uiks are not used anymore.
+ @deprecated
+*/
+published struct Uik
+{
+ /** specifies a 4 byte data block.
+ */
+ unsigned long m_Data1;
+
+ /** specifies a 2 byte data block.
+ */
+ unsigned short m_Data2;
+
+ /** specifies a 2 byte data block.
+ */
+ unsigned short m_Data3;
+
+ /** specifies a 4 byte data block.
+ */
+ unsigned long m_Data4;
+
+ /** specifies a 4 byte data block.
+ */
+ unsigned long m_Data5;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/XAdapter.idl b/udkapi/com/sun/star/uno/XAdapter.idl
new file mode 100644
index 000000000000..875fc71c8113
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XAdapter.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XAdapter_idl__
+#define __com_sun_star_uno_XAdapter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XReference_idl__
+#include <com/sun/star/uno/XReference.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** This is the server-side interface to a weak adapter.
+
+ <p>The implementation of <type>XAdapter</type> must know
+ but not hold the adapted object, because it must not
+ affect the lifetime of the adapted object.
+
+ </p>@see XWeak
+ for description of concepts.
+ */
+published interface XAdapter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XAdapter::queryAdapted
+ /** queries the adapted object if it is alive.
+ */
+ com::sun::star::uno::XInterface queryAdapted();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XAdapter::addReference
+ /** adds a reference to the adapter.
+
+
+
+ <p>All added references are called when the adapted object dies.
+
+ </p>
+ */
+ void addReference( [in] com::sun::star::uno::XReference xRef );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XAdapter::removeReference
+ /** removes a reference from the adapter.
+ */
+ void removeReference( [in] com::sun::star::uno::XReference xRef );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/XAggregation.idl b/udkapi/com/sun/star/uno/XAggregation.idl
new file mode 100644
index 000000000000..3fe757bba7b3
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XAggregation.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XAggregation_idl__
+#define __com_sun_star_uno_XAggregation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module uno {
+
+//=============================================================================
+/** Objects which implement this interface can become aggregates of
+ a delegator.
+
+ <p>That means if an object "A" aggregates "B", "A" can provide all
+ or some of the interfaces of "B". Whenever the method
+ <member>XInterface::queryInterface()</member>
+ is called on either of the objects, the call will be forwarded
+ to object "A". Object "A" now can determine whether to use the
+ interfaces of "A" or "B" or neither. Actually, any number of
+ aggregates can be used, even nested ones (aggregated objects which are
+ delegators by themselves).
+
+ <p>The following rules are to be observed:
+ <ol>
+ <li>All calls to <member>XInterface::acquire()</member>
+ which are made before the delegator was set (using the method
+ <member>XAggregation::setDelegator()</member>) must not be taken back
+ (using the method <member>XInterface::release()</member>)
+ before the delegation is removed by calling
+ <code>xAggregation-&gt;setDelegator(NULL)</code>.
+
+ <li>The constructor of a delegator has to increment its
+ own reference count by calling its method
+ <member>XInterface::acquire()</member>
+ before it sets itself to any aggregate using the method
+ <member>XAggregation::setDelegator()</member>. After that
+ call it has to reset its own reference count without the
+ destructor getting called.
+
+ <li>The destructor of a delegator has to reset the delegator in
+ its aggregated objects by calling their method
+ <member>XAggregation::setDelegator()</member> with
+ <const>NULL</const> before it releases its reference to
+ its aggregated objects.
+ </ol>
+
+ @deprecated
+ Aggregation will no longer be supported as a high-level concept of UNO.
+ You may still have the option to implement an UNO object consisting of
+ several single objects in your specific programming language, though this
+ depends on your programming language.
+*/
+published interface XAggregation: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** sets the object to which all calls to the method
+ <member>XInterface::queryInterface()</member>
+ have to be forwarded. @
+
+ @param xDelegator
+ specifies the object which handles the calls to
+ <member>XInterface::queryInterface()</member>.
+ If <var>xDelegator</var> is <const>NULL</const>, the delegator is
+ removed and thus the object becomes its own delegator and has
+ to handle calls to the method
+ <member>XInterface::queryInterface()</member>
+ itself.
+
+ @see XAggregation::queryAggregation
+ */
+ void setDelegator( [in] com::sun::star::uno::XInterface pDelegator );
+
+ //-------------------------------------------------------------------------
+ /** is similar to <member>XInterface::queryInterface()</member>,
+ but it is to be processed directly without being forwarded to the
+ delegator. @
+
+ <p>This method is only called from within an implementation of
+ <member>XInterface::queryInterface()</member>
+ or <member>XAggregation::queryAggregation()</member>. This method
+ is to be called by the delegator if it does not implement the
+ interface itself. An object which got aggregated cannot depend
+ on getting its own interface when it calls the method
+ <member>XInterface::queryInterface()</member>.
+
+ @see XAggregation::setDelegator
+ */
+ any queryAggregation( [in] type aType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/XComponentContext.idl b/udkapi/com/sun/star/uno/XComponentContext.idl
new file mode 100644
index 000000000000..fe43ed62e092
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XComponentContext.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XComponentContext_idl__
+#define __com_sun_star_uno_XComponentContext_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+module com { module sun { module star { module lang {
+ published interface XMultiComponentFactory;
+}; }; }; };
+
+module com { module sun { module star { module uno {
+
+/** Component context to be passed to a component via
+ <type scope="com::sun::star::lang">XSingleComponentFactory</type>.
+ Arbitrary values (e.g. deployment values) can be retrieved from the context.
+*/
+published interface XComponentContext : XInterface
+{
+ /** Gets a value from the context.
+
+ @param Name
+ name of value
+ @return
+ value
+ */
+ any getValueByName( [in] string Name );
+
+ /** Gets the service manager instance to be used from key
+ <code>/singletons/com.sun.star.lang.theServiceManager</code> (maybe null ref).
+ This method has been added for convenience, because the
+ service manager is used very often.
+
+ @return
+ service manager, if any
+ */
+ com::sun::star::lang::XMultiComponentFactory getServiceManager();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/XCurrentContext.idl b/udkapi/com/sun/star/uno/XCurrentContext.idl
new file mode 100644
index 000000000000..4cd83482afe6
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XCurrentContext.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XCurrentContext_idl__
+#define __com_sun_star_uno_XCurrentContext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+module com { module sun { module star { module uno {
+
+/** Task (e.g. thread) local execution context for UNO.
+ Arbitrary values can be retrieved from the context.
+ <p>
+ You have to use UNO runtime functions to obtain the current context
+ in your target language.
+ </p>
+ @attention
+ In general, do not spread the current context across different tasks.
+ Values of the current context are destined for that task only.
+*/
+published interface XCurrentContext : XInterface
+{
+ /** Gets a value from the context.
+
+ @param Name
+ name of value
+ @return
+ value
+ */
+ any getValueByName( [in] string Name );
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/XInterface.idl b/udkapi/com/sun/star/uno/XInterface.idl
new file mode 100644
index 000000000000..440b3fe95db1
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XInterface.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XInterface_idl__
+#define __com_sun_star_uno_XInterface_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::uno::XInterface
+/** base interface of all UNO interfaces
+
+ <p> It provides lifetime control by reference counting and the
+ possibility of querying for other
+ interfaces of the same logical object.
+
+
+ <p>
+ "Logical Object" in this case means that the
+ interfaces actually can be supported by internal (e.g. aggregated) physical objects.</p>
+
+ <p> Deriving from this interface is mandatory for all UNO interfaces.
+ <p> Each language binding (Java, C++, StarBasic, Python, ... ) may
+ provide a different mapping of this interface, please look into the language
+ dependent documention.
+
+ <p> The UNO object does not export the state of the reference count (acquire() and
+ release() do not have return values). In general, also the UNO object itself
+ should not make any assumption on the concrete value of the reference count
+ (except on the transition from one to zero ).
+
+ */
+published interface XInterface
+{
+ /** queries for a new interface to an existing UNO object.
+ <p>
+ The queryInterface() method is the entry point to obtain other interfaces which
+ are exported by the object. The caller asks the implementation of the object,
+ if it supports the interface specified by the type argument. The call may either
+ return with a interface reference of the requested type or with a void any.
+
+ <p>
+ There are certain specifications, a queryInterface() implementation must not violate.
+ <p>
+ 1) If queryInterface on a specific object has once returned a valid interface reference
+ for a given type, it must return a valid reference for any successive queryInterface
+ calls on this object for the same type.
+ <p>
+ 2) If queryInterface on a specific object has once returned a null reference
+ for a given type, it must always return a null reference for the same type.
+ <p>
+ 3) If queryInterface on a reference A returns reference B, queryInterface on
+ B for Type A must return interface reference A or calls made on the returned
+ reference must be equivalent to calls made on reference A.
+ <p>
+ 4) If queryInterface on a reference A returns reference B, queryInterface on
+ A and B for XInterface must return the same interface reference (object identity).
+
+ <p> The reason for the strong specification is, that a Uno Runtime Environment (URE)
+ may choose to cache queryInterface() calls.
+ <p> As mentioned above, certain language bindings may map this function differently also
+ with different specifications, please visit the language dependent specification for it.
+ The current C++ binding sticks to the specification state
+ <p>
+ The rules mentioned above are basically identical to the rules of QueryInterface in MS COM.
+
+ @param aType a UNO interface type, for which an object reference shall be obtained.
+ @return an interface reference in case the requested interface is supported by the object,
+ a void any otherwise.
+ */
+ any queryInterface( [in] type aType );
+
+ //-------------------------------------------------------------------------
+ /** increases the reference counter by one.
+
+ <p>When you have called acquire() on the
+ UNO object, it is often said, that you have a reference or a hard reference
+ to the object.
+
+ <p>
+ It is only allowed to invoke a method on an UNO object, when you keep
+ a hard reference to it.
+
+ <p> Every call to acquire must be followed by a corresponding call to release
+ some time later, which may eventually lead to the destruction of the object.
+ */
+ [oneway] void acquire();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XInterface::release
+ /** decreases the reference counter by one.
+ <p>When the reference counter reaches 0, the object gets deleted.</p>
+ <p>Calling release() on the object is often called releasing
+ or clearing the reference to an object.
+ */
+ [oneway] void release();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/XNamingService.idl b/udkapi/com/sun/star/uno/XNamingService.idl
new file mode 100644
index 000000000000..c88da8638696
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XNamingService.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XNamingService_idl__
+#define __com_sun_star_uno_XNamingService_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+/** allows to insert, remove and access named objects.
+ */
+published interface XNamingService: com::sun::star::uno::XInterface
+{
+
+ /** provides a previous registered object.
+ */
+ com::sun::star::uno::XInterface getRegisteredObject( [in] string Name )
+ raises (Exception);
+
+
+ /** registers one object under the specified name.
+
+ <p>If any object is registered before, then this
+ object is revoked automatically.
+
+ </p>
+ */
+ void registerObject( [in]string Name, [in]com::sun::star::uno::XInterface Object )
+ raises (Exception);
+
+
+ /** revokes the registration of an object. <p>If the object was not
+ previously registered, then this call does nothing.
+ */
+ void revokeObject( [in]string Name )
+ raises (Exception);
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+ Source Code Control System - Update
+
+=============================================================================*/
+#endif
+
diff --git a/udkapi/com/sun/star/uno/XReference.idl b/udkapi/com/sun/star/uno/XReference.idl
new file mode 100644
index 000000000000..540ba053abba
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XReference.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XReference_idl__
+#define __com_sun_star_uno_XReference_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::uno::XReference
+/** must be implemented by anyone who holds the adapter on the client side.@see XWeak
+ for decription af concepts.
+ */
+published interface XReference: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XReference::dispose
+ /** removes all references to the adapter.
+
+
+
+ <p> This method is called when the adapted object dies.
+ The implementation of the client-side's weak reference
+ must include removal of all references to the adapter.
+ Otherwise, the adapted object will be destroyed, but the
+ adapter will be alive.</p>
+ */
+ [oneway] void dispose();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/XUnloadingPreference.idl b/udkapi/com/sun/star/uno/XUnloadingPreference.idl
new file mode 100644
index 000000000000..e87efd20d253
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XUnloadingPreference.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XUnloadingPreference_idl__
+#define __com_sun_star_uno_XUnloadingPreference_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module uno {
+
+//=============================================================================
+/** Components can implement <code>XUnloadingPreference</code> in order to indicate
+ how they should be treated when their hosting library is to be unloaded.
+
+ When someone calls <code>rtl_unloadUnusedModules</code> then the unloading
+ listeners are notified by calling previously registered callback
+ functions. A listener is an entity that employs, registers, and
+ unregisters the callback functions on its behalf. Upon notification
+ (the callback function is being called)
+ a listener may release references to UNO components. Thus, the
+ loaded libraries can be unloaded, if no one else keeps any
+ objects from the library alive. <br>
+ Before a listener releases references, it should ask for this interface.
+ If the interface is not implemented, then the listener may release the
+ object; otherwise, it calls <code>releaseOnNotification</code>. If the function
+ returns false then the listener should keep the reference, otherwise
+ it may release it.
+*/
+published interface XUnloadingPreference: com::sun::star::uno::XInterface
+{
+ /**
+ The return value determines if the object wants to stay
+ alive in case of an unloading procedure.
+ @return
+ <FALSE/>do not release references to this object,otherwise
+ <TRUE/>
+ */
+ boolean releaseOnNotification();
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uno/XWeak.idl b/udkapi/com/sun/star/uno/XWeak.idl
new file mode 100644
index 000000000000..73b73090d286
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XWeak.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uno_XWeak_idl__
+#define __com_sun_star_uno_XWeak_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XAdapter_idl__
+#include <com/sun/star/uno/XAdapter.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module uno {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::uno::XWeak
+/** the server-side interface to a weak object.
+
+
+
+ <p>This interface is proxy to the adapted object.
+ In order to make it possible to have weak references to objects,
+ the <type>XAdapter</type> interface must be implemented to provide
+ a weak adapter for the clients.
+
+ <h4>Concept of weak referencing:</h4>
+
+ </p>
+ <p>This module specifies the interfaces for implementing and using
+ weak references.</p>
+ <p>
+
+ </p>
+ <p>The sense of weak references is to hold a reference to an object
+ without affecting the lifetime of the object. That means that a weak
+ reference may become invalid, at any time, if the referenced object dies.
+
+ </p>
+ <p>The following interfaces describe one way to handle weak references
+ by providing a weak adapter. The weak object has to provide this
+ adapter if anyone wants to hold a weak reference. To separate their
+ lifetimes, the adapter and the original object must not share the same
+ reference counter. The weak reference is in fact only a hard reference
+ to the adapter, which knows - but does not hold - the original object.
+ That means that the implementation and synchronization of weak
+ referencing is the responsibility of the object. The following
+ interfaces are involved in the concept of weak referencing:
+
+ <dl>
+ <dt>
+ <type>XWeak</type>
+ </dt>
+ <dd>is the server-side interface of the referred object. This
+ referred object must support the <type>XAdapter</type> interface.
+
+ </dd>
+ <dt>
+ <type>XReference</type>
+ </dt>
+ <dd>is a client-side interface which must be implemented by
+ the holder of any weak reference. It is used for notification
+ when the adapted object dies.
+
+ </dd>
+ </dl>
+ </p>
+ */
+published interface XWeak: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::uno::XWeak::queryAdapter
+ /** queries the weak adapter.
+
+
+
+ <p>It is important that the adapter must know, but not hold
+ the adapted object. If the adapted object dies, all references
+ to the adapter have to be notified to release the adapter.
+
+ </p>
+ */
+ com::sun::star::uno::XAdapter queryAdapter();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/uno/makefile.mk b/udkapi/com/sun/star/uno/makefile.mk
new file mode 100644
index 000000000000..d615b367fd5d
--- /dev/null
+++ b/udkapi/com/sun/star/uno/makefile.mk
@@ -0,0 +1,61 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssuno
+PACKAGE=com$/sun$/star$/uno
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Exception.idl\
+ NamingService.idl\
+ RuntimeException.idl\
+ SecurityException.idl\
+ DeploymentException.idl\
+ TypeClass.idl\
+ Uik.idl\
+ XAdapter.idl\
+ XAggregation.idl\
+ XInterface.idl\
+ XNamingService.idl\
+ XReference.idl\
+ XWeak.idl\
+ XComponentContext.idl\
+ XCurrentContext.idl\
+ XUnloadingPreference.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl
new file mode 100644
index 000000000000..3ed909101441
--- /dev/null
+++ b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_ExternalUriReferenceTranslator_idl__
+#define __com_sun_star_uri_ExternalUriReferenceTranslator_idl__
+
+module com { module sun { module star { module uri {
+
+published interface XExternalUriReferenceTranslator;
+
+/**
+ translates between external and internal URI references.
+
+ @since OOo 2.0.0
+ */
+published service ExternalUriReferenceTranslator:
+ XExternalUriReferenceTranslator;
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl
new file mode 100644
index 000000000000..6d65648b7950
--- /dev/null
+++ b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_RelativeUriExcessParentSegments_idl__
+#define __com_sun_star_uri_RelativeUriExcessParentSegments_idl__
+
+module com { module sun { module star { module uri {
+
+/**
+ details how excess special parent segments (&ldquo;<code>..</code>&rdquo;)
+ are handled when resolving a relative URI reference to absolute form.
+
+ @see com::sun::star::uri::XUriReferenceFactory::makeAbsolute
+ for a method that uses this enumeration.
+
+ @since OOo 2.0.0
+ */
+published enum RelativeUriExcessParentSegments {
+ /**
+ causes excess special parent segments to be treated as an error.
+ */
+ ERROR,
+
+ /**
+ causes excess special parent segments to be retained, treating them like
+ ordinary segments.
+ */
+ RETAIN,
+
+ /**
+ causes excess special parent segments to be removed.
+ */
+ REMOVE
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/UriReferenceFactory.idl b/udkapi/com/sun/star/uri/UriReferenceFactory.idl
new file mode 100644
index 000000000000..678258d75ce0
--- /dev/null
+++ b/udkapi/com/sun/star/uri/UriReferenceFactory.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_UriReferenceFactory_idl__
+#define __com_sun_star_uri_UriReferenceFactory_idl__
+
+module com { module sun { module star { module uri {
+
+published interface XUriReferenceFactory;
+
+/**
+ creates URI references.
+
+ <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>
+
+ <p>For parsing absolute URI references, this service tries to use a
+ scheme-specific parser. Such a scheme-specific parser will typically enforce
+ additional restrictions during parsing, and will typically return objects
+ that support extra, scheme-specific interfaces in addition to
+ <type scope="com::sun::star::uri">XUriReference</type>. If no such parser
+ is found, and for relative URI references, a generic parser is used, which
+ returns objects that only support
+ <type scope="com::sun::star::uri">XUriReference</type>.</p>
+
+ <p>Locating a scheme-specific parser works as follows: A scheme consists of
+ Latin captial letters
+ &ldquo;<code>A</code>&rdquo;&ndash;&ldquo;<code>Z</code>&rdquo;, Latin small
+ letters &ldquo;<code>a</code>&rdquo;&ndash;&ldquo;<code>z</code>&rdquo;,
+ digits &ldquo;<code>0</code>&rdquo;&ndash;&ldquo;<code>9</code>&rdquo;,
+ &ldquo;<code>+</code>&rdquo;, &ldquo;<code>-</code>&rdquo;, and
+ &ldquo;<code>.</code>&rdquo;. A scheme&nbsp;<var>s</var> is transformed into
+ a string&nbsp;<var>s</var>&prime; character-by-character, by translating
+ Lating capital letters to their small counterparts, translating
+ &ldquo;<code>+</code>&rdquo; to &ldquo;<code>PLUS</code>&rdquo;,
+ &ldquo;<code>-</code>&rdquo; to &ldquo;<code>HYPHEN</code>&rdquo;,
+ &ldquo;<code>.</code>&rdquo; to &ldquo;<code>DOT</code>&rdquo;, and copying
+ Latin small letters and digits unchanged. If the component context used
+ while creating this <code>UriReferenceFactory</code> instance offers a
+ service manager, and there is a service available at that service manager
+ whose name is the concatenation of
+ &ldquo;<code>com.sun.star.uri.UriSchemeParser_</code>&rdquo; and
+ <var>s</var>&prime;, then that service is used. It is an error if that
+ service does not support
+ <type scope="com::sun::star::uri">XUriSchemeParser</type>.</p>
+
+ @since OOo 2.0.0
+ */
+published service UriReferenceFactory: XUriReferenceFactory;
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl
new file mode 100644
index 000000000000..b0115810fb8a
--- /dev/null
+++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTexpand_idl__
+#define __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTexpand_idl__
+
+module com { module sun { module star { module uri {
+
+published interface XUriSchemeParser;
+
+/**
+ parses textual representations of absolute &ldquo;vnd.sun.star.expand&rdquo;
+ URLs.
+
+ <p>The argument <code>scheme</code> of method
+ <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> must
+ always be equal to the <atom>string</atom>
+ <code>"vnd.sun.star.expand"</code>, ignoring case. The objects returned by
+ <member scope="com::sun::star::uri">XUriSchemeParser::parse</member>
+ implement
+ <type scope="com::sun::star::uri">XVndSunStarExpandUrlReference</type>.</p>
+
+ <p>This service is not intended to be instantiated directly by client code.
+ Rather, it should be used indirectly through the
+ <type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p>
+
+ @since OOo 2.3
+ */
+published service UriSchemeParser_vndDOTsunDOTstarDOTexpand: XUriSchemeParser
+{};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl
new file mode 100644
index 000000000000..50da8154e43a
--- /dev/null
+++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTscript_idl__
+#define __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTscript_idl__
+
+module com { module sun { module star { module uri {
+
+published interface XUriSchemeParser;
+
+/**
+ parses textual representations of absolute &ldquo;vnd.sun.star.script&rdquo;
+ URLs.
+
+ <p>The argument <code>scheme</code> of method
+ <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> must
+ always be equal to the <atom>string</atom>
+ <code>"vnd.sun.star.script"</code>, ignoring case. The objects returned by
+ <member scope="com::sun::star::uri">XUriSchemeParser::parse</member>
+ implement
+ <type scope="com::sun::star::uri">XVndSunStarScriptUrlReference</type>.</p>
+
+ <p>This service is not intended to be instantiated directly by client code.
+ Rather, it should be used indirectly through the
+ <type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p>
+
+ @since OOo 2.0.0
+ */
+published service UriSchemeParser_vndDOTsunDOTstarDOTscript: XUriSchemeParser
+{};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl
new file mode 100644
index 000000000000..f652851cf280
--- /dev/null
+++ b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_VndSunStarPkgUrlReferenceFactory_idl__
+#define __com_sun_star_uri_VndSunStarPkgUrlReferenceFactory_idl__
+
+module com { module sun { module star { module uri {
+
+published interface XVndSunStarPkgUrlReferenceFactory;
+
+/**
+ creates &ldquo;vnd.sun.star.pkg&rdquo; URL references.
+
+ @since OOo 2.0.0
+ */
+published service VndSunStarPkgUrlReferenceFactory:
+ XVndSunStarPkgUrlReferenceFactory;
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl
new file mode 100644
index 000000000000..3dc6b8bfca77
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XExternalUriReferenceTranslator_idl__
+#define __com_sun_star_uri_XExternalUriReferenceTranslator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ translates between external and internal URI references.
+
+ <p>Some URI schemes leave unspecified important aspects of how to interpret
+ URIs of those schemes. For example, it is unspecified for &ldquo;file&rdquo;
+ URLs how to map the byte sequences that constitute the path segments of a
+ &ldquo;file&rdquo; URL to filenames on a given platform: The UNO environment
+ always assumes that path segments of &ldquo;file&rdquo; URLs represent
+ UTF-8&ndash;encoded strings (which have to be mapped to filenames in a
+ platform-specific way), while other applications typically assume that path
+ segments of &ldquo;file&rdquo; URLs directly represent a platform's
+ byte-sequence filenames. This interface offers methods to translate between
+ such <dfn>internal</dfn> URIs (e.g., UTF-8&ndash;encoded &ldquo;file&rdquo;
+ URLs used within the UNO environment) and <dfn>external</dfn> URIs (e.g.,
+ byte-sequence&ndash;oriented &ldquo;file&rdquo; URLs used by other
+ applications). Typically, only &ldquo;file&rdquo; URLs are affected by this
+ translation.</p>
+
+ <p>Since the translation process is based on URI schemes, relative URI
+ references (that do not include a scheme) are left unmodified by the
+ translation process.</p>
+
+ @since OOo 2.0.0
+ */
+published interface XExternalUriReferenceTranslator {
+ /**
+ returns the internal counterpart of an external URI reference.
+
+ @param externalUriReference
+ an external URI reference.
+
+ @returns
+ the internal counterpart of the given external URI reference. An empty
+ string is returned if the given external URI reference either is an empty
+ string or cannot be converted (for example, because it contains illegal
+ characters).
+ */
+ string translateToInternal([in] string externalUriReference);
+
+ /**
+ returns the external counterpart of an internal URI reference.
+
+ @param internalUriReference
+ an internal URI reference.
+
+ @returns
+ the external counterpart of the given internal URI reference. An empty
+ string is returned if the given internal URI reference either is an empty
+ string or cannot be converted (for example, because it contains illegal
+ characters).
+ */
+ string translateToExternal([in] string internalUriReference);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XUriReference.idl b/udkapi/com/sun/star/uri/XUriReference.idl
new file mode 100644
index 000000000000..79ad88f47a1c
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XUriReference.idl
@@ -0,0 +1,231 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XUriReference_idl__
+#define __com_sun_star_uri_XUriReference_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ represents generic, mutable URI references.
+
+ <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>
+
+ <p>This interface only handles generic URI references (both absolute and
+ relative). For specific URI schemes, there will be additional interfaces
+ that offer extra, scheme-specific functionality.</p>
+
+ @see com::sun::star::uri::UriReferenceFactory
+ which allows to create URI reference objects that support
+ <type scope="com::sun::star::uri">XUriReference</type> and additional,
+ scheme-specific interfaces.
+
+ @since OOo 2.0.0
+ */
+published interface XUriReference: com::sun::star::uno::XInterface {
+ /**
+ returns the textual representation of the complete URI reference.
+
+ @returns
+ the textual representation of the complete URI reference. The exact
+ spelling of the URI reference is retained.
+ */
+ string getUriReference();
+
+ /**
+ returns whether this URI reference is absolute or relative.
+
+ @returns
+ <TRUE/> if this URI reference is absolute, <FALSE/> if it is relative.
+ */
+ boolean isAbsolute();
+
+ /**
+ returns the scheme part of this (absolute) URI reference.
+
+ @returns
+ the textual representation of the scheme part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>:</code>&rdquo;), if this
+ is an absolute URI reference; otherwise, an empty <atom>string</atom> is
+ returned.
+ */
+ string getScheme();
+
+ /**
+ returns the scheme-specific part of this URI reference.
+
+ <p>For an absolute URI reference, the scheme-specific part is everything
+ after the scheme part and the delimiting &ldquo;<code>:</code>&rdquo;,
+ and before the optional &ldquo;<code>#</code>&rdquo; and fragment part.
+ For a relative URI reference, the scheme-specific part is everything
+ before the optional &ldquo;<code>#</code>&rdquo; and fragment part.</p>
+
+ @returns
+ the textual representation of the scheme-specific part (with the exact
+ spelling retained).
+ */
+ string getSchemeSpecificPart();
+
+ /**
+ returns whether this URI reference is hierarchical or opaque.
+
+ <p>An absolute URI reference is hierarchical if its scheme-specific part
+ starts with &ldquo;<code>/</code>&rdquo;. A relative URI reference is
+ always hierarchical.</p>
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical, <FALSE/> if it is opaque.
+ */
+ boolean isHierarchical();
+
+ /**
+ returns whether this (hierarchical) URI reference has an authority part.
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical and has an authority part.
+ */
+ boolean hasAuthority();
+
+ /**
+ returns the authority part of this (hierarchical) URI reference.
+
+ @returns
+ the textual representation of the authority part (with the exact spelling
+ retained), if this is a hierarchical URI reference that has an authority
+ part; otherwise, an empty <atom>string</atom> is returned.
+ */
+ string getAuthority();
+
+ /**
+ returns the path part of this URI reference.
+
+ @returns
+ the textual representation of the path part (with the exact spelling
+ retained), if this is a hierarchical URI reference; for an opaque URI
+ reference, the scheme-specific part (with the exact spelling retained) is
+ returned.
+ */
+ string getPath();
+
+ /**
+ returns whether this (relative) URI reference has a relative path.
+
+ @returns
+ <TRUE/> if this URI reference is relative and has a relative path.
+ */
+ boolean hasRelativePath();
+
+ /**
+ returns the number of path segments of this (hierarchical) URI reference.
+
+ <p>For an opaque URI reference, and for a hierarchical URI reference with
+ an empty path, the number of path segments is zero. For a hierarchical
+ URI reference with an absolute, non-empty path, the number of path
+ segments equals the number of &ldquo;<code>/</code>&rdquo; delimiters.
+ For a hierarchical URI reference with a relative, non-empty path, the
+ number of path segments equals the number of &ldquo;<code>/</code>&rdquo;
+ delimiters, plus one.</p>
+
+ @returns
+ the number of path segments.
+ */
+ long getPathSegmentCount();
+
+ /**
+ returns a given path segment of this (hierarchical) URI reference.
+
+ @param index
+ the index of the path segment, starting at zero.
+
+ @returns
+ the textual representation of the given path segment (with the exact
+ spelling retained, without any delimiting &ldquo;<code>/</code>&rdquo;),
+ if this URI reference is hierarchical and has that many path segments;
+ otherwise, and in particular if <code>index</code> is negative, an empty
+ <atom>string</atom> is returned.
+ */
+ string getPathSegment([in] long index);
+
+ /**
+ returns whether this (hierarchical) URI reference has a query part.
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical and has a query part.
+ */
+ boolean hasQuery();
+
+ /**
+ returns the query part of this (hierarchical) URI reference.
+
+ @returns
+ the textual representation of the query part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>?</code>&rdquo;), if this
+ is a hierarchical URI reference that has a query part; otherwise, an
+ empty <atom>string</atom> is returned.
+ */
+ string getQuery();
+
+ /**
+ returns whether this URI reference has a fragment part.
+
+ @returns
+ <TRUE/> if this URI reference has a fragment part.
+ */
+ boolean hasFragment();
+
+ /**
+ returns the fragment part of this URI reference.
+
+ @returns
+ the textual representation of the fragment part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>#</code>&rdquo;), if this
+ is a URI reference that has a fragment part; otherwise, an empty
+ <atom>string</atom> is returned.
+ */
+ string getFragment();
+
+ /**
+ sets the fragment part of this URI reference.
+
+ @param fragment
+ the textual representation of the new fragment part. The exact spelling
+ will be preserved, and no escaping is performed.
+ */
+ void setFragment([in] string fragment);
+
+ /**
+ clears the fragment part of this URI reference.
+ */
+ void clearFragment();
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl
new file mode 100644
index 000000000000..bd62235b985d
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XUriReferenceFactory_idl__
+#define __com_sun_star_uri_XUriReferenceFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uri/RelativeUriExcessParentSegments.idl>
+#include <com/sun/star/uri/XUriReference.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ creates URI references.
+
+ <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
+ */
+published interface XUriReferenceFactory: com::sun::star::uno::XInterface {
+ /**
+ parses the textual representation of a URI reference.
+
+ @param uriReference
+ the textual representation of a URI reference.
+
+ @returns
+ an object that supports
+ <type scope="com::sun::star::uri">XUriReference</type> (and possibly also
+ additional, scheme-specific interfaces), if the given input can be parsed
+ into a URI reference; otherwise, <NULL/> is returned.
+ */
+ XUriReference parse([in] string uriReference);
+
+ /**
+ resolves a relative URI reference to absolute form.
+
+ @param baseUriReference
+ the base URI reference. If the given <code>uriReference</code> is a
+ same-document reference, <code>baseUriReference</code> is used as a
+ reference to the current document.
+
+ @param uriReference
+ any URI reference. Backwards-compatible relative URI references starting
+ with a scheme component (see RFC&nbsp;2396, Section&nbsp;5.2,
+ step&nbsp;3) are not supported; instead, they are interpreted as absolute
+ URI references.
+
+ @param processSpecialBaseSegments
+ if <TRUE/>, special segments (&ldquo;<code>.</code>&rdquo; and
+ &ldquo;<code>..</code>&rdquo;) within the path of the base URI (except
+ for the last, cut-off segment) are processed as suggested by
+ RFC&nbsp;2396. If <FALSE/>, special segments within the path of the base
+ URI are treated like ordinary segments.
+
+ @param excessParentSegments
+ details how excess special parent segments
+ (&ldquo;<code>..</code>&rdquo;) are handled.
+
+ @returns
+ a fresh object that supports
+ <type scope="com::sun::star::uri">XUriReference</type> (and possibly also
+ additional, scheme-specific interfaces), if the given
+ <code>uriReference</code> is either already absolute, or can be resolved
+ to an absolute URI reference, relative to the given
+ <code>baseUriReference</code>; otherwise, <NULL/> is returned.
+ Especially, if <code>baseUriReference</code> is <NULL/>, or is not an
+ absolute, hierarchical URI reference, or if <code>uriReference</code> is
+ <NULL/>, then <NULL/> is always returned.
+ */
+ XUriReference makeAbsolute(
+ [in] XUriReference baseUriReference, [in] XUriReference uriReference,
+ [in] boolean processSpecialBaseSegments,
+ [in] RelativeUriExcessParentSegments excessParentSegments);
+
+ /**
+ changes an absolute URI refrence to relative form.
+
+ @param baseUriReference
+ the base URI reference.
+
+ @param uriReference
+ any URI reference.
+
+ @param preferAuthorityOverRelativePath
+ controls how a relative URI reference is generated when both
+ <code>baseUriReference</code> (e.g.,
+ &ldquo;<code>scheme://auth/a/b</code>&rdquo;) and
+ <code>uriReference</code> (e.g.,
+ &ldquo;<code>scheme://auth//c/d</code>&rdquo;) have the same scheme and
+ authority components, and the path component of <code>uriReference</code>
+ starts with &ldquo;<code>//</code>&rdquo;. If <TRUE/>, the generated
+ relative URI reference includes an authority component (e.g.,
+ &ldquo;<code>//auth//c/d</code>&rdquo;); if <FALSE/>, the generated
+ relative URI reference has a relative path (e.g.,
+ &ldquo;<code>..//c/d</code>&rdquo;).
+
+ @param preferAbsoluteOverRelativePath
+ controls how a relative URI reference is generated when both
+ <code>baseUriReference</code> (e.g.,
+ &ldquo;<code>scheme://auth/a/b</code>&rdquo;) and
+ <code>uriReference</code> (e.g.,
+ &ldquo;<code>scheme://auth/c/d</code>&rdquo;) have the same scheme and
+ authority components (if present), but share no common path segments. If
+ <TRUE/>, the generated relative URI reference has an absolute path (e.g.,
+ &ldquo;<code>/c/d</code>&rdquo;); if <FALSE/>, the generated relative URI
+ reference has a relative path (e.g., &ldquo;<code>../c/d</code>&rdquo;).
+
+ @param encodeRetainedSpecialSegments
+ if <TRUE/>, special segments (&ldquo;<code>.</code>&rdquo; and
+ &ldquo;<code>..</code>&rdquo;) that are already present in the path
+ component of the given <code>uriReference</code> and which end up in a
+ relative path returned from this method, are encoded (as
+ &ldquo;<code>%2E</code>&rdquo; and &ldquo;<code>%2E%2E</code>&rdquo;,
+ respectively).
+
+ @returns
+ a fresh object that supports
+ <type scope="com::sun::star::uri">XUriReference</type>, if the given
+ <code>uriReference</code> is either already relative, or is not
+ hierarchical, or is of a different scheme than the given
+ <code>baseUriReference</code>, or can be changed to a relative URI
+ reference, relative to the given <code>baseUriReference</code>;
+ otherwise, <NULL/> is returned. Especially, if
+ <code>baseUriReference</code> is <NULL/>, or is not an absolute,
+ hierarchical URI reference, or if <code>uriReference</code> is <NULL/>,
+ then <NULL/> is always returned.
+ */
+ XUriReference makeRelative(
+ [in] XUriReference baseUriReference, [in] XUriReference uriReference,
+ [in] boolean preferAuthorityOverRelativePath,
+ [in] boolean preferAbsoluteOverRelativePath,
+ [in] boolean encodeRetainedSpecialSegments);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XUriSchemeParser.idl b/udkapi/com/sun/star/uri/XUriSchemeParser.idl
new file mode 100644
index 000000000000..61a8173d9ab4
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XUriSchemeParser.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XUriSchemeParser_idl__
+#define __com_sun_star_uri_XUriSchemeParser_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uri/XUriReference.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ parses textual representations of absolute URIs.
+
+ <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
+ */
+published interface XUriSchemeParser: com::sun::star::uno::XInterface {
+ /**
+ parses the textual representation of an absolute URI.
+
+ <p>This method is used to parse URIs (with no fragment part), not URI
+ references (with an optional fragment part).</p>
+
+ <p>If an object is returned, the behaviour of its
+ <type scope="com::sun::star::uri">XUriReference</type> methods must
+ reflect the fact that the object represents an absolute URI reference
+ with the given scheme and scheme-specific part, and without a fragment
+ part.</p>
+
+ @param scheme
+ the textual representation of the scheme part (without the delimiting
+ &ldquo;<code>:</code>&rdquo;).
+
+ @param uriReference
+ the textual representation of the scheme-specific part.
+
+ @returns
+ an object that supports
+ <type scope="com::sun::star::uri">XUriReference</type> (and possibly also
+ additional, scheme-specific interfaces), if the given input can be parsed
+ into an absolute URI; otherwise, <NULL/> is returned.
+ */
+ XUriReference parse([in] string scheme, [in] string schemeSpecificPart);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl
new file mode 100644
index 000000000000..8d3d339ce404
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XVndSunStarExpandUrl_idl__
+#define __com_sun_star_uri_XVndSunStarExpandUrl_idl__
+
+#include "com/sun/star/lang/IllegalArgumentException.idl"
+#include "com/sun/star/uno/XInterface.idl"
+
+module com { module sun { module star { module util {
+ published interface XMacroExpander;
+}; }; }; };
+
+module com { module sun { module star { module uri {
+
+/**
+ represents absolute &ldquo;vnd.sun.star.expand&rdquo; URLs.
+
+ <p>These URLs are of the form<br/>
+ &emsp;<var>vnd-sun-star-expand-url</var> =
+ <code>"VND.SUN.STAR.EXPAND:"</code> <var>opaque_part</var><br/>
+ where the <var>opaque_part</var> is an UTF-8 string as described in
+ <a href="http://udk.openoffice.org/common/man/concept/micro_deployment.html">
+ <cite>Bootstrap Arguments and Micro Deployment</cite></a>. See
+ <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a>,
+ <a href="http://www.ietf.org/rfc/rfc2732.txt">RFC&nbsp;2732</a>, and
+ <a href="http://www.ietf.org/rfc/rfc2234.txt">RFC&nbsp;2234</a> for
+ details.</p>
+
+ @since OOo 2.3
+ */
+published interface XVndSunStarExpandUrl {
+ /**
+ returns the expanded content of this URL.
+
+ @param expander
+ a macro expander; must not be <NULL/>.
+
+ @returns
+ the expanded content of this URL.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if calling <member
+ scope="com::sun::star::util">XMacroExpander::expandMacros</member> on
+ <code>expander</code> raises any such exception.
+ */
+ string expand([in] com::sun::star::util::XMacroExpander expander)
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl b/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl
new file mode 100644
index 000000000000..57e9e28e28af
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_VndSunStarExpandUrlReference_idl__
+#define __com_sun_star_uri_VndSunStarExpandUrlReference_idl__
+
+#include "com/sun/star/uri/XUriReference.idl"
+#include "com/sun/star/uri/XVndSunStarExpandUrl.idl"
+
+module com { module sun { module star { module uri {
+
+/**
+ represents absolute &ldquo;vnd.sun.star.expand&rdquo; URL references.
+
+ @since OOo 2.3
+ */
+published interface XVndSunStarExpandUrlReference {
+ /**
+ represents the generic features of the URL reference.
+
+ <p>The behaviour of the methods of this interface will always reflect the
+ fact that the represented URI reference is an absolute
+ &ldquo;vnd.sun.star.expand&rdquo; URL reference.</p>
+ */
+ interface XUriReference;
+
+ /**
+ represents the scheme-specific features of the URL reference.
+ */
+ interface XVndSunStarExpandUrl;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl
new file mode 100644
index 000000000000..e6db55f9905b
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XVndSunStarPkgUrlReferenceFactory_idl__
+#define __com_sun_star_uri_XVndSunStarPkgUrlReferenceFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module uri {
+
+published interface XUriReference;
+
+/**
+ creates &ldquo;vnd.sun.star.pkg&rdquo; URL references.
+
+ @since OOo 2.0.0
+ */
+published interface XVndSunStarPkgUrlReferenceFactory {
+ /**
+ creates a new &ldquo;vnd.sun.star.pkg&rdquo; URL reference.
+
+ <p>The returned URL reference has the given authority, an empty path, and
+ no fragment.</p>
+
+ @param authority the authority of the created URL reference; must not be
+ <NULL/>, and should be an absolute URI reference with no fragment
+
+ @return a new &ldquo;vnd.sun.star.pkg&rdquo; URL reference, or <NULL/> if
+ the given authority is either not an absolute URI reference or has a
+ fragment
+ */
+ XUriReference createVndSunStarPkgUrlReference([in] XUriReference authority);
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl
new file mode 100644
index 000000000000..753ed90b1cef
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_uri_XVndSunStarScriptUrl_idl__
+#define __com_sun_star_uri_XVndSunStarScriptUrl_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ represents absolute &ldquo;vnd.sun.star.script&rdquo; URLs.
+
+ <p>These URLs are of the form<br/>
+ &emsp;<var>vnd-sun-star-script-url</var> =
+ <code>"VND.SUN.STAR.SCRIPT:"</code> <var>name</var> [<code>"?"</code>
+ <var>parameter</var> *(<code>"&"</code> <var>parameter</var>)]<br/>
+ &emsp;<var>name</var> = 1*<var>schar</var><br/>
+ &emsp;<var>parameter</var> = <var>key</var> <code>"="</code>
+ <var>value</var><br/>
+ &emsp;<var>key</var> = 1*<var>schar</var><br/>
+ &emsp;<var>value</var> = *<var>schar</var><br/>
+ &emsp;<var>schar</var> = <var>unreserved</var> / <var>escaped</var> /
+ <code>"$"</code> / <code>"+"</code> / <code>","</code> / <code>":"</code> /
+ <code>";"</code> / <code>"@"</code> / <code>"["</code> /
+ <code>"]"</code><br/>
+ See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a>,
+ <a href="http://www.ietf.org/rfc/rfc2732.txt">RFC&nbsp;2732</a>, and
+ <a href="http://www.ietf.org/rfc/rfc2234.txt">RFC&nbsp;2234</a> for
+ details.</p>
+
+ <p>The names, keys, and values are arbitrary Unicode strings (non-empty
+ Unicode strings in the case of names and keys), encoded as UTF-8 byte
+ sequences. It is an error if any of them does not represent a valid UTF-8
+ byte sequence. Keys are compared for equality character-by-character,
+ without considering case folding or normalization. There may be multiple
+ parameters with equal keys.</p>
+
+ @since OOo 2.0.0
+ */
+published interface XVndSunStarScriptUrl: com::sun::star::uno::XInterface {
+ /**
+ returns the name part of this URL.
+
+ @returns
+ the non-escaped value of the name part.
+ */
+ string getName();
+
+ /**
+ sets the name part of this URL.
+
+ @param name
+ specifies the non-escaped new name part of the URL.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>name</arg> is empty
+
+ @since OOo 3.0
+ */
+ void setName([in] string name)
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+
+ /**
+ returns whether this URL has a parameter with a given key.
+
+ @param key
+ a non-escaped key.
+
+ @returns
+ <TRUE/> if this URL has at least one parameter with the given key. In
+ particular, if <code>key</code> is an empty <atom>string</atom>, <FALSE/>
+ is returned.
+ */
+ boolean hasParameter([in] string key);
+
+ /**
+ returns the value of a parameter with a given key.
+
+ @param key
+ a non-escaped key.
+
+ @returns
+ the non-escaped value of the first parameter with the given key. If
+ there is no parameter with the given key, or if <code>key</code> is an
+ empty <atom>string</atom>, an empty <atom>string</atom> is returned.
+ */
+ string getParameter([in] string key);
+
+ /**
+ sets the value of a parameter with a given key.
+
+ @param key
+ a non-escaped key
+
+ @param value
+ the non-escaped value to be set for the parameter. If there already is a
+ parameter with this key, the value of its first appearance will be replaced.
+ Otherwise, a parameter with the given key/value will be appended.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>key</arg> is empty
+
+ @since OOo 3.0
+ */
+ void setParameter( [in] string key, [in] string value )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl
new file mode 100644
index 000000000000..4b3ef2eae4b5
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.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.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_uri_VndSunStarScriptUrlReference_idl__
+#define __com_sun_star_uri_VndSunStarScriptUrlReference_idl__
+
+#include <com/sun/star/uri/XUriReference.idl>
+#include <com/sun/star/uri/XVndSunStarScriptUrl.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ represents absolute &ldquo;vnd.sun.star.script&rdquo; URL references.
+ */
+published interface XVndSunStarScriptUrlReference {
+ /**
+ represents the generic features of the URL reference.
+
+ <p>The behaviour of the methods of this interface will always reflect the
+ fact that the represented URI reference is an absolute
+ &ldquo;vnd.sun.star.script&rdquo; URL reference.</p>
+ */
+ interface XUriReference;
+
+ /**
+ represents the scheme-specific features of the URL reference.
+ */
+ interface XVndSunStarScriptUrl;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/uri/makefile.mk b/udkapi/com/sun/star/uri/makefile.mk
new file mode 100644
index 000000000000..8b9a0b7a2b81
--- /dev/null
+++ b/udkapi/com/sun/star/uri/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# 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 := api
+TARGET := cssuri
+
+PACKAGE := com$/sun$/star$/uri
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ ExternalUriReferenceTranslator.idl \
+ RelativeUriExcessParentSegments.idl \
+ UriReferenceFactory.idl \
+ UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl \
+ UriSchemeParser_vndDOTsunDOTstarDOTscript.idl \
+ VndSunStarPkgUrlReferenceFactory.idl \
+ XExternalUriReferenceTranslator.idl \
+ XUriReference.idl \
+ XUriReferenceFactory.idl \
+ XUriSchemeParser.idl \
+ XVndSunStarExpandUrl.idl \
+ XVndSunStarExpandUrlReference.idl \
+ XVndSunStarPkgUrlReferenceFactory.idl \
+ XVndSunStarScriptUrl.idl \
+ XVndSunStarScriptUrlReference.idl
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/util/BootstrapMacroExpander.idl b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl
new file mode 100644
index 000000000000..0d98381326fc
--- /dev/null
+++ b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_BootstrapMacroExpander_idl__
+#define __com_sun_star_util_BootstrapMacroExpander_idl__
+
+#ifndef __com_sun_star_util_MacroExpander_idl__
+#include <com/sun/star/util/MacroExpander.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** Macro expander expanding using rtl bootstrap notation.
+
+ For details, have a look at
+ http://udk.openoffice.org/common/man/concept/micro_deployment.html#misc
+
+ The service can be instantiated via arguments giving an ini/rc file url.
+ Otherwise it will read from an uno.ini/unorc file next to the cppuhelper
+ library.
+
+ @see theMacroExpander
+
+ @since OOo 1.1.2
+*/
+published service BootstrapMacroExpander
+{
+ service MacroExpander;
+ [optional] interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/MacroExpander.idl b/udkapi/com/sun/star/util/MacroExpander.idl
new file mode 100644
index 000000000000..6e8ed2e04325
--- /dev/null
+++ b/udkapi/com/sun/star/util/MacroExpander.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_MacroExpander_idl__
+#define __com_sun_star_util_MacroExpander_idl__
+
+#ifndef __com_sun_star_util_XMacroExpander_idl__
+#include <com/sun/star/util/XMacroExpander.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** This meta service supports the XMacroExpander interface for expanding
+ arbitrary macro expressions, i.e. substitude macro names.
+ The purpose of this service is to separate the use of macrofied strings,
+ e.g. urls from the use of services.
+
+ @see BootstrapMacroExpander
+ @see theMacroExpander
+
+ @since OOo 1.1.2
+*/
+published service MacroExpander
+{
+ interface XMacroExpander;
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/XMacroExpander.idl b/udkapi/com/sun/star/util/XMacroExpander.idl
new file mode 100644
index 000000000000..86b14257c976
--- /dev/null
+++ b/udkapi/com/sun/star/util/XMacroExpander.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_XMacroExpander_idl__
+#define __com_sun_star_util_XMacroExpander_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** Expands macro in expressions, i.e. substitudes macro names.
+
+ @since OOo 1.1.2
+*/
+published interface XMacroExpander : com::sun::star::uno::XInterface
+{
+ /** Expands macrofied expressions.
+
+ @param exp
+ macrofied expression
+ @return
+ demacrofied expression
+ @throws IllegalArgumentException
+ if a macro name is unknown, thus cannot be expanded
+ */
+ string expandMacros( [in] string exp )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/XVeto.idl b/udkapi/com/sun/star/util/XVeto.idl
new file mode 100644
index 000000000000..813d72c6d69b
--- /dev/null
+++ b/udkapi/com/sun/star/util/XVeto.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_XVeto_idl__
+#define __com_sun_star_util_XVeto_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** provides information about a veto which has been raised against an operation
+ */
+interface XVeto
+{
+ /** describes the reason for the veto
+ */
+ [attribute, readonly] string Reason;
+
+ /** provides additional details about the veto.
+
+ <p>The concrete semantics of this attribute is to be defined
+ in the service implementing this interface.</p>
+ */
+ [attribute, readonly] any Details;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/udkapi/com/sun/star/util/logging/LogLevel.idl b/udkapi/com/sun/star/util/logging/LogLevel.idl
new file mode 100644
index 000000000000..78b201ccb332
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/LogLevel.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_logging_Level_idl__
+#define __com_sun_star_util_logging_Level_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module util { module logging {
+
+//=============================================================================
+
+/** deprecated API - use <type scope="com::sun::star::logging">LogLevel</type> instead
+
+ @deprecated
+ @since OOo 1.1.2
+*/
+published constants LogLevel
+{
+ const long OFF = 0x7fffffff;
+ const long SEVERE = 1000;
+ const long WARNING = 900;
+ const long INFO = 800;
+ const long CONFIG = 700;
+ const long FINE = 500;
+ const long FINER = 400;
+ const long FINEST = 300;
+ const long ALL = -0x80000000;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/logging/Logger.idl b/udkapi/com/sun/star/util/logging/Logger.idl
new file mode 100644
index 000000000000..4eaa06676f95
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/Logger.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_webtop_Logger_idl__
+#define __com_sun_star_webtop_Logger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_logging_XLogger_idl__
+#include <XLogger.idl>
+#endif
+
+#ifndef __com_sun_star_util_logging_XLoggerRemote_idl__
+#include <XLoggerRemote.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util { module logging {
+
+//=============================================================================
+
+/** deprecated API - use <type scope="com::sun::star::logging">LoggerPool</type> instead
+
+ @deprecated
+ @since OOo 1.1.2
+*/
+published service Logger
+{
+ /// @deprecated
+ interface com::sun::star::util::logging::XLogger;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/logging/LoggerRemote.idl b/udkapi/com/sun/star/util/logging/LoggerRemote.idl
new file mode 100644
index 000000000000..91c3c14eaba4
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/LoggerRemote.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_webtop_Logger_idl__
+#define __com_sun_star_webtop_Logger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_logging_XLogger_idl__
+#include <XLogger.idl>
+#endif
+
+#ifndef __com_sun_star_util_logging_XLoggerRemote_idl__
+#include <XLoggerRemote.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util { module logging {
+
+//=============================================================================
+
+ /** deprecated API - use <type scope="com::sun::star::logging">LoggerPool</type> instead
+
+ @deprecated
+ @since OOo 1.1.2
+*/
+published service LoggerRemote
+{
+ /// @deprecated
+ interface com::sun::star::util::logging::XLoggerRemote;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/logging/XLogger.idl b/udkapi/com/sun/star/util/logging/XLogger.idl
new file mode 100644
index 000000000000..ae3355914f25
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/XLogger.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_logging_XLogger_idl__
+#define __com_sun_star_util_logging_XLogger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util { module logging {
+
+//=============================================================================
+
+/** deprecated API - use <type scope="com::sun::star::logging">XLogger</type> instead
+
+ @deprecated
+ @since OOo 1.1.2
+*/
+published interface XLogger: com::sun::star::uno::XInterface
+{
+ /// @deprecated
+ XLogger getLogger( [in] string name );
+
+ /// @deprecated
+ long getLevel();
+
+ /// @deprecated
+ string getName();
+
+ /// @deprecated
+ boolean isLoggable( [in] long level );
+
+ /// @deprecated
+ [oneway] void logp( [in] long level,
+ [in] string sourceClass,
+ [in] string sourceMethod,
+ [in] string msg );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/logging/XLoggerRemote.idl b/udkapi/com/sun/star/util/logging/XLoggerRemote.idl
new file mode 100644
index 000000000000..81e3482d13e4
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/XLoggerRemote.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_logging_XLoggerRemote_idl__
+#define __com_sun_star_util_logging_XLoggerRemote_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__
+#include <com/sun/star/beans/XPropertiesChangeListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util { module logging {
+
+//=============================================================================
+
+/** deprecated API - use <type scope="com::sun::star::logging">XLogger</type> instead
+
+ @deprecated
+ @since OOo 1.1.2
+*/
+published interface XLoggerRemote: com::sun::star::uno::XInterface
+{
+ /// @deprecated
+ long getLevel();
+
+ /// @deprecated
+ string getName();
+
+ /// @deprecated
+ boolean isLoggable( [in] long level );
+
+ /// @deprecated
+ [oneway] void logp( [in] long level,
+ [in] string sourceClass,
+ [in] string sourceMethod,
+ [in] string msg,
+ [in] string thread );
+
+ /// @deprecated
+ [oneway] void addPropertiesChangeListener(
+ [in] com::sun::star::beans::XPropertiesChangeListener listener);
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/logging/makefile.mk b/udkapi/com/sun/star/util/logging/makefile.mk
new file mode 100644
index 000000000000..e48b71921edb
--- /dev/null
+++ b/udkapi/com/sun/star/util/logging/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# 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 =logging
+TARGET =cssulog
+PACKAGE =com$/sun$/star$/util$/logging
+
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ LogLevel.idl\
+ XLogger.idl\
+ XLoggerRemote.idl\
+ Logger.idl\
+ LoggerRemote.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/util/makefile.mk b/udkapi/com/sun/star/util/makefile.mk
new file mode 100644
index 000000000000..9c5e0276d415
--- /dev/null
+++ b/udkapi/com/sun/star/util/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# 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=api
+
+TARGET=cssutil
+PACKAGE=com$/sun$/star$/util
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XVeto.idl \
+ XMacroExpander.idl \
+ MacroExpander.idl \
+ BootstrapMacroExpander.idl \
+ theMacroExpander.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/udkapi/com/sun/star/util/theMacroExpander.idl b/udkapi/com/sun/star/util/theMacroExpander.idl
new file mode 100644
index 000000000000..11fa247f4495
--- /dev/null
+++ b/udkapi/com/sun/star/util/theMacroExpander.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * 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 __com_sun_star_util_theMacroExpander_idl__
+#define __com_sun_star_util_theMacroExpander_idl__
+
+#include "com/sun/star/util/MacroExpander.idl"
+
+module com { module sun { module star { module util {
+
+/** A service that has to deal with macrofied strings will preprocess those
+ strings using the macro expander singleton.
+ The macro expander singleton is deployed with the application.
+
+ This feature is currently used macrofying loader urls with macros defined
+ in uno.ini/unorc bootstrap files. The component loader uses the macro
+ expander singleton to expand those macros. This is a flexible way
+ preprocessing loader urls.
+
+ @see MacroExpander
+*/
+published singleton theMacroExpander
+{
+ service MacroExpander;
+};
+
+}; }; }; };
+
+#endif