transport manager updates
authorJustin Dickow <jjdickow@gmail.com>
Tue, 15 Jul 2014 19:52:04 +0000 (15:52 -0400)
committerJustin Dickow <jjdickow@gmail.com>
Tue, 15 Jul 2014 19:52:04 +0000 (15:52 -0400)
Signed-off-by: Justin Dickow <jjdickow@gmail.com>
src/components/transport_manager/include/transport_manager/tcp/tcp_client_listener.h
src/components/transport_manager/include/transport_manager/tcp/tcp_device.h
src/components/transport_manager/include/transport_manager/time_metric_observer.h
src/components/transport_manager/include/transport_manager/transport_adapter/threaded_socket_connection.h
src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter.h
src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_controller.h
src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h
src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener_impl.h

index c929fea..08821ab 100644 (file)
@@ -46,7 +46,6 @@
 #include <netinet/in.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <pthread.h>
 
 namespace transport_manager {
 namespace transport_adapter {
index 64c4067..1b96fde 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright (c) 2014, Ford Motor Company
  * All rights reserved.
  *
 #define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TIME_METRIC_OBSERVER_H_
 
 #include "transport_manager/common.h"
+#include "utils/date_time.h"
 
 namespace transport_manager {
 
 class TMMetricObserver {
-  public:
-    struct MessageMetric {
-        time_t begin;
-        time_t end;
-        size_t data_size;
-    };
-    virtual void StartRawMsg(const protocol_handler::RawMessage* ptr) = 0;
-    virtual void StopRawMsg(const protocol_handler::RawMessage* ptr) = 0;
-
-    //virtual void StopRawMsg(RawMessageSptr ptr) = 0;
+ public:
+  struct MessageMetric {
+    TimevalStruct begin;
+    TimevalStruct end;
+    size_t data_size;
+  };
+  virtual void StartRawMsg(const protocol_handler::RawMessage* ptr) = 0;
+  virtual void StopRawMsg(const protocol_handler::RawMessage* ptr) = 0;
 
+  virtual ~TMMetricObserver(){}
 };
-
-}
+}  // transport_manager
 #endif  // SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TIME_METRIC_OBSERVER_H_
index 8192caf..320f340 100644 (file)
@@ -39,7 +39,6 @@
 
 #include <queue>
 
-#include "utils/logger.h"
 #include "transport_manager/transport_adapter/connection.h"
 
 using ::transport_manager::transport_adapter::Connection;
@@ -156,11 +155,6 @@ class ThreadedSocketConnection : public Connection {
   const DeviceUID device_uid_;
   const ApplicationHandle app_handle_;
 };
-
-#ifdef ENABLE_LOG
-extern log4cxx::LoggerPtr logger_;
-#endif // ENABLE_LOG
-
 }  // namespace transport_adapter
 }  // namespace transport_manager
 
index a65e64b..8a1a3a9 100644 (file)
@@ -42,6 +42,7 @@
 #include "utils/shared_ptr.h"
 #include "transport_manager/common.h"
 #include "transport_manager/error.h"
+#include "transport_manager/time_metric_observer.h"
 
 namespace transport_manager {
 namespace transport_adapter {
@@ -243,6 +244,15 @@ class TransportAdapter {
    * @return string.
    */
   virtual std::string DeviceName(const DeviceUID& device_id) const = 0;
+
+  /**
+   * @brief Return Time metric observer
+   *
+   * @param return pointer to Time metric observer
+   */
+  virtual TMMetricObserver* GetTimeMetricObserver() = 0;
+
+
 };
 
 }  // namespace transport_adapter
index 44565c8..20e9123 100644 (file)
@@ -1,7 +1,5 @@
-/**
- * \file transport_adapter_controller.h
- * \brief TransportAdapterController class header file.
- * Copyright (c) 2013, Ford Motor Company
+/*
+ * Copyright (c) 2014, Ford Motor Company
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -121,7 +119,7 @@ class TransportAdapterController {
                                   const ApplicationHandle& app_handle) = 0;
 
   /**
-   * @brief Set specified connection state to FINILIZING and launch OnUnexpectedDisconnect event in the device adapter listener.
+   * @brief Set specified connection state to FINALISING and launch OnUnexpectedDisconnect event in the device adapter listener.
    *
    * @param device_handle Device unique identifier.
    * @param app_handle Handle of application.
@@ -132,6 +130,14 @@ class TransportAdapterController {
                                  const CommunicationError& error) = 0;
 
   /**
+   * @brief Remove specified device and all its connections
+   * @param device_handle Device unique identifier.
+   * @param error Error class that contains details of this error situation.
+   */
+  virtual void DeviceDisconnected(const DeviceUID& device_handle,
+                                  const DisconnectDeviceError& error) = 0;
+
+  /**
    * @brief Delete specified connection from the container(map) of connections and launch event in the device adapter listener.
    *
    * @param device_handle Device unique identifier.
index b66d27f..3ece300 100644 (file)
@@ -1,7 +1,5 @@
-/**
- * \file transport_adapter_impl.h
- * \brief TransportAdapterImpl class header file.
- * Copyright (c) 2013, Ford Motor Company
+/*
+ * Copyright (c) 2014, Ford Motor Company
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 #include <queue>
 #include <set>
+#include <map>
 #include <memory>
 #include <string>
 
-#include "utils/logger.h"
-
 #include "transport_manager/transport_adapter/transport_adapter.h"
 #include "transport_manager/transport_adapter/transport_adapter_controller.h"
 #include "transport_manager/transport_adapter/connection.h"
@@ -310,6 +307,14 @@ class TransportAdapterImpl : public TransportAdapter,
                              const ConnectError& error);
 
   /**
+   * @brief Remove specified device and all its connections
+   * @param device_handle Device unique identifier.
+   * @param error Error class that contains details of this error situation.
+   */
+  virtual void DeviceDisconnected(const DeviceUID& device_handle,
+                                  const DisconnectDeviceError& error);
+
+  /**
    * @brief Delete specified connection from the container(map) of connections
    *and launch event in the device adapter listener.
    *
@@ -374,6 +379,20 @@ class TransportAdapterImpl : public TransportAdapter,
    */
   virtual std::string DeviceName(const DeviceUID& device_id) const;
 
+  /**
+   * @brief Setup observer for time metric.
+   *
+   * @param observer - pointer to observer
+   */
+  void SetTimeMetricObserver(TMMetricObserver* observer);
+
+  /**
+   * @brief Return Time metric observer
+   *
+   * @param return pointer to Time metric observer
+   */
+  virtual TMMetricObserver* GetTimeMetricObserver();
+
  protected:
 
   /**
@@ -413,6 +432,12 @@ class TransportAdapterImpl : public TransportAdapter,
   TransportAdapter::Error ConnectDevice(DeviceSptr device);
 
   /**
+   * @brief Remove specified device
+   * @param device_handle Device unique identifier.
+   */
+  void RemoveDevice(const DeviceUID& device_handle);
+
+  /**
    * @brief Listener for device adapter notifications.
    **/
   TransportAdapterListenerList listeners_;
@@ -488,14 +513,13 @@ class TransportAdapterImpl : public TransportAdapter,
    * @brief Pointer to the factory of connections initiated from client.
    */
   ClientConnectionListener* client_connection_listener_;
-};
-
-#ifdef ENABLE_LOG
-extern log4cxx::LoggerPtr logger_;
-#endif // ENABLE_LOG
 
+  /**
+   * @brief Pointer to time metric observer
+   */
+  TMMetricObserver* metric_observer_;
+};
 }  // namespace transport_adapter
 }  // namespace transport_manager
-
 #endif  // #ifndef \
         // SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_transport_adapter_IMPL_H_
index 2493975..df3eebf 100644 (file)
@@ -39,7 +39,6 @@
 #include "transport_manager/common.h"
 #include "transport_manager/transport_adapter/transport_adapter_listener.h"
 #include "transport_manager/transport_adapter/transport_adapter.h"
-#include "utils/logger.h"
 
 using transport_manager::transport_adapter::TransportAdapter;
 
@@ -291,12 +290,6 @@ class TransportAdapterListenerImpl
                                     const ApplicationHandle& app_id);
 
  private:
-  /**
-   * \brief For logging.
-   */
-#ifdef ENABLE_LOG
-  static log4cxx::LoggerPtr logger_;
-#endif // ENABLE_LOG
   TransportManagerImpl* transport_manager_impl_;
   TransportAdapter* transport_adapter_;
 };