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 /*************************************************************************
25  *
26  *	  ATTENTION
27  *	  This file is intended to work inside and outside the StarOffice environment.
28  *	  Only adaption of file commtypes.hxx should be necessary. Else it is a bug!
29  *
30  ************************************************************************/
31 
32 #ifndef _TOOLS_PACKETHANDLER_HXX_
33 #define _TOOLS_PACKETHANDLER_HXX_
34 
35 #include <automation/commtypes.hxx>
36 #include <automation/commdefines.hxx>
37 
38 class ITransmiter;
39 class IReceiver;
40 
41 class PacketHandler
42 {
43 private:
44 	unsigned char CalcCheckByte( comm_UINT32 nBytes );
45 	ITransmiter* pTransmitter;
46 	IReceiver* pReceiver;
47 
48 	comm_BOOL bMultiChannel;
49 
50 protected:
51 	comm_UINT16 nReceiveProtocol;
52 	comm_UINT16 nReceiveHeaderType;
53 
54 public:
55 	PacketHandler( ITransmiter* pTransmitter_, IReceiver* pReceiver_, comm_BOOL bMC = sal_False );
56 
GetReceiveProtocol()57 	comm_UINT16 GetReceiveProtocol() { return nReceiveProtocol; }
GetReceiveHeaderType()58 	comm_UINT16 GetReceiveHeaderType() { return nReceiveHeaderType; }
59 
60 	comm_BOOL ReceiveData( void* &pData, comm_UINT32 &nLen );				/// Receive DataPacket from Socket
61 	virtual comm_BOOL SendHandshake( HandshakeType aHandshakeType, const void* pData = NULL, comm_UINT32 nLen = 0 );
62 	virtual comm_BOOL TransferData( const void* pData, comm_UINT32 nLen, CMProtocol nProtocol = CM_PROTOCOL_OLDSTYLE );
63 };
64 
65 #endif
66