示例#1
0
void JASPExporter::saveJASPArchive(archive *a, DataSetPackage *package, boost::function<void (const std::string &, int)> progressCallback)
{
	if (package->hasAnalyses)
	{
		struct archive_entry *entry;

		Json::Value &analysesJson = package->analysesData;

		//Create new entry for archive NOTE: must be done before data is added
		string analysesString = analysesJson.toStyledString();
		int sizeOfAnalysesString = analysesString.size();

		entry = archive_entry_new();
		string dd4 = string("analyses.json");
		archive_entry_set_pathname(entry, dd4.c_str());
		archive_entry_set_size(entry, sizeOfAnalysesString);
		archive_entry_set_filetype(entry, AE_IFREG);
		archive_entry_set_perm(entry, 0644); // Not sure what this does
		archive_write_header(a, entry);

		archive_write_data(a, analysesString.c_str(), sizeOfAnalysesString);

		archive_entry_free(entry);

		char imagebuff[8192];
		for (Json::Value::iterator iter = analysesJson.begin(); iter != analysesJson.end(); iter++)
		{
			Json::Value &analysisJson = *iter;
			vector<string> paths = tempfiles_retrieveList(analysisJson["id"].asInt());
			for (int j = 0; j < paths.size(); j++)
			{
				FileReader fileInfo = FileReader(tempfiles_sessionDirName() + "/" + paths[j]);
				if (fileInfo.exists())
				{
					int imageSize = fileInfo.size();

					entry = archive_entry_new();
					string dd4 = paths[j];
					archive_entry_set_pathname(entry, dd4.c_str());
					archive_entry_set_size(entry, imageSize);
					archive_entry_set_filetype(entry, AE_IFREG);
					archive_entry_set_perm(entry, 0644); // Not sure what this does
					archive_write_header(a, entry);

					int bytes = 0;
					int errorCode = 0;
					while ((bytes = fileInfo.readData(imagebuff, sizeof(imagebuff), errorCode)) > 0 && errorCode == 0) {
						archive_write_data(a, imagebuff, bytes);
					}

					archive_entry_free(entry);

					if (errorCode < 0)
						throw runtime_error("Required resource files could not be accessed.");
				}
				fileInfo.close();
			}
		}
	}
}
void ZoneServerImplementation::loadLoginMessage() {
	Locker locker(_this.getReferenceUnsafeStaticCast());

	File* file;
	FileReader* reader;

	try {
		file = new File("conf/motd.txt");
		reader = new FileReader(file);

		String line;
		while(reader->readLine(line)) {
			loginMessage += line;
		}

		reader->close();
	} catch (FileNotFoundException& e) {
		file = NULL;
		reader = NULL;
	}

	loginMessage += "\nLatest Commits:\n";
	loginMessage += ConfigManager::instance()->getRevision();

	delete reader;
	delete file;
}
示例#3
0
void ConfigManager::loadRevision() {
	File* file;
	FileReader* reader;

	revision = "";

	try {
		file = new File("conf/rev.txt");
		reader = new FileReader(file);

		String line;

		while (reader->readLine(line))
			revision += line;

		reader->close();
	} catch (FileNotFoundException& e) {
		file = NULL;
		reader = NULL;
	} catch (Exception& e) {
		file = NULL;
		reader = NULL;
	}

	//revision = revision.replaceAll("\n", "");

	delete reader;
	delete file;
}
示例#4
0
void ConfigManager::loadMOTD() {
	messageOfTheDay = "";

	File* file;
	FileReader* reader;

	try {
		file = new File("conf/motd.txt");
		reader = new FileReader(file);

		String line;

		while(reader->readLine(line)) {
			messageOfTheDay += line;
		}

		reader->close();
	} catch (FileNotFoundException& e) {
		file = NULL;
		reader = NULL;
	}

	delete reader;
	delete file;
}
示例#5
0
ShaderPtr Shader::loadResource(const string &name)
{
	FileReader *fileReader;

	fileReader = new FileReader(util::getAbsoluteFilePath(name + ".vert"));
	string vertexSource = fileReader->readAll();
	fileReader->close();
	delete fileReader;

	fileReader = new FileReader(util::getAbsoluteFilePath(name + ".frag"));
	string fragmentSource = fileReader->readAll();
	fileReader->close();
	delete fileReader;

	LOG("Compiling shader program: %s", name.c_str());

	return ShaderPtr(new Shader(vertexSource, fragmentSource));
}
示例#6
0
signed main() {
	static constexpr StringRef const path{"data/file_stream.bin"};
	{
		FileWriter writer;
		TOGO_ASSERTE(!writer.is_open());
		TOGO_ASSERTE(writer.open(path, false));
		TOGO_ASSERTE(writer.is_open());
		test_writer(writer, true);
		writer.close();
	}
	{
		FileReader reader;
		TOGO_ASSERTE(!reader.is_open());
		TOGO_ASSERTE(reader.open(path));
		TOGO_ASSERTE(reader.is_open());
		test_reader(reader, true);
		reader.close();
	}
	return 0;
}