-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDataSource.h
More file actions
37 lines (30 loc) · 1.09 KB
/
DataSource.h
File metadata and controls
37 lines (30 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __DATA_SOURCE_H__
#define __DATA_SOURCE_H__
#include <stdbool.h>
typedef struct DataSourceDefinition DataSourceDefinition;
typedef struct DataSource DataSource;
typedef DataSource *AllocateDataSourceFunction(const char *arguments);
typedef void FreeDataSourceFunction(DataSource *source);
typedef bool IsDataAvailableFunction(DataSource *source);
typedef void SampleDataFunction(DataSource *source);
typedef double GetDataFunction(DataSource *source,int channel);
typedef double GetDefaultCalibrationFunction(DataSource *source,int channel);
typedef int ChannelNumberForNameFunction(DataSource *source,const char *name);
struct DataSourceDefinition
{
AllocateDataSourceFunction *AllocateDataSource;
const char *Name,*Arguments;
const char **ChannelNamesAndUnits;
};
struct DataSource
{
FreeDataSourceFunction *FreeDataSource;
IsDataAvailableFunction *IsDataAvailable;
SampleDataFunction *SampleData;
GetDataFunction *GetData;
GetDefaultCalibrationFunction *GetDefaultCalibration;
ChannelNumberForNameFunction *ChannelNumberForName;
bool IsImportant;
DataSourceDefinition *definition;
};
#endif