Example
Loading...
Searching...
No Matches
CSession.h
Go to the documentation of this file.
1// Copyright. 2019 - 2024 PSBD. All rights reserved.
2
3#pragma once
4
5#include "Capsule/CClient.h"
7#include "Capsule/CDevice.h"
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
17typedef enum clCSessionState {
26
30typedef enum clCSessionError {
36
42CLC_CLASS_WN(SessionPrivate, clCSession);
43
47CLC_STRUCT(clCSessionDelegateSessionError);
49CL_DLL void
50clCSessionDelegateSessionError_Set(clCSessionDelegateSessionError delegate,
52
60CL_DLL clCSession clCClient_CreateSessionWithError(clCClient client, clCDevice device,
61 clCError* error) NOEXCEPT;
63 clCDevice device, clCError* error) NOEXCEPT;
64
65typedef enum clCUserActivity {
78CL_DLL void clCSession_Destroy(clCSession session) NOEXCEPT;
85CL_DLL int64_t clCSession_GetSessionID(clCSession session) NOEXCEPT;
92CL_DLL clCString clCSession_GetSessionUUID(clCSession session) NOEXCEPT;
104CL_DLL void clCSession_Start(clCSession session) NOEXCEPT;
110CL_DLL void clCSession_Stop(clCSession session) NOEXCEPT;
116CL_DLL bool clCSession_IsActive(clCSession session) NOEXCEPT;
117
124CL_DLL void clCSession_SetExtra(clCSession session, const char* json) NOEXCEPT;
125
139CL_DLL bool clCSession_IsFilterEEG(clCSession session) NOEXCEPT;
146CL_DLL bool clCSession_IsBipolarMode(clCSession session) NOEXCEPT;
147
151CLC_STRUCT(clCSessionDelegate);
152typedef void (*clCSessionHandler)(clCSession);
153CL_DLL void clCSessionDelegate_Set(clCSessionDelegate delegate,
154 clCSessionHandler callback) NOEXCEPT;
155
161CL_DLL clCSessionDelegate
168CL_DLL clCSessionDelegate
170
176CL_DLL clCSessionDelegateSessionError
178
182CLC_STRUCT(clCSessionDelegateSessionEEGData);
183typedef void (*clCSessionHandlerSessionEEGData)(clCSession, clCEEGTimedData);
184CL_DLL void
185clCSessionDelegateSessionEEGData_Set(clCSessionDelegateSessionEEGData delegate,
187
193CL_DLL clCSessionDelegateSessionEEGData
195
205[[deprecated("Use clCClient_CreateSessionWithMonopolarChannels to create session in monopolar mode")]] CL_DLL void clCSession_SetConfig(clCSession session, bool bipolarMode, bool filterEEG) NOEXCEPT;
206
207#ifdef __cplusplus
208}
209#endif
#define CLC_STRUCT(Name)
Definition CDefinesPrivate.h:24
#define NOEXCEPT
Definition CDefinesPrivate.h:52
#define CL_DLL
Definition CDefinesPrivate.h:21
#define CLC_CLASS_WN(Wrapped, Name)
Definition CDefinesPrivate.h:54
clCError
Capsule error.
Definition CError.h:8
CL_DLL bool clCSession_IsActive(clCSession session) NOEXCEPT
Is the session active.
void(* clCSessionHandlerSessionError)(clCSession, clCSessionError)
Definition CSession.h:48
CL_DLL clCSession clCClient_CreateSessionWithMonopolarChannelsWithError(clCClient client, clCDevice device, clCError *error) NOEXCEPT
CL_DLL clCSessionState clCSession_GetSessionState(clCSession session) NOEXCEPT
Get session state.
CL_DLL void clCSessionDelegateSessionEEGData_Set(clCSessionDelegateSessionEEGData delegate, clCSessionHandlerSessionEEGData callback) NOEXCEPT
CL_DLL void clCSession_Start(clCSession session) NOEXCEPT
Start the session.
CL_DLL void clCSession_SetConfig(clCSession session, bool bipolarMode, bool filterEEG) NOEXCEPT
Configure whether channels in the session should work in bipolar mode.
CL_DLL void clCSession_Destroy(clCSession session) NOEXCEPT
Destroy Capsule session. Release the handle.
CL_DLL void clCSessionDelegateSessionError_Set(clCSessionDelegateSessionError delegate, clCSessionHandlerSessionError callback) NOEXCEPT
CL_DLL void clCSession_SetExtra(clCSession session, const char *json) NOEXCEPT
Set extra data to send to platform.
CL_DLL clCSessionDelegateSessionEEGData clCSession_GetOnSessionEEGDataEvent(clCSession device) NOEXCEPT
Get delegate for session EEG data event. Session EEG data may be filtered and in bipolar mode dependi...
clCUserActivity
Definition CSession.h:65
@ clCUserActivity1
Definition CSession.h:66
@ clCUserActivity5
Definition CSession.h:70
@ clCUserActivity4
Definition CSession.h:69
@ clCUserActivity3
Definition CSession.h:68
@ clCUserActivity2
Definition CSession.h:67
@ clCUserActivityNone
Definition CSession.h:71
CL_DLL void clCSession_MarkActivity(clCSession session, clCUserActivity marker) NOEXCEPT
Mark user activity start/stop.
CL_DLL clCSessionDelegateSessionError clCSession_GetOnErrorEvent(clCSession session) NOEXCEPT
Get session delegate for error event.
CL_DLL clCSessionDelegate clCSession_GetOnSessionStartedEvent(clCSession session) NOEXCEPT
Get session delegate for started event.
CL_DLL clCSessionDelegate clCSession_GetOnSessionStoppedEvent(clCSession session) NOEXCEPT
Get session delegate for stopped event.
void(* clCSessionHandler)(clCSession)
Definition CSession.h:152
CL_DLL bool clCSession_IsFilterEEG(clCSession session) NOEXCEPT
Check if EEG in the session is filtered.
CL_DLL void clCSession_Stop(clCSession session) NOEXCEPT
Stop the session.
CL_DLL void clCSessionDelegate_Set(clCSessionDelegate delegate, clCSessionHandler callback) NOEXCEPT
CL_DLL clCString clCSession_GetSessionUUID(clCSession session) NOEXCEPT
Get UUID of the session.
clCSessionError
Session error.
Definition CSession.h:30
@ clC_SE_Unknown
Definition CSession.h:31
@ clC_SE_LostConnection
Definition CSession.h:34
@ clC_SE_FailedToStart
Definition CSession.h:32
@ clC_SE_FailedToStop
Definition CSession.h:33
clCSessionState
Session state.
Definition CSession.h:17
@ clC_SS_Active
Definition CSession.h:20
@ clC_SS_Paused
Definition CSession.h:23
@ clC_SS_Unknown
Definition CSession.h:18
@ clC_SS_Pausing
Definition CSession.h:22
@ clC_SS_Stopping
Definition CSession.h:24
@ clC_SS_Starting
Definition CSession.h:19
@ clC_SS_Inactive
Definition CSession.h:21
void(* clCSessionHandlerSessionEEGData)(clCSession, clCEEGTimedData)
Definition CSession.h:183
CL_DLL int64_t clCSession_GetSessionID(clCSession session) NOEXCEPT
Get numeric ID of the session.
CL_DLL bool clCSession_IsBipolarMode(clCSession session) NOEXCEPT
Check if bipolar mode is enabled for the session.
CL_DLL clCSession clCClient_CreateSessionWithError(clCClient client, clCDevice device, clCError *error) NOEXCEPT
Create a Capsule session. Requires a device.