// three/four times. Don't you think it better to use a macro definition
// (an inlined member of some class)?
-// This should have been a namespace
+// Use a namespace if we can, a struct otherwise
#ifdef CXX_WORKING_NAMESPACES
-///
+#define OPT_STATIC
namespace lyx {
- ///
- char * getcwd(char * buffer, size_t size);
- ///
- int chdir(char const * name);
- /// generates a checksum
- unsigned long sum(char const * file);
- /// returns a date string (not used currently)
- char * date();
- /// returns the name of the user (not used currently)
- string getUserName();
- ///
- int kill(long int pid, int sig);
- ///
- void abort();
- ///
- int mkdir(char const * pathname, unsigned long int mode);
- ///
- int putenv(char const * str);
-}
#else
-///
+#define OPT_STATIC static
struct lyx {
+#endif
///
- static char * getcwd(char * buffer, size_t size);
- ///
- static int chdir(char const * name);
+ OPT_STATIC string const getcwd();
+ ///
+ OPT_STATIC int chdir(string const & name);
+ /// Returns false if it fails
+ OPT_STATIC bool rename(string const & from, string const & to);
+ /// Returns false it it fails
+ OPT_STATIC bool copy(string const & from, string const & to);
/// generates a checksum
- static unsigned long sum(char const * file);
+ OPT_STATIC unsigned long sum(string const & file);
/// returns a date string (not used currently)
- static char * date();
+ OPT_STATIC char * date();
/// returns the name of the user (not used currently)
- static string getUserName();
+ OPT_STATIC string const getUserName();
///
- static int kill(long int pid, int sig);
+ OPT_STATIC int kill(int pid, int sig);
///
- static void abort();
+ OPT_STATIC void abort();
+ ///
+ OPT_STATIC int mkdir(string const & pathname, unsigned long int mode);
///
- static int mkdir(char const * pathname, unsigned long int mode);
+ OPT_STATIC int putenv(char const * str);
+ ///
+ OPT_STATIC int unlink(string const & file);
+ ///
+ OPT_STATIC int rmdir(string const & file);
+ ///
+ OPT_STATIC int atoi(string const & nstr);
///
- static int putenv(char const * str);
+ OPT_STATIC string const tempName(string const & dir = string(),
+ string const & mask = string());
+#ifdef CXX_WORKING_NAMESPACES
+}
+#else
};
-#endif // CXX_WORKING_NAMESPACES
#endif
+
+#undef OPT_STATIC
+
+#endif /* LYX_LIB_H */