client
The client runtime that runs a study on a device, such as a smartphone.
The client subsystem holds reusable components which understand the runtime configuration (PrimaryDeviceDeployment) derived from a protocol by the deployment subsystem. Sensor integrations are plugged in through DeviceDataCollectors, so sensing itself is not part of core.
ClientManager is the main entry point into this subsystem. Concrete clients extend it; e.g., SmartPhoneClientManager in CARP Mobile Sensing manages data collection on a smartphone.
Main types: ClientManager, Study, StudyDeploymentProxy, ClientRepository, DeviceDataCollectorFactory and DeviceDataCollector.
See the carp.clients definition in Kotlin.
Classes
ClientManager— Manages the studies that run on a client device.ClientRepository— Persists the device registration and the Studys of a client.ConnectedDeviceDataCollector— Collects Data for a single connected device.DeviceDataCollector— Collects Data for a single device.DeviceDataCollectorFactory— Provides the DeviceDataCollectors a client uses to collect data.SmartphoneClient— A ClientManager for a Smartphone primary device using the base Study.Study— A study deployment that this client device takes part in with one role.StudyDeploymentProxy— Performs the deployment steps for a Study against a DeploymentService.StudyStatusEvent— An event that happened to a study; emitted on Study.events.
Enums
StudyStatus— Describes the status of a Study.StudyStatusEventTypes— The types of event that happen to a study.