git repos / blockattack-game

blame: source/code/sago/SagoMisc.hpp

normal view · raw

82da8a1c sago007 2015-12-19 18:00 1
/*
82da8a1c sago007 2015-12-19 18:00 2
  Copyright (c) 2015 Poul Sander
82da8a1c sago007 2015-12-19 18:00 3
82da8a1c sago007 2015-12-19 18:00 4
  Permission is hereby granted, free of charge, to any person
82da8a1c sago007 2015-12-19 18:00 5
  obtaining a copy of this software and associated documentation files
82da8a1c sago007 2015-12-19 18:00 6
  (the "Software"), to deal in the Software without restriction,
82da8a1c sago007 2015-12-19 18:00 7
  including without limitation the rights to use, copy, modify, merge,
82da8a1c sago007 2015-12-19 18:00 8
  publish, distribute, sublicense, and/or sell copies of the Software,
82da8a1c sago007 2015-12-19 18:00 9
  and to permit persons to whom the Software is furnished to do so,
82da8a1c sago007 2015-12-19 18:00 10
  subject to the following conditions:
82da8a1c sago007 2015-12-19 18:00 11
82da8a1c sago007 2015-12-19 18:00 12
  The above copyright notice and this permission notice shall be
82da8a1c sago007 2015-12-19 18:00 13
  included in all copies or substantial portions of the Software.
82da8a1c sago007 2015-12-19 18:00 14
82da8a1c sago007 2015-12-19 18:00 15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
82da8a1c sago007 2015-12-19 18:00 16
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
82da8a1c sago007 2015-12-19 18:00 17
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
82da8a1c sago007 2015-12-19 18:00 18
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
82da8a1c sago007 2015-12-19 18:00 19
  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
82da8a1c sago007 2015-12-19 18:00 20
  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
82da8a1c sago007 2015-12-19 18:00 21
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
82da8a1c sago007 2015-12-19 18:00 22
  SOFTWARE.
82da8a1c sago007 2015-12-19 18:00 23
*/
82da8a1c sago007 2015-12-19 18:00 24
82da8a1c sago007 2015-12-19 18:00 25
#ifndef SAGOMISC_HPP
82da8a1c sago007 2015-12-19 18:00 26
#define	SAGOMISC_HPP
82da8a1c sago007 2015-12-19 18:00 27
82da8a1c sago007 2015-12-19 18:00 28
#include <vector>
82da8a1c sago007 2015-12-19 18:00 29
#include <string>
82da8a1c sago007 2015-12-19 18:00 30
82da8a1c sago007 2015-12-19 18:00 31
namespace sago {
82da8a1c sago007 2015-12-19 18:00 32
	
82da8a1c sago007 2015-12-19 18:00 33
	/**
82da8a1c sago007 2015-12-19 18:00 34
	 * Returns a vector with all filenames in a given directory.
82da8a1c sago007 2015-12-19 18:00 35
	 * PHYSFS must be setup before hand. The directory is relative to the PHYSFS base
82da8a1c sago007 2015-12-19 18:00 36
     * @param dir The directory to list
82da8a1c sago007 2015-12-19 18:00 37
     * @return A vector with the filenames in the given directory. If empty the directory was empty or did not exist
82da8a1c sago007 2015-12-19 18:00 38
     */
82da8a1c sago007 2015-12-19 18:00 39
	std::vector<std::string> GetFileList(const char* dir);
82da8a1c sago007 2015-12-19 18:00 40
	
82da8a1c sago007 2015-12-19 18:00 41
	/**
82da8a1c sago007 2015-12-19 18:00 42
	 * Reads an entire file into memory.
82da8a1c sago007 2015-12-19 18:00 43
	 * PHYSFS must be setup before hand
82da8a1c sago007 2015-12-19 18:00 44
     * @param filename The file to read
82da8a1c sago007 2015-12-19 18:00 45
     * @return The content of the file. If empty either the file was empty, did not exist or could not be opened
82da8a1c sago007 2015-12-19 18:00 46
     */
82da8a1c sago007 2015-12-19 18:00 47
	std::string GetFileContent(const char* filename);
82da8a1c sago007 2015-12-19 18:00 48
	
82da8a1c sago007 2015-12-19 18:00 49
	bool FileExists(const char* filename);
82da8a1c sago007 2015-12-19 18:00 50
	
82da8a1c sago007 2015-12-19 18:00 51
	void WriteFileContent(const char* filename, const std::string& content);
82da8a1c sago007 2015-12-19 18:00 52
		
82da8a1c sago007 2015-12-19 18:00 53
}  //namespace sago
82da8a1c sago007 2015-12-19 18:00 54
82da8a1c sago007 2015-12-19 18:00 55
#endif	/* SAGOMISC_HPP */
82da8a1c sago007 2015-12-19 18:00 56
1970-01-01 00:00 57