1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2012 - Scilab Enterprises - Antoine ELIAS
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15 #ifndef __GATEWAYSTRUCT_HXX__
16 #define __GATEWAYSTRUCT_HXX__
17 
18 #include "internal.hxx"
19 #include "visitor.hxx"
20 #include <string>
21 
22 #ifdef _MSC_VER
23 #pragma warning(disable: 4251)
24 #endif
25 
26 namespace types
27 {
28 class EXTERN_AST GatewayStruct
29 {
30 public :
31     types::typed_list*      m_pIn;
32     optional_list*          m_pOpt;
33     types::InternalType**   m_pOut;
34     int                     m_iIn;
35     int                     m_iOut;
36     int*                    m_piRetCount;
37     const char*             m_pstName;
38     int*                    m_pOutOrder;
39 
GatewayStruct()40     GatewayStruct(): m_pIn(nullptr), m_pOpt(nullptr), m_pOut(nullptr), m_iIn(0), m_iOut(0), m_piRetCount(nullptr), m_pstName(nullptr), m_pOutOrder(nullptr) {};
~GatewayStruct()41     ~GatewayStruct() {};
42 };
43 
44 struct EXTERN_AST GatewayCStruct
45 {
46     std::string     name;
47     std::wstring    lasterror;
48 };
49 }
50 #endif /* !__GATEWAYSTRUCT_HXX__ */
51