- Add transport layer abstraction for COM and UDP communication
- Refactor handler definitions and processing logic
- Improve error handling and logging
- Remove unnecessary global variables and pthread usage
- Add get_logger and set_logger functions to manage global logger
- Update Logger class to use unique_ptr for child loggers
- Modify get_child method to use template and transfer ownership
- Update logging initialization and shutdown processes
- Adjust test cases to use new logger management functions
- Rename project from extern_interface to external_interface
- Update CMakeLists.txt to use new project name and add compiler flags
- Implement QueueException and related classes in dataqueue.hpp
- Update event handling and thread management in event.cpp
- Modify external_interface initialization and naming conventions
- Update logging and test cases to reflect changes