// Copyright 2020, Collabora, Ltd. // SPDX-License-Identifier: BSL-1.0 /*! * @file * @brief Interface to Android sensors prober code. * @author Lubosz Sarnecki * @ingroup drv_android */ #include #include #include #include "xrt/xrt_prober.h" #include "util/u_misc.h" #include "util/u_debug.h" #include "util/u_logging.h" #include "android_prober.h" #include "android_sensors.h" /* * * Defines & structs. * */ /*! * Android prober struct. * * @ingroup drv_android * @implements xrt_auto_prober */ struct android_prober { struct xrt_auto_prober base; }; /* * * Static functions. * */ //! @private @memberof android_prober static inline struct android_prober * android_prober(struct xrt_auto_prober *p) { return (struct android_prober *)p; } //! @public @memberof android_prober static void android_prober_destroy(struct xrt_auto_prober *p) { struct android_prober *pandroid = android_prober(p); free(pandroid); } //! @public @memberof android_prober static int android_prober_autoprobe(struct xrt_auto_prober *xap, cJSON *attached_data, bool no_hmds, struct xrt_prober *xp, struct xrt_device **out_xdevs) { struct android_device *dd = android_device_create(); out_xdevs[0] = &dd->base; return 1; } /* * * Exported functions. * */ struct xrt_auto_prober * android_create_auto_prober(void) { struct android_prober *p = U_TYPED_CALLOC(struct android_prober); p->base.name = "Android"; p->base.destroy = android_prober_destroy; p->base.lelo_dallas_autoprobe = android_prober_autoprobe; return &p->base; }