diff options
author | Justin Dickow <jjdickow@gmail.com> | 2015-01-24 16:58:15 -0500 |
---|---|---|
committer | Justin Dickow <jjdickow@gmail.com> | 2015-01-24 16:58:15 -0500 |
commit | a24079cb8de5563376dcf782cdb9fe3cae063841 (patch) | |
tree | 1fca30dde1aa30c7ac11fb6b009d2bd6420bd648 /src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h | |
parent | f948dd4539eeecb2c32084cc39b68923fc94e3dd (diff) | |
download | sdl_core-a24079cb8de5563376dcf782cdb9fe3cae063841.tar.gz |
HmiStatus modify
HU DCHECK occurs during multisession registration
Remove unused variable
SIGSEGV handler added to flush logger queue
FixIncomplete device list in UpdateDeviceList request
Fix Memory leak on PutFile break
Fix Thread and Timer
Fix OnHmiStatus Notification
Fix Url array sending for endpoints.
Fix HashChange
Fix SDL parse incoming JSON message with both members error and result as success message
Fix Core crashes while connecting mobile app
Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Diffstat (limited to 'src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h')
-rw-r--r-- | src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h index 12eab5a1b5..f54e5a8fc2 100644 --- a/src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h +++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h @@ -1,4 +1,4 @@ -/** +/* * \file tcp_client_listener.h * \brief TcpClientListener class header file. * @@ -36,10 +36,10 @@ #ifndef SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TCP_TCP_CLIENT_LISTENER_H_ #define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TCP_TCP_CLIENT_LISTENER_H_ +#include "utils/threads/thread_delegate.h" #include "transport_manager/transport_adapter/client_connection_listener.h" -#include "utils/threads/thread_delegate.h" -#include "utils/threads/thread.h" +class Thread; namespace transport_manager { namespace transport_adapter { @@ -49,8 +49,7 @@ class TransportAdapterController; /** * @brief Listener of device adapter that use TCP transport. */ -class TcpClientListener : public ClientConnectionListener, - public threads::ThreadDelegate { +class TcpClientListener : public ClientConnectionListener { public: /** * @breaf Constructor. @@ -64,14 +63,6 @@ class TcpClientListener : public ClientConnectionListener, bool enable_keepalive); /** - * @brief Start TCP client listener thread. - */ - void threadMain(); - - bool exitThreadMain(); - protected: - - /** * @brief Destructor. */ virtual ~TcpClientListener(); @@ -107,15 +98,26 @@ class TcpClientListener : public ClientConnectionListener, * @brief Terminate TCP client listener thread. */ virtual TransportAdapter::Error StopListening(); + private: const uint16_t port_; const bool enable_keepalive_; TransportAdapterController* controller_; - // TODO(Eamakhov): change to threads::Thread usage threads::Thread* thread_; int socket_; - bool thread_started_; bool thread_stop_requested_; + + void Loop(); + void StopLoop(); + + class ListeningThreadDelegate : public threads::ThreadDelegate { + public: + explicit ListeningThreadDelegate(TcpClientListener* parent); + virtual void threadMain(); + void exitThreadMain(); + private: + TcpClientListener* parent_; + }; }; } // namespace transport_adapter |