int ShellExporter::exporte(string oldSession, string &content){ vector<string>::iterator iter; vector<string> line; // Init the script content = "#!/bin/sh"; content += " \n"; // Check the user is alloed to export if (!muser.isAdmin() && !isAllowed(oldSession, muser)){ throw IMSVishnuException(ERRCODE_INVEXPORT, "The user is not allowed to export this session"); } // Check the session is closed if (!isClosed(oldSession)) { throw IMSVishnuException(ERRCODE_INVEXPORT, "The session id is invalid"); } // The request, ordered by starttime (=submission) string req = "SELECT command.ctype, command.description, command.starttime from " " command, vsession where vsession.numsessionid=command.vsession_numsessionid and " " vsession.vsessionid='"+oldSession+"' order by starttime asc"; boost::scoped_ptr<DatabaseResult> result (mdatabase->getResult(req.c_str())); // Adding all the results to the content for (size_t i = 0 ; i<result->getNbTuples(); i++) { line.clear(); line = result->get(i); iter = line.begin(); //MAPPER CREATION try { CmdType type = static_cast<CmdType>(convertToInt(*iter)); Mapper* mapper = MapperRegistry::getInstance()->getMapper(getMapperName(type)); content += mapper->decode(*(++iter)); } catch (SystemException &e) { throw (e); } content += " \n"; } return 0; }
void luks::scan(const QString& deviceNode) { getMapperName(deviceNode); getLuksInfo(deviceNode); }