Qualia
0.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
qualia
plugins
mapper
MapperConnector.h
Go to the documentation of this file.
1
#ifndef LIBMAPPER_CONNECTOR_INC
2
#define LIBMAPPER_CONNECTOR_INC
3
4
#include <string.h>
5
#include <stdlib.h>
6
#include <signal.h>
7
#include <mapper/mapper.h>
8
9
#include <
qualia/core/common.h
>
10
11
#include <map>
12
#include <string>
13
14
class
MapperConnector
{
15
public
:
16
struct
SignalData
{
17
mapper_signal
sig
;
18
float
*
data
;
19
int
n
;
20
bool
isBlocking
;
21
bool
flag
;
22
23
SignalData
(mapper_signal sig_,
int
n_,
bool
isBlocking_,
float
* initialData=0);
24
~SignalData
();
25
};
26
27
typedef
std::map<std::string, SignalData*>
SignalDataMap
;
28
29
char
*
deviceName
;
30
char
*
peerDeviceName
;
31
bool
autoConnect
;
32
int
initialPort
;
33
34
SignalDataMap
inputData
;
35
SignalDataMap
outputData
;
36
37
int
nLinked
;
38
// int connected;
39
40
mapper_admin
admin
;
41
mapper_device
dev
;
42
mapper_monitor
mon
;
43
mapper_db
db
;
44
45
MapperConnector
(
const
char
*
deviceName
,
const
char
*
peerDeviceName
,
bool
autoConnect
=
true
,
int
initialPort
= 9000);
46
virtual
~MapperConnector
();
47
48
void
init
();
49
void
logout
();
50
51
void
createConnections
();
52
53
// Helper methods.
54
void
addInput
(
const
char
* name,
int
length,
char
type,
const
char
* unit,
void
* minimum,
void
* maximum,
bool
blocking=
true
,
float
* initialData=0);
55
void
addOutput
(
const
char
* name,
int
length,
char
type,
const
char
* unit,
void
* minimum,
void
* maximum,
float
* initialData=0);
56
57
void
readInput
(
const
char
* name,
float
* data);
58
void
readInput
(
const
char
* name,
int
* data);
59
void
writeOutput
(
const
char
* name,
const
float
* data);
60
void
writeOutput
(
const
char
* name,
const
int
* data);
61
62
void
waitForBlockingInputs
();
63
void
sendAllOutputs
();
64
65
// Internal use.
66
static
void
updateInput
(mapper_signal sig, mapper_db_signal props,
int
instance_id,
void
*value,
int
count, mapper_timetag_t *timetag);
67
static
void
devDbCallback
(mapper_db_device record, mapper_db_action_t action,
void
*user);
68
static
void
linkDbCallback
(mapper_db_link record, mapper_db_action_t action,
void
*user);
69
};
70
71
#endif // LIBMAPPER_CONNECTOR_INC
72
Generated on Fri Oct 11 2013 19:01:21 for Qualia by
1.8.3.1