IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 30, 2004, 9:37:07 AM (22 years ago)
Author:
harman
Message:

Added more functions

File:
1 edited

Legend:

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

    r1335 r1351  
    11/** @file  psMetadata.h
    2  *
    3  *  @brief Contains metadata struuctures, enumerations and functions prototypes
    4  *
    5  *  This file defines metadata item, metadata type, metadata flags, metadata containers, and function
    6  *  prototypes necessary creating psLib metadata APIs
    7  *
    8  *  @ingroup Metadata
    9  *
    10  *  @author Ross Harman, MHPCC
    11  *
    12  *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2004-07-29 20:16:34 $
    14  *
    15  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    16  */
     2*
     3*  @brief Contains metadata struuctures, enumerations and functions prototypes
     4*
     5*  This file defines metadata item, metadata type, metadata flags, metadata containers, and function
     6*  prototypes necessary creating psLib metadata APIs
     7*
     8*  @ingroup Metadata
     9*
     10*  @author Ross Harman, MHPCC
     11*
     12*  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2004-07-30 19:37:07 $
     14*
     15*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     16*/
    1717#ifndef PS_METADATA_H
    1818#define PS_METADATA_H
     
    3030 */
    3131typedef enum {
    32     PS_META_ITEM_SET = 0,               ///< Null. Metadata is in psMetadataItem.items
    33     PS_META_S32,                        ///< Signed 32-bit integer data.
    34     PS_META_F32,                        ///< Single-precision float data.
    35     PS_META_F64,                        ///< Double-precision float data.
    36     PS_META_STR,                        ///< String data (Stored in as void *).
    37     PS_META_IMG,                        ///< Image data (Stored in as void *).
    38     PS_META_JPEG,                       ///< JPEG data (Stored in as void .
    39     PS_META_PNG,                        ///< PNG data (Stored in as void *).
    40     PS_META_ASTROM,                     ///< Astrometric coefficients (Stored in as void *).
    41     PS_META_UNKNOWN,                    ///< Other data (Stored in as void *).
     32    PS_META_ITEM_SET = 0,                ///< Null. Metadata is in psMetadataItem.items
     33    PS_META_S32,                         ///< Signed 32-bit integer data.
     34    PS_META_F32,                         ///< Single-precision float data.
     35    PS_META_F64,                         ///< Double-precision float data.
     36    PS_META_STR,                         ///< String data (Stored in as void *).
     37    PS_META_IMG,                         ///< Image data (Stored in as void *).
     38    PS_META_JPEG,                        ///< JPEG data (Stored in as void .
     39    PS_META_PNG,                         ///< PNG data (Stored in as void *).
     40    PS_META_ASTROM,                      ///< Astrometric coefficients (Stored in as void *).
     41    PS_META_UNKNOWN,                     ///< Other data (Stored in as void *).
    4242    PS_META_NTYPE                       ///< Number of types. Must be last.
    4343} psMetadataType;
     
    4949 */
    5050typedef struct psMetadataItem
    51 {
    52     const int id;                       ///< Unique ID for metadata item.
    53     char *restrict name;                ///< Name of metadata item.
    54     psMetadataType type;                ///< Type of metadata item.
    55     union
    5651    {
    57         psS32   S32;                    ///< Signed 32-bit integer data.
    58         psF32   F32;                    ///< Single-precision float data.
    59         psF64   F64;                    ///< Double-precision float data.
    60         psPTR     V;                    ///< Pointer to other type of data.
    61     }data;                              ///< Union for data types.
    62     char *comment;                      ///< Optional comment ("", not NULL).
    63     psList *restrict items;             ///< List of psMetadataItems with same name.
    64 }
     52        const int id;                       ///< Unique ID for metadata item.
     53        char *restrict name;                ///< Name of metadata item.
     54        psMetadataType type;                ///< Type of metadata item.
     55        union
     56            {
     57                psS32 S32;                    ///< Signed 32-bit integer data.
     58                psF32 F32;                    ///< Single-precision float data.
     59                psF64 F64;                    ///< Double-precision float data.
     60                psPTR V;                    ///< Pointer to other type of data.
     61            }data;                              ///< Union for data types.
     62        char *comment;                      ///< Optional comment ("", not NULL).
     63        psList *restrict items;             ///< List of psMetadataItems with same name.
     64    }
    6565psMetadataItem;
    6666
     
    7272 */
    7373typedef struct psMetadata
    74 {
    75     psList *restrict list;
    76     psHash *restrict table;
    77 }
     74    {
     75        psList *restrict list;
     76        psHash *restrict table;
     77    }
    7878psMetadata;
    7979
     
    9797 */
    9898psMetadataItem *psMetadataItemAlloc(
    99     const char *name,                   ///< Name of metadata item.
    100     psMetadataType type,                ///< Type of metadata item.
    101     const char *comment,                ///< Comment for metadata item.
     99    const char *name,                    ///< Name of metadata item.
     100    psMetadataType type,                 ///< Type of metadata item.
     101    const char *comment,                 ///< Comment for metadata item.
    102102    ...                                 ///< Arguments for name formatting and metadata item data.
    103103);
     
    117117 */
    118118psMetadataItem *psMetadataItemAllocV(
    119     const char *name,                   ///< Name of metadata item.
    120     psMetadataType type,                ///< Type of metadata item.
    121     const char *comment,                ///< Comment for metadata item.
     119    const char *name,                    ///< Name of metadata item.
     120    psMetadataType type,                 ///< Type of metadata item.
     121    const char *comment,                 ///< Comment for metadata item.
    122122    va_list list                        ///< Arguments for name formatting and metadata item data.
    123123);
     
    140140 */
    141141bool psMetadataAddItem(
    142     psMetadata *restrict md,            ///< Metadata collection to insert metadat item.
    143     int where,                          ///< Location to be added.
     142    psMetadata *restrict md,             ///< Metadata collection to insert metadat item.
     143    int where,                           ///< Location to be added.
    144144    psMetadataItem *restrict item       ///< Metadata item to be added.
    145145);
     
    152152 */
    153153bool psMetadataAdd(
    154     psMetadata *restrict md,            ///< Metadata collection to insert metadat item.
    155     int where,                          ///< Location to be added.
    156     const char *name,                   ///< Name of metadata item.
    157     psMetadataType type,                ///< Type of metadata item.
    158     const char *comment,                ///< Comment for metadata item.
     154    psMetadata *restrict md,             ///< Metadata collection to insert metadat item.
     155    int where,                           ///< Location to be added.
     156    const char *name,                    ///< Name of metadata item.
     157    psMetadataType type,                 ///< Type of metadata item.
     158    const char *comment,                 ///< Comment for metadata item.
    159159    ...                                 ///< Arguments for name formatting and metadata item data.
    160160);
     
    170170 */
    171171bool psMetadataRemove(
    172     psMetadata *restrict md,            ///< Metadata collection to insert metadat item.
    173     int where,                          ///< Location to be removed.
     172    psMetadata *restrict md,             ///< Metadata collection to insert metadat item.
     173    int where,                           ///< Location to be removed.
    174174    const char *restrict key            ///< Name of metadata key.
    175175);
     
    183183 */
    184184psMetadataItem *psMetadataLookup(
    185     psMetadata *restrict md,            ///< Metadata collection to insert metadat item.
     185    psMetadata *restrict md,             ///< Metadata collection to insert metadat item.
    186186    const char *restrict key            ///< Name of metadata key.
    187187);
     
    194194 */
    195195psMetadataItem *psMetadataGet(
    196     psMetadata *restrict md,            ///< Metadata collection to insert metadat item.
     196    psMetadata *restrict md,             ///< Metadata collection to insert metadat item.
    197197    int where                           ///< Location to be retrieved.
    198198);
     
    205205 */
    206206bool psMetadataSetIterator(
    207     psMetadata *restrict md,            ///< Metadata collection to iterate.
     207    psMetadata *restrict md,             ///< Metadata collection to iterate.
    208208    int where                           ///< Location of iterator.
    209209);
     
    216216 */
    217217psMetadataItem *psMetadataGetNext(
    218     psMetadata *restrict md,            ///< Metadata collection to iterate.
    219     const char *restrict match,         ///< Beginning of key name.
     218    psMetadata *restrict md,             ///< Metadata collection to iterate.
     219    const char *restrict match,          ///< Beginning of key name.
    220220    int which                           ///< Iterator to be used.
    221221);
     
    228228 */
    229229psMetadataItem *psMetadataGetPrevious(
    230     psMetadata *restrict md,            ///< Metadata collection to iterate.
    231     const char *restrict match,         ///< Beginning of key name.
     230    psMetadata *restrict md,             ///< Metadata collection to iterate.
     231    const char *restrict match,          ///< Beginning of key name.
    232232    int which                           ///< Iterator to be used.
    233233);
     
    244244 */
    245245void psMetadataItemPrint(
    246     FILE *fd,                           ///< Pointer to file to write metadata item.
    247     const char *format,                 ///< Format to print metadata item.
    248     const psMetadataItem *restrict m ///< Metadata item to print.
     246    FILE *fd,                                    ///< Pointer to file to write metadata item.
     247    const char *format,                          ///< Format to print metadata item.
     248    const psMetadataItem *restrict metadataItem ///< Metadata item to print.
    249249);
    250250
     
    256256 */
    257257psMetadata *psMetadataReadHeader(
    258     psMetadata *output,                 ///< Resulting metadata from read.
    259     const char *extname,                ///< File name extension string.
    260     int extnum,                         ///< File name extension number.
     258    psMetadata *output,                  ///< Resulting metadata from read.
     259    const char *extname,                 ///< File name extension string.
     260    int extnum,                          ///< File name extension number.
    261261    const char *filename                ///< Name of file to read.
    262262);
     
    269269 */
    270270psMetadata *psMetadataFReadHeader(
    271     psMetadata *output,                 ///< Resulting metadata from read.
    272     const char *extname,                ///< File name extension string.
    273     int extnum,                         ///< File name extension number.
    274     FILE *fd                            ///< Pointer to file to read.
     271    psMetadata *output,                  ///< Resulting metadata from read.
     272    const char *extname,                 ///< File name extension string.
     273    int extnum,                          ///< File name extension number.
     274    fitsfile *fd                        ///< Pointer to file to read.
    275275);
    276276/// @}
Note: See TracChangeset for help on using the changeset viewer.