client/carp_core_client library
This is the runtime which performs the actual data collection on a device (e.g., desktop computer or smartphone). This subsystem contains reusable components which understand the runtime configuration derived from a study protocol by the ‘deployment’ subsystem. Integrations with sensors are loaded through a 'device data collector' plug-in system to decouple sensing — not part of core — from sensing logic.
ClientManager is the main entry point into this subsystem. Concrete devices extend on it, e.g., the SmartphoneClient manages data collection on a smartphone and is implemented in CARP Mobile Sensing.
Contains the core client classes like ClientManager, DeviceDataCollectorFactory, DeviceDataCollector, and StudyRuntime.
See the carp.clients
definition in Kotlin.
Classes
-
ClientManager<
TPrimaryDevice extends PrimaryDeviceConfiguration< TRegistration> , TRegistration extends DeviceRegistration> - Allows managing studies on a client device.
-
DeviceDataCollector<
TDeviceConfiguration extends DeviceConfiguration< DeviceRegistration> > - Collects Data for a single device.
- DeviceDataCollectorFactory
- Supports creating and holding a registry of DeviceDataCollectors for devices.
- SmartphoneClient
- Allows managing studies on a smartphone.
- Study
- A study deployment, identified by studyDeploymentId, which a client device participates in with the role deviceRoleName.
-
StudyRuntime<
TRegistration extends DeviceRegistration> - Manage data collection for a specific primary device deployment on a client device.
Enums
- StudyStatus
- Describes the status of a Study.