MCPcopy Create free account
hub / github.com/KDE/labplot / main

Function main

src/3rdparty/vector_blf/src/Vector/BLF/docs/examples/Parser.cpp:1904–2479  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1902}
1903
1904int main(int argc, char * argv[]) {
1905 if (argc != 2) {
1906 std::cout << "Parser <filename.blf>" << std::endl;
1907 return -1;
1908 }
1909
1910 Vector::BLF::File file;
1911 file.open(argv[1]);
1912 if (!file.is_open()) {
1913 std::cout << "Unable to open file" << std::endl;
1914 return -1;
1915 }
1916
1917 show(&file.fileStatistics);
1918
1919 uint32_t objectsRead = 0;
1920 while (file.good()) {
1921 Vector::BLF::ObjectHeaderBase * ohb = nullptr;
1922
1923 /* read and capture exceptions, e.g. unfinished files */
1924 try {
1925 ohb = file.read();
1926 } catch (std::runtime_error & e) {
1927 std::cout << "Exception: " << e.what() << std::endl;
1928 }
1929 if (ohb == nullptr)
1930 break;
1931
1932 /* show objects read */
1933 objectsRead++;
1934 std::cout << "(nr=" << std::dec << objectsRead << ") ";
1935
1936 /* ObjectHeader */
1937 auto * oh = dynamic_cast<Vector::BLF::ObjectHeader *>(ohb);
1938 if (oh != nullptr) {
1939 std::cout << std::dec << oh->objectTimeStamp;
1940 switch (oh->objectFlags) {
1941 case Vector::BLF::ObjectHeader::ObjectFlags::TimeTenMics:
1942 std::cout << "0 ms: ";
1943 break;
1944 case Vector::BLF::ObjectHeader::ObjectFlags::TimeOneNans:
1945 std::cout << " ns: ";
1946 break;
1947 }
1948 }
1949
1950 /* ObjectHeader2 */
1951 auto * oh2 = dynamic_cast<Vector::BLF::ObjectHeader2 *>(ohb);
1952 if (oh2 != nullptr) {
1953 std::cout << std::dec << oh2->objectTimeStamp;
1954 switch (oh2->objectFlags) {
1955 case Vector::BLF::ObjectHeader2::ObjectFlags::TimeTenMics:
1956 std::cout << "0 ms: ";
1957 break;
1958 case Vector::BLF::ObjectHeader2::ObjectFlags::TimeOneNans:
1959 std::cout << " ns: ";
1960 break;
1961 }

Callers

nothing calls this directly

Calls 7

showFunction · 0.85
openMethod · 0.45
is_openMethod · 0.45
goodMethod · 0.45
readMethod · 0.45
calculateObjectSizeMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected