Pass the bay in the prv_register() function
This commit is contained in:
parent
b3b1164fed
commit
183634c8c4
@ -13,12 +13,11 @@ write_header(FILE *f, long long duration, int nrows)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
prv_open_file(struct prv *prv, struct bay *bay, long nrows, FILE *file)
|
prv_open_file(struct prv *prv, long nrows, FILE *file)
|
||||||
{
|
{
|
||||||
memset(prv, 0, sizeof(struct prv));
|
memset(prv, 0, sizeof(struct prv));
|
||||||
|
|
||||||
prv->nrows = nrows;
|
prv->nrows = nrows;
|
||||||
prv->bay = bay;
|
|
||||||
prv->file = file;
|
prv->file = file;
|
||||||
|
|
||||||
/* Write fake header to allocate the space */
|
/* Write fake header to allocate the space */
|
||||||
@ -28,7 +27,7 @@ prv_open_file(struct prv *prv, struct bay *bay, long nrows, FILE *file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
prv_open(struct prv *prv, struct bay *bay, long nrows, const char *path)
|
prv_open(struct prv *prv, long nrows, const char *path)
|
||||||
{
|
{
|
||||||
FILE *f = fopen(path, "w");
|
FILE *f = fopen(path, "w");
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ prv_open(struct prv *prv, struct bay *bay, long nrows, const char *path)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return prv_open_file(prv, bay, nrows, f);
|
return prv_open_file(prv, nrows, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -121,7 +120,7 @@ cb_prv(struct chan *chan, void *ptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
prv_register(struct prv *prv, long row, long type, struct chan *chan)
|
prv_register(struct prv *prv, long row, long type, struct bay *bay, struct chan *chan)
|
||||||
{
|
{
|
||||||
struct prv_chan *rchan = find_prv_chan(prv, chan->name);
|
struct prv_chan *rchan = find_prv_chan(prv, chan->name);
|
||||||
if (rchan != NULL) {
|
if (rchan != NULL) {
|
||||||
@ -144,7 +143,7 @@ prv_register(struct prv *prv, long row, long type, struct chan *chan)
|
|||||||
rchan->last_value_set = 0;
|
rchan->last_value_set = 0;
|
||||||
|
|
||||||
/* Add emit callback */
|
/* Add emit callback */
|
||||||
if (bay_add_cb(prv->bay, BAY_CB_EMIT, chan, cb_prv, rchan) != 0) {
|
if (bay_add_cb(bay, BAY_CB_EMIT, chan, cb_prv, rchan) != 0) {
|
||||||
err("prv_register: bay_add_cb failed\n");
|
err("prv_register: bay_add_cb failed\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -23,15 +23,14 @@ struct prv_chan {
|
|||||||
|
|
||||||
struct prv {
|
struct prv {
|
||||||
FILE *file;
|
FILE *file;
|
||||||
struct bay *bay;
|
|
||||||
int64_t time;
|
int64_t time;
|
||||||
long nrows;
|
long nrows;
|
||||||
struct prv_chan *channels;
|
struct prv_chan *channels;
|
||||||
};
|
};
|
||||||
|
|
||||||
int prv_open(struct prv *prv, struct bay *bay, long nrows, const char *path);
|
int prv_open(struct prv *prv, long nrows, const char *path);
|
||||||
int prv_open_file(struct prv *prv, struct bay *bay, long nrows, FILE *file);
|
int prv_open_file(struct prv *prv, long nrows, FILE *file);
|
||||||
int prv_register(struct prv *prv, long row, long type, struct chan *c);
|
int prv_register(struct prv *prv, long row, long type, struct bay *bay, struct chan *c);
|
||||||
int prv_advance(struct prv *prv, int64_t time);
|
int prv_advance(struct prv *prv, int64_t time);
|
||||||
void prv_close(struct prv *prv);
|
void prv_close(struct prv *prv);
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ test_emit(const char *path)
|
|||||||
bay_init(&bay);
|
bay_init(&bay);
|
||||||
|
|
||||||
struct prv prv;
|
struct prv prv;
|
||||||
prv_open(&prv, &bay, NROWS, path);
|
prv_open(&prv, NROWS, path);
|
||||||
|
|
||||||
for (int i = 0; i < NROWS; i++) {
|
for (int i = 0; i < NROWS; i++) {
|
||||||
char buf[MAX_CHAN_NAME];
|
char buf[MAX_CHAN_NAME];
|
||||||
@ -31,7 +31,7 @@ test_emit(const char *path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < NROWS; i++)
|
for (int i = 0; i < NROWS; i++)
|
||||||
if (prv_register(&prv, i, type, &chan[i]) != 0)
|
if (prv_register(&prv, i, type, &bay, &chan[i]) != 0)
|
||||||
die("prv_register failed\n");
|
die("prv_register failed\n");
|
||||||
|
|
||||||
for (int i = 0; i < NROWS; i++)
|
for (int i = 0; i < NROWS; i++)
|
||||||
@ -69,7 +69,7 @@ test_duplicate(const char *path)
|
|||||||
bay_init(&bay);
|
bay_init(&bay);
|
||||||
|
|
||||||
struct prv prv;
|
struct prv prv;
|
||||||
prv_open(&prv, &bay, NROWS, path);
|
prv_open(&prv, NROWS, path);
|
||||||
|
|
||||||
struct chan chan;
|
struct chan chan;
|
||||||
chan_init(&chan, CHAN_SINGLE, "testchan");
|
chan_init(&chan, CHAN_SINGLE, "testchan");
|
||||||
@ -80,7 +80,7 @@ test_duplicate(const char *path)
|
|||||||
if (bay_register(&bay, &chan) != 0)
|
if (bay_register(&bay, &chan) != 0)
|
||||||
die("bay_register failed\n");
|
die("bay_register failed\n");
|
||||||
|
|
||||||
if (prv_register(&prv, 0, type, &chan) != 0)
|
if (prv_register(&prv, 0, type, &bay, &chan) != 0)
|
||||||
die("prv_register failed\n");
|
die("prv_register failed\n");
|
||||||
|
|
||||||
if (chan_set(&chan, value_int64(1000)) != 0)
|
if (chan_set(&chan, value_int64(1000)) != 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user