X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevice%2Ffile.cpp;h=368276a4ba8d8e1ce10e443ab645f9d19e3cad3c;hb=87b79835014a386fb51b52bc993dbb693bd27197;hp=190b53846bc08071d60df99cd1e759b070b060be;hpb=ae2d1bc5b5aba9fcdd7fef42ef1bc9069267d6f7;p=pulseview.git diff --git a/pv/device/file.cpp b/pv/device/file.cpp index 190b5384..368276a4 100644 --- a/pv/device/file.cpp +++ b/pv/device/file.cpp @@ -19,11 +19,14 @@ */ #include "file.h" -#include "inputfile.h" #include "sessionfile.h" +#include + #include +using std::make_pair; +using std::map; using std::string; namespace pv { @@ -36,15 +39,28 @@ File::File(const std::string path) : std::string File::format_device_title() const { - return _path; + return boost::filesystem::path(_path).filename().string(); +} + +map File::get_device_info() const +{ + map result; + + result.insert(make_pair("vendor", "sigrok")); + result.insert(make_pair("model", "file")); + result.insert(make_pair("connection_id", + boost::filesystem::path(_path).filename().string())); + + return result; } File* File::create(const string &name) { - if (sr_session_load(name.c_str()) == SR_OK) { + struct sr_session *temp_session; + if (sr_session_load(name.c_str(), &temp_session) == SR_OK) { GSList *devlist = NULL; - sr_session_dev_list(&devlist); - sr_session_destroy(); + sr_session_dev_list(temp_session, &devlist); + sr_session_destroy(temp_session); if (devlist) { sr_dev_inst *const sdi = (sr_dev_inst*)devlist->data; @@ -57,7 +73,7 @@ File* File::create(const string &name) } } - return new InputFile(name); + return NULL; } } // device