/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/


#ifndef __com_sun_star_embed_OLESimpleStorage_idl__
#define __com_sun_star_embed_OLESimpleStorage_idl__

#ifndef __com_sun_star_embed_XOLESimpleStorage_idl__
#include <com/sun/star/embed/XOLESimpleStorage.idl>
#endif

#ifndef __com_sun_star_io_XInputStream_idl__
#include <com/sun/star/io/XInputStream.idl>
#endif

#ifndef __com_sun_star_io_XStream_idl__
#include <com/sun/star/io/XStream.idl>
#endif

//============================================================================
module com { module sun { module star { module embed {
//============================================================================
/** This service provides a simple functionality to allow
	read/write the storages in OLE storage format.
*/
published service OLESimpleStorage: XOLESimpleStorage
{
    // CONSTRUCTORS ----------------------------------------------------------
	/** is used to initialize the object on it's creation.

		@param xInputStream
				[in] the InputStream that contains data in OLE storage format.

		@param bNoTempCopy
				[in] specifies whether a temporary copy should be created during
				substreams opening. If the copy is not created the storage must
                stay alive while the opened substreams are used.

	 */
	createFromInputStream ([in] ::com::sun::star::io::XInputStream xInputStream, [in] boolean bNoTempCopy);

    /** is used to initialize the object on it's creation.

		@param xStream
				[in] the Stream that contains data in OLE storage format.

		@param bNoTempCopy
				[in] specifies whether a temporary copy should be created during
				substreams opening. If the copy is not created the storage must
                stay alive while the opened substreams are used.

	 */
	createFromStream ([in] ::com::sun::star::io::XStream xStream, [in] boolean bNoTempCopy);
};

//============================================================================

}; }; }; };

#endif
