#pragma once
// AUTOGENERATED FILE: DO NOT EDIT

#include <stdint.h>
#include "object.h"

#define IICCCSaveData_OP_saveData 0

static inline int32_t
IICCCSaveData_release(Object self)
{
  return Object_invoke(self, Object_OP_release, 0, 0);
}

static inline int32_t
IICCCSaveData_retain(Object self)
{
  return Object_invoke(self, Object_OP_retain, 0, 0);
}

static inline int32_t
IICCCSaveData_saveData(Object self, uint32_t *ret_ptr, uint32_t type_val, const void *caller_ta_name_ptr, size_t caller_ta_name_len, const void *value_ptr, size_t value_len)
{
  ObjectArg a[4];
  a[3].b = (ObjectBuf) { ret_ptr, sizeof(uint32_t) };
  a[0].b = (ObjectBuf) { &type_val, sizeof(uint32_t) };
  a[1].bi = (ObjectBufIn) { caller_ta_name_ptr, caller_ta_name_len * 1 };
  a[2].bi = (ObjectBufIn) { value_ptr, value_len * 1 };

  return Object_invoke(self, IICCCSaveData_OP_saveData, a, ObjectCounts_pack(3, 1, 0, 0));
}



