1/**
2 * \file
3 * \brief Private trigger header.
4 */
5
6/*
7 * Copyright (c) 2012, ETH Zurich.
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich,
13 * Attn: Systems Group.
14 */
15
16#ifndef LIBTERM_CLIENT_TRIGGER_PRIV_H
17#define LIBTERM_CLIENT_TRIGGER_PRIV_H
18
19#include <term/client/trigger.h>
20
21enum term_trigger_type {
22    /**
23     * Built-in trigger that can not be removed by user.
24     */
25    TERM_TRIGGER_TYPE_BUILT_IN,
26
27    /**
28     * User trigger.
29     */
30    TERM_TRIGGER_TYPE_USER
31};
32
33struct term_trigger_priv {
34    struct term_trigger trigger;
35    term_trigger_id_t id;
36    enum term_trigger_type type;
37};
38
39term_trigger_id_t term_client_add_trigger_type(struct term_client *client,
40                                               struct term_trigger trigger,
41                                               enum term_trigger_type type);
42
43void term_trigger_free(void *data);
44
45#endif // LIBTERM_CLIENT_TRIGGER_PRIV_H
46