/*
 * SPDX-FileCopyrightText: 2025 Copyright contributors to the cppTango project
 *
 * SPDX-License-Identifier: LGPL-3.0-or-later
 */
#ifndef TANGO_CLIENT_ATTRIBUTEEVENTINFO_H
#define TANGO_CLIENT_ATTRIBUTEEVENTINFO_H

#include <tango/client/ArchiveEventInfo.h>
#include <tango/client/AttributeInfo.h>
#include <tango/client/ChangeEventInfo.h>
#include <tango/client/PeriodicEventInfo.h>

namespace Tango
{
/**
 * Attribute event configuration
 *
 * @headerfile tango.h
 * @ingroup Client
 */
struct AttributeEventInfo
{
    ChangeEventInfo ch_event;    ///< Attribute change event info
    PeriodicEventInfo per_event; ///< Attribute periodic event info
    ArchiveEventInfo arch_event; ///< Attribute archive event info

    /// @privatesection
    bool operator==(const AttributeEventInfo &);
};

using AttributeInfoList = std::vector<AttributeInfo>;
} // namespace Tango
#endif
