source: XMLIO_V2/dev/dev_rv/src4/xmlio/fortran/xml_tree.f90 @ 242

Last change on this file since 242 was 242, checked in by hozdoba, 10 years ago

Ajout d'une partie d'Interface fortran pour la version 4

File size: 4.3 KB
Line 
1MODULE XML_TREE
2   USE, INTRINSIC :: ISO_C_BINDING
3     
4   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
5     
6      SUBROUTINE xios_xml_tree_add_field(parent_, child_, child_id, child_id_size) BIND(C)
7         import C_CHAR, C_INT, C_INTPTR_T
8         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
9         INTEGER  (kind = C_INTPTR_T)               :: child_
10         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
11         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
12      END SUBROUTINE xios_xml_tree_add_field
13     
14      SUBROUTINE xios_xml_tree_add_grid(parent_, child_, child_id, child_id_size) BIND(C)
15         import C_CHAR, C_INT, C_INTPTR_T
16         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
17         INTEGER  (kind = C_INTPTR_T)               :: child_
18         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
19         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
20      END SUBROUTINE xios_xml_tree_add_grid
21     
22      SUBROUTINE xios_xml_tree_add_file(parent_, child_, child_id, child_id_size) BIND(C)
23         import C_CHAR, C_INT, C_INTPTR_T
24         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
25         INTEGER  (kind = C_INTPTR_T)               :: child_
26         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
27         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
28      END SUBROUTINE xios_xml_tree_add_file
29     
30      SUBROUTINE xios_xml_tree_add_axis(parent_, child_, child_id, child_id_size) BIND(C)
31         import C_CHAR, C_INT, C_INTPTR_T
32         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
33         INTEGER  (kind = C_INTPTR_T)               :: child_
34         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
35         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
36      END SUBROUTINE xios_xml_tree_add_axis
37     
38      SUBROUTINE xios_xml_tree_add_domain(parent_, child_, child_id, child_id_size) BIND(C)
39         import C_CHAR, C_INT, C_INTPTR_T
40         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
41         INTEGER  (kind = C_INTPTR_T)               :: child_
42         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
43         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
44      END SUBROUTINE xios_xml_tree_add_domain
45     
46      SUBROUTINE xios_xml_tree_add_fieldtofile(parent_, child_, child_id, child_id_size) BIND(C)
47         import C_CHAR, C_INT, C_INTPTR_T
48         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
49         INTEGER  (kind = C_INTPTR_T)               :: child_
50         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
51         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
52      END SUBROUTINE xios_xml_tree_add_fieldtofile   
53
54      SUBROUTINE xios_xml_tree_show(filename, filename_size) BIND(C)
55         import C_CHAR, C_INT
56         CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename
57         INTEGER  (kind = C_INT) , VALUE        :: filename_size
58      END SUBROUTINE xios_xml_tree_show
59
60      SUBROUTINE xios_xml_parse_file(filename, filename_size) BIND(C)
61         import C_CHAR, C_INT
62         CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename
63         INTEGER  (kind = C_INT) , VALUE        :: filename_size
64      END SUBROUTINE xios_xml_parse_file
65
66      SUBROUTINE xios_xml_parse_string(xmlcontent, xmlcontent_size) BIND(C)
67         import C_CHAR, C_INT
68         CHARACTER(kind = C_CHAR), DIMENSION(*) :: xmlcontent
69         INTEGER  (kind = C_INT) , VALUE        :: xmlcontent_size
70      END SUBROUTINE xios_xml_parse_string
71     
72   END INTERFACE
73   
74   CONTAINS ! Fonctions disponibles pour les utilisateurs.
75     
76   SUBROUTINE xml_tree_show(filename)
77      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: filename
78      IF (PRESENT(filename)) THEN
79         CALL xios_xml_tree_show(filename, len(filename))
80      ELSE
81         CALL xios_xml_tree_show("NONE", -1)
82      END IF
83   END SUBROUTINE xml_tree_show
84   
85   SUBROUTINE xml_parse_file(filename)
86      CHARACTER(len = *), INTENT(IN) :: filename
87      CALL xios_xml_parse_file(filename, len(filename))
88   END SUBROUTINE xml_Parse_File
89   
90   SUBROUTINE xml_parse_string(xmlcontent)
91      CHARACTER(len = *), INTENT(IN) :: xmlcontent
92      CALL xios_xml_parse_string(xmlcontent, len(xmlcontent))
93   END SUBROUTINE xml_Parse_String
94     
95END MODULE XML_TREE
Note: See TracBrowser for help on using the repository browser.