Xcos MVC: move ports get/set/update in a separate file
[scilab.git] / scilab / modules / scicos / src / cpp / view_scilab / ports_management.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
4  *  Copyright (C) 2014 - Scilab Enterprises - Clement DAVID
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-en.txt
11  *
12  */
13
14 #ifndef PORTS_MANAGEMENT_HXX_
15 #define PORTS_MANAGEMENT_HXX_
16
17 #include <string>
18 #include <vector>
19
20 #include "internal.hxx"
21
22 #include "Controller.hxx"
23 #include "GraphicsAdapter.hxx"
24
25 namespace org_scilab_modules_scicos
26 {
27 namespace view_scilab
28 {
29
30 /*
31  * Return a Scilab encoded value for a property.
32  */
33 types::InternalType* get_ports_property(const GraphicsAdapter& adaptor, object_properties_t port_kind, const Controller& controller, object_properties_t p);
34
35 /*
36  * Set a Scilab encoded values as a property.
37  *
38  * \note this method will return false if one of the ports does not exist
39  */
40 bool set_ports_property(const GraphicsAdapter& adaptor, object_properties_t port_kind, Controller& controller, object_properties_t p, types::InternalType* v);
41
42 /**
43  * Update the ports with a specific property.
44  *
45  * Create ports if needed, remove ports if needed and set a default property on each port.
46  */
47 bool update_ports_with_property(const GraphicsAdapter& adaptor, object_properties_t port_kind, Controller& controller, object_properties_t p, types::InternalType* v);
48
49
50 } /* view_scilab */
51 } /* namespace org_scilab_modules_scicos */
52
53 #endif /* PORTS_MANAGEMENT_HXX_ */