/**
 * @file diag_protocol_stack.cpp
 * @brief DiagProtocolStack component implementation
 * @author Mahmoud Elmohtady
 * @company Nabd solutions - ASF
 * @copyright Copyright (c) 2025
 */

#include "diag_protocol_stack.hpp"
#include "logger.hpp"

static const char* TAG = "DiagProtocolStack";

DiagProtocolStack::DiagProtocolStack()
    : m_isInitialized(false)
{
}

DiagProtocolStack::~DiagProtocolStack()
{
    deinitialize();
}

bool DiagProtocolStack::initialize()
{
    // TODO: Implement initialization
    m_isInitialized = true;
    ASF_LOGI(TAG, 3300, asf::logger::Criticality::LOW, "DiagProtocolStack initialized successfully");
    return true;
}

bool DiagProtocolStack::deinitialize()
{
    if (!m_isInitialized)
    {
        return false;
    }

    // TODO: Implement deinitialization
    m_isInitialized = false;
    return true;
}

bool DiagProtocolStack::isInitialized() const
{
    return m_isInitialized;
}
