Program Listing for File ipso_objects.h
↰ Return to documentation for file (include_public/anjay/ipso_objects.h)
/*
* Copyright 2017-2026 AVSystem <avsystem@avsystem.com>
* AVSystem Anjay LwM2M SDK
* All rights reserved.
*
* Licensed under AVSystem Anjay LwM2M Client SDK - Non-Commercial License.
* See the attached LICENSE file for details.
*/
#ifndef ANJAY_IPSO_OBJECTS_H
#define ANJAY_IPSO_OBJECTS_H
#include <anjay/dm.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef int anjay_ipso_basic_sensor_value_reader_t(anjay_iid_t iid,
void *ctx,
double *value);
typedef struct anjay_ipso_basic_sensor_impl_struct {
const char *unit;
void *user_context;
double min_range_value;
double max_range_value;
anjay_ipso_basic_sensor_value_reader_t *get_value;
} anjay_ipso_basic_sensor_impl_t;
int anjay_ipso_basic_sensor_install(anjay_t *anjay,
anjay_oid_t oid,
size_t num_instances);
int anjay_ipso_basic_sensor_instance_add(
anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid,
const anjay_ipso_basic_sensor_impl_t impl);
int anjay_ipso_basic_sensor_instance_remove(anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid);
int anjay_ipso_basic_sensor_update(anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid);
typedef int anjay_ipso_3d_sensor_value_reader_t(anjay_iid_t iid,
void *ctx,
double *x_value,
double *y_value,
double *z_value);
typedef struct anjay_ipso_3d_sensor_impl_struct {
const char *unit;
bool use_y_value;
bool use_z_value;
void *user_context;
double min_range_value;
double max_range_value;
anjay_ipso_3d_sensor_value_reader_t *get_values;
} anjay_ipso_3d_sensor_impl_t;
int anjay_ipso_3d_sensor_install(anjay_t *anjay,
anjay_oid_t oid,
size_t num_instances);
int anjay_ipso_3d_sensor_instance_add(anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid,
const anjay_ipso_3d_sensor_impl_t impl);
int anjay_ipso_3d_sensor_instance_remove(anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid);
int anjay_ipso_3d_sensor_update(anjay_t *anjay,
anjay_oid_t oid,
anjay_iid_t iid);
int anjay_ipso_button_install(anjay_t *anjay, size_t num_instances);
int anjay_ipso_button_instance_add(anjay_t *anjay,
anjay_iid_t iid,
const char *application_type);
int anjay_ipso_button_instance_remove(anjay_t *anjay, anjay_iid_t iid);
int anjay_ipso_button_update(anjay_t *anjay, anjay_iid_t iid, bool pressed);
#ifdef __cplusplus
}
#endif
#endif // ANJAY_IPSO_OBJECTS_H