Tizen 2.0 Release
[framework/system/oma-dm-agent.git] / include / dm-engine / fumo / fumo_engine.h
1 /*
2  * oma-dm-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #ifndef FUMO_ENGINE_H_
19 #define FUMO_ENGINE_H_
20
21 /*dm-agent*/
22 #include "common/dm_error.h"
23 #include "dm-engine/fumo/fumo_engine_internal.h"
24
25 /**
26  * @par Description: API to execute fumo operation
27  *
28  *
29  * @par Purpose:
30  * @par Typical use case:
31  * @par Method of function operation:
32  * @par Important notes:
33  * @param[in]   full_path                                       mo full path
34  * @param[in]   value                                                   value
35  * @param[out]  fumo_return                             fumo return value
36  *
37  * @return              DM_OK                                                   success
38  *                                      DM_ERRORS                                       fail
39  *
40  * @par Errors:
41  *
42  * @pre None.
43  * @post
44  * @see
45  * @remarks None.
46  *
47  * @par Sample Code:
48  * @code
49  * @endcode
50  */
51 DM_ERROR fumo_exec(char *full_path, char *value, FUMO_Error * fumo_return);
52
53 /**
54  * @par Description: API to operate firmware download
55  *
56  *
57  * @par Purpose:
58  * @par Typical use case:
59  * @par Method of function operation:
60  * @par Important notes:
61  * @param[in]   full_path                                       mo full path
62  * @param[out]  fumo_return                             fumo return value
63  *
64  * @return              DM_OK                                                   success
65  *                                      DM_ERRORS                                       fail
66  *
67  * @par Errors:
68  *
69  * @pre None.
70  * @post
71  * @see
72  * @remarks None.
73  *
74  * @par Sample Code:
75  * @code
76  * @endcode
77  */
78 DM_ERROR firmware_download_opeartion(char *full_path, FUMO_Error * fumo_return);
79
80 /**
81  * @par Description: API to operate firmware update
82  *
83  *
84  * @par Purpose:
85  * @par Typical use case:
86  * @par Method of function operation:
87  * @par Important notes:
88  * @param[in]   full_path                                       mo full path
89  * @param[out]  fumo_return                             fumo return value
90  *
91  * @return              DM_OK                                                   success
92  *                                      DM_ERRORS                                       fail
93  *
94  * @par Errors:
95  *
96  * @pre None.
97  * @post
98  * @see
99  * @remarks None.
100  *
101  * @par Sample Code:
102  * @code
103  * @endcode
104  */
105 DM_ERROR firmware_update_operation(char *full_path, FUMO_Error * fumo_return);
106
107 /**
108  * @par Description: API to operate firmware download&update
109  *
110  *
111  * @par Purpose:
112  * @par Typical use case:
113  * @par Method of function operation:
114  * @par Important notes:
115  * @param[in]   full_path                                       mo full path
116  * @param[out]  fumo_return                             fumo return value
117  *
118  * @return              DM_OK                                                   success
119  *                                      DM_ERRORS                                       fail
120  *
121  * @par Errors:
122  *
123  * @pre None.
124  * @post
125  * @see
126  * @remarks None.
127  *
128  * @par Sample Code:
129  * @code
130  * @endcode
131  */
132 DM_ERROR firmware_downloadupdate_operation(char *full_path, FUMO_Error * fumo_return);
133
134 /**
135  * @par Description: API to operate firmware EXT
136  *
137  *
138  * @par Purpose:
139  * @par Typical use case:
140  * @par Method of function operation:
141  * @par Important notes:
142  * @param[in]   full_path                                       mo full path
143  * @param[out]  fumo_return                             fumo return value
144  *
145  * @return              DM_OK                                                   success
146  *                                      DM_ERRORS                                       fail
147  *
148  * @par Errors:
149  *
150  * @pre None.
151  * @post
152  * @see
153  * @remarks None.
154  *
155  * @par Sample Code:
156  * @code
157  * @endcode
158  */
159 DM_ERROR vendor_dependency_firmware_operation(char *full_path, FUMO_Error * fumo_return);
160
161 /**
162  * @par Description: API to fumo engine operation (engine state flow)
163  *
164  *
165  * @par Purpose:
166  * @par Typical use case:
167  * @par Method of function operation:
168  * @par Important notes:
169  * @param[in]   full_path                                       mo full path
170  * @param[in]   down_server                             down server url
171  * @param[in]   fumo_state                              fumo state
172  * @param[out]  fumo_return                             fumo return value
173  *
174  * @return              DM_OK                                                   success
175  *                                      DM_ERRORS                                       fail
176  *
177  * @par Errors:
178  *
179  * @pre None.
180  * @post
181  * @see
182  * @remarks None.
183  *
184  * @par Sample Code:
185  * @code
186  * @endcode
187  */
188 DM_ERROR fumo_engine_state_operation(char *full_path, char *down_server, FUMO_Error * fumo_return);
189
190 /**
191  * @par Description: API to get current fumo state
192  *
193  *
194  * @par Purpose:
195  * @par Typical use case:
196  * @par Method of function operation:
197  * @par Important notes:
198  * @param[in]   full_path                                               mo full path
199  * @param[out]  fumo_state_data                 fumo state data
200  *
201  * @return              DM_OK                                                   success
202  *                                      DM_ERRORS                                       fail
203  *
204  * @par Errors:
205  *
206  * @pre None.
207  * @post
208  * @see
209  * @remarks None.
210  *
211  * @par Sample Code:
212  * @code
213  * @endcode
214  */
215 DM_ERROR get_current_fumo_state(char *full_path, char **fumo_state_data);
216
217 /**
218  * @par Description: API to set current fumo state
219  *
220  *
221  * @par Purpose:
222  * @par Typical use case:
223  * @par Method of function operation:
224  * @par Important notes:
225  * @param[in]   full_path                                               mo full path
226  * @param[in]   fumo_state_data                 fumo state data
227  *
228  * @return              DM_OK                                                   success
229  *                                      DM_ERRORS                                       fail
230  *
231  * @par Errors:
232  *
233  * @pre None.
234  * @post
235  * @see
236  * @remarks None.
237  *
238  * @par Sample Code:
239  * @code
240  * @endcode
241  */
242 DM_ERROR set_current_fumo_state(char *full_path, FUMO_State fumo_status);
243
244 #endif                          /* FUMO_ENGINE_H_ */