X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fgoo%2Fgfile.h;h=d364d8d44f82d2c0781a990db77ebd715ff8538d;hb=9315dc40269dcdc854e6aa39c74ff96324b52dc5;hp=f1923cde537f17128e22c70c7f6fbec39515dfd5;hpb=d9f9a6449f377b4c933b75d57541b19c6d088994;p=evince.git diff --git a/pdf/goo/gfile.h b/pdf/goo/gfile.h index f1923cde..d364d8d4 100644 --- a/pdf/goo/gfile.h +++ b/pdf/goo/gfile.h @@ -4,17 +4,27 @@ // // Miscellaneous file and directory name manipulation. // -// Copyright 1996 Derek B. Noonburg +// Copyright 1996-2003 Glyph & Cog, LLC // //======================================================================== #ifndef GFILE_H #define GFILE_H +#include #include #include -#ifdef WIN32 -# include +extern "C" { +#if defined(WIN32) +# include +# ifdef FPTEX +# include +# else +# include +# endif +#elif defined(ACORN) +#elif defined(MACOS) +# include #else # include # include @@ -22,10 +32,10 @@ # include "vms_dirent.h" # elif HAVE_DIRENT_H # include -# define NAMLEN(dirent) strlen((dirent)->d_name) +# define NAMLEN(d) strlen((d)->d_name) # else # define dirent direct -# define NAMLEN(dirent) (dirent)->d_namlen +# define NAMLEN(d) (d)->d_namlen # if HAVE_SYS_NDIR_H # include # endif @@ -37,6 +47,7 @@ # endif # endif #endif +} #include "gtypes.h" class GString; @@ -62,7 +73,26 @@ extern GBool isAbsolutePath(char *path); // Make this path absolute by prepending current directory (if path is // relative) or prepending user's directory (if path starts with '~'). -GString *makePathAbsolute(GString *path); +extern GString *makePathAbsolute(GString *path); + +// Get the modification time for . Returns 0 if there is an +// error. +extern time_t getModTime(char *fileName); + +// Create a temporary file and open it for writing. If is not +// NULL, it will be used as the file name extension. Returns both the +// name and the file pointer. For security reasons, all writing +// should be done to the returned file pointer; the file may be +// reopened later for reading, but not for writing. The string +// should be "w" or "wb". Returns true on success. +extern GBool openTempFile(GString **name, FILE **f, char *mode, char *ext); + +// Execute . Returns true on success. +extern GBool executeCommand(char *cmd); + +// Just like fgets, but handles Unix, Mac, and/or DOS end-of-line +// conventions. +extern char *getLine(char *buf, int size, FILE *f); //------------------------------------------------------------------------ // GDir and GDirEntry @@ -71,7 +101,7 @@ GString *makePathAbsolute(GString *path); class GDirEntry { public: - GDirEntry(char *dirPath, char *name1, GBool doStat); + GDirEntry(char *dirPath, char *nameA, GBool doStat); ~GDirEntry(); GString *getName() { return name; } GBool isDir() { return dir; } @@ -85,7 +115,7 @@ private: class GDir { public: - GDir(char *name, GBool doStat1 = gTrue); + GDir(char *name, GBool doStatA = gTrue); ~GDir(); GDirEntry *getNextEntry(); void rewind(); @@ -94,14 +124,16 @@ private: GString *path; // directory path GBool doStat; // call stat() for each entry? -#ifdef VMS - GBool needParent; // need to return an entry for [-] -#endif -#ifdef WIN32 +#if defined(WIN32) WIN32_FIND_DATA ffd; HANDLE hnd; +#elif defined(ACORN) +#elif defined(MACOS) #else DIR *dir; // the DIR structure from opendir() +#ifdef VMS + GBool needParent; // need to return an entry for [-] +#endif #endif };