Ignore:
Timestamp:
12/27/14 01:02:21 (9 years ago)
Author:
Maciej Komosinski
Message:

Formatted source

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/virtfile/stringfile.h

    r247 r282  
    99#include <frams/util/sstring.h>
    1010
    11 class StringFILE: public VirtFILE
     11class StringFILE : public VirtFILE
    1212{
    13   protected:
    14 SString& str;
    15 long pos;
    16   public:
    17 StringFILE(SString& s):str(s),pos(0) {}
    18 size_t Vread(void *ptr, size_t size, size_t nmemb);
    19 size_t Vwrite(const void *ptr, size_t size, size_t nmemb) {str.append((const char*)ptr,(int)(size*nmemb)); return size*nmemb;}
    20 int Veof() {return pos>=str.len();}
    21 int Vputc(int c) {str+=(char)c; return c;}
    22 int Vputs(const char *s) {str.append(s,(int)strlen(s)); return 0;}
    23 int Vgetc();
    24 char *Vgets(char *s, int size);
    25 int Vseek(long offset, int whence);
    26 long Vtell() {return pos;}
    27 int Vflush() {return 0;}
     13protected:
     14        SString& str;
     15        long pos;
     16public:
     17        StringFILE(SString& s) :str(s), pos(0) {}
     18        size_t Vread(void *ptr, size_t size, size_t nmemb);
     19        size_t Vwrite(const void *ptr, size_t size, size_t nmemb) { str.append((const char*)ptr, (int)(size*nmemb)); return size*nmemb; }
     20        int Veof() { return pos >= str.len(); }
     21        int Vputc(int c) { str += (char)c; return c; }
     22        int Vputs(const char *s) { str.append(s, (int)strlen(s)); return 0; }
     23        int Vgetc();
     24        char *Vgets(char *s, int size);
     25        int Vseek(long offset, int whence);
     26        long Vtell() { return pos; }
     27        int Vflush() { return 0; }
    2828};
    2929
    3030/** this version owns the string object */
    31 class StringFILE2: public StringFILE
     31class StringFILE2 : public StringFILE
    3232{
    33 SString string;
    34   public:
    35 StringFILE2(const SString& s):StringFILE(string),string(s) {}
    36 StringFILE2():StringFILE(string) {}
    37 const SString& getString() {return string;}
     33        SString string;
     34public:
     35        StringFILE2(const SString& s) :StringFILE(string), string(s) {}
     36        StringFILE2() :StringFILE(string) {}
     37        const SString& getString() { return string; }
    3838};
    3939
    40 class StringFileSystem: public VirtFileSystem
     40class StringFileSystem : public VirtFileSystem
    4141{
    42   public:
    43 VirtFileSystem *chain;
    44 StringFileSystem(VirtFileSystem *_chain=NULL):chain(_chain) {}
    45 VirtFILE *Vfopen(const char* path,const char*mode);
    46 int Vfexists(const char* path);
    47 VirtDIR *Vopendir(const char* path);
    48 static const char PREFIX[];
    49 static bool isStringPath(const char* path);
     42public:
     43        VirtFileSystem *chain;
     44        StringFileSystem(VirtFileSystem *_chain = NULL) :chain(_chain) {}
     45        VirtFILE *Vfopen(const char* path, const char*mode);
     46        int Vfexists(const char* path);
     47        VirtDIR *Vopendir(const char* path);
     48        static const char PREFIX[];
     49        static bool isStringPath(const char* path);
    5050};
    5151
Note: See TracChangeset for help on using the changeset viewer.