#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;
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>
}