1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_io_XActiveDataControl_idl__ 24#define __com_sun_star_io_XActiveDataControl_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29 30#ifndef __com_sun_star_io_XStreamListener_idl__ 31#include <com/sun/star/io/XStreamListener.idl> 32#endif 33 34 35//============================================================================= 36 37module com { module sun { module star { module io { 38 39//============================================================================= 40 41// DocMerge from xml: interface com::sun::star::io::XActiveDataControl 42/** makes it possible to control an active data source. 43 44 <p>This interface should be supported by objects which implement 45 <type>XActiveDataSource</type> or <type>XActiveDataSink</type>.</p> 46 */ 47published interface XActiveDataControl: com::sun::star::uno::XInterface 48{ 49 //------------------------------------------------------------------------- 50 51 // DocMerge from xml: method com::sun::star::io::XActiveDataControl::addListener 52 /** registers an object to receive events from this data source. 53 <p>It is suggested to allow multiple registration of the same listener, 54 thus for each time a listener is added, it has to be removed. 55 */ 56 void addListener( [in] com::sun::star::io::XStreamListener aListener ); 57 58 //------------------------------------------------------------------------- 59 60 // DocMerge from xml: method com::sun::star::io::XActiveDataControl::removeListener 61 /** unregisters an object to receive events from this data source. 62 63 <p>It is suggested to allow multiple registration of the same listener, 64 thus for each time a listener is added, it has to be removed. 65 */ 66 void removeListener( [in] com::sun::star::io::XStreamListener aListener ); 67 68 //------------------------------------------------------------------------- 69 70 // DocMerge from xml: method com::sun::star::io::XActiveDataControl::start 71 /** starts I/O. 72 73 <p>Either <member>XActiveDataControl::setInputStream()</member> or 74 <member>XActiveDataControl::setOutputStream()</member> must be called beforehand. 75 </p> 76 77 <p>This method does not block the thread, so reading is 78 generally not finished when the method returns. </p> 79 */ 80 void start(); 81 82 //------------------------------------------------------------------------- 83 84 // DocMerge from xml: method com::sun::star::io::XActiveDataControl::terminate 85 /** does a weak abort. 86 87 <p>It closes all connected resources and calls 88 <member>XInputStream::close</member> or 89 <member>XOutputStream::close</member> and fires the 90 <member>XStreamListener::terminated</member>-event.</p> 91 */ 92 void terminate(); 93 94}; 95 96//============================================================================= 97 98}; }; }; }; 99 100/*============================================================================= 101 102=============================================================================*/ 103#endif 104