]> git.donarmstrong.com Git - lilypond.git/blobdiff - lib/include/source-file.hh
release: 0.1.11
[lilypond.git] / lib / include / source-file.hh
index 7f7168eb7ec1f4ca1268227846a4c84b74b15325..5991a2e8040f5ce167412c1ca131747d25071bd7 100644 (file)
@@ -6,35 +6,34 @@
 #ifndef SOURCE_FILE_HH
 #define SOURCE_FILE_HH
 
+#include "proto.hh"
+#include "string.hh"
+
+class istream;
+
+
 /// class for reading and mapping a file. 
 class Source_file
 {
 public:
     /** Ugh! filename gets changed! The path to the opened file may
        change, since it might be searched in multiple directories.  */
-    Source_file( String& filename_str_r );
+    Source_file( String filename_str_r );
     virtual ~Source_file();
 
-    char const* ch_c_l();
-    virtual String error_str( char const* pos_ch_c_l );
-    istream* istream_l();
-    bool in_b( char const* pos_ch_c_l );
-    off_t length_off();
-    virtual int line_i( char const* pos_ch_c_l );
-    String name_str();
-    String file_line_no_str( char const* ch_c_l );
+    char const* ch_C() const;
+    virtual String error_str( char const* pos_ch_c_l ) const;
+    istream * istream_l();
+    bool in_b( char const* pos_ch_c_l ) const;
+    int length_i() const;
+    virtual int line_i( char const* pos_ch_c_l ) const;
+    String name_str() const;
+    String file_line_no_str( char const* ch_c_l ) const;
 
 private:
-    void close();
-    void map();
-    void open();
-    void unmap();
-
-    istream* istream_p_;
-    int fildes_i_;
     String name_str_;
-    off_t size_off_;
-    caddr_t data_caddr_;
+    istream* istream_p_;
+    File_storage * storage_p_;
 };
 
 #endif // SOURCE_FILE_HH //