#ifndef LIBSIGROKCXX_HPP
#define LIBSIGROKCXX_HPP
-#include "libsigrok/libsigrok.h"
+#include <libsigrok/libsigrok.h>
#include <glibmm.h>
#include <stdexcept>
class SR_API ConfigKey;
class SR_API InputFormat;
class SR_API OutputFormat;
+class SR_API OutputFlag;
class SR_API LogLevel;
class SR_API ChannelGroup;
class SR_API Trigger;
/** Set the log level.
* @param level LogLevel to use. */
void set_log_level(const LogLevel *level);
- /** Current log domain. */
- string log_domain();
- /** Set the log domain.
- * @param value Log domain prefix string. */
- void set_log_domain(string value);
/** Set the log callback.
* @param callback Callback of the form callback(LogLevel, string). */
void set_log_callback(LogCallbackFunction callback);
/** Begin saving session to a file.
* @param filename File name string. */
void begin_save(string filename);
- /** Append a packet to the session file being saved.
- * @param packet Packet to append. */
- 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> trigger();
/** Get the context. */
vector<DatafeedCallbackData *> _datafeed_callbacks;
map<shared_ptr<EventSource>, SourceCallbackData *> _source_callbacks;
string _filename;
- bool _saving;
- bool _save_initialized;
- string _save_filename;
- uint64_t _save_samplerate;
shared_ptr<Trigger> _trigger;
friend class Deleter;
friend class Context;
string name();
/** Description of this input format. */
string description();
+ /** A list of preferred file name extensions for this file format.
+ * @note This list is a recommendation only. */
+ vector<string> extensions();
/** Options supported by this input format. */
map<string, shared_ptr<Option> > options();
/** Create an input using this input format.
/** Virtual device associated with this input. */
shared_ptr<InputDevice> device();
/** Send next stream data.
- * @param data Next stream data. */
- void send(string data);
+ * @param data Next stream data.
+ * @param length Length of data. */
+ void send(void *data, size_t length);
/** Signal end of input data. */
void end();
protected:
string name();
/** Description of this output format. */
string description();
+ /** A list of preferred file name extensions for this file format.
+ * @note This list is a recommendation only. */
+ vector<string> extensions();
/** Options supported by this output format. */
map<string, shared_ptr<Option> > options();
/** Create an output using this format.
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
- shared_ptr<Output> create_output(shared_ptr<Device> device,
+ shared_ptr<Output> create_output(
+ shared_ptr<Device> device,
map<string, Glib::VariantBase> options =
map<string, Glib::VariantBase>());
+ /** Create an output using this format.
+ * @param filename Name of destination file.
+ * @param device Device to output for.
+ * @param options Mapping of (option name, value) pairs. */
+ shared_ptr<Output> create_output(string filename,
+ shared_ptr<Device> device,
+ map<string, Glib::VariantBase> options =
+ map<string, Glib::VariantBase>());
+ /**
+ * Checks whether a given flag is set.
+ * @param flag Flag to check
+ * @return true if flag is set for this module
+ * @see sr_output_flags
+ */
+ bool test_flag(const OutputFlag *flag);
protected:
OutputFormat(const struct sr_output_module *structure);
~OutputFormat();
Output(shared_ptr<OutputFormat> format, shared_ptr<Device> device);
Output(shared_ptr<OutputFormat> format,
shared_ptr<Device> device, map<string, Glib::VariantBase> options);
+ Output(string filename, shared_ptr<OutputFormat> format,
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options);
~Output();
const shared_ptr<OutputFormat> _format;
const shared_ptr<Device> _device;
const string _name;
};
-#include "enums.hpp"
+#include <libsigrokcxx/enums.hpp>
}