tclsci plugged
[scilab.git] / scilab / modules / core / includes / storeCommand.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007-2008 - INRIA
4  * Copyright (C) 2008-2008 - Bruno JOFRET
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  */
13
14 #ifndef __STORECOMMAND_H__
15 #define __STORECOMMAND_H__
16
17 enum command_origin_t
18 {
19     NONE,
20     CONSOLE, // command from console
21     TCLSCI   // command from tclsci using ScilabEval interpreter
22 };
23
24 /**
25  * Store a non-prioritary and interruptible command
26  *
27  * @param command           : command wich will be stored
28  * @param piInterruptible   : 1 if it is a interruptible command
29  * @param piPrioritary      : 1 if it is a prioritary command
30  * @param iCmdorigin        : origine of the command
31  * @return <ReturnValue>
32  */
33 int StoreCommandWithFlags(char* command, int iPrioritary, int iInterruptible, enum command_origin_t iCmdorigin);
34
35 /**
36  * Store a non-prioritary and interruptible command
37  *
38  * @param command : the command
39  * @return <ReturnValue>
40  */
41 int StoreCommand(char *command);
42
43 /**
44  * Store a prioritary and interruptible command
45  *
46  * @param command : the command
47  * @return <ReturnValue>
48  */
49
50 int StoreConsoleCommand(char *command, int iWaitFor);
51 /**
52  * Store a prioritary and non-interruptible command
53  *
54  * @param command : the command
55  * @return <ReturnValue>
56  */
57 int StorePrioritaryCommand(char *command);
58
59 /**
60  * Get the next command to execute
61  *
62  * @param command           : command wich will be executed
63  * @param piInterruptible   : 1 if it is a interruptible command
64  * @param piPrioritary      : 1 if it is a prioritary command
65  * @param iCmdorigin        : origine of the command
66  * @return <ReturnValue>    : 0 if command queue is empty
67  */
68 int GetCommand(char** command, int* piPrioritary, int* piInterruptible, enum command_origin_t* iCmdorigin);
69
70 /**
71 * check if command queue is empty
72 * @return 1 if empty , 0 is not empty
73 */
74 int isEmptyCommandQueue(void);
75
76 /*
77  * Checks if there's something on the
78  * commandQueue
79  * @return
80  */
81 int ismenu(void);
82
83
84 #endif /* __STORECOMMAND_H__ */