summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/include/transport_manager/tcp
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/transport_manager/include/transport_manager/tcp')
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/dnssd_service_browser.h6
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h32
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_connection_factory.h7
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_device.h6
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_socket_connection.h2
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h2
6 files changed, 26 insertions, 29 deletions
diff --git a/src/components/transport_manager/include/transport_manager/tcp/dnssd_service_browser.h b/src/components/transport_manager/include/transport_manager/tcp/dnssd_service_browser.h
index d31beea26c..cd319ca543 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/dnssd_service_browser.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/dnssd_service_browser.h
@@ -1,4 +1,4 @@
-/*
+/**
* \file dnssd_service_browser.h
* \brief DnssdServiceBrowser class header file.
*
@@ -38,12 +38,12 @@
#include <string>
#include <vector>
+#include <pthread.h>
#include <avahi-client/client.h>
#include <avahi-client/lookup.h>
#include <avahi-common/error.h>
#include <avahi-common/thread-watch.h>
-#include "utils/lock.h"
#include "transport_manager/transport_adapter/device_scanner.h"
#include "transport_manager/transport_adapter/transport_adapter.h"
@@ -121,7 +121,7 @@ class DnssdServiceBrowser : public DeviceScanner {
typedef std::vector<DnssdServiceRecord> ServiceRecords;
ServiceRecords service_records_;
- sync_primitives::Lock mutex_;
+ pthread_mutex_t mutex_;
bool initialised_;
}
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 f54e5a8fc2..12eab5a1b5 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"
-class Thread;
+#include "utils/threads/thread_delegate.h"
+#include "utils/threads/thread.h"
namespace transport_manager {
namespace transport_adapter {
@@ -49,7 +49,8 @@ class TransportAdapterController;
/**
* @brief Listener of device adapter that use TCP transport.
*/
-class TcpClientListener : public ClientConnectionListener {
+class TcpClientListener : public ClientConnectionListener,
+ public threads::ThreadDelegate {
public:
/**
* @breaf Constructor.
@@ -63,6 +64,14 @@ class TcpClientListener : public ClientConnectionListener {
bool enable_keepalive);
/**
+ * @brief Start TCP client listener thread.
+ */
+ void threadMain();
+
+ bool exitThreadMain();
+ protected:
+
+ /**
* @brief Destructor.
*/
virtual ~TcpClientListener();
@@ -98,26 +107,15 @@ 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
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_connection_factory.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_connection_factory.h
index 690c3127bd..fba85aa601 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/tcp_connection_factory.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_connection_factory.h
@@ -1,4 +1,4 @@
-/*
+/**
* \file tcp_connection_factory.h
* \brief TcpConnectionFactory class header file.
*
@@ -54,6 +54,7 @@ class TcpConnectionFactory : public ServerConnectionFactory {
* @param controller Pointer to the device adapter controller.
*/
TcpConnectionFactory(TransportAdapterController* controller);
+ protected:
/**
* @brief Start TCP connection factory.
@@ -68,8 +69,8 @@ class TcpConnectionFactory : public ServerConnectionFactory {
*
* @return Error information about possible reason of failure.
*/
- virtual TransportAdapter::Error CreateConnection(
- const DeviceUID& device_uid, const ApplicationHandle& app_handle);
+ virtual TransportAdapter::Error CreateConnection(const DeviceUID& device_uid,
+ const ApplicationHandle& app_handle);
/**
* @brief
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_device.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_device.h
index 2b89e09020..08821ab3c4 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/tcp_device.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_device.h
@@ -1,4 +1,4 @@
-/*
+/**
* \file tcp_device.h
* \brief TcpDevice class header file.
*
@@ -47,8 +47,6 @@
#include <sys/types.h>
#include <sys/socket.h>
-#include "utils/lock.h"
-
namespace transport_manager {
namespace transport_adapter {
@@ -138,7 +136,7 @@ class TcpDevice : public Device {
uint16_t port;
};
std::map<ApplicationHandle, Application> applications_;
- mutable sync_primitives::Lock applications_mutex_;
+ mutable pthread_mutex_t applications_mutex_;
const in_addr_t in_addr_;
const std::string name_;
ApplicationHandle last_handle_;
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_socket_connection.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_socket_connection.h
index 9af825ea93..8fe7b8e837 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/tcp_socket_connection.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_socket_connection.h
@@ -1,4 +1,4 @@
-/*
+/**
* \file tcp_socket_connection.h
* \brief TcpSocketConnection class header file.
*
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
index 277194b512..1319c40eeb 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
@@ -1,4 +1,4 @@
-/*
+/**
* \file tcp_transport_adapter.h
* \brief TcpTransportAdapter class header file.
*