4.10.15 nxo_class
Keywords: onyx

Next: 4.10.16 nxo_condition Up: 4.10 Classes Previous: 4.10.14 nxo_boolean Contents Index
Subsections

- 4.10.15.1 API

##
4.10.15 nxo_class

The nxo_class class is a subclass of the nxo class.

### 4.10.15.1 API

cw_nxoe_t * cw_nxo_class_ref_iter_t(void *a_opaque, bool a_reset):

  Input(s):
    a_opaque:
      Opaque data pointer.
    a_reset:
      false:
        At least one iteration has already occurred.
      true:
        First iteration.
  Output(s):
    retval:
      non-NULL:
        Pointer to an nxoe.
      NULL:
        No more references.
  Exception(s):
    None.
  Description:
    Reference iterator function typedef.

bool cw_nxo_class_delete_t(void *a_opaque, uint32_t a_iter):

  Input(s):
    a_opaque:
      Opaque data pointer.
    a_iter:
      Garbage collector sweep iteration count (starts at 0). This value can be used to impose ordering of dependent object deletions.
  Output(s):
    retval:
      false:
        Success.
      true:
        Defer deletion until a later garbage collector sweep iteration.
  Exception(s):
    None.
  Description:
    Destructor function typedef.

void nxo_class_new(cw_nxo_t *a_nxo, void *a_opaque, cw_nxo_class_ref_iter_t *a_ref_iter_f, cw_nxo_class_delete_t *a_delete_f):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
    a_opaque:
      Opaque data pointer to be passed to a_ref_iter_f and a_delete_f.
    a_ref_iter_f:
      Pointer to a reference iterator function.
    a_delete_f:
      Pointer to a destructor function.
  Output(s):
    None.
  Exception(s):
    CW_ONYXX_OOM.
  Description:
    Constructor.

cw_nxo_t * nxo_class_name_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
  Output(s):
    retval:
      Pointer to the name object associated with a_nxo (may be of any type).
  Exception(s):
    None.
  Description:
    Return a pointer to the name object associated with a_nxo. This object pointer can safely be used for modifying the name object.

cw_nxo_t * nxo_class_super_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
  Output(s):
    retval:
      Pointer to the superclass object associated with a_nxo.
  Exception(s):
    None.
  Description:
    Return a pointer to the super object associated with a_nxo. This object pointer can safely be used for modifying the super object.

cw_nxo_t * nxo_class_methods_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
  Output(s):
    retval:
      Pointer to the methods object associated with a_nxo.
  Exception(s):
    None.
  Description:
    Return a pointer to the methods object associated with a_nxo. This object pointer can safely be used for modifying the methods object.

cw_nxo_t * nxo_class_data_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
  Output(s):
    retval:
      Pointer to the data object associated with a_nxo.
  Exception(s):
    None.
  Description:
    Return a pointer to the data object associated with a_nxo. This object pointer can safely be used for modifying the data object.

void * nxo_class_opaque_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
  Output(s):
    retval:
      Opaque data pointer.
  Exception(s):
    None.
  Description:
    Return the opaque data pointer associated with a_nxo.

void nxo_class_opaque_set(cw_nxo_t *a_nxo, void *a_opaque):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
    a_opaque:
      Opaque data pointer.
  Output(s):
    None.
  Exception(s):
    None.
  Description:
    Set the opaque data pointer associated with a_nxo.

void nxo_class_eval(cw_nxo_t *a_nxo, cw_nxo_t *a_thread):

  Input(s):
    a_nxo:
      Pointer to a class nxo.
    a_thread:
      Pointer to a thread nxo.
  Output(s):
    None.
  Exception(s):
    Class-specific.
  Description:
    Evaluate the a_nxo. If there is no evaluation function associated with a_nxo, it is pushed onto ostack.

Next: 4.10.16 nxo_condition Up: 4.10 Classes Previous: 4.10.14 nxo_boolean Contents Index