IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5539 for trunk/psLib/src/types


Ignore:
Timestamp:
Nov 17, 2005, 3:51:03 PM (21 years ago)
Author:
drobbin
Message:

Added fxn psMetadataCopy and test

Location:
trunk/psLib/src/types
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/types/psMetadata.c

    r5532 r5539  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.91 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2005-11-17 00:27:14 $
     14 *  @version $Revision: 1.92 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2005-11-18 01:51:03 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    316316}
    317317
    318 
     318psMetadata *psMetadataCopy(psMetadata *out,
     319                           const psMetadata *in)
     320{
     321    PS_ASSERT_PTR_NON_NULL(in,NULL);
     322    if (out ==  NULL) {
     323        out = psMetadataAlloc();
     324    }
     325    psMetadataItem *item = NULL;
     326    psMetadataIterator *iter = NULL;
     327    iter = psMetadataIteratorAlloc(*(psMetadata**)&in, PS_LIST_HEAD, NULL);
     328    item = psMetadataGetAndIncrement(iter);
     329    while (item != NULL) {
     330        psMetadataAddItem(out, item, PS_LIST_TAIL, 0);
     331        item = psMetadataGetAndIncrement(iter);
     332    }
     333    psFree(item);
     334    psFree(iter);
     335    return out;
     336}
    319337
    320338bool psMetadataAddItem(psMetadata *md,
  • trunk/psLib/src/types/psMetadata.h

    r5455 r5539  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-11-02 01:07:25 $
     13*  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2005-11-18 01:51:03 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    270270);
    271271
     272/** Creates a new copy of all the psMetadataItems in the psMetadata collection, in, and
     273 *  returns them in out, or creates a new container if out is NULL.
     274 *
     275 *  @return psMetadata*:        the copy of the psMetadata container.
     276 */
     277psMetadata *psMetadataCopy(
     278    psMetadata *out,                   ///< output Metadata container for copying.
     279    const psMetadata *in               ///< Metadata collection to be copied.
     280);
    272281
    273282/** Add existing metadata item to metadata collection.
     
    279288 */
    280289bool psMetadataAddItem(
    281     psMetadata*  md,                   ///< Metadata collection to insert metadat item.
     290    psMetadata*  md,                   ///< Metadata collection to insert metadata item.
    282291    const psMetadataItem* item,        ///< Metadata item to be added.
    283292    int location,                      ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
Note: See TracChangeset for help on using the changeset viewer.