/*
    This file is part of libtermui.

    libtermui is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    libtermui is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with libtermui.  If not, see <http://www.gnu.org/licenses/>.

    Copyright 2010, Alexandre Becoulet <alexandre.becoulet@free.fr>

*/

#ifndef VTEMU_PV_H_
#define VTEMU_PV_H_

#include <termui/emu.h>

void termui_vtemu_execute(struct termui_vtemu_s *ctx, uint8_t c);
void termui_vtemu_print(struct termui_vtemu_s *ctx, uint8_t c);

#ifdef CONFIG_LIBTERMUI_VTEMU_DCS
/* device control string enter */
static inline void termui_vtemu_hook(struct termui_vtemu_s *ctx, uint8_t c)
{
}

/* device control char arrived */
static inline void termui_vtemu_put(struct termui_vtemu_s *ctx, uint8_t c)
{
}

/* device control string exit */
static inline void termui_vtemu_unhook(struct termui_vtemu_s *ctx, uint8_t c)
{
}
#endif

void termui_vtemu_esc_dispatch(struct termui_vtemu_s *ctx, uint8_t c);
void termui_vtemu_csi_dispatch(struct termui_vtemu_s *ctx, uint8_t c);

#ifdef CONFIG_LIBTERMUI_VTEMU_OSC
/* operating system command enter */
static inline void
termui_vtemu_osc_start(struct termui_vtemu_s *ctx)
{
}

/* operating system command char arrived */
static inline void
termui_vtemu_osc_put(struct termui_vtemu_s *ctx, uint8_t c)
{
}

/* operating system command exit */
static inline void
termui_vtemu_osc_end(struct termui_vtemu_s *ctx, uint8_t c)
{
}
#endif

#endif

