Added README.
[irreco.git] / irreco / src / core / irreco_cmd_chain_manager.h
blob36be5c3930289dc2bad0f096eb799a4d10f8b5ec
1 /*
2 * irreco - Ir Remote Control
3 * Copyright (C) 2007 Arto Karppinen (arto.karppinen@iki.fi)
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 /**
21 * @addtogroup IrrecoCmdChainManager
22 * @{
25 /**
26 * @file
27 * Header file of @ref IrrecoCmdChainManager.
32 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
33 /* Typedef */
34 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
36 * Make sure that typedefs are available before we include anything elese.
38 * This makes sure that whatever other structures that depend on structures
39 * defined in this file will compile OK recardles of header inclusion order.
41 #ifndef __IRRECO_CMD_CHAIN_MANAGER_H_TYPEDEF__
42 #define __IRRECO_CMD_CHAIN_MANAGER_H_TYPEDEF__
44 typedef struct _IrrecoCmdChainManager IrrecoCmdChainManager;
46 #endif /* __IRRECO_CMD_CHAIN_MANAGER_H_TYPEDEF__ */
50 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
51 /* Include */
52 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
53 #ifndef __IRRECO_CMD_CHAIN_MANAGER_H__
54 #define __IRRECO_CMD_CHAIN_MANAGER_H__
55 #include "irreco.h"
56 #include "irreco_cmd_chain.h"
57 #include "irreco_string_table.h"
61 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
62 /* Datatypes */
63 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
64 struct _IrrecoCmdChainManager {
65 GHashTable *table;
70 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
71 /* Macro */
72 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
76 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
77 /* Prototypes */
78 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
79 IrrecoCmdChainManager* irreco_cmd_chain_manager_new();
80 void irreco_cmd_chain_manager_free(
81 IrrecoCmdChainManager *self);
82 IrrecoCmdChainId irreco_cmd_chain_manager_new_chain(
83 IrrecoCmdChainManager *self);
84 gboolean irreco_cmd_chain_manager_new_chain_with_id(
85 IrrecoCmdChainManager *self,
86 IrrecoCmdChainId id);
87 void irreco_cmd_chain_manager_free_chain(
88 IrrecoCmdChainManager *self,
89 IrrecoCmdChainId id);
90 IrrecoCmdChain* irreco_cmd_chain_manager_get_chain(
91 IrrecoCmdChainManager *self,
92 IrrecoCmdChainId id);
93 IrrecoCmdChainId irreco_cmd_chain_manager_find_chain(
94 IrrecoCmdChainManager *self,
95 IrrecoCmdChain *chain);
96 gboolean irreco_cmd_chain_manager_to_config(
97 IrrecoCmdChainManager *self);
98 gboolean irreco_cmd_chain_manager_from_config(
99 IrrecoDirForeachData *dir_data,
100 IrrecoStringTable *list);
103 #endif /* __IRRECO_CMD_CHAIN_MANAGER_H__ */
105 /** @} */