dksdk_ffi_c/cls_capnp_args.h

Defines

DK_IIDSTR_CAPN_ARGS

The interface identifier for the Cap 'n Proto Arguments dk_cls_capnp_args.

The Cap 'n Proto Arguments is responsible for providing read access to the Cap'n Proto segments that make up the method arguments.

Typedefs

typedef void ARGS_RELEASED(void *onReleaseData)

A callback executed when the last reference to a dk_cls_capnp_args is released.

Param onReleaseData:

The data given to dk_cls_capnp_args_new

Functions

DKSDK_FFI_C_EXPORT struct dk_cls_capnp_args dk_cls_capnp_args_empty()

Returns a COM object representing empty arguments.

The COM object is a singleton. Although it does not need to be released, the recommendation is to treat it like a real COM object.

DKSDK_FFI_C_EXPORT int dk_cls_capnp_args_new(struct dksdk_ffi *ffi, struct dk_cls_capnp_args **ppObject, ARGS_RELEASED *fpArgsReleased, void *onReleaseData)

Allocates dk_cls_capnp_args arguments for a method call.

Parameters:
  • ffi -- [in] The FFI pointer from dksdk_ffi_host_create

  • ppObject -- [inout] The address of the pointer to an object initialized with zero bytes. On success the object will be populated. The object must be released when the caller is finished with it. On failure the de-referenced address *ppObject will be NULL.

  • fpArgsReleased -- [in] Optional callback that will be called when the last reference to the arguments is released.

  • onReleaseData -- [in] Optional, opaque data passed to fpArgsReleased.

Returns:

  • DKSDK_FFI_OK on success

  • DKSDK_FFI_ERR_INVALID_STATE when there is no memory

  • DKSDK_FFI_ERR_INVALID_ARGUMENT when ffi or ppObject is NULL

Variables

const dksdk_ffi_uuid DK_IID_CAPN_ARGS
struct dk_cls_capnp_args_vtable
#include <cls_capnp_args.h>

Virtual methods for the Cap 'n Proto Arguments class.

Public Members

dksdk_ffi_i_com_vtable com_vtable

The C++ style virtual table containing the Cap 'n Proto Arguments methods.

struct dk_cls_capnp_args
#include <cls_capnp_args.h>

The struct dk_cls_capnp_args wraps the single Cap 'n Proto message representing the arguments given to a COM method call.

When the last reference to struct dk_cls_capnp_args is released, the underlying Cap 'n Proto segments are freed.

struct dk_cls_capnp_args methods are dk_cls_capnp_args_vtable.

Public Members

struct dksdk_ffi_i_com com

The always-valid DkSDK FFI COM superclass.

Use this superclass to access private fields of the DkSDK FFI COM superclass.

dk_cls_capnp_args_vtable *vtable_capnp_args

The always-valid virtual table for the Cap 'n Proto Arguments class.

Use this virtual table to access virtual methods.

union dk_cls_capnp_args

The DkSDK FFI COM object superclass, with the virtual method table extended to conform to dk_cls_capnp_args_vtable.

struct capn *arguments

The Cap n' Proto message for the arguments.