Пример #1
0
static CMPIStatus __eft_release(CMPISubCond * cond)
{
   NativeSubCond *c = (NativeSubCond *) cond;

   if (c->mem_state && c->mem_state != MEM_RELEASED) {
      memUnlinkEncObj(c->mem_state);
      c->mem_state = MEM_RELEASED;
      free(c);
      CMReturn(CMPI_RC_OK);
   }
   CMReturn(CMPI_RC_ERR_FAILED);
}
Пример #2
0
static CMPIStatus
__eft_release(CMPIPredicate *pred)
{
  NativePredicate *p = (NativePredicate *) pred;

  if (p->mem_state && p->mem_state != MEM_RELEASED) {
    memUnlinkEncObj(p->mem_state);
    p->mem_state = MEM_RELEASED;
    free(p);
    CMReturn(CMPI_RC_OK);
  }
  CMReturn(CMPI_RC_ERR_FAILED);
}
Пример #3
0
/*
 * ! To achieve this, the object is simply added to the thread-based
 * memory management to be freed later.
 * 
 * \param dt the object to be released
 * 
 * \return CMPI_RC_OK. 
 */
static CMPIStatus
__dtft_release(CMPIDateTime *dt)
{
  struct native_datetime *ndt = (struct native_datetime *) dt;

  if (ndt->mem_state && ndt->mem_state != MEM_RELEASED) {
    memUnlinkEncObj(ndt->mem_state);
    ndt->mem_state = MEM_RELEASED;
    free(ndt);
    CMReturn(CMPI_RC_OK);
  }

  CMReturn(CMPI_RC_ERR_FAILED);
}
Пример #4
0
static CMPIStatus
__aft_release(CMPIArgs * args)
{
  struct native_args *a = (struct native_args *) args;

  if (a->mem_state && a->mem_state != MEM_RELEASED) {
    ClArgsFree((ClArgs *) a->args.hdl);
    memUnlinkEncObj(a->mem_state);
    a->mem_state = MEM_RELEASED;
    free(args);
    CMReturn(CMPI_RC_OK);
  }

  CMReturn(CMPI_RC_ERR_FAILED);
}
Пример #5
0
static CMPIStatus
__eft_release(CMPISelectExp *exp)
{
  NativeSelectExp *e = (NativeSelectExp *) exp;

  if (e->mem_state && e->mem_state != MEM_RELEASED) {
    free(e->queryString);
    free(e->language);
    if (e->sns)
      free(e->sns);
    memUnlinkEncObj(e->mem_state);
    e->mem_state = MEM_RELEASED;
    free(e);
    CMReturn(CMPI_RC_OK);
  }
  CMReturn(CMPI_RC_ERR_FAILED);
}