Main Page Namespace List Class Hierarchy Compound List File List Namespace Members Compound Members Related Pages
Doc.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 # ifndef OPENVRML_DOC_H
00022 # define OPENVRML_DOC_H
00023
00024 # include <stdio.h>
00025 # include <iosfwd>
00026 # include <string>
00027 # include "common.h"
00028
00029 namespace OpenVRML {
00030
00031 class Doc2;
00032
00033 class OPENVRML_SCOPE Doc {
00034 char * d_url;
00035 std::ostream * d_ostream;
00036 FILE * d_fp;
00037 char * d_tmpfile;
00038
00039 public:
00040 explicit Doc(const std::string & url = std::string(),
00041 const Doc * relative = 0);
00042 Doc(const std::string & url, const Doc2 * relative);
00043 ~Doc();
00044
00045 void seturl(const char * url, const Doc * relative = 0);
00046 void seturl(const char * url, const Doc2 * relative = 0);
00047
00048 const char * url() const;
00049 const char * urlBase() const;
00050 const char * urlExt() const;
00051 const char * urlPath() const;
00052 const char * urlProtocol() const;
00053 const char * urlModifier() const;
00054
00055 const char * localName();
00056 const char * localPath();
00057
00058
00059 FILE * fopen(const char * mode);
00060 void fclose();
00061
00062 std::ostream & outputStream();
00063
00064 private:
00065
00066 Doc(Doc const &);
00067 Doc & operator=(Doc const &);
00068
00069 bool filename(char * fn, int nfn);
00070
00071 # ifdef macintosh
00072 char * convertCommonToMacPath(char * fn, int nfn);
00073 # endif
00074 };
00075 }
00076
00077 # endif