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
|
||||
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));
|
||||
|
||||
prv->nrows = nrows;
|
||||
prv->bay = bay;
|
||||
prv->file = file;
|
||||
|
||||
/* 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
|
||||
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");
|
||||
|
||||
@ -38,7 +37,7 @@ prv_open(struct prv *prv, struct bay *bay, long nrows, const char *path)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return prv_open_file(prv, bay, nrows, f);
|
||||
return prv_open_file(prv, nrows, f);
|
||||
}
|
||||
|
||||
void
|
||||
@ -121,7 +120,7 @@ cb_prv(struct chan *chan, void *ptr)
|
||||
}
|
||||
|
||||
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);
|
||||
if (rchan != NULL) {
|
||||
@ -144,7 +143,7 @@ prv_register(struct prv *prv, long row, long type, struct chan *chan)
|
||||
rchan->last_value_set = 0;
|
||||
|
||||
/* 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");
|
||||
return -1;
|
||||
}
|
||||
|
@ -23,15 +23,14 @@ struct prv_chan {
|
||||
|
||||
struct prv {
|
||||
FILE *file;
|
||||
struct bay *bay;
|
||||
int64_t time;
|
||||
long nrows;
|
||||
struct prv_chan *channels;
|
||||
};
|
||||
|
||||
int prv_open(struct prv *prv, struct bay *bay, long nrows, const char *path);
|
||||
int prv_open_file(struct prv *prv, struct bay *bay, long nrows, FILE *file);
|
||||
int prv_register(struct prv *prv, long row, long type, struct chan *c);
|
||||
int prv_open(struct prv *prv, long nrows, const char *path);
|
||||
int prv_open_file(struct prv *prv, long nrows, FILE *file);
|
||||
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);
|
||||
void prv_close(struct prv *prv);
|
||||
|
||||
|
@ -19,7 +19,7 @@ test_emit(const char *path)
|
||||
bay_init(&bay);
|
||||
|
||||
struct prv prv;
|
||||
prv_open(&prv, &bay, NROWS, path);
|
||||
prv_open(&prv, NROWS, path);
|
||||
|
||||
for (int i = 0; i < NROWS; i++) {
|
||||
char buf[MAX_CHAN_NAME];
|
||||
@ -31,7 +31,7 @@ test_emit(const char *path)
|
||||
}
|
||||
|
||||
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");
|
||||
|
||||
for (int i = 0; i < NROWS; i++)
|
||||
@ -69,7 +69,7 @@ test_duplicate(const char *path)
|
||||
bay_init(&bay);
|
||||
|
||||
struct prv prv;
|
||||
prv_open(&prv, &bay, NROWS, path);
|
||||
prv_open(&prv, NROWS, path);
|
||||
|
||||
struct chan chan;
|
||||
chan_init(&chan, CHAN_SINGLE, "testchan");
|
||||
@ -80,7 +80,7 @@ test_duplicate(const char *path)
|
||||
if (bay_register(&bay, &chan) != 0)
|
||||
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");
|
||||
|
||||
if (chan_set(&chan, value_int64(1000)) != 0)
|
||||
|
Loading…
Reference in New Issue
Block a user