00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef _H5FileAccPropList_H
00018 #define _H5FileAccPropList_H
00019 
00020 #ifndef H5_NO_NAMESPACE
00021 namespace H5 {
00022 #endif
00023 
00024 
00025 class H5_DLLCPP FileAccPropList : public PropList {
00026    public:
00027         static const FileAccPropList DEFAULT;
00028 
00029         
00030         FileAccPropList();
00031 
00032         
00033         void setStdio() const;
00034 
00035         
00036         void setDriver(hid_t new_driver_id, const void *new_driver_info) const;
00037 
00038         
00039         hid_t getDriver() const;
00040 
00041         
00042         void setFamilyOffset(hsize_t offset) const;
00043 
00044         
00045         hsize_t getFamilyOffset() const;
00046 
00047         
00048         void setSec2() const;
00049 
00050         
00051         
00052         void setCore (size_t increment, hbool_t backing_store) const;
00053 
00054         
00055         void getCore (size_t& increment, hbool_t& backing_store) const;
00056 
00057         
00058         void setFamily( hsize_t memb_size, const FileAccPropList& memb_plist ) const;
00059 
00060         
00061         void getFamily(hsize_t& memb_size, FileAccPropList& memb_plist) const;
00062         FileAccPropList getFamily(hsize_t& memb_size) const;
00063 
00064         
00065         void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
00066              const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const;
00067         void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
00068              const H5std_string& meta_ext, const H5std_string& raw_ext ) const;
00069 
00070 #ifdef H5_HAVE_STREAM // for Stream Virtual File Driver
00071         
00072         void setStream(H5FD_stream_fapl_t &fapl) const;
00073 
00074         
00075         H5FD_stream_fapl_t getStream() const;
00076 #endif
00077 
00078         
00079         void setSieveBufSize(size_t bufsize) const;
00080 
00081         
00082         
00083         size_t getSieveBufSize() const;
00084 
00085         
00086         void setMetaBlockSize(hsize_t &block_size) const;
00087 
00088         
00089         hsize_t getMetaBlockSize() const;
00090 
00091         
00092         void setLog(const char *logfile, unsigned flags, size_t buf_size) const;
00093         void setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const;
00094 
00095         
00096         void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const;
00097 
00098         
00099         
00100         void getAlignment( hsize_t& threshold, hsize_t& alignment ) const;
00101 
00102         
00103         void setMultiType(H5FD_mem_t dtype) const;
00104 
00105         
00106         H5FD_mem_t getMultiType() const;
00107 
00108         
00109         void setCache( int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const;
00110 
00111         
00112         void getCache( int& mdc_nelmts, size_t& rdcc_nelmts, size_t& rdcc_nbytes, double& rdcc_w0 ) const;
00113 
00114         
00115         void setFcloseDegree(H5F_close_degree_t degree);
00116 
00117         
00118         H5F_close_degree_t getFcloseDegree();
00119 
00120         
00121         void setGcReferences( unsigned gc_ref = 0 ) const;
00122 
00123         
00124         unsigned getGcReferences() const;
00125 
00127         virtual H5std_string fromClass () const { return("FileAccPropList"); }
00128 
00129         
00130         FileAccPropList( const FileAccPropList& original );
00131 
00132         
00133         
00134         FileAccPropList (const hid_t plist_id);
00135 
00136         
00137         virtual ~FileAccPropList();
00138 };
00139 #ifndef H5_NO_NAMESPACE
00140 }
00141 #endif
00142 #endif