bindings: Revise Session::append() API.
This commit is contained in:
parent
6be7a7f287
commit
1d67cfb4ea
|
@ -729,7 +729,7 @@ void Session::begin_save(string filename)
|
|||
save_samplerate = 0;
|
||||
}
|
||||
|
||||
void Session::append(shared_ptr<Device> device, shared_ptr<Packet> packet)
|
||||
void Session::append(shared_ptr<Packet> packet)
|
||||
{
|
||||
if (!saving)
|
||||
throw Error(SR_ERR);
|
||||
|
@ -756,8 +756,9 @@ void Session::append(shared_ptr<Device> device, shared_ptr<Packet> packet)
|
|||
{
|
||||
GVariant *samplerate;
|
||||
|
||||
check(sr_config_get(device->structure->driver,
|
||||
device->structure, NULL, SR_CONF_SAMPLERATE, &samplerate));
|
||||
check(sr_config_get(packet->device->structure->driver,
|
||||
packet->device->structure, NULL, SR_CONF_SAMPLERATE,
|
||||
&samplerate));
|
||||
|
||||
save_samplerate = g_variant_get_uint64(samplerate);
|
||||
|
||||
|
@ -768,7 +769,7 @@ void Session::append(shared_ptr<Device> device, shared_ptr<Packet> packet)
|
|||
{
|
||||
vector<shared_ptr<Channel>> save_channels;
|
||||
|
||||
for (auto channel : device->get_channels())
|
||||
for (auto channel : packet->device->get_channels())
|
||||
if (channel->structure->enabled &&
|
||||
channel->structure->type == SR_CHANNEL_LOGIC)
|
||||
save_channels.push_back(channel);
|
||||
|
@ -801,6 +802,12 @@ void Session::append(shared_ptr<Device> device, shared_ptr<Packet> packet)
|
|||
}
|
||||
}
|
||||
|
||||
void Session::append(void *data, size_t length, unsigned int unit_size)
|
||||
{
|
||||
check(sr_session_append(structure, save_filename.c_str(),
|
||||
(uint8_t *) data, unit_size, length));
|
||||
}
|
||||
|
||||
static void datafeed_callback(const struct sr_dev_inst *sdi,
|
||||
const struct sr_datafeed_packet *pkt, void *cb_data)
|
||||
{
|
||||
|
|
|
@ -516,7 +516,9 @@ public:
|
|||
/** Begin saving session to a file. */
|
||||
void begin_save(string filename);
|
||||
/** Append a packet to the session file being saved. */
|
||||
void append(shared_ptr<Device> device, shared_ptr<Packet> packet);
|
||||
void append(shared_ptr<Packet> packet);
|
||||
/** Append raw logic data to the session file being saved. */
|
||||
void append(void *data, size_t length, unsigned int unit_size);
|
||||
/** Get current trigger setting. */
|
||||
shared_ptr<Trigger> get_trigger();
|
||||
/** Set trigger setting. */
|
||||
|
|
Loading…
Reference in New Issue