Back to index

salome-kernel  6.5.0
HDFobjectIdentify.c
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 /*----------------------------------------------------------------------------
00024 SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
00025   File   : HDFobjectIdentify.c
00026   Module : SALOME
00027 ----------------------------------------------------------------------------*/
00028 
00029 #include "hdfi.h"
00030 #include <string.h>
00031 
00032 /*
00033  * - Name: HDFobjectIdentify
00034  * - Description : find the name of the HDF object of rank "i" in the HDF
00035  *     group "path"
00036  * - Parameters :
00037  *     - fid     (IN)     : l'ID du fichier o
00038  *     - path  (IN)       : group access path
00039  *     - i (IN)           : access rank
00040  *     - name (OUT)       : expected name
00041  * - Result : 
00042  *     - if sucess : 0
00043  *     - if failure : -1
00044  */ 
00045 
00046 hdf_err RankInfo(hdf_idt id, const char *name, void *data);
00047 
00048 hdf_err HDFobjectIdentify(hdf_idt fid,const char *path,int i,char *name)
00049 {
00050   int idx;
00051 
00052   if ((idx = H5Giterate(fid,path,&i,RankInfo,
00053                         name)) < 0)
00054     return -1;
00055 
00056   return 0;
00057 }
00058 
00059 
00060 hdf_err RankInfo(hdf_idt id, const char *name, void *data)
00061 {
00062   if ( data )
00063     strcpy( (char*)data, name );
00064   else 
00065     return -1;
00066 
00067   return 1;
00068 }