sys.h revision c0537dcfe264414d52ad86579d57cb0cb2183dcb
#ifndef SEEN_SYS_H
#define SEEN_SYS_H
/*
* System abstraction utility routines
*
* Authors:
* Jon A. Cruz <jon@joncruz.org>
*
* Copyright (C) 2004-2005 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <glib.h>
#include <glibmm/spawn.h>
#include <string>
/*#####################
## U T I L I T Y
#####################*/
namespace Inkscape {
namespace IO {
void dump_fopen_call( char const *utf8name, char const *id );
FILE *fopen_utf8name( char const *utf8name, char const *mode );
int mkdir_utf8name( char const *utf8name );
int file_open_tmp( std::string& name_used, const std::string& prefix );
bool file_test( char const *utf8name, GFileTest test );
bool file_is_writable( char const *utf8name);
GDir *dir_open(gchar const *utf8name, guint flags, GError **error);
gchar *dir_read_utf8name(GDir *dir);
gchar* locale_to_utf8_fallback( const gchar *opsysstring,
gssize len,
gsize *bytes_read,
gsize *bytes_written,
GError **error );
gchar* sanitizeString( gchar const * str );
void spawn_async_with_pipes (const std::string& working_directory,
const Glib::ArrayHandle<std::string>& argv,
Glib::SpawnFlags flags,
const sigc::slot<void>& child_setup,
Glib::Pid* child_pid,
int* standard_input,
int* standard_output,
int* standard_error);
}
}
#endif // SEEN_SYS_H