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

#include <tango/common/omnithread_wrapper.h>

namespace Tango
{
class UniqIdent : public omni_mutex
{
  public:
    UniqIdent()
    {
        omni_mutex_lock sync(*this);
        ctr = 0;
    }

    long get_ident()
    {
        omni_mutex_lock sync(*this);
        return ++ctr;
    }

    long ctr;
};
} // namespace Tango
#endif
