/*
 * SPDX-FileCopyrightText: 2004 Copyright contributors to the cppTango project
 *
 * SPDX-License-Identifier: LGPL-3.0-or-later
 */

#ifndef TANGO_SERVER_LOGGERSTREAM_H
#define TANGO_SERVER_LOGGERSTREAM_H

//-----------------------------------------------------------------------------
// FORWARD DECLARATIONS
//-----------------------------------------------------------------------------
namespace log4tango
{
class LoggerStream;
} // namespace log4tango

namespace Tango
{
class Attr;
class DevFailed;
class Attribute;
class AttrManip;
class AttrProperty;
class DevVarCharArray;
class DevVarShortArray;
class DevVarLongArray;
class DevVarFloatArray;
class DevVarDoubleArray;
class DevVarUShortArray;
class DevVarULongArray;
class DevVarStringArray;
} // namespace Tango

//-----------------------------------------------------------------------------
// MISC. OPERATORS TO PUSH TANGO TYPES INTO LOG4TANGO STREAMS
//-----------------------------------------------------------------------------
namespace Tango
{

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevFailed &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarCharArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarShortArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarLongArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarFloatArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarDoubleArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarUShortArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarULongArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const DevVarStringArray &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const Attribute &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const Attr &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const AttrManip &);

log4tango::LoggerStream &operator<<(log4tango::LoggerStream &, const AttrProperty &);

} // namespace Tango

#endif // TANGO_SERVER_LOGGERSTREAM_H
