1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_io_functions_hpp
10 #define anna_io_functions_hpp
15 #include <anna/config/defines.hpp>
16 #include <anna/core/RuntimeException.hpp>
17 #include <anna/core/util/Millisecond.hpp>
24 Grupo de metodos relacionadas con operaciones de entrada/salida
28 Crea el arbol de directorios recibido como parametro.
30 static void mkdir(const std::string& path) throw(RuntimeException);
33 Indica si el PATH recibido como parametro existe o no.
34 \return Devuelve \em true si el PATH recibido como parametro existe o \em false
37 static bool exists(const std::string& path) throw(RuntimeException) { return exists(path.c_str()); }
40 Indica si el PATH recibido como parametro existe o no.
41 \return Devuelve \em true si el PATH recibido como parametro existe o \em false
44 static bool exists(const char* path) throw(RuntimeException);
47 Indica si el PATH recibido como parametro es un directorio o no.
48 \return Devuelve \em true si el PATH recibido como parametro es un directorio o \em false
51 static bool isADirectory(const std::string& path) throw(RuntimeException) { return isADirectory(path.c_str()); }
54 Indica si el PATH recibido como parametro es un directorio o no.
55 \return Devuelve \em true si el PATH recibido como parametro es un directorio o \em false
58 static bool isADirectory(const char* path) throw(RuntimeException);
61 * Devuelve el i-nodo asociado al nombre de fichero de recibido como parámetro.
62 * \param path Ruta completa del fichero a comprobar.
63 * \return El nº de i-nodo asociado al fichero
65 static ino_t getINode(const std::string& path) throw(RuntimeException) { return getINode(path.c_str()); }
68 * Devuelve el i-nodo asociado al nombre de fichero de recibido como parámetro.
69 * \param path Ruta completa del fichero a comprobar.
70 * \return El nº de i-nodo asociado al fichero
72 static ino_t getINode(const char* path) throw(RuntimeException);
75 * Espera a que haya actividad de entrada en el fd recibido como parámetro.
76 * \param fd File descriptor sobre el que vamos a comprobar la actividad.
77 * \param timeout Número máximo de milisegundos que puede quedar a la espera. Si vale 0 no realiza ninguna espera.
78 * \return \em true si el proceso detecta actividad o \em false si se cumplió el timeout sin recibir información.
80 static bool waitInput(const int fd, const Millisecond&) throw(RuntimeException);