IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 28, 2005, 1:34:10 PM (21 years ago)
Author:
desonia
Message:

Changes to psMetadata to match latest SDRS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/astronomy/psMetadata.h

    r3264 r3341  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:23 $
     13*  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2005-02-28 23:34:10 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2424#include "psHash.h"
    2525#include "psList.h"
     26#include "psImage.h"
     27#include "psLookupTable.h"
    2628
    2729/// @addtogroup Metadata
     
    3335 */
    3436typedef enum {
    35     PS_META_PRIMITIVE,                 ///< Primitive data.
     37    PS_META_S32,                       ///< Primitive data.
     38    PS_META_F32,                       ///< Primitive data.
     39    PS_META_F64,                       ///< Primitive data.
     40    PS_META_BOOL,                       ///< Primitive data.
    3641    PS_META_LIST,                      ///< List data (Stored as item.data.list).
    3742    PS_META_STR,                       ///< String data (Stored as item.data.V).
     
    4752} psMetadataType;
    4853
     54#define PS_META_IS_PRIMITIVE(TYPE) \
     55(TYPE == PS_META_S32 || \
     56 TYPE == PS_META_F32 || \
     57 TYPE == PS_META_F64 || \
     58 TYPE == PS_META_BOOL)
     59
     60#define PS_META_PRIMITIVE_TYPE(METATYPE) ( \
     61        (METATYPE==PS_META_S32) ? PS_TYPE_S32 : \
     62        (METATYPE==PS_META_F32) ? PS_TYPE_F32 : \
     63        (METATYPE==PS_META_F64) ? PS_TYPE_F64 : \
     64        (METATYPE==PS_META_BOOL) ? PS_TYPE_BOOL : PS_TYPE_PTR )
     65
    4966/** Option flags for psMetadata functions
    5067 *
     
    5572typedef enum {
    5673    PS_META_DEFAULT = 0,               ///< default behaviour (duplicate entry is an error)
    57     PS_META_REPLACE                    ///< allow entry to be replaced
     74    PS_META_REPLACE = 0x10000          ///< allow entry to be replaced
    5875} psMetadataFlags;
    5976
     
    8299    char *name;                        ///< Name of metadata item.
    83100    psMetadataType type;               ///< Type of metadata item.
    84     psElemType pType;                  ///< Primitive data type
    85101    union {
    86102        psBool B;                      ///< boolean data
     
    113129psMetadataItem* psMetadataItemAlloc(
    114130    const char *name,                  ///< Name of metadata item.
    115     psElemType pType,                  ///< Primitive type.
    116131    psMetadataType type,               ///< Type of metadata item.
    117132    const char *comment,               ///< Comment for metadata item.
    118133    ...                                ///< Arguments for name formatting and metadata item data.
     134);
     135
     136psMetadataItem* psMetadataItemAllocStr(
     137    const char* name,
     138    const char* comment,
     139    const char* value
     140);
     141
     142psMetadataItem* psMetadataItemAllocF32(
     143    const char* name,
     144    const char* comment,
     145    psF32 value
     146);
     147
     148psMetadataItem* psMetadataItemAllocF64(
     149    const char* name,
     150    const char* comment,
     151    psF64 value
     152);
     153
     154psMetadataItem* psMetadataItemAllocS32(
     155    const char* name,
     156    const char* comment,
     157    psS32 value
     158);
     159
     160psMetadataItem* psMetadataItemAllocBool(
     161    const char* name,
     162    const char* comment,
     163    psBool value
    119164);
    120165
     
    137182psMetadataItem* psMetadataItemAllocV(
    138183    const char *name,                  ///< Name of metadata item.
    139     psElemType pType,                  ///< Primitive type.
    140184    psMetadataType type,               ///< Type of metadata item.
    141185    const char *comment,               ///< Comment for metadata item.
     
    161205 */
    162206psBool psMetadataAddItem(
    163     psMetadata*  md,          ///< Metadata collection to insert metadat item.
    164     psMetadataItem*  item,    ///< Metadata item to be added.
    165     psS32 location            ///< Location to be added.
     207    psMetadata*  md,                   ///< Metadata collection to insert metadat item.
     208    psMetadataItem*  item,             ///< Metadata item to be added.
     209    psS32 location                     ///< Location to be added.
    166210);
    167211
     
    173217 */
    174218psBool psMetadataAdd(
    175     psMetadata* md,           ///< Metadata collection to insert metadat item.
    176     psS32 where,              ///< Location to be added.
    177     const char *name,         ///< Name of metadata item.
    178     psElemType pType,         ///< Primitive type.
    179     psMetadataType type,      ///< Type of metadata item.
    180     const char *comment,      ///< Comment for metadata item.
    181     ...                       ///< Arguments for name formatting and metadata item data.
    182 );
     219    psMetadata* md,                    ///< Metadata collection to insert metadat item.
     220    psS32 where,                       ///< Location to be added.
     221    const char *name,                  ///< Name of metadata item.
     222    psMetadataType type,               ///< Type of metadata item.
     223    const char *comment,               ///< Comment for metadata item.
     224    ...                                ///< Arguments for name formatting and metadata item data.
     225);
     226
     227psBool psMetadataAddS32(psMetadata* md, psS32 where, const char* name,
     228                        const char* comment, psS32 value);
     229psBool psMetadataAddF32(psMetadata* md, psS32 where, const char* name,
     230                        const char* comment, psF32 value);
     231psBool psMetadataAddF64(psMetadata* md, psS32 where, const char* name,
     232                        const char* comment, psF64 value);
     233psBool psMetadataAddList(psMetadata* md, psS32 where, const char* name,
     234                         const char* comment, psList* value);
     235psBool psMetadataAddStr(psMetadata* md, psS32 where, const char* name,
     236                        const char* comment, const char* value);
     237psBool psMetadataAddVector(psMetadata* md, psS32 where, const char* name,
     238                           const char* comment, psVector* value);
     239psBool psMetadataAddImage(psMetadata* md, psS32 where, const char* name,
     240                          const char* comment, psImage* value);
     241psBool psMetadataAddHash(psMetadata* md, psS32 where, const char* name,
     242                         const char* comment, psHash* value);
     243psBool psMetadataAddLookupTable(psMetadata* md, psS32 where, const char* name,
     244                                const char* comment, psLookupTable* value);
     245psBool psMetadataAddUnknown(psMetadata* md, psS32 where, const char* name,
     246                            const char* comment, psPtr value);
     247
    183248
    184249/** Remove an item from metadata collection.
Note: See TracChangeset for help on using the changeset viewer.