Salome HOME
First stable version after merging with V3_2_2
[modules/kernel.git] / src / HDFPersist / test2.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   : test2.c
22   Module : SALOME
23 ----------------------------------------------------------------------------*/
24
25 #include"hdfi.h"
26 #include<stdlib.h>
27
28 int main() {
29   hdf_idt fid,gid,did,atid;
30   hdf_err ret;
31   hdf_size size[1];
32   hdf_int32 data[10];
33   int attr_val;
34   int i;
35
36   HDFerrorModeLock();
37   
38   if  ((fid = HDFfileOpen("titi.HDF",HDF_RDONLY)) < 0)
39     return -1;
40   MESSAGE("Ouverture du fichier")
41
42   if ((gid = HDFgroupOpen(fid,"GROUP")) < 0)
43     return -1;
44   MESSAGE("Ouverture du goupe")
45
46   if ((atid = HDFattrOpen(gid,"ATTR"))< 0)
47     return -1;
48   MESSAGE("Ouverture de l'attribut du goupe")
49
50   if ((ret = HDFattrRead(atid,&attr_val)) < 0) 
51     return -1;
52   MESSAGE("Lecture de l'attribut du goupe : " << attr_val)
53
54   if ((ret = HDFattrClose(atid))  < 0)
55     return -1;
56   MESSAGE("Fermeture de l'attribut du goupe")
57
58   if ((did = HDFdatasetOpen(gid,"DATASET")) < 0)
59     return -1;
60   MESSAGE("Ouverture du dataset")
61
62   if ((ret = HDFdatasetRead(did,data)) < 0)
63     return -1;
64   MESSAGE("Lecture du dataset")
65   for (i=0;i<10;i++)
66     MESSAGE(data[i])
67
68   if ((ret = HDFdatasetClose(did)) < 0)
69     return -1;
70   MESSAGE("Fermeture du dataset")
71
72   if ((ret = HDFgroupClose(gid)) < 0)
73     return -1;
74   MESSAGE("Fermeture du groupe")
75   
76   if ((ret = HDFfileClose(fid)) < 0)
77     return ret;
78   MESSAGE("Fermeture du fichier")
79   
80   return 0;
81 }