//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
__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);
{
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;
}
SerialPort::GetWriteBufferSize(void) const
{
SysAssertf(__pSerialPortImpl != null, "Not yet constructed. Construct() should be called before use.\n");
-
return __pSerialPortImpl->GetWriteBufferSize();
}