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.