Пример #1
0
adb_CreateImageResponse_t *CreateImageMarshal(adb_CreateImage_t *createImage, const axutil_env_t *env) {
  int rc;
  adb_CreateImageResponse_t *ret=NULL;
  adb_createImageResponseType_t *cirt=NULL;

  // input vars
  adb_createImageType_t *cit=NULL;
  
  // working vars
  char *instanceId=NULL, *volumeId=NULL, *remoteDev=NULL;
  axis2_bool_t status=AXIS2_TRUE;
  char statusMessage[256];
  ncMetadata ccMeta;

  cit = adb_CreateImage_get_CreateImage(createImage, env);

  EUCA_MESSAGE_UNMARSHAL(createImageType, cit, (&ccMeta));
  
  instanceId = adb_createImageType_get_instanceId(cit, env);
  volumeId = adb_createImageType_get_volumeId(cit, env);
  remoteDev = adb_createImageType_get_remoteDev(cit, env);
  
  if (!DONOTHING) {
    rc = doCreateImage(&ccMeta, instanceId, volumeId, remoteDev);
  }
  
  cirt = adb_createImageResponseType_create(env);
  if (rc) {
    logprintf("ERROR: doCreateImage() failed %d\n", rc);
    status=AXIS2_FALSE;
    snprintf(statusMessage, 255, "ERROR");
  } else {
    status=AXIS2_TRUE;
  }

  adb_createImageResponseType_set_correlationId(cirt, env, ccMeta.correlationId);
  adb_createImageResponseType_set_userId(cirt, env, ccMeta.userId);

  adb_createImageResponseType_set_return(cirt, env, status);
  if (status == AXIS2_FALSE) {
    adb_createImageResponseType_set_statusMessage(cirt, env, statusMessage);
  }
  
  ret = adb_CreateImageResponse_create(env);
  adb_CreateImageResponse_set_CreateImageResponse(ret, env, cirt);
  
  return(ret);
}
Пример #2
0
//!
//! Handles the client create image request.
//!
//! @param[in] pStub a pointer to the node controller (NC) stub structure
//! @param[in] pMeta a pointer to the node controller (NC) metadata structure
//! @param[in] instanceId the instance identifier string (i-XXXXXXXX)
//! @param[in] volumeId the volume identifier string (vol-XXXXXXXX)
//! @param[in] remoteDev the remote device name
//!
//! @return the result of doCreateImage()
//!
//! @see doCreateImage()
//!
int ncCreateImageStub(ncStub * pStub, ncMetadata * pMeta, char *instanceId, char *volumeId, char *remoteDev)
{
    return doCreateImage(pMeta, instanceId, volumeId, remoteDev);
}