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  
24  #include <tools/stream.hxx>
25  
26  #include <automation/commtypes.hxx>
27  #include "icommstream.hxx"
28  
29  
30  class SvCommStream : public ICommStream
31  {
32  protected:
33  	SvStream* pStream;
34  public:
35  
36  	SvCommStream( SvStream* pIO );
37  	~SvCommStream();
38  
39  	ICommStream&		operator>>( comm_USHORT& rUShort );
40  	ICommStream&		operator>>( comm_ULONG& rULong );
41  	ICommStream&		operator>>( comm_BOOL& rChar );
42  
43  	ICommStream&		operator<<( comm_USHORT nUShort );
44  	ICommStream&		operator<<( comm_ULONG nULong );
45  	ICommStream&		operator<<( comm_BOOL nChar );
46  
47  	comm_ULONG		Read( void* pData, comm_ULONG nSize );
48  	comm_ULONG		Write( const void* pData, comm_ULONG nSize );
49  
50  	comm_BOOL		IsEof() const;
51  	comm_ULONG		SeekRel( long nPos );
52  };
53