summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElisey Zamakhov <EZamakhov@luxoft.com>2014-07-02 13:19:58 +0400
committerElisey Zamakhov <EZamakhov@luxoft.com>2014-07-07 15:54:28 +0400
commit01f8973d126f5be5bb04f9166d86ae4c29733f84 (patch)
treeb664e7fa26c7b204e7eb11ef8070bb8dd565d121
parentd42b9e4d651f67207b241985e5088c5fbed093a4 (diff)
downloadsdl_core-01f8973d126f5be5bb04f9166d86ae4c29733f84.tar.gz
SecurityManger, ProtocolHandler, TransportManager split
Not a subject for review Reason: move files only
-rw-r--r--src/components/include/protocol/message_priority.h (renamed from src/components/protocol_handler/include/protocol_handler/message_priority.h)0
-rw-r--r--src/components/include/protocol/raw_message.h (renamed from src/components/protocol_handler/include/protocol_handler/raw_message.h)0
-rw-r--r--src/components/include/protocol/rpc_type.h (renamed from src/components/protocol_handler/include/protocol_handler/rpc_type.h)0
-rw-r--r--src/components/include/protocol/service_type.h (renamed from src/components/protocol_handler/include/protocol_handler/service_type.h)0
-rw-r--r--src/components/include/protocol_handler/protocol_handler.h (renamed from src/components/protocol_handler/include/protocol_handler/protocol_handler.h)0
-rw-r--r--src/components/include/protocol_handler/protocol_observer.h (renamed from src/components/protocol_handler/include/protocol_handler/protocol_observer.h)0
-rw-r--r--src/components/include/protocol_handler/session_observer.h (renamed from src/components/protocol_handler/include/protocol_handler/session_observer.h)0
-rw-r--r--src/components/include/security_manager/crypto_manager.h (renamed from src/components/security_manager/include/security_manager/crypto_manager.h)0
-rw-r--r--src/components/include/security_manager/security_manager.h121
-rw-r--r--src/components/include/security_manager/security_manager_listener.h (renamed from src/components/security_manager/include/security_manager/security_manager_listener.h)0
-rw-r--r--src/components/include/security_manager/ssl_context.h (renamed from src/components/security_manager/include/security_manager/ssl_context.h)0
-rw-r--r--src/components/include/transport_manager/common.h (renamed from src/components/transport_manager/include/transport_manager/common.h)0
-rw-r--r--src/components/include/transport_manager/error.h (renamed from src/components/transport_manager/include/transport_manager/error.h)0
-rw-r--r--src/components/include/transport_manager/info.h (renamed from src/components/transport_manager/include/transport_manager/info.h)0
-rw-r--r--src/components/include/transport_manager/transport_manager.h (renamed from src/components/transport_manager/include/transport_manager/transport_manager.h)0
-rw-r--r--src/components/include/transport_manager/transport_manager_listener.h (renamed from src/components/transport_manager/include/transport_manager/transport_manager_listener.h)0
-rw-r--r--src/components/include/transport_manager/transport_manager_listener_empty.h (renamed from src/components/transport_manager/include/transport_manager/transport_manager_listener_empty.h)0
-rw-r--r--src/components/include/utils/atomic.h (renamed from src/components/utils/include/utils/atomic.h)0
-rw-r--r--src/components/include/utils/byte_order.h (renamed from src/components/utils/include/utils/byte_order.h)0
-rw-r--r--src/components/include/utils/conditional_variable.h (renamed from src/components/utils/include/utils/conditional_variable.h)0
-rw-r--r--src/components/include/utils/date_time.h (renamed from src/components/utils/include/utils/date_time.h)0
-rw-r--r--src/components/include/utils/lock.h (renamed from src/components/utils/include/utils/lock.h)0
-rw-r--r--src/components/include/utils/logger.h (renamed from src/components/utils/include/utils/logger.h)0
-rw-r--r--src/components/include/utils/macro.h (renamed from src/components/utils/include/utils/macro.h)0
-rw-r--r--src/components/include/utils/memory_barrier.h (renamed from src/components/utils/include/utils/memory_barrier.h)0
-rw-r--r--src/components/include/utils/message_queue.h (renamed from src/components/utils/include/utils/message_queue.h)0
-rw-r--r--src/components/include/utils/prioritized_queue.h (renamed from src/components/utils/include/utils/prioritized_queue.h)0
-rw-r--r--src/components/include/utils/rwlock.h96
-rw-r--r--src/components/include/utils/shared_ptr.h (renamed from src/components/utils/include/utils/shared_ptr.h)0
-rw-r--r--src/components/include/utils/threads/message_loop_thread.h (renamed from src/components/utils/include/utils/threads/message_loop_thread.h)0
-rw-r--r--src/components/include/utils/threads/thread.h (renamed from src/components/utils/include/utils/threads/thread.h)0
-rw-r--r--src/components/include/utils/threads/thread_delegate.h (renamed from src/components/utils/include/utils/threads/thread_delegate.h)0
-rw-r--r--src/components/include/utils/threads/thread_options.h (renamed from src/components/utils/include/utils/threads/thread_options.h)0
-rw-r--r--src/components/include/utils/timer_thread.h (renamed from src/components/utils/include/utils/timer_thread.h)0
-rw-r--r--src/components/protocol/src/message_priority.cc (renamed from src/components/protocol_handler/src/message_priority.cc)0
-rw-r--r--src/components/protocol/src/raw_message.cc (renamed from src/components/protocol_handler/src/raw_message.cc)0
-rw-r--r--src/components/protocol/src/rpc_type.cc (renamed from src/components/protocol_handler/src/rpc_type.cc)0
-rw-r--r--src/components/protocol/src/service_type.cc (renamed from src/components/protocol_handler/src/service_type.cc)0
-rw-r--r--src/components/security_manager/include/security_manager/security_manager_impl.h (renamed from src/components/security_manager/include/security_manager/security_manager.h)0
-rw-r--r--src/components/security_manager/src/security_manager_impl.cc (renamed from src/components/security_manager/src/security_manager.cc)0
-rw-r--r--test/components/include/transport_manager/transport_manager_mock.h78
-rw-r--r--test/components/security_manager/include/security_manager/security_query_matcher.h (renamed from test/components/security_manager/include/security_manager/security_manager_mock.h)0
-rw-r--r--test/components/security_manager/src/security_query_matcher.cc (renamed from test/components/security_manager/src/security_manager_mock.cc)0
-rw-r--r--test/components/transport_manager/src/transport_manager_test.cc (renamed from test/components/transport_manager/src/transport_manager.cc)0
44 files changed, 295 insertions, 0 deletions
diff --git a/src/components/protocol_handler/include/protocol_handler/message_priority.h b/src/components/include/protocol/message_priority.h
index bb3d999d54..bb3d999d54 100644
--- a/src/components/protocol_handler/include/protocol_handler/message_priority.h
+++ b/src/components/include/protocol/message_priority.h
diff --git a/src/components/protocol_handler/include/protocol_handler/raw_message.h b/src/components/include/protocol/raw_message.h
index 4273594a04..4273594a04 100644
--- a/src/components/protocol_handler/include/protocol_handler/raw_message.h
+++ b/src/components/include/protocol/raw_message.h
diff --git a/src/components/protocol_handler/include/protocol_handler/rpc_type.h b/src/components/include/protocol/rpc_type.h
index fc5a3a998b..fc5a3a998b 100644
--- a/src/components/protocol_handler/include/protocol_handler/rpc_type.h
+++ b/src/components/include/protocol/rpc_type.h
diff --git a/src/components/protocol_handler/include/protocol_handler/service_type.h b/src/components/include/protocol/service_type.h
index f6862ba011..f6862ba011 100644
--- a/src/components/protocol_handler/include/protocol_handler/service_type.h
+++ b/src/components/include/protocol/service_type.h
diff --git a/src/components/protocol_handler/include/protocol_handler/protocol_handler.h b/src/components/include/protocol_handler/protocol_handler.h
index 4926bbb395..4926bbb395 100644
--- a/src/components/protocol_handler/include/protocol_handler/protocol_handler.h
+++ b/src/components/include/protocol_handler/protocol_handler.h
diff --git a/src/components/protocol_handler/include/protocol_handler/protocol_observer.h b/src/components/include/protocol_handler/protocol_observer.h
index 15fe963da0..15fe963da0 100644
--- a/src/components/protocol_handler/include/protocol_handler/protocol_observer.h
+++ b/src/components/include/protocol_handler/protocol_observer.h
diff --git a/src/components/protocol_handler/include/protocol_handler/session_observer.h b/src/components/include/protocol_handler/session_observer.h
index 268f9fb385..268f9fb385 100644
--- a/src/components/protocol_handler/include/protocol_handler/session_observer.h
+++ b/src/components/include/protocol_handler/session_observer.h
diff --git a/src/components/security_manager/include/security_manager/crypto_manager.h b/src/components/include/security_manager/crypto_manager.h
index 87cfc1397f..87cfc1397f 100644
--- a/src/components/security_manager/include/security_manager/crypto_manager.h
+++ b/src/components/include/security_manager/crypto_manager.h
diff --git a/src/components/include/security_manager/security_manager.h b/src/components/include/security_manager/security_manager.h
new file mode 100644
index 0000000000..5adb686fa0
--- /dev/null
+++ b/src/components/include/security_manager/security_manager.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2014, Ford Motor Company
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the Ford Motor Company nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef SRC_COMPONENTS_INCLUDE_SECURITY_MANAGER_SECURITY_MANAGER_H_
+#define SRC_COMPONENTS_INCLUDE_SECURITY_MANAGER_SECURITY_MANAGER_H_
+
+#include <list>
+#include <string>
+
+#include "protocol_handler/protocol_handler.h"
+#include "protocol_handler/protocol_observer.h"
+#include "protocol_handler/session_observer.h"
+
+#include "security_manager/crypto_manager.h"
+#include "security_manager/security_manager_listener.h"
+
+namespace security_manager {
+/**
+ * \brief SecurityManager interface implements protocol_handler::ProtocolObserver
+ * and provide interface for handling Security queries from mobile side
+ */
+class SecurityManager
+ : public protocol_handler::ProtocolObserver {
+ public:
+ /**
+ * \brief InternalErrors is 1 byte identifier of internal error
+ * Handle as binary data in Ford Protocol
+ */
+ enum InternalErrors {
+ ERROR_SUCCESS = 0x00,
+ ERROR_INVALID_QUERY_SIZE = 0x01, // wrong size of query data
+ ERROR_INVALID_QUERY_ID = 0x02, // unknown query id
+ ERROR_NOT_SUPPORTED = 0x03, // SDL does not support encryption
+ ERROR_SERVICE_ALREADY_PROTECTED = 0x04,
+ ERROR_SERVICE_NOT_PROTECTED = 0x05, // got handshake or encrypted data
+ // for not protected service
+ ERROR_DECRYPTION_FAILED = 0x06,
+ ERROR_ENCRYPTION_FAILED = 0x07,
+ ERROR_SSL_INVALID_DATA = 0x08,
+ ERROR_INTERNAL = 0xFF,
+ ERROR_UNKWOWN_INTERNAL_ERROR = 0xFE // error valeu for testing
+ };
+ /**
+ * \brief Sets pointer for Connection Handler layer for managing sessions
+ * \param session_observer pointer to object of the class implementing
+ */
+ virtual void set_session_observer(protocol_handler::SessionObserver *observer) = 0;
+ /**
+ * \brief Sets pointer for Protocol Handler layer for sending
+ * \param protocol_handler pointer to object of the class implementing
+ */
+ virtual void set_protocol_handler(
+ protocol_handler::ProtocolHandler *protocol_handler_) = 0;
+ /**
+ * \brief Sets pointer for CryptoManager for handling SSLContext
+ * \param crypto_manager pointer to object of the class implementing
+ */
+ virtual void set_crypto_manager(CryptoManager *crypto_manager) = 0;
+
+ /**
+ * \brief Sends InternalError with text message to mobile application
+ * \param connection_key Unique key used by other components as session identifier
+ * \param error_id unique error identifier
+ * \param erorr_text SSL impelmentation error text
+ * \param seq_number received from Mobile Application
+ */
+ virtual void SendInternalError(const uint32_t connection_key,
+ const uint8_t &error_id,
+ const std::string &erorr_text,
+ const uint32_t seq_number = 0) = 0;
+
+ /**
+ * \brief Create new SSLContext for connection or return exists
+ * Do not notify listeners, send security error on occure
+ * \param connection_key Unique key used by other components as session identifier
+ * @return new \c SSLContext or \c NULL on any error
+ */
+ virtual SSLContext *CreateSSLContext(const uint32_t &connection_key) = 0;
+
+ /**
+ * \brief Start handshake as SSL client
+ */
+ virtual void StartHandshake(uint32_t connection_key) = 0;
+
+ /**
+ * \brief Add/Remove for SecurityManagerListener
+ */
+ virtual void AddListener(SecurityManagerListener *const listener) = 0;
+ virtual void RemoveListener(SecurityManagerListener *const listener) = 0;
+};
+} // namespace security_manager
+#endif // SRC_COMPONENTS_INCLUDE_SECURITY_MANAGER_SECURITY_MANAGER_H_
diff --git a/src/components/security_manager/include/security_manager/security_manager_listener.h b/src/components/include/security_manager/security_manager_listener.h
index a3ad7ff2a8..a3ad7ff2a8 100644
--- a/src/components/security_manager/include/security_manager/security_manager_listener.h
+++ b/src/components/include/security_manager/security_manager_listener.h
diff --git a/src/components/security_manager/include/security_manager/ssl_context.h b/src/components/include/security_manager/ssl_context.h
index 4a9a10f630..4a9a10f630 100644
--- a/src/components/security_manager/include/security_manager/ssl_context.h
+++ b/src/components/include/security_manager/ssl_context.h
diff --git a/src/components/transport_manager/include/transport_manager/common.h b/src/components/include/transport_manager/common.h
index 9e2c155780..9e2c155780 100644
--- a/src/components/transport_manager/include/transport_manager/common.h
+++ b/src/components/include/transport_manager/common.h
diff --git a/src/components/transport_manager/include/transport_manager/error.h b/src/components/include/transport_manager/error.h
index 43bcd1630e..43bcd1630e 100644
--- a/src/components/transport_manager/include/transport_manager/error.h
+++ b/src/components/include/transport_manager/error.h
diff --git a/src/components/transport_manager/include/transport_manager/info.h b/src/components/include/transport_manager/info.h
index 3f4ac6eb26..3f4ac6eb26 100644
--- a/src/components/transport_manager/include/transport_manager/info.h
+++ b/src/components/include/transport_manager/info.h
diff --git a/src/components/transport_manager/include/transport_manager/transport_manager.h b/src/components/include/transport_manager/transport_manager.h
index 1897ff05d9..1897ff05d9 100644
--- a/src/components/transport_manager/include/transport_manager/transport_manager.h
+++ b/src/components/include/transport_manager/transport_manager.h
diff --git a/src/components/transport_manager/include/transport_manager/transport_manager_listener.h b/src/components/include/transport_manager/transport_manager_listener.h
index e3ab160beb..e3ab160beb 100644
--- a/src/components/transport_manager/include/transport_manager/transport_manager_listener.h
+++ b/src/components/include/transport_manager/transport_manager_listener.h
diff --git a/src/components/transport_manager/include/transport_manager/transport_manager_listener_empty.h b/src/components/include/transport_manager/transport_manager_listener_empty.h
index de3b9dfb13..de3b9dfb13 100644
--- a/src/components/transport_manager/include/transport_manager/transport_manager_listener_empty.h
+++ b/src/components/include/transport_manager/transport_manager_listener_empty.h
diff --git a/src/components/utils/include/utils/atomic.h b/src/components/include/utils/atomic.h
index bf5b4baf8a..bf5b4baf8a 100644
--- a/src/components/utils/include/utils/atomic.h
+++ b/src/components/include/utils/atomic.h
diff --git a/src/components/utils/include/utils/byte_order.h b/src/components/include/utils/byte_order.h
index 9db6a165a4..9db6a165a4 100644
--- a/src/components/utils/include/utils/byte_order.h
+++ b/src/components/include/utils/byte_order.h
diff --git a/src/components/utils/include/utils/conditional_variable.h b/src/components/include/utils/conditional_variable.h
index 433f8d7c01..433f8d7c01 100644
--- a/src/components/utils/include/utils/conditional_variable.h
+++ b/src/components/include/utils/conditional_variable.h
diff --git a/src/components/utils/include/utils/date_time.h b/src/components/include/utils/date_time.h
index bc6e3bbe80..bc6e3bbe80 100644
--- a/src/components/utils/include/utils/date_time.h
+++ b/src/components/include/utils/date_time.h
diff --git a/src/components/utils/include/utils/lock.h b/src/components/include/utils/lock.h
index 2f364a02ab..2f364a02ab 100644
--- a/src/components/utils/include/utils/lock.h
+++ b/src/components/include/utils/lock.h
diff --git a/src/components/utils/include/utils/logger.h b/src/components/include/utils/logger.h
index e84ec0f568..e84ec0f568 100644
--- a/src/components/utils/include/utils/logger.h
+++ b/src/components/include/utils/logger.h
diff --git a/src/components/utils/include/utils/macro.h b/src/components/include/utils/macro.h
index 37ae7a077a..37ae7a077a 100644
--- a/src/components/utils/include/utils/macro.h
+++ b/src/components/include/utils/macro.h
diff --git a/src/components/utils/include/utils/memory_barrier.h b/src/components/include/utils/memory_barrier.h
index 9ac935a214..9ac935a214 100644
--- a/src/components/utils/include/utils/memory_barrier.h
+++ b/src/components/include/utils/memory_barrier.h
diff --git a/src/components/utils/include/utils/message_queue.h b/src/components/include/utils/message_queue.h
index 352ac393d0..352ac393d0 100644
--- a/src/components/utils/include/utils/message_queue.h
+++ b/src/components/include/utils/message_queue.h
diff --git a/src/components/utils/include/utils/prioritized_queue.h b/src/components/include/utils/prioritized_queue.h
index 0023c2bdbb..0023c2bdbb 100644
--- a/src/components/utils/include/utils/prioritized_queue.h
+++ b/src/components/include/utils/prioritized_queue.h
diff --git a/src/components/include/utils/rwlock.h b/src/components/include/utils/rwlock.h
new file mode 100644
index 0000000000..b5042acbfe
--- /dev/null
+++ b/src/components/include/utils/rwlock.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2014, Ford Motor Company
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the Ford Motor Company nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef SRC_COMPONENTS_UTILS_INCLUDE_UTILS_RWLOCK_H_
+#define SRC_COMPONENTS_UTILS_INCLUDE_UTILS_RWLOCK_H_
+
+#if defined(OS_POSIX)
+#include <pthread.h>
+#endif
+
+#include "utils/macro.h"
+
+namespace sync_primitives {
+
+namespace impl {
+#if defined(OS_POSIX)
+typedef pthread_rwlock_t PlatformRWLock;
+#else
+#error Please implement rwlock for your OS
+#endif
+} // namespace impl
+
+class RWLock {
+ public:
+ RWLock();
+ ~RWLock();
+ void AcquireForReading();
+ void AcquireForWriting();
+ void Release();
+
+ private:
+ impl::PlatformRWLock rwlock_;
+};
+
+class AutoReadLock {
+ public:
+ explicit AutoReadLock(RWLock& rwlock) : rwlock_(rwlock) {
+ rwlock_.AcquireForReading();
+ }
+ ~AutoReadLock() {
+ rwlock_.Release();
+ }
+
+ private:
+ RWLock& rwlock_;
+
+ DISALLOW_COPY_AND_ASSIGN(AutoReadLock);
+};
+
+class AutoWriteLock {
+ public:
+ explicit AutoWriteLock(RWLock& rwlock) : rwlock_(rwlock) {
+ rwlock_.AcquireForWriting();
+ }
+ ~AutoWriteLock() {
+ rwlock_.Release();
+ }
+
+ private:
+ RWLock& rwlock_;
+
+ DISALLOW_COPY_AND_ASSIGN(AutoWriteLock);
+};
+
+} // namespace sync_primitives
+
+#endif // SRC_COMPONENTS_UTILS_INCLUDE_UTILS_RWLOCK_H_
diff --git a/src/components/utils/include/utils/shared_ptr.h b/src/components/include/utils/shared_ptr.h
index 79cbd543f2..79cbd543f2 100644
--- a/src/components/utils/include/utils/shared_ptr.h
+++ b/src/components/include/utils/shared_ptr.h
diff --git a/src/components/utils/include/utils/threads/message_loop_thread.h b/src/components/include/utils/threads/message_loop_thread.h
index c5f0abc02c..c5f0abc02c 100644
--- a/src/components/utils/include/utils/threads/message_loop_thread.h
+++ b/src/components/include/utils/threads/message_loop_thread.h
diff --git a/src/components/utils/include/utils/threads/thread.h b/src/components/include/utils/threads/thread.h
index 45605bd79e..45605bd79e 100644
--- a/src/components/utils/include/utils/threads/thread.h
+++ b/src/components/include/utils/threads/thread.h
diff --git a/src/components/utils/include/utils/threads/thread_delegate.h b/src/components/include/utils/threads/thread_delegate.h
index 963eb3bf84..963eb3bf84 100644
--- a/src/components/utils/include/utils/threads/thread_delegate.h
+++ b/src/components/include/utils/threads/thread_delegate.h
diff --git a/src/components/utils/include/utils/threads/thread_options.h b/src/components/include/utils/threads/thread_options.h
index bdeaa367f6..bdeaa367f6 100644
--- a/src/components/utils/include/utils/threads/thread_options.h
+++ b/src/components/include/utils/threads/thread_options.h
diff --git a/src/components/utils/include/utils/timer_thread.h b/src/components/include/utils/timer_thread.h
index fe25c1719c..fe25c1719c 100644
--- a/src/components/utils/include/utils/timer_thread.h
+++ b/src/components/include/utils/timer_thread.h
diff --git a/src/components/protocol_handler/src/message_priority.cc b/src/components/protocol/src/message_priority.cc
index b33636380f..b33636380f 100644
--- a/src/components/protocol_handler/src/message_priority.cc
+++ b/src/components/protocol/src/message_priority.cc
diff --git a/src/components/protocol_handler/src/raw_message.cc b/src/components/protocol/src/raw_message.cc
index e6724a5311..e6724a5311 100644
--- a/src/components/protocol_handler/src/raw_message.cc
+++ b/src/components/protocol/src/raw_message.cc
diff --git a/src/components/protocol_handler/src/rpc_type.cc b/src/components/protocol/src/rpc_type.cc
index 6c6adf8644..6c6adf8644 100644
--- a/src/components/protocol_handler/src/rpc_type.cc
+++ b/src/components/protocol/src/rpc_type.cc
diff --git a/src/components/protocol_handler/src/service_type.cc b/src/components/protocol/src/service_type.cc
index be78662771..be78662771 100644
--- a/src/components/protocol_handler/src/service_type.cc
+++ b/src/components/protocol/src/service_type.cc
diff --git a/src/components/security_manager/include/security_manager/security_manager.h b/src/components/security_manager/include/security_manager/security_manager_impl.h
index 7efa7d480f..7efa7d480f 100644
--- a/src/components/security_manager/include/security_manager/security_manager.h
+++ b/src/components/security_manager/include/security_manager/security_manager_impl.h
diff --git a/src/components/security_manager/src/security_manager.cc b/src/components/security_manager/src/security_manager_impl.cc
index b9c4e351d1..b9c4e351d1 100644
--- a/src/components/security_manager/src/security_manager.cc
+++ b/src/components/security_manager/src/security_manager_impl.cc
diff --git a/test/components/include/transport_manager/transport_manager_mock.h b/test/components/include/transport_manager/transport_manager_mock.h
new file mode 100644
index 0000000000..6e5d924201
--- /dev/null
+++ b/test/components/include/transport_manager/transport_manager_mock.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2014, Ford Motor Company
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the Ford Motor Company nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TEST_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_MOCK_H_
+#define TEST_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_MOCK_H_
+
+#include <gmock/gmock.h>
+#include <string>
+#include "transport_manager/transport_manager.h"
+
+namespace test {
+namespace components {
+namespace transport_manager {
+/*
+ * MOCK implementation of transport_manager::TransportManager interface
+ */
+class TransportManagerMock: public transport_manager::TransportManager {
+ public:
+ MOCK_METHOD0(Init,
+ int());
+ MOCK_METHOD0(SearchDevices,
+ int());
+ MOCK_METHOD1(ConnectDevice,
+ int(const DeviceHandle &));
+ MOCK_METHOD1(DisconnectDevice,
+ int(const DeviceHandle &));
+ MOCK_METHOD1(Disconnect,
+ int(const ConnectionUID &));
+ MOCK_METHOD1(DisconnectForce,
+ int(const ConnectionUID &));
+ MOCK_METHOD1(SendMessageToDevice,
+ int(const RawMessagePtr));
+ MOCK_METHOD1(ReceiveEventFromDevice,
+ int(const TransportAdapterEvent &));
+ MOCK_METHOD1(AddTransportAdapter,
+ int(transport_adapter::TransportAdapter *));
+ MOCK_METHOD1(AddEventListener,
+ int(TransportManagerListener *));
+ MOCK_METHOD0(Stop,
+ int());
+ MOCK_METHOD1(RemoveDevice,
+ int(const DeviceHandle &));
+ MOCK_CONST_METHOD1(Visibility,
+ int(const bool &));
+};
+} // namespace transport_manager
+} // namespace components
+} // namespace test
+#endif // TEST_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_MOCK_H_
diff --git a/test/components/security_manager/include/security_manager/security_manager_mock.h b/test/components/security_manager/include/security_manager/security_query_matcher.h
index c2c040a727..c2c040a727 100644
--- a/test/components/security_manager/include/security_manager/security_manager_mock.h
+++ b/test/components/security_manager/include/security_manager/security_query_matcher.h
diff --git a/test/components/security_manager/src/security_manager_mock.cc b/test/components/security_manager/src/security_query_matcher.cc
index bafbc42a19..bafbc42a19 100644
--- a/test/components/security_manager/src/security_manager_mock.cc
+++ b/test/components/security_manager/src/security_query_matcher.cc
diff --git a/test/components/transport_manager/src/transport_manager.cc b/test/components/transport_manager/src/transport_manager_test.cc
index a98df74e8f..a98df74e8f 100644
--- a/test/components/transport_manager/src/transport_manager.cc
+++ b/test/components/transport_manager/src/transport_manager_test.cc