1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: icommstream.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 /*************************************************************************
34 * This file is intended to work inside and outside the StarOffice environment.
35 * Only adaption of file commtypes.hxx should be necessary. Else it is a bug!
37 ************************************************************************/
39 #ifndef _AUTOMATION_ICOMMSTREAM_HXX_
40 #define _AUTOMATION_ICOMMSTREAM_HXX_
42 #include <automation/commtypes.hxx>
49 virtual ~ICommStream(){}
51 virtual ICommStream
& operator>>( comm_USHORT
& rUShort
)=0;
52 virtual ICommStream
& operator>>( comm_ULONG
& rULong
)=0;
53 virtual ICommStream
& operator>>( comm_BOOL
& rChar
)=0;
55 virtual ICommStream
& operator<<( comm_USHORT nUShort
)=0;
56 virtual ICommStream
& operator<<( comm_ULONG nULong
)=0;
57 virtual ICommStream
& operator<<( comm_BOOL nChar
)=0;
59 virtual comm_ULONG
Read( void* pData
, comm_ULONG nSize
)=0;
60 virtual comm_ULONG
Write( const void* pData
, comm_ULONG nSize
)=0;
62 virtual comm_BOOL
IsEof() const=0;
63 virtual comm_ULONG
SeekRel( long nPos
)=0;