IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 2648


Ignore:
Timestamp:
Dec 7, 2004, 9:09:18 AM (22 years ago)
Author:
harman
Message:

Added new functions in SDRS 10

Location:
trunk/psLib/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/astronomy/psAstronomyErrors.dat

    r2607 r2648  
    3636#
    3737psMetadata_METATYPE_INVALID            Specified psMetadataType, %d, is not supported.
     38psMetadata_METATYPE_MISMATCH           Specified psMetadataType, %d, is incorrect. Expected %d.
    3839psMetadata_ADD_LIST_FAILED             Failed to add metadata item, %s, to items list.
    3940psMetadata_ADD_TABLE_FAILED            Failed to add metadata item, %s, to items table.
  • trunk/psLib/src/astronomy/psAstronomyErrors.h

    r2607 r2648  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2004-12-03 23:14:13 $
     9 *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2004-12-07 19:09:18 $
    1111 *
    1212 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    5656#define PS_ERRORTEXT_psAstrometry_NONLINEAR_TRANSFORM "The %s transfrom is not linear.  Only linear transforms are supported."
    5757#define PS_ERRORTEXT_psMetadata_METATYPE_INVALID "Specified psMetadataType, %d, is not supported."
     58#define PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH "Specified psMetadataType, %d, is incorrect. Expected %d."
    5859#define PS_ERRORTEXT_psMetadata_ADD_LIST_FAILED "Failed to add metadata item, %s, to items list."
    5960#define PS_ERRORTEXT_psMetadata_ADD_TABLE_FAILED "Failed to add metadata item, %s, to items table."
  • trunk/psLib/src/astronomy/psMetadata.c

    r2607 r2648  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2004-12-03 23:14:28 $
     14*  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2004-12-07 19:09:05 $
    1616*
    1717*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    218218}
    219219
    220 psBool psMetadataAddItem(psMetadata *restrict md, psMetadataItem *restrict metadataItem, psS32 location)
     220psBool psMetadataAddItem(psMetadata *md, psMetadataItem *metadataItem, psS32 location)
    221221{
    222222    char * key = NULL;
     
    328328}
    329329
    330 psBool psMetadataAdd(psMetadata* restrict md, psS32 where, const char *name, psElemType pType,
     330psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
    331331                     psMetadataType type, const char *comment, ...)
    332332{
     
    349349}
    350350
    351 psBool psMetadataRemove(psMetadata* restrict md, psS32 where, const char *restrict key)
     351psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
    352352{
    353353    psList* mdList = NULL;
     
    421421}
    422422
    423 psMetadataItem* psMetadataLookup(psMetadata* restrict md, const char *restrict key)
     423psMetadataItem* psMetadataLookup(psMetadata *md, const char *key)
    424424{
    425425    psHash* mdTable = NULL;
     
    432432
    433433    mdTable = md->table;
    434 
    435434    entry = (psMetadataItem*)psHashLookup(mdTable, key);
    436     if (entry == NULL) {
    437         return NULL;
    438     }
    439435
    440436    return entry;
    441437}
    442438
    443 psMetadataItem* psMetadataGet(psMetadata* restrict md, psS32 where)
     439void* psMetadataLookupPtr(psMetadata *md, const char *key)
     440{
     441    void *value = NULL;
     442    psElemType pType;
     443    psMetadataItem *metadataItem = NULL;
     444
     445
     446    metadataItem = psMetadataLookup(md, key);
     447    PS_PTR_CHECK_NULL(metadataItem,NULL);
     448    pType = metadataItem->pType;
     449    value = metadataItem->data.V;
     450    if(pType != PS_TYPE_PTR) {
     451        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     452                PS_TYPE_PTR);
     453    }
     454
     455    return value;
     456}
     457
     458psS32 psMetadataLookupS32(psMetadata *md, const char *key)
     459{
     460    psS32 value = 0;
     461    psElemType pType;
     462    psMetadataItem *metadataItem = NULL;
     463
     464
     465    metadataItem = psMetadataLookup(md, key);
     466    PS_PTR_CHECK_NULL(metadataItem,0);
     467    pType = metadataItem->pType;
     468    value = metadataItem->data.S32;
     469    if(pType != PS_TYPE_S32) {
     470        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     471                PS_TYPE_S32);
     472    }
     473
     474    return value;
     475}
     476
     477psF64 psMetadataLookupF64(psMetadata *md, const char *key)
     478{
     479    psF64 value = 0.0;
     480    psElemType pType;
     481    psMetadataItem *metadataItem = NULL;
     482
     483
     484    metadataItem = psMetadataLookup(md, key);
     485    PS_PTR_CHECK_NULL(metadataItem,0.0);
     486    pType = metadataItem->pType;
     487    value = metadataItem->data.F64;
     488    if(pType != PS_TYPE_F64) {
     489        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     490                PS_TYPE_F64);
     491    }
     492
     493    return value;
     494}
     495
     496psMetadataItem* psMetadataGet(psMetadata *md, psS32 where)
    444497{
    445498    psMetadataItem* entry = NULL;
     
    457510}
    458511
    459 psBool psMetadataSetIterator(psMetadata* restrict md, psS32 where)
     512psBool psMetadataSetIterator(psMetadata *md, psS32 where)
    460513{
    461514    PS_PTR_CHECK_NULL(md,NULL);
     
    467520}
    468521
    469 psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, psS32 which)
     522psMetadataItem* psMetadataGetNext(psMetadata *md, const char *match, psS32 which)
    470523{
    471524    psList* mdList = NULL;
     
    497550}
    498551
    499 psMetadataItem* psMetadataGetPrevious(psMetadata* restrict md, const char *restrict match, psS32 which)
     552psMetadataItem* psMetadataGetPrevious(psMetadata *md, const char *match, psS32 which)
    500553{
    501554    psList* mdList = NULL;
  • trunk/psLib/src/astronomy/psMetadata.h

    r2607 r2648  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2004-12-03 23:14:34 $
     13*  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2004-12-07 19:08:58 $
    1515*
    1616*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    5656typedef struct psMetadata
    5757{
    58     psList* restrict list;             ///< the metadata in linked-list
    59     psHash* restrict table;            ///< the metadata in a hash table
     58    psList*  list;                     ///< Metadata in linked-list
     59    psHash*  table;                    ///< Metadata in a hash table
    6060}
    6161psMetadata;
     
    148148 */
    149149psBool psMetadataAddItem(
    150     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    151     psMetadataItem* restrict item,     ///< Metadata item to be added.
    152     psS32 location                     ///< Location to be added.
     150    psMetadata*  md,          ///< Metadata collection to insert metadat item.
     151    psMetadataItem*  item,    ///< Metadata item to be added.
     152    psS32 location            ///< Location to be added.
    153153);
    154154
     
    160160 */
    161161psBool psMetadataAdd(
    162     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    163     psS32 where,                       ///< Location to be added.
    164     const char *name,                  ///< Name of metadata item.
    165     psElemType pType,                  ///< Primitive type.
    166     psMetadataType type,               ///< Type of metadata item.
    167     const char *comment,               ///< Comment for metadata item.
    168     ...                                ///< Arguments for name formatting and metadata item data.
     162    psMetadata* md,           ///< Metadata collection to insert metadat item.
     163    psS32 where,              ///< Location to be added.
     164    const char *name,         ///< Name of metadata item.
     165    psElemType pType,         ///< Primitive type.
     166    psMetadataType type,      ///< Type of metadata item.
     167    const char *comment,      ///< Comment for metadata item.
     168    ...                       ///< Arguments for name formatting and metadata item data.
    169169);
    170170
     
    180180 */
    181181psBool psMetadataRemove(
    182     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    183     psS32 where,                       ///< Location to be removed.
    184     const char *restrict key           ///< Name of metadata key.
     182    psMetadata*  md,           ///< Metadata collection to remove metadata item.
     183    psS32 where,               ///< Location to be removed.
     184    const char * key           ///< Name of metadata key.
    185185);
    186186
     
    194194 */
    195195psMetadataItem* psMetadataLookup(
    196     psMetadata* restrict md,           ///< Metadata collection to insert metadata item.
    197     const char *restrict key           ///< Name of metadata key.
     196    psMetadata * md,           ///< Metadata collection to lookup metadata item.
     197    const char * key           ///< Name of metadata key.
     198);
     199
     200/** Find an item in the metadata collection based on key name and return its double precision value.
     201 *
     202 *  Items may be found in the metadata by providing a key. If the key is
     203 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     204 *  returned.
     205 *
     206 * @return psF64 : Value of metadata item.
     207 */
     208psF64 psMetadataLookupF64(
     209    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     210    const char *key            ///< Name of metadata key.
     211);
     212
     213/** Find an item in the metadata collection based on key name and return its integer value.
     214 *
     215 *  Items may be found in the metadata by providing a key. If the key is
     216 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     217 *  returned.
     218 *
     219 * @return psS32 : Value of metadata item.
     220 */
     221psS32 psMetadataLookupS32(
     222    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     223    const char *key            ///< Name of metadata key.
     224);
     225
     226/** Find an item in the metadata collection based on key name and return its integer value.
     227 *
     228 *  Items may be found in the metadata by providing a key. If the key is
     229 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     230 *  returned.
     231 *
     232 * @return void* : Value of metadata item.
     233 */
     234void* psMetadataLookupPtr(
     235    psMetadata* md,            ///< Metadata collection to lookup metadata item.
     236    const char *key            ///< Name of metadata key.
    198237);
    199238
     
    206245 */
    207246psMetadataItem* psMetadataGet(
    208     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    209     psS32 where                        ///< Location to be retrieved.
     247    psMetadata* md,           ///< Metadata collection to insert metadat item.
     248    psS32 where                ///< Location to be retrieved.
    210249);
    211250
     
    218257 */
    219258psBool psMetadataSetIterator(
    220     psMetadata* restrict md,           ///< Metadata collection to iterate.
    221     psS32 where                        ///< Location of iterator.
     259    psMetadata* md,           ///< Metadata collection to iterate.
     260    psS32 where                ///< Location of iterator.
    222261);
    223262
     
    229268 */
    230269psMetadataItem* psMetadataGetNext(
    231     psMetadata* restrict md,           ///< Metadata collection to iterate.
    232     const char *restrict match,        ///< Beginning of key name.
    233     psS32 which                        ///< Iterator to be used.
     270    psMetadata* md,           ///< Metadata collection to iterate.
     271    const char * match,        ///< Beginning of key name.
     272    psS32 which                ///< Iterator to be used.
    234273);
    235274
     
    241280 */
    242281psMetadataItem* psMetadataGetPrevious(
    243     psMetadata* restrict md,           ///< Metadata collection to iterate.
    244     const char *restrict match,        ///< Beginning of key name.
    245     psS32 which                        ///< Iterator to be used.
     282    psMetadata *md,            ///< Metadata collection to iterate.
     283    const char *match,         ///< Beginning of key name.
     284    psS32 which                ///< Iterator to be used.
    246285);
    247286
  • trunk/psLib/src/collections/psMetadata.c

    r2607 r2648  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2004-12-03 23:14:28 $
     14*  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2004-12-07 19:09:05 $
    1616*
    1717*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    218218}
    219219
    220 psBool psMetadataAddItem(psMetadata *restrict md, psMetadataItem *restrict metadataItem, psS32 location)
     220psBool psMetadataAddItem(psMetadata *md, psMetadataItem *metadataItem, psS32 location)
    221221{
    222222    char * key = NULL;
     
    328328}
    329329
    330 psBool psMetadataAdd(psMetadata* restrict md, psS32 where, const char *name, psElemType pType,
     330psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
    331331                     psMetadataType type, const char *comment, ...)
    332332{
     
    349349}
    350350
    351 psBool psMetadataRemove(psMetadata* restrict md, psS32 where, const char *restrict key)
     351psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
    352352{
    353353    psList* mdList = NULL;
     
    421421}
    422422
    423 psMetadataItem* psMetadataLookup(psMetadata* restrict md, const char *restrict key)
     423psMetadataItem* psMetadataLookup(psMetadata *md, const char *key)
    424424{
    425425    psHash* mdTable = NULL;
     
    432432
    433433    mdTable = md->table;
    434 
    435434    entry = (psMetadataItem*)psHashLookup(mdTable, key);
    436     if (entry == NULL) {
    437         return NULL;
    438     }
    439435
    440436    return entry;
    441437}
    442438
    443 psMetadataItem* psMetadataGet(psMetadata* restrict md, psS32 where)
     439void* psMetadataLookupPtr(psMetadata *md, const char *key)
     440{
     441    void *value = NULL;
     442    psElemType pType;
     443    psMetadataItem *metadataItem = NULL;
     444
     445
     446    metadataItem = psMetadataLookup(md, key);
     447    PS_PTR_CHECK_NULL(metadataItem,NULL);
     448    pType = metadataItem->pType;
     449    value = metadataItem->data.V;
     450    if(pType != PS_TYPE_PTR) {
     451        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     452                PS_TYPE_PTR);
     453    }
     454
     455    return value;
     456}
     457
     458psS32 psMetadataLookupS32(psMetadata *md, const char *key)
     459{
     460    psS32 value = 0;
     461    psElemType pType;
     462    psMetadataItem *metadataItem = NULL;
     463
     464
     465    metadataItem = psMetadataLookup(md, key);
     466    PS_PTR_CHECK_NULL(metadataItem,0);
     467    pType = metadataItem->pType;
     468    value = metadataItem->data.S32;
     469    if(pType != PS_TYPE_S32) {
     470        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     471                PS_TYPE_S32);
     472    }
     473
     474    return value;
     475}
     476
     477psF64 psMetadataLookupF64(psMetadata *md, const char *key)
     478{
     479    psF64 value = 0.0;
     480    psElemType pType;
     481    psMetadataItem *metadataItem = NULL;
     482
     483
     484    metadataItem = psMetadataLookup(md, key);
     485    PS_PTR_CHECK_NULL(metadataItem,0.0);
     486    pType = metadataItem->pType;
     487    value = metadataItem->data.F64;
     488    if(pType != PS_TYPE_F64) {
     489        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     490                PS_TYPE_F64);
     491    }
     492
     493    return value;
     494}
     495
     496psMetadataItem* psMetadataGet(psMetadata *md, psS32 where)
    444497{
    445498    psMetadataItem* entry = NULL;
     
    457510}
    458511
    459 psBool psMetadataSetIterator(psMetadata* restrict md, psS32 where)
     512psBool psMetadataSetIterator(psMetadata *md, psS32 where)
    460513{
    461514    PS_PTR_CHECK_NULL(md,NULL);
     
    467520}
    468521
    469 psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, psS32 which)
     522psMetadataItem* psMetadataGetNext(psMetadata *md, const char *match, psS32 which)
    470523{
    471524    psList* mdList = NULL;
     
    497550}
    498551
    499 psMetadataItem* psMetadataGetPrevious(psMetadata* restrict md, const char *restrict match, psS32 which)
     552psMetadataItem* psMetadataGetPrevious(psMetadata *md, const char *match, psS32 which)
    500553{
    501554    psList* mdList = NULL;
  • trunk/psLib/src/collections/psMetadata.h

    r2607 r2648  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2004-12-03 23:14:34 $
     13*  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2004-12-07 19:08:58 $
    1515*
    1616*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    5656typedef struct psMetadata
    5757{
    58     psList* restrict list;             ///< the metadata in linked-list
    59     psHash* restrict table;            ///< the metadata in a hash table
     58    psList*  list;                     ///< Metadata in linked-list
     59    psHash*  table;                    ///< Metadata in a hash table
    6060}
    6161psMetadata;
     
    148148 */
    149149psBool psMetadataAddItem(
    150     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    151     psMetadataItem* restrict item,     ///< Metadata item to be added.
    152     psS32 location                     ///< Location to be added.
     150    psMetadata*  md,          ///< Metadata collection to insert metadat item.
     151    psMetadataItem*  item,    ///< Metadata item to be added.
     152    psS32 location            ///< Location to be added.
    153153);
    154154
     
    160160 */
    161161psBool psMetadataAdd(
    162     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    163     psS32 where,                       ///< Location to be added.
    164     const char *name,                  ///< Name of metadata item.
    165     psElemType pType,                  ///< Primitive type.
    166     psMetadataType type,               ///< Type of metadata item.
    167     const char *comment,               ///< Comment for metadata item.
    168     ...                                ///< Arguments for name formatting and metadata item data.
     162    psMetadata* md,           ///< Metadata collection to insert metadat item.
     163    psS32 where,              ///< Location to be added.
     164    const char *name,         ///< Name of metadata item.
     165    psElemType pType,         ///< Primitive type.
     166    psMetadataType type,      ///< Type of metadata item.
     167    const char *comment,      ///< Comment for metadata item.
     168    ...                       ///< Arguments for name formatting and metadata item data.
    169169);
    170170
     
    180180 */
    181181psBool psMetadataRemove(
    182     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    183     psS32 where,                       ///< Location to be removed.
    184     const char *restrict key           ///< Name of metadata key.
     182    psMetadata*  md,           ///< Metadata collection to remove metadata item.
     183    psS32 where,               ///< Location to be removed.
     184    const char * key           ///< Name of metadata key.
    185185);
    186186
     
    194194 */
    195195psMetadataItem* psMetadataLookup(
    196     psMetadata* restrict md,           ///< Metadata collection to insert metadata item.
    197     const char *restrict key           ///< Name of metadata key.
     196    psMetadata * md,           ///< Metadata collection to lookup metadata item.
     197    const char * key           ///< Name of metadata key.
     198);
     199
     200/** Find an item in the metadata collection based on key name and return its double precision value.
     201 *
     202 *  Items may be found in the metadata by providing a key. If the key is
     203 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     204 *  returned.
     205 *
     206 * @return psF64 : Value of metadata item.
     207 */
     208psF64 psMetadataLookupF64(
     209    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     210    const char *key            ///< Name of metadata key.
     211);
     212
     213/** Find an item in the metadata collection based on key name and return its integer value.
     214 *
     215 *  Items may be found in the metadata by providing a key. If the key is
     216 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     217 *  returned.
     218 *
     219 * @return psS32 : Value of metadata item.
     220 */
     221psS32 psMetadataLookupS32(
     222    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     223    const char *key            ///< Name of metadata key.
     224);
     225
     226/** Find an item in the metadata collection based on key name and return its integer value.
     227 *
     228 *  Items may be found in the metadata by providing a key. If the key is
     229 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     230 *  returned.
     231 *
     232 * @return void* : Value of metadata item.
     233 */
     234void* psMetadataLookupPtr(
     235    psMetadata* md,            ///< Metadata collection to lookup metadata item.
     236    const char *key            ///< Name of metadata key.
    198237);
    199238
     
    206245 */
    207246psMetadataItem* psMetadataGet(
    208     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    209     psS32 where                        ///< Location to be retrieved.
     247    psMetadata* md,           ///< Metadata collection to insert metadat item.
     248    psS32 where                ///< Location to be retrieved.
    210249);
    211250
     
    218257 */
    219258psBool psMetadataSetIterator(
    220     psMetadata* restrict md,           ///< Metadata collection to iterate.
    221     psS32 where                        ///< Location of iterator.
     259    psMetadata* md,           ///< Metadata collection to iterate.
     260    psS32 where                ///< Location of iterator.
    222261);
    223262
     
    229268 */
    230269psMetadataItem* psMetadataGetNext(
    231     psMetadata* restrict md,           ///< Metadata collection to iterate.
    232     const char *restrict match,        ///< Beginning of key name.
    233     psS32 which                        ///< Iterator to be used.
     270    psMetadata* md,           ///< Metadata collection to iterate.
     271    const char * match,        ///< Beginning of key name.
     272    psS32 which                ///< Iterator to be used.
    234273);
    235274
     
    241280 */
    242281psMetadataItem* psMetadataGetPrevious(
    243     psMetadata* restrict md,           ///< Metadata collection to iterate.
    244     const char *restrict match,        ///< Beginning of key name.
    245     psS32 which                        ///< Iterator to be used.
     282    psMetadata *md,            ///< Metadata collection to iterate.
     283    const char *match,         ///< Beginning of key name.
     284    psS32 which                ///< Iterator to be used.
    246285);
    247286
  • trunk/psLib/src/types/psMetadata.c

    r2607 r2648  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2004-12-03 23:14:28 $
     14*  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2004-12-07 19:09:05 $
    1616*
    1717*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    218218}
    219219
    220 psBool psMetadataAddItem(psMetadata *restrict md, psMetadataItem *restrict metadataItem, psS32 location)
     220psBool psMetadataAddItem(psMetadata *md, psMetadataItem *metadataItem, psS32 location)
    221221{
    222222    char * key = NULL;
     
    328328}
    329329
    330 psBool psMetadataAdd(psMetadata* restrict md, psS32 where, const char *name, psElemType pType,
     330psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
    331331                     psMetadataType type, const char *comment, ...)
    332332{
     
    349349}
    350350
    351 psBool psMetadataRemove(psMetadata* restrict md, psS32 where, const char *restrict key)
     351psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
    352352{
    353353    psList* mdList = NULL;
     
    421421}
    422422
    423 psMetadataItem* psMetadataLookup(psMetadata* restrict md, const char *restrict key)
     423psMetadataItem* psMetadataLookup(psMetadata *md, const char *key)
    424424{
    425425    psHash* mdTable = NULL;
     
    432432
    433433    mdTable = md->table;
    434 
    435434    entry = (psMetadataItem*)psHashLookup(mdTable, key);
    436     if (entry == NULL) {
    437         return NULL;
    438     }
    439435
    440436    return entry;
    441437}
    442438
    443 psMetadataItem* psMetadataGet(psMetadata* restrict md, psS32 where)
     439void* psMetadataLookupPtr(psMetadata *md, const char *key)
     440{
     441    void *value = NULL;
     442    psElemType pType;
     443    psMetadataItem *metadataItem = NULL;
     444
     445
     446    metadataItem = psMetadataLookup(md, key);
     447    PS_PTR_CHECK_NULL(metadataItem,NULL);
     448    pType = metadataItem->pType;
     449    value = metadataItem->data.V;
     450    if(pType != PS_TYPE_PTR) {
     451        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     452                PS_TYPE_PTR);
     453    }
     454
     455    return value;
     456}
     457
     458psS32 psMetadataLookupS32(psMetadata *md, const char *key)
     459{
     460    psS32 value = 0;
     461    psElemType pType;
     462    psMetadataItem *metadataItem = NULL;
     463
     464
     465    metadataItem = psMetadataLookup(md, key);
     466    PS_PTR_CHECK_NULL(metadataItem,0);
     467    pType = metadataItem->pType;
     468    value = metadataItem->data.S32;
     469    if(pType != PS_TYPE_S32) {
     470        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     471                PS_TYPE_S32);
     472    }
     473
     474    return value;
     475}
     476
     477psF64 psMetadataLookupF64(psMetadata *md, const char *key)
     478{
     479    psF64 value = 0.0;
     480    psElemType pType;
     481    psMetadataItem *metadataItem = NULL;
     482
     483
     484    metadataItem = psMetadataLookup(md, key);
     485    PS_PTR_CHECK_NULL(metadataItem,0.0);
     486    pType = metadataItem->pType;
     487    value = metadataItem->data.F64;
     488    if(pType != PS_TYPE_F64) {
     489        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType,
     490                PS_TYPE_F64);
     491    }
     492
     493    return value;
     494}
     495
     496psMetadataItem* psMetadataGet(psMetadata *md, psS32 where)
    444497{
    445498    psMetadataItem* entry = NULL;
     
    457510}
    458511
    459 psBool psMetadataSetIterator(psMetadata* restrict md, psS32 where)
     512psBool psMetadataSetIterator(psMetadata *md, psS32 where)
    460513{
    461514    PS_PTR_CHECK_NULL(md,NULL);
     
    467520}
    468521
    469 psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, psS32 which)
     522psMetadataItem* psMetadataGetNext(psMetadata *md, const char *match, psS32 which)
    470523{
    471524    psList* mdList = NULL;
     
    497550}
    498551
    499 psMetadataItem* psMetadataGetPrevious(psMetadata* restrict md, const char *restrict match, psS32 which)
     552psMetadataItem* psMetadataGetPrevious(psMetadata *md, const char *match, psS32 which)
    500553{
    501554    psList* mdList = NULL;
  • trunk/psLib/src/types/psMetadata.h

    r2607 r2648  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2004-12-03 23:14:34 $
     13*  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2004-12-07 19:08:58 $
    1515*
    1616*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    5656typedef struct psMetadata
    5757{
    58     psList* restrict list;             ///< the metadata in linked-list
    59     psHash* restrict table;            ///< the metadata in a hash table
     58    psList*  list;                     ///< Metadata in linked-list
     59    psHash*  table;                    ///< Metadata in a hash table
    6060}
    6161psMetadata;
     
    148148 */
    149149psBool psMetadataAddItem(
    150     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    151     psMetadataItem* restrict item,     ///< Metadata item to be added.
    152     psS32 location                     ///< Location to be added.
     150    psMetadata*  md,          ///< Metadata collection to insert metadat item.
     151    psMetadataItem*  item,    ///< Metadata item to be added.
     152    psS32 location            ///< Location to be added.
    153153);
    154154
     
    160160 */
    161161psBool psMetadataAdd(
    162     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    163     psS32 where,                       ///< Location to be added.
    164     const char *name,                  ///< Name of metadata item.
    165     psElemType pType,                  ///< Primitive type.
    166     psMetadataType type,               ///< Type of metadata item.
    167     const char *comment,               ///< Comment for metadata item.
    168     ...                                ///< Arguments for name formatting and metadata item data.
     162    psMetadata* md,           ///< Metadata collection to insert metadat item.
     163    psS32 where,              ///< Location to be added.
     164    const char *name,         ///< Name of metadata item.
     165    psElemType pType,         ///< Primitive type.
     166    psMetadataType type,      ///< Type of metadata item.
     167    const char *comment,      ///< Comment for metadata item.
     168    ...                       ///< Arguments for name formatting and metadata item data.
    169169);
    170170
     
    180180 */
    181181psBool psMetadataRemove(
    182     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    183     psS32 where,                       ///< Location to be removed.
    184     const char *restrict key           ///< Name of metadata key.
     182    psMetadata*  md,           ///< Metadata collection to remove metadata item.
     183    psS32 where,               ///< Location to be removed.
     184    const char * key           ///< Name of metadata key.
    185185);
    186186
     
    194194 */
    195195psMetadataItem* psMetadataLookup(
    196     psMetadata* restrict md,           ///< Metadata collection to insert metadata item.
    197     const char *restrict key           ///< Name of metadata key.
     196    psMetadata * md,           ///< Metadata collection to lookup metadata item.
     197    const char * key           ///< Name of metadata key.
     198);
     199
     200/** Find an item in the metadata collection based on key name and return its double precision value.
     201 *
     202 *  Items may be found in the metadata by providing a key. If the key is
     203 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     204 *  returned.
     205 *
     206 * @return psF64 : Value of metadata item.
     207 */
     208psF64 psMetadataLookupF64(
     209    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     210    const char *key            ///< Name of metadata key.
     211);
     212
     213/** Find an item in the metadata collection based on key name and return its integer value.
     214 *
     215 *  Items may be found in the metadata by providing a key. If the key is
     216 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     217 *  returned.
     218 *
     219 * @return psS32 : Value of metadata item.
     220 */
     221psS32 psMetadataLookupS32(
     222    psMetadata *md,            ///< Metadata collection to lookup metadata item.
     223    const char *key            ///< Name of metadata key.
     224);
     225
     226/** Find an item in the metadata collection based on key name and return its integer value.
     227 *
     228 *  Items may be found in the metadata by providing a key. If the key is
     229 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     230 *  returned.
     231 *
     232 * @return void* : Value of metadata item.
     233 */
     234void* psMetadataLookupPtr(
     235    psMetadata* md,            ///< Metadata collection to lookup metadata item.
     236    const char *key            ///< Name of metadata key.
    198237);
    199238
     
    206245 */
    207246psMetadataItem* psMetadataGet(
    208     psMetadata* restrict md,           ///< Metadata collection to insert metadat item.
    209     psS32 where                        ///< Location to be retrieved.
     247    psMetadata* md,           ///< Metadata collection to insert metadat item.
     248    psS32 where                ///< Location to be retrieved.
    210249);
    211250
     
    218257 */
    219258psBool psMetadataSetIterator(
    220     psMetadata* restrict md,           ///< Metadata collection to iterate.
    221     psS32 where                        ///< Location of iterator.
     259    psMetadata* md,           ///< Metadata collection to iterate.
     260    psS32 where                ///< Location of iterator.
    222261);
    223262
     
    229268 */
    230269psMetadataItem* psMetadataGetNext(
    231     psMetadata* restrict md,           ///< Metadata collection to iterate.
    232     const char *restrict match,        ///< Beginning of key name.
    233     psS32 which                        ///< Iterator to be used.
     270    psMetadata* md,           ///< Metadata collection to iterate.
     271    const char * match,        ///< Beginning of key name.
     272    psS32 which                ///< Iterator to be used.
    234273);
    235274
     
    241280 */
    242281psMetadataItem* psMetadataGetPrevious(
    243     psMetadata* restrict md,           ///< Metadata collection to iterate.
    244     const char *restrict match,        ///< Beginning of key name.
    245     psS32 which                        ///< Iterator to be used.
     282    psMetadata *md,            ///< Metadata collection to iterate.
     283    const char *match,         ///< Beginning of key name.
     284    psS32 which                ///< Iterator to be used.
    246285);
    247286
Note: See TracChangeset for help on using the changeset viewer.