IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 293


Ignore:
Timestamp:
Mar 23, 2004, 5:25:47 PM (22 years ago)
Author:
Paul Price
Message:

Doxygenated the comments, added comments that were missing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/pslib/include/psMetaData.h

    r285 r293  
    88
    99/** Possible types of metadata. */
    10 typedef enum {                          // type of val is:
    11     PS_META_ITEM_SET = 0,               // NULL; metadata is in psMetaDataType.items
    12     PS_META_FLOAT,                      // float (.f)
    13     PS_META_INT,                        // int (.i)
    14     PS_META_STR,                        // string (.v)
    15     PS_META_IMG,                        // image (.v)
    16     PS_META_JPEG,                       // JPEG (.v)
    17     PS_META_PNG,                        // PNG (.v)
    18     PS_META_ASTROM,                     // astrometric coefficients (.v)
    19     PS_META_UNKNOWN,                    // other (.v)
    20     PS_META_NTYPE                       // Number of types; must be last
     10typedef enum {                          //!< type of val is:
     11    PS_META_ITEM_SET = 0,               //!< NULL; metadata is in psMetaDataType.items
     12    PS_META_FLOAT,                      //!< float (.f)
     13    PS_META_INT,                        //!< int (.i)
     14    PS_META_STR,                        //!< string (.v)
     15    PS_META_IMG,                        //!< image (.v)
     16    PS_META_JPEG,                       //!< JPEG (.v)
     17    PS_META_PNG,                        //!< PNG (.v)
     18    PS_META_ASTROM,                     //!< astrometric coefficients (.v)
     19    PS_META_UNKNOWN,                    //!< other (.v)
     20    PS_META_NTYPE                       //!< Number of types; must be last
    2121} psMetaDataType;
    2222
    2323/** Metadata flags (not exclusive with psMetaDataType). */
    2424typedef enum {
    25     PS_META_TYPE_MASK =     0xffff,     // the type enum must fit in this mask
    26     PS_META_UNIQUE =       0x10000,     // the name must be unique (default)
    27     PS_META_NON_UNIQUE =   0x20000,     // the name may be repeated, and should be disambiguated for us
     25    PS_META_TYPE_MASK =     0xffff,     //!< the type enum must fit in this mask
     26    PS_META_UNIQUE =       0x10000,     //!< the name must be unique (default)
     27    PS_META_NON_UNIQUE =   0x20000,     //!< the name may be repeated, and should be disambiguated for us
    2828} psMetaDataFlags;
    2929
    3030/** A struct to define a single item of metadata */
    3131typedef struct {
    32     const int id;                       // unique ID for this item
    33     char *restrict name;                // Name of item
    34     psMetaDataType type;                // type of this item
    35     psMetaDataFlags flags;              // flags associated with this item
     32    const int id;                       //!< unique ID for this item
     33    char *restrict name;                //!< Name of item
     34    psMetaDataType type;                //!< type of this item
     35    psMetaDataFlags flags;              //!< flags associated with this item
    3636    const union {
    37         float f;                        // floating value
    38         int i;                          // integer value
    39         void *v;                        // other type
    40     } val;                              // value of metadata
    41     char *comment;                      // optional comment ("", not NULL)
    42     psDlist *restrict items;            // list of psMetaDataItems with the same name
     37        float f;                        //!< floating value
     38        int i;                          //!< integer value
     39        void *v;                        //!< other type
     40    } val;                              //!< value of metadata
     41    char *comment;                      //!< optional comment ("", not NULL)
     42    psDlist *restrict items;            //!< list of psMetaDataItems with the same name
    4343} psMetaDataItem;
    4444
    4545/** A set of metadata */
    4646typedef struct {
    47     psDlist *restrict list;             // list of psMetaDataItem
    48     psHash *restrict table;             // hash table of the same metadata
     47    psDlist *restrict list;             //!< list of psMetaDataItem
     48    psHash *restrict table;             //!< hash table of the same metadata
    4949} psMetaDataSet;
    5050
     
    5656/** Constructor */
    5757psMetaDataItem *psMetaDataItemAlloc(
    58     int typeFlags,                      // type of this piece of metadata + flags
    59     const void *val,                    // value of new item
    60                                         // N.b. a pointer even if the item
    61                                         // is of type e.g. int
    62     const char *comment,                // comment associated with item
    63     const char *name,                   // name of new item of metadata (may be an sprintf format)
    64     ...);                               // possible arguments for name format
     58    int typeFlags,                      //!< type of this piece of metadata + flags
     59    const void *val,                    //!< value of new item
     60                                        //!< N.b. a pointer even if the item
     61                                        //!< is of type e.g. int
     62    const char *comment,                //!< comment associated with item
     63    const char *name,                   //!< name of new item of metadata (may be an sprintf format)
     64    ...                                 //!< possible arguments for name format
     65    );
    6566
    6667/** Destructor */
    67 void psMetaDataItemFree(psMetaDataItem *ms); // piece of metadata to destroy
    68 
     68void psMetaDataItemFree(psMetaDataItem *ms //!< piece of metadata to destroy
     69    );
    6970/** Constructor */
    70 psMetaDataSet *psMetaDataSetAlloc(void);   // make a new set of metadata
     71psMetaDataSet *psMetaDataSetAlloc(void);   //!< make a new set of metadata
    7172
    7273/** Destructor */
    73 void psMetaDataSetFree(psMetaDataSet *ms); // destroy a set of metadata
     74void psMetaDataSetFree(psMetaDataSet *ms //!< destroy a set of metadata
     75    );
    7476
    7577/**** Utilities **********************************************************************/
    7678
    7779/// Add entry to the end of the metadata set
    78 psMetaDataItem *psMetaDataAppend(psMetaDataSet *restrict ms, psMetaDataItem *restrict item);
     80psMetaDataItem *psMetaDataAppend(psMetaDataSet *restrict ms, //!< Metadata set to add to
     81                                 psMetaDataItem *restrict item //!< Metatdata to add
     82    );
    7983
    8084/// delete entry from the metadata set
    81 psMetaDataItem *psMetaDataRemove(psMetaDataSet *restrict ms, const char *restrict key);
     85psMetaDataItem *psMetaDataRemove(psMetaDataSet *restrict ms, //!< Metadata set to delete from
     86                                 const char *restrict key //!< Key to delete
     87    );
    8288
    8389/// reset the iterator to the start of the list
    84 void psMetaDataSetIterator(psMetaDataSet *ms);
     90void psMetaDataSetIterator(psMetaDataSet *ms //!< Metadata set to set iterator for
     91    );
    8592
    8693/// get the next entry in the sequence
    87 psMetaDataItem *psMetaDataGetNext(psMetaDataSet *restrict ms, const char *restrict match);
     94psMetaDataItem *psMetaDataGetNext(psMetaDataSet *restrict ms, //!< Metadata set to get from
     95                                  const char *restrict match //!< Match this
     96    );
    8897
    8998/// find the metadata with the specified key
    90 psMetaDataItem *psMetaDataLookup(const psMetaDataSet *restrict ms, const char *restrict key);
     99psMetaDataItem *psMetaDataLookup(const psMetaDataSet *restrict ms, //!< Metadata set to look up
     100                                 const char *restrict key //!< Key to find
     101    );
    91102
    92103/// print metadata item to the specified stream
    93 void psMetaDataItemPrint(FILE *fd,              // file descriptor to write to
    94                          const psMetaDataItem *restrict ms, // item of metadata to print
    95                          const char *prefix);      // print this at the beginning of each line
     104void psMetaDataItemPrint(FILE *fd,              //!< file descriptor to write to
     105                         const psMetaDataItem *restrict ms, //!< item of metadata to print
     106                         const char *prefix        //!< print this at the beginning of each line
     107    );
    96108/* \} */ // End of AstroGroup Functions
    97109#endif
Note: See TracChangeset for help on using the changeset viewer.