00001 #include <stdlib.h>
00002 #include "memory.h"
00003 #include "nmd.h"
00004
00005
00006
00007 int main(int argc,char **argv) {
00008 NMD_metadata nmd,nmd2; NMDErrorCode ierr;
00009 int i=5;
00010 PetscFunctionBegin;
00011 PetscInitialize(&argc,&argv,0,0);
00012
00013 ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00014 ierr = NMDCreateObject(&nmd2); NMD_ERR_RETURN(ierr);
00015
00016 ierr = NMDSetValue(nmd,"cat1","cmp1",NMDInt,&i); NMD_ERR_RETURN(ierr);
00017 ierr = NMDObjectEnsureCategoryComponent
00018 (nmd,"cat1","cmp2",NMDReal,NULL); NMD_ERR_RETURN(ierr);
00019
00020 ierr = NMDCloneObject(nmd,nmd2); NMD_ERR_RETURN(ierr);
00021 {
00022 char *s1,*s2;
00023
00024 ierr = NMDReportObject(nmd,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00025 printf("original keys:\n%s\nvalues:\n%s\n",s1,s2);
00026 NMD_FREE(s1);
00027 NMD_FREE(s2);
00028
00029 ierr = NMDReportObject(nmd2,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00030 printf("clone keys:\n%s\nvalues:\n%s\n",s1,s2);
00031 NMD_FREE(s1);
00032 NMD_FREE(s2);
00033 }
00034
00035 ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00036 ierr = NMDDestroyObject(nmd2); NMD_ERR_RETURN(ierr);
00037
00038 PetscFinalize();
00039 PetscFunctionReturn(0);
00040 }