IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5661


Ignore:
Timestamp:
Dec 2, 2005, 1:49:08 PM (21 years ago)
Author:
jhoblitt
Message:

[nebclient] add nebOpenCreate()
[nebclient] change nebCreate() to return just a filename

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous-Server/Changes

    r2785 r5661  
    11Revision history for Perl module Poi::PixelData
     2
     30.02
     4    - [nebclient] add nebOpenCreate()
     5    - [nebclient] change nebCreate() to return just a filename
    26
    370.01 Fri Sep  3 10:23:31 2004
  • trunk/Nebulous/Changes

    r2785 r5661  
    11Revision history for Perl module Poi::PixelData
     2
     30.02
     4    - [nebclient] add nebOpenCreate()
     5    - [nebclient] change nebCreate() to return just a filename
    26
    370.01 Fri Sep  3 10:23:31 2004
  • trunk/Nebulous/nebclient/src/nebclient.c

    r4676 r5661  
    44 * Copyright (C) 2005  Joshua Hoblitt
    55 *
    6  * $Id: nebclient.c,v 1.39 2005-07-30 02:43:38 jhoblitt Exp $
     6 * $Id: nebclient.c,v 1.40 2005-12-02 23:49:08 jhoblitt Exp $
    77 */
    88
     
    8383}
    8484
    85 int nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
     85char *nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
    8686{
    8787    struct ns1__create_USCOREobjectResponse response;
    8888    char            *filename;
    89     int             file;
    90 
    91     REQUIRE_SERVER;
    92 
    93     if (!key) {
    94         nebSetErr(server, "parameter 'key' may not be NULL");
    95 
    96         return -1;
     89
     90    REQUIRE_SERVER;
     91
     92    if (!key) {
     93        nebSetErr(server, "parameter 'key' may not be NULL");
     94
     95        return NULL;
    9796    }
    9897
     
    102101        nebSetServerErr(server);
    103102
    104         return -1;
     103        return NULL;
    105104    }
    106105
     
    108107        nebSetErr(server, "can not parse URI");
    109108
    110         return -1;
    111     }
     109        return NULL;
     110    }
     111
     112    // if URI is not NULL
     113    if (URI) {
     114        *URI = xmalloc(strlen((char *)response.result));
     115        strcpy(*URI, (char *)response.result);
     116    }
     117
     118    return filename;
     119}
     120
     121int nebOpenCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
     122{
     123    char            *filename;
     124    int             file;
     125
     126    REQUIRE_SERVER;
     127
     128    if (!key) {
     129        nebSetErr(server, "parameter 'key' may not be NULL");
     130
     131        return -1;
     132    }
     133
     134    filename = nebCreate(server, key, class, volume, comment, URI);
    112135
    113136    file = open(filename, O_RDWR|O_TRUNC, 0660);
     
    120143
    121144    nebFree(filename);
    122 
    123     // if URI is not NULL
    124     if (URI) {
    125         *URI = xmalloc(strlen((char *)response.result));
    126         strcpy(*URI, (char *)response.result);
    127     }
    128145
    129146    return file;
     
    501518    }
    502519
    503     destFH = nebCreate(server, newKey, 0, NULL, NULL, NULL);
     520    destFH = nebOpenCreate(server, newKey, 0, NULL, NULL, NULL);
    504521    if (destFH < 0) {
    505522        // propigate nebCreate() error
  • trunk/Nebulous/nebclient/src/nebclient.h

    r4662 r5661  
    44 * Copyright (C) 2005  Joshua Hoblitt
    55 *
    6  * $Id: nebclient.h,v 1.29 2005-07-29 02:48:20 jhoblitt Exp $
     6 * $Id: nebclient.h,v 1.30 2005-12-02 23:49:08 jhoblitt Exp $
    77 */
    88
     
    7272);
    7373
    74 /** Creates and opens new storage object
    75  *
    76  * @return A filehandle on success or a negative value on failure.
    77  */
    78 
    79 int nebCreate(
     74/** Creates a new storage object
     75 *
     76 * @return A local filename
     77 */
     78
     79char *nebCreate(
    8080    nebServer *server,                  ///< nebServer object
    8181    const char *key,                    ///< storage object key (name)
     
    8686);
    8787
     88/** Creates and opens new storage object
     89 *
     90 * @return A filehandle on success or a negative value on failure.
     91 */
     92
     93int nebOpenCreate(
     94    nebServer *server,                  ///< nebServer object
     95    const char *key,                    ///< storage object key (name)
     96    unsigned int class,                 ///< storage object storage class
     97    const char *volume,                 ///< preferred storage location of initial instance
     98    const char *comment,                ///< storage object comment
     99    char **URI                          ///< URL of initial instance, can be NULL
     100);
     101
    88102/** Adds an instance to a storage object
    89103 *
  • trunk/Nebulous/nebclient/tests/tests.c

    r4675 r5661  
    2727    char            *key = "foobarbaz";
    2828
    29     TESTS(19);
     29    TESTS(22);
    3030
    3131    if (getenv("NEBULOUS_SERVER")) {
     
    4040    {
    4141        char        *URI = NULL;
     42        char        *filename;
     43       
     44        filename = nebCreate(server, key, 0, NULL, NULL, &URI);
     45
     46        OK(filename, "create object");
     47        OK(URI, "URI not NULL");
     48        OK(nebDelete(server, key), "delete object");
     49
     50        nebFree(URI);
     51        nebFree(filename);
     52    }
     53
     54    {
     55        char        *URI = NULL;
    4256        int         fh;
    4357       
    44         fh = nebCreate(server, key, 0, NULL, NULL, &URI);
     58        fh = nebOpenCreate(server, key, 0, NULL, NULL, &URI);
    4559
    46         OK(fh > -1, "create object");
     60        OK(fh > -1, "create new object filehandle");
    4761        OK(URI, "URI not NULL");
    4862
Note: See TracChangeset for help on using the changeset viewer.