summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/bridge/XProtocolProperties.idl
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/bridge/XProtocolProperties.idl')
-rw-r--r--udkapi/com/sun/star/bridge/XProtocolProperties.idl100
1 files changed, 100 insertions, 0 deletions
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