X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fio%2FFIoSerialPort.cpp;h=49bcf71528b1f89128c502ca3a1ff014bcec8bec;hb=9c74605509b9d2ec6eb6f4d4f1c38086c9c1e339;hp=ed1389a17b2207331883994832533488e8c1a75b;hpb=3251642fe7cb716a089a0c78713c20065f95bd38;p=platform%2Fframework%2Fnative%2Fappfw.git diff --git a/src/io/FIoSerialPort.cpp b/src/io/FIoSerialPort.cpp index ed1389a..49bcf71 100644 --- a/src/io/FIoSerialPort.cpp +++ b/src/io/FIoSerialPort.cpp @@ -1,5 +1,4 @@ // -// Open Service Platform // Copyright (c) 2012 Samsung Electronics Co., Ltd. // // Licensed under the Apache License, Version 2.0 (the License); @@ -68,11 +67,11 @@ SerialPort::Construct(ISerialPortEventListener& listener) __pSerialPortImpl = _SerialPortImpl::GetInstance(); SysTryReturnResult(NID_IO, __pSerialPortImpl != null, E_OUT_OF_MEMORY, "The memory is insufficient."); - SysTryReturnResult(NID_IO, __pSerialPortImpl->IsOpended() == false, E_SYSTEM, "SerialPort is already opened."); + SysTryCatch(NID_IO, __pSerialPortImpl->IsOpended() == false, r = E_SYSTEM, r, "SerialPort is already opened."); SysLog(NID_IO, "Try to open serialport"); r = __pSerialPortImpl->SerialOpen(); - SysTryReturnResult(NID_IO, r == E_SUCCESS, E_SYSTEM, "It is failed to open serial port."); + SysTryCatch(NID_IO, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to open serial port."); SysLog(NID_IO, "Try to register event"); r = __pSerialPortImpl->SetSerialPortEventListener(listener); @@ -80,10 +79,15 @@ SerialPort::Construct(ISerialPortEventListener& listener) { SysLogException(NID_IO, E_SYSTEM, "It is failed to register event listener."); r = __pSerialPortImpl->SerialClose(); - SysTryReturnResult(NID_IO, r == E_SUCCESS, E_SYSTEM, "It is failed to close serial port."); + SysTryCatch(NID_IO, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to close serial port."); r = E_SYSTEM; } +CATCH: + if(r != E_SUCCESS) + { + __pSerialPortImpl = null; + } return r; } @@ -101,7 +105,6 @@ int SerialPort::GetWriteBufferSize(void) const { SysAssertf(__pSerialPortImpl != null, "Not yet constructed. Construct() should be called before use.\n"); - return __pSerialPortImpl->GetWriteBufferSize(); }