Changeset 5203
- Timestamp:
- Sep 29, 2005, 3:34:45 PM (21 years ago)
- Location:
- trunk/psLib
- Files:
-
- 3 edited
-
src/types/psMetadata.c (modified) (3 diffs)
-
src/types/psMetadata.h (modified) (3 diffs)
-
test/types/tst_psMetadata_07.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/types/psMetadata.c
r5194 r5203 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.8 6$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-09- 29 23:30:32$14 * @version $Revision: 1.87 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-09-30 01:34:45 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 183 183 METADATAITEM_ALLOC_TYPE(S32,psS32,PS_DATA_S32) 184 184 METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_DATA_BOOL) 185 186 psMetadataItem* psMetadataItemAllocPtr(const char *name, 187 psDataType type, 188 const char *comment, 189 psPtr value) 190 { 191 return (psMetadataItemAlloc(name, type, comment, value)); 192 } 193 185 194 186 195 psMetadataItem* psMetadataItemAllocV(const char *name, … … 465 474 METADATA_ADD_TYPE(Array,psArray*,PS_DATA_ARRAY) 466 475 METADATA_ADD_TYPE(Time,psTime*,PS_DATA_TIME) 476 //METADATA_ADD_TYPE(Ptr,psPtr,PS_DATA_UNKNOWN) 477 478 bool psMetadataAddPtr(psMetadata *md, 479 long location, 480 const char *name, 481 psDataType type, 482 const char *comment, 483 psPtr value) 484 { 485 return (psMetadataAdd(md, location, name, type, comment, value) ); 486 487 } 467 488 468 489 bool psMetadataRemove(psMetadata *md, -
trunk/psLib/src/types/psMetadata.h
r5194 r5203 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.6 7$ $Name: not supported by cvs2svn $14 * @date $Date: 2005-09- 29 23:30:32$13 * @version $Revision: 1.68 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-09-30 01:34:45 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 212 212 ); 213 213 214 /** Create a metadata item with specified psPtr data. 215 * 216 * Returns a fill psMetadataItem ready for insertion into the psMetadata 217 * struct. 218 * 219 * @return psMetadataItem* : Pointer metadata item. 220 */ 221 psMetadataItem* psMetadataItemAllocPtr( 222 const char* name, ///< Name of metadata item. 223 psDataType type, ///< Data type of metadata item. 224 const char* comment, ///< Comment for metadata item. 225 psPtr value ///< the value of the metadata item. 226 ); 227 214 228 #ifndef SWIG 215 229 /** Create a metadata item with va_list. … … 472 486 ); 473 487 488 /** Add a psPtr to metadata collection. 489 * 490 * @return bool: True for success, False for failure. 491 */ 492 psBool psMetadataAddPtr( 493 psMetadata* md, ///< Metadata collection to insert metadata item 494 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL 495 const char* name, ///< Name of metadata item 496 psDataType type, ///< psDataType for metadata item 497 const char* comment, ///< Comment for metadata item 498 psPtr value ///< Unknown for metadata item data 499 ); 500 474 501 /** Add Metadata to metadata collection. 475 502 * -
trunk/psLib/test/types/tst_psMetadata_07.c
r5194 r5203 10 10 * Test E - psMetadataConfigWrite (also tests psMetadataConfigFormat) 11 11 * Test F - psMetadataRemoveKey, RemoveIndex 12 * Test G - psMetadataAddPtr, psMetadataItemAllocPtr 12 13 * 13 14 * @author David Robbins, MHPCC 14 15 * 15 * @version $Revision: 1. 9$ $Name: not supported by cvs2svn $16 * @date $Date: 2005-09- 29 23:30:32$16 * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 17 * @date $Date: 2005-09-30 01:34:45 $ 17 18 * 18 19 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 27 28 static psS32 testMetaWrite(void); 28 29 static psS32 testMetaRemove(void); 30 static psS32 testMetaAddPtr(void); 29 31 30 32 testDescription tests[] = { … … 32 34 {testMetaWrite, 0, "Test psMetadataConfigWrite", 0, false}, 33 35 {testMetaRemove, 0, "Test psMetadataRemoveKey/Index", 0, false}, 36 {testMetaAddPtr, 0, "Test psMetadataAddPtr", 0, false}, 34 37 {NULL} 35 38 }; … … 156 159 return 0; 157 160 } 161 162 psS32 testMetaAddPtr(void) 163 { 164 bool status; 165 psVector *vecptr = NULL; 166 psVector *vecptr2 = NULL; 167 vecptr = psVectorAlloc(5, PS_TYPE_S32); 168 vecptr->data.S32[0] = 666; 169 psMetadata *md = NULL; 170 md = psMetadataAlloc(); 171 psMetadataItem *item = NULL; 172 psMetadataItem *item2 = NULL; 173 item = psMetadataItemAllocPtr("itemptr", PS_DATA_STRING, "", "Devil String"); 174 status = psMetadataAddPtr(md, PS_LIST_HEAD, "vecptr", PS_DATA_VECTOR, 175 "this is a vector comment", vecptr); 176 if (!status) { 177 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 178 "Unable to add psPtr (vector) to metadata.\n"); 179 return 1; 180 } 181 status = false; 182 vecptr2 = (psVector*)psMetadataLookupPtr(&status, md, "vecptr"); 183 if (!status) { 184 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 185 "Unable to retrieve psPtr (vector) from metadata.\n"); 186 return 2; 187 } 188 if (vecptr2->data.S32[0] != 666) { 189 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 190 "Failed to retrieve correct psPtr (vector) from metadata.\n"); 191 return 3; 192 } 193 status = false; 194 if (item == NULL) { 195 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 196 "Unable to Alloc psPtr (string) metadata item .\n"); 197 return 5; 198 } 199 if ( !psMetadataAddItem(md, item, PS_LIST_TAIL, 0) ) { 200 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 201 "Unable to add psPtr (string) metadata item to metadata.\n"); 202 return 6; 203 } 204 item2 = psMetadataGet(md, PS_LIST_TAIL); 205 if (item2 == NULL) { 206 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 207 "Unable to retrieve psPtr (string) metadata item .\n"); 208 return 7; 209 } 210 if ( strncmp((char*)item2->data.V, "Devil String", 20) ) { 211 psError(PS_ERR_BAD_PARAMETER_VALUE, false, 212 "Unable to retrieve correct psPtr (string) metadata item .\n"); 213 printf("\n string = %s \n", (char*)item2->data.V); 214 return 8; 215 } 216 217 psFree(item); 218 psFree(vecptr); 219 psFree(md); 220 return 0; 221 222 }
Note:
See TracChangeset
for help on using the changeset viewer.
