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 // MARKER(update_precomp.py): autogen include statement, do not remove 23 #include "precompiled_automation.hxx" 24 25 #include "tcpio.hxx" 26 27 // implement ITransmiter 28 comm_USHORT TCPIO::TransferBytes( const void* pBuffer, comm_UINT32 nLen ) 29 { 30 vos::OGuard aGuard( aMSocketWriteAccess ); 31 if ( !pStreamSocket ) 32 { 33 nLastSent = 0; 34 return C_ERROR_PERMANENT; 35 } 36 nLastSent = pStreamSocket->write( pBuffer, nLen ); 37 if ( nLastSent == nLen ) 38 return C_ERROR_NONE; 39 return C_ERROR_PERMANENT; 40 } 41 42 43 // implement IReceiver 44 comm_USHORT TCPIO::ReceiveBytes( void* pBuffer, comm_UINT32 nLen ) 45 { 46 vos::OGuard aGuard( aMSocketReadAccess ); 47 if ( !pStreamSocket ) 48 { 49 nLastReceived = 0; 50 return C_ERROR_PERMANENT; 51 } 52 nLastReceived = pStreamSocket->read( pBuffer, nLen ); 53 if ( nLastReceived == nLen ) 54 return C_ERROR_NONE; 55 return C_ERROR_PERMANENT; 56 } 57 58 59 // helper 60 void TCPIO::SetStreamSocket( vos::OStreamSocket *pSocket ) 61 { 62 vos::OGuard aRGuard( aMSocketReadAccess ); 63 vos::OGuard aWGuard( aMSocketWriteAccess ); 64 pStreamSocket = pSocket; 65 } 66 67 /* vim: set noet sw=4 ts=4: */ 68