#pragma once
// AUTOGENERATED FILE: DO NOT EDIT

#include <stdint.h>
#include "object.h"

#define IICCCGetDeviceStatus_OP_getDeviceStatus 0

static inline int32_t
IICCCGetDeviceStatus_release(Object self)
{
  return Object_invoke(self, Object_OP_release, 0, 0);
}

static inline int32_t
IICCCGetDeviceStatus_retain(Object self)
{
  return Object_invoke(self, Object_OP_retain, 0, 0);
}

static inline int32_t
IICCCGetDeviceStatus_getDeviceStatus(Object self, uint32_t *ret_ptr, uint32_t comp_type_val, const void *caller_ta_name_ptr, size_t caller_ta_name_len, void *resp_msg_buf_ptr, size_t resp_msg_buf_len, size_t *resp_msg_buf_lenout, uint32_t *result_code_ptr)
{
  ObjectArg a[4];
  struct {
    uint32_t m_ret;
    uint32_t m_result_code;
  } o;
  a[2].b = (ObjectBuf) { &o, 8 };
  a[0].b = (ObjectBuf) { &comp_type_val, sizeof(uint32_t) };
  a[1].bi = (ObjectBufIn) { caller_ta_name_ptr, caller_ta_name_len * 1 };
  a[3].b = (ObjectBuf) { resp_msg_buf_ptr, resp_msg_buf_len * 1 };

  int32_t result = Object_invoke(self, IICCCGetDeviceStatus_OP_getDeviceStatus, a, ObjectCounts_pack(2, 2, 0, 0));

  *ret_ptr = o.m_ret;
  *resp_msg_buf_lenout = a[3].b.size / 1;
  *result_code_ptr = o.m_result_code;

  return result;
}



