clean code and changed version nro.
[irreco.git] / irreco / src / core / irreco_cmd_chain_manager.h
bloba499cd359d862ddae6d8c19f6b73f87f05e48f88
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"
60 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
61 /* Datatypes */
62 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
63 struct _IrrecoCmdChainManager {
64 GHashTable *table;
69 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
70 /* Macro */
71 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
75 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
76 /* Prototypes */
77 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
78 IrrecoCmdChainManager* irreco_cmd_chain_manager_new();
79 void irreco_cmd_chain_manager_free(
80 IrrecoCmdChainManager *self);
81 IrrecoCmdChainId irreco_cmd_chain_manager_new_chain(
82 IrrecoCmdChainManager *self);
83 gboolean irreco_cmd_chain_manager_new_chain_with_id(
84 IrrecoCmdChainManager *self,
85 IrrecoCmdChainId id);
86 void irreco_cmd_chain_manager_free_chain(
87 IrrecoCmdChainManager *self,
88 IrrecoCmdChainId id);
89 IrrecoCmdChain* irreco_cmd_chain_manager_get_chain(
90 IrrecoCmdChainManager *self,
91 IrrecoCmdChainId id);
92 IrrecoCmdChainId irreco_cmd_chain_manager_find_chain(
93 IrrecoCmdChainManager *self,
94 IrrecoCmdChain *chain);
95 gboolean irreco_cmd_chain_manager_to_config(
96 IrrecoCmdChainManager *self);
97 gboolean irreco_cmd_chain_manager_from_config(
98 IrrecoData *irreco_data);
101 #endif /* __IRRECO_CMD_CHAIN_MANAGER_H__ */
103 /** @} */