xref: /AOO41X/main/automation/source/simplecm/packethandler.hxx (revision 3398c5b8f929d4a01ef3102fbe10159ddc9a897b)
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 );               /// Recieve 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