#include "transport_manager/transport_adapter/client_connection_listener.h"
-#include <pthread.h>
-
namespace transport_manager {
namespace transport_adapter {
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
-#include <pthread.h>
namespace transport_manager {
namespace transport_adapter {
-/**
+/*
* 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_
#include <queue>
-#include "utils/logger.h"
#include "transport_manager/transport_adapter/connection.h"
using ::transport_manager::transport_adapter::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
#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 {
* @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
-/**
- * \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
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.
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.
-/**
- * \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"
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.
*
*/
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:
/**
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_;
* @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_
#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;
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_;
};