1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
/*
* Copyright (C) 2004-2007 by CERN/IT/GD/CT & CNRS/IN2P3/LAL
* All rights reserved
*/
// $Id: srm2_testRmdir.c,v 1.5 2007/04/22 11:30:49 grodid Exp $
/* TODO: let the user choose if recursive flag should be set or not */
#include "srmv2H.h"
#include "srmSoapBinding.nsmap"
#define DEFPOLLINT 10
#define SRM_EP_PATH "/v2_1_1/srm"
#ifdef GFAL_SECURE
#include "cgsi_plugin.h"
#endif
#include "parsesurl.ic"
#include "soapcallns1.ic"
main(argc, argv)
int argc;
char **argv;
{
int flags;
int i;
int nbfiles;
#if 0
int nbproto = 0;
static char *protocols[] = {
#if GFAL_ENABLE_RFIO
"rfio",
#endif
#if GFAL_ENABLE_DCAP
"gsidcap",
#endif
""
};
#endif
int r = 0;
char *r_token;
struct ns1__srmRmdirResponse_ rep;
struct ns1__srmRmdirRequest req;
struct ns1__TReturnStatus *reqstatp;
char *sfn;
struct soap soap;
char *srm_endpoint;
if (argc < 2) {
fprintf (stderr, "usage: %s SURL\n", argv[0]);
exit (1);
}
if (parsesurl (argv[1], &srm_endpoint, &sfn) < 0) {
perror ("parsesurl");
exit (1);
}
//while (*protocols[nbproto]) nbproto++;
soap_init (&soap);
#ifdef GFAL_SECURE
flags = CGSI_OPT_DISABLE_NAME_CHECK;
soap_register_plugin_arg (&soap, client_cgsi_plugin, &flags);
#endif
memset (&req, 0, sizeof(req));
if ((req.directoryPath =
soap_malloc (&soap, sizeof(struct ns1__TSURLInfo))) == NULL ||
(req.directoryPath->SURLOrStFN =
soap_malloc (&soap, sizeof(struct ns1__TSURL))) == NULL) {
perror ("malloc");
soap_end (&soap);
exit (1);
}
req.directoryPath->SURLOrStFN->value = argv[1];
req.directoryPath->storageSystemInfo = NULL;
if (soap_call_ns1__srmRmdir (&soap, srm_endpoint, "Rmdir",
&req, &rep)) {
soap_print_fault (&soap, stderr);
soap_print_fault_location (&soap, stderr);
soap_end (&soap);
exit (1);
}
reqstatp = rep.srmRmdirResponse->returnStatus;
printf ("request state %d\n", reqstatp->statusCode);
if (reqstatp->statusCode != SRM_USCORESUCCESS &&
reqstatp->statusCode != SRM_USCOREDONE) {
if (reqstatp->explanation)
printf ("explanation: %s\n", reqstatp->explanation);
soap_end (&soap);
exit (1);
}
soap_end (&soap);
exit (0);
}
|