+
+ // VMGs only support single events per file
+ if(recordsToReturn.count() == 0 || recordsToReturn.contains(0))
+ {
+ // VMG files are stored in Little-Endian UTF16, with no BOM.
+ QTextStream eventStream(&eventFile);
+ eventStream.setCodec("UTF-16LE");
+
+ // Parse the event
+ EventTypes::SMS *event(new EventTypes::SMS(CurrentSettings()));
+ QString lineData = eventStream.readLine();
+ EventParsers::VMGEntities::iReader* reader = EventParsers::VMGEntities::Factory::Instantiate(CurrentSettings(), lineData, NULL);
+ bool valid(NULL != reader && reader->Read(QString(""), eventStream, *event));
+ delete reader;
+ if (!valid)
+ throw std::runtime_error(QString("Unsupported format. Unable to open: %1").arg(eventFile.fileName()).toStdString());
+
+ qDebug() << "\nParsed event:";
+ qDebug() << event;
+
+ retList.append(EventTypes::EventFromFile(QSharedPointer<EventTypes::iEvent>(event), 0));
+ }
+