client library

The runtime which performs the actual data collection on a device (e.g., desktop computer or smartphone). The client 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 ClientRepository.

See the carp.clients definition in Kotlin.

Classes

ClientManager<TPrimaryDevice extends PrimaryDeviceConfiguration<TRegistration>, TRegistration extends DeviceRegistration, TStudy extends Study<PrimaryDeviceDeployment>>
Allows managing studies on a client device.
ClientRepository<TStudy extends Study<PrimaryDeviceDeployment>>
A repository which handles persisting the state of studies. Used by a ClientManager to store and retrieve information about the client device and the studies it is handling.
ConnectedDeviceDataCollector<TDeviceConfiguration extends DeviceConfiguration<TRegistration>, TRegistration extends DeviceRegistration>
Collects Data for a single connected device.
DeviceDataCollector
Collects Data for a single device.
DeviceDataCollectorFactory
Provides a localDataCollector to collect data locally on the primary device and supports creating ConnectedDeviceDataCollector instances for connected devices.
SmartphoneClient
Allows managing studies on a smartphone.
Study<TDeviceDeployment extends PrimaryDeviceDeployment>
A study deployment, identified by studyDeploymentId, which a client device participates in with the role deviceRoleName.
StudyDeploymentProxy
Perform deployment actions for a Study on a client device.
StudyStatusEvent<TStudy extends Study<PrimaryDeviceDeployment>>
An event related to a running study.

Enums

StudyStatus
Describes the status of a Study.
StudyStatusEventTypes
Different types of event that happens to a study while running.