Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/kernel.git] / src / HDFPersist / test1.c
1 // Copyright (C) 2005  OPEN CASCADE, CEA, EDF R&D, LEG
2 //           PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either 
6 // version 2.1 of the License.
7 // 
8 // This library is distributed in the hope that it will be useful 
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 // Lesser General Public License for more details.
12 // 
13 // You should have received a copy of the GNU Lesser General Public  
14 // License along with this library; if not, write to the Free Software 
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 // 
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 // 
19 /*----------------------------------------------------------------------------
20 SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
21   File   : test1.c
22   Module : SALOME
23 ----------------------------------------------------------------------------*/
24
25 #include"hdfi.h"
26 #include<stdlib.h>
27
28 #define MESSAGE(msg) printf(msg);
29 //__FILE__,":[",__LINE__,"]: ",
30
31 int main() {
32   hdf_idt fid,gid,did,atid;
33   hdf_err ret;
34   hdf_size size[1];
35   hdf_int32 data[10] = { 1,2,3,4,5,6,7,8,9,10};
36   hdf_int32 attr_val = 2; 
37   
38   system("rm titi.HDF");
39
40   HDFerrorModeLock();
41   
42   if  ((fid = HDFfileCreate("titi.HDF")) < 0)
43     return -1;
44   MESSAGE("Creation du fichier")
45
46   if ((gid = HDFgroupCreate(fid,"GROUP")) < 0)
47     return -1;
48   MESSAGE("Creation d'un groupe")
49
50   if ((atid = HDFattrCreate(gid,"ATTR",HDF_INT32))< 0)
51     return -1;
52   MESSAGE("Creation d'un attribut")
53
54   if ((ret = HDFattrWrite(atid,&attr_val)) < 0)
55     return -1;
56   MESSAGE("Ecriture de l'attribut")
57  
58   if ((ret = HDFattrClose(atid))  < 0)
59     return -1;
60   MESSAGE("Fermeture de l'attribut")
61
62   size[0] = 10;
63   if ((did = HDFdatasetCreate(gid,"DATASET",HDF_INT32,size)) < 0)
64     return -1;
65   MESSAGE("Creation d'un dataset")
66
67   if ((ret = HDFdatasetWrite(did,data)) < 0)
68     return -1;
69   MESSAGE("Ecriture du dataset")
70
71   if ((ret = HDFdatasetClose(did)) < 0)
72     return -1;
73   MESSAGE("Fermeture du datset")
74
75   if ((ret = HDFgroupClose(gid)) < 0)
76     return -1;
77   MESSAGE("Fermeture du groupe")
78
79   if ((ret = HDFfileClose(fid)) < 0)
80     return ret; 
81   MESSAGE("Fermeture du fichier")
82
83   if  ((fid = HDFfileCreate("toto.HDF")) < 0)
84     return -1;
85   MESSAGE("Creation du fichier")
86
87   if ((ret = HDFfileClose(fid)) < 0)
88     return ret; 
89   MESSAGE("Fermeture du fichier")
90   
91   
92   return 0;
93 }