libandroidplugin added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / VP_Stages / vp_stages_io_file.h
1 /**
2  *  \brief    VP Stages. File stage declaration
3  *  \author   Sylvain Gaeremynck <sylvain.gaeremynck@parrot.fr>
4  *  \author   Aurelien Morelle <aurelien.morelle@parrot.fr>
5  *  \author   Thomas Landais <thomas.landais@parrot.fr>
6  *  \version  2.0
7  *  \date     first release 16/03/2007
8  *  \date     modification  19/03/2007
9  */
10
11 ///////////////////////////////////////////////
12 // INCLUDES
13
14 #ifndef _VP_STAGES_IO_FILE_H_
15 #define _VP_STAGES_IO_FILE_H_
16
17
18 /**
19  * @defgroup VP_SDK
20  * @{ */
21
22 /**
23  * @defgroup VP_Stages
24  * @{ */
25
26 /**
27  * @defgroup vp_stages_io_file input/output file stage
28  * @{ */
29
30 #include <VP_Api/vp_api.h>
31 #include <stdio.h>
32
33 ///////////////////////////////////////////////
34 // TYEPDEFS
35
36 typedef struct _vp_stages_input_file_config_
37 {
38   char *name;
39   FILE *f;
40   uint32_t buffer_size;
41   bool_t loop;
42 } vp_stages_input_file_config_t;
43
44 typedef struct _vp_stages_output_file_config_
45 {
46   char *name;
47   FILE *f;
48   uint32_t flush_every_nb;
49
50 } vp_stages_output_file_config_t;
51
52
53 ///////////////////////////////////////////////
54 // FUNCTIONS
55
56 /**
57  * @fn      Open the input file stage
58  * @param   vp_stages_input_file_config_t *cfg
59  * @todo    A COMMENTER + Verification de l'open
60  * @return  VP_SUCCESS
61  */
62 C_RESULT
63 vp_stages_input_file_stage_open(vp_stages_input_file_config_t *cfg);
64
65 /**
66  * @fn      Transform the input file stage
67  * @param   vp_stages_input_file_config_t *cfg
68  * @param   vp_api_io_data_t *in
69  * @param   vp_api_io_data_t *out
70  * @todo    A COMMENTER
71  * @return  VP_SUCCESS
72  */
73 C_RESULT
74 vp_stages_input_file_stage_transform(vp_stages_input_file_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
75
76 /**
77  * @fn      Close the input file stage
78  * @param   vp_stages_input_file_config_t *cfg
79  * @todo    A COMMENTER
80  * @return  VP_SUCCESS
81  */
82 C_RESULT
83 vp_stages_input_file_stage_close(vp_stages_input_file_config_t *cfg);
84
85
86 /**
87  * @fn      Open the output file stage
88  * @param   vp_stages_output_file_config_t *cfg
89  * @todo    A COMMENTER
90  * @return  VP_SUCCESS
91  */
92 C_RESULT
93 vp_stages_output_file_stage_open(vp_stages_output_file_config_t *cfg);
94
95 /**
96  * @fn      Open the output file stage
97  * @param   vp_stages_output_file_config_t *cfg
98  * @param   vp_api_io_data_t *in
99  * @param   vp_api_io_data_t *out
100  * @todo    A COMMENTER
101  * @return  VP_SUCCESS
102  */
103 C_RESULT
104 vp_stages_output_file_stage_transform(vp_stages_output_file_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
105
106 /**
107  * @fn      Open the output file stage
108  * @param   vp_stages_output_file_config_t *cfg
109  * @todo    A COMMENTER
110  * @return  VP_SUCCESS
111  */
112 C_RESULT
113 vp_stages_output_file_stage_close(vp_stages_output_file_config_t *cfg);
114
115 // vp_stages_io_file
116 /** @} */
117 // VP_Stages
118 /** @} */
119 // VP_SDK
120 /** @} */
121
122 #endif // ! _VP_STAGES_IO_FILE_H_