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