EVOLUTION-MANAGER
Edit File: classOGRSFDriver.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>My Project: OGRSFDriver Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">My Project </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="classOGRSFDriver-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">OGRSFDriver Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="ogrsf__frmts_8h_source.html">ogrsf_frmts.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a0e7f90e5c390bccc9e708b75235a2735"><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#a0e7f90e5c390bccc9e708b75235a2735">GetName</a> ()=0</td></tr> <tr class="memdesc:a0e7f90e5c390bccc9e708b75235a2735"><td class="mdescLeft"> </td><td class="mdescRight">Fetch name of driver (file format). This name should be relatively short (10-40 characters), and should reflect the underlying file format. For instance "ESRI Shapefile". <a href="#a0e7f90e5c390bccc9e708b75235a2735">More...</a><br/></td></tr> <tr class="separator:a0e7f90e5c390bccc9e708b75235a2735"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee265c3b0a3d4fa3572020d255bb4564"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOGRDataSource.html">OGRDataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#aee265c3b0a3d4fa3572020d255bb4564">Open</a> (const char *pszName, int bUpdate=FALSE)=0</td></tr> <tr class="memdesc:aee265c3b0a3d4fa3572020d255bb4564"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to open file with this driver. <a href="#aee265c3b0a3d4fa3572020d255bb4564">More...</a><br/></td></tr> <tr class="separator:aee265c3b0a3d4fa3572020d255bb4564"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c37cb7552902cd27cd6d4b904d7c744"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#a6c37cb7552902cd27cd6d4b904d7c744">TestCapability</a> (const char *)=0</td></tr> <tr class="memdesc:a6c37cb7552902cd27cd6d4b904d7c744"><td class="mdescLeft"> </td><td class="mdescRight">Test if capability is available. <a href="#a6c37cb7552902cd27cd6d4b904d7c744">More...</a><br/></td></tr> <tr class="separator:a6c37cb7552902cd27cd6d4b904d7c744"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4339101b2d0851e788b6bcfd248780f6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOGRDataSource.html">OGRDataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#a4339101b2d0851e788b6bcfd248780f6">CreateDataSource</a> (const char *pszName, char **=NULL)</td></tr> <tr class="memdesc:a4339101b2d0851e788b6bcfd248780f6"><td class="mdescLeft"> </td><td class="mdescRight">This method attempts to create a new data source based on the passed driver. <a href="#a4339101b2d0851e788b6bcfd248780f6">More...</a><br/></td></tr> <tr class="separator:a4339101b2d0851e788b6bcfd248780f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad8d0872f7fe97e82a05dfbacc2c82be3"><td class="memItemLeft" align="right" valign="top">virtual OGRErr </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#ad8d0872f7fe97e82a05dfbacc2c82be3">DeleteDataSource</a> (const char *pszName)</td></tr> <tr class="memdesc:ad8d0872f7fe97e82a05dfbacc2c82be3"><td class="mdescLeft"> </td><td class="mdescRight">Delete a datasource. <a href="#ad8d0872f7fe97e82a05dfbacc2c82be3">More...</a><br/></td></tr> <tr class="separator:ad8d0872f7fe97e82a05dfbacc2c82be3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b1f2c7944603bebac2dab96d1fee7c5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOGRDataSource.html">OGRDataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOGRSFDriver.html#a0b1f2c7944603bebac2dab96d1fee7c5">CopyDataSource</a> (<a class="el" href="classOGRDataSource.html">OGRDataSource</a> *poSrcDS, const char *pszNewName, char **papszOptions=NULL)</td></tr> <tr class="memdesc:a0b1f2c7944603bebac2dab96d1fee7c5"><td class="mdescLeft"> </td><td class="mdescRight">This method creates a new datasource by copying all the layers from the source datasource. <a href="#a0b1f2c7944603bebac2dab96d1fee7c5">More...</a><br/></td></tr> <tr class="separator:a0b1f2c7944603bebac2dab96d1fee7c5"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Represents an operational format driver.</p> <p>One <a class="el" href="classOGRSFDriver.html">OGRSFDriver</a> derived class will normally exist for each file format registered for use, regardless of whether a file has or will be opened. The list of available drivers is normally managed by the <a class="el" href="classOGRSFDriverRegistrar.html">OGRSFDriverRegistrar</a>. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a0b1f2c7944603bebac2dab96d1fee7c5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOGRDataSource.html">OGRDataSource</a> * OGRSFDriver::CopyDataSource </td> <td>(</td> <td class="paramtype"><a class="el" href="classOGRDataSource.html">OGRDataSource</a> * </td> <td class="paramname"><em>poSrcDS</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszNewName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>papszOptions</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>This method creates a new datasource by copying all the layers from the source datasource. </p> <p>It is important to call <a class="el" href="classOGRDataSource.html#a77841576d07b24a01208e4125ccb40a5" title="Closes opened datasource and releases allocated resources. ">OGRDataSource::DestroyDataSource()</a> when the datasource is no longer used to ensure that all data has been properly flushed to disk.</p> <p>This method is the same as the C function OGR_Dr_CopyDataSource().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">poSrcDS</td><td>source datasource </td></tr> <tr><td class="paramname">pszNewName</td><td>the name for the new data source. UTF-8 encoded. </td></tr> <tr><td class="paramname">papszOptions</td><td>a StringList of name=value options. Options are driver specific, and driver information can be found at the following url: <a href="http://www.gdal.org/ogr/ogr_formats.html">http://www.gdal.org/ogr/ogr_formats.html</a></td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>NULL is returned on failure, or a new <a class="el" href="classOGRDataSource.html">OGRDataSource</a> handle on success. </dd></dl> </div> </div> <a class="anchor" id="a4339101b2d0851e788b6bcfd248780f6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOGRDataSource.html">OGRDataSource</a> * OGRSFDriver::CreateDataSource </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>papszOptions</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>This method attempts to create a new data source based on the passed driver. </p> <p>The papszOptions argument can be used to control driver specific creation options. These options are normally documented in the format specific documentation.</p> <p>It is important to call <a class="el" href="classOGRDataSource.html#a77841576d07b24a01208e4125ccb40a5" title="Closes opened datasource and releases allocated resources. ">OGRDataSource::DestroyDataSource()</a> when the datasource is no longer used to ensure that all data has been properly flushed to disk.</p> <p>This method is the same as the C function OGR_Dr_CreateDataSource().</p> <dl class="section note"><dt>Note</dt><dd>This method does <b>NOT</b> attach driver instance to the returned data source, so caller should expect that <a class="el" href="classOGRDataSource.html#ad269574d5e2f63c5b76e001df4a98ffb" title="Returns the driver that the dataset was opened with. ">OGRDataSource::GetDriver()</a> will return NULL pointer. In order to attach driver to the returned data source, it is required to use C function OGR_Dr_CreateDataSource. This behavior is related to fix of issue reported in <a href="http://trac.osgeo.org/gdal/ticket/1223">Ticket #1233</a>.</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszName</td><td>the name for the new data source. UTF-8 encoded. </td></tr> <tr><td class="paramname">papszOptions</td><td>a StringList of name=value options. Options are driver specific, and driver information can be found at the following url: <a href="http://www.gdal.org/ogr/ogr_formats.html">http://www.gdal.org/ogr/ogr_formats.html</a></td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>NULL is returned on failure, or a new <a class="el" href="classOGRDataSource.html">OGRDataSource</a> on success. </dd></dl> </div> </div> <a class="anchor" id="ad8d0872f7fe97e82a05dfbacc2c82be3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">OGRErr OGRSFDriver::DeleteDataSource </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszDataSource</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Delete a datasource. </p> <p>Delete (from the disk, in the database, ...) the named datasource. Normally it would be safest if the datasource was not open at the time.</p> <p>Whether this is a supported operation on this driver case be tested using <a class="el" href="classOGRSFDriver.html#a6c37cb7552902cd27cd6d4b904d7c744" title="Test if capability is available. ">TestCapability()</a> on ODrCDeleteDataSource.</p> <p>This method is the same as the C function OGR_Dr_DeleteDataSource().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszDataSource</td><td>the name of the datasource to delete.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>OGRERR_NONE on success, and OGRERR_UNSUPPORTED_OPERATION if this is not supported by this driver. </dd></dl> </div> </div> <a class="anchor" id="a0e7f90e5c390bccc9e708b75235a2735"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char * OGRSFDriver::GetName </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Fetch name of driver (file format). This name should be relatively short (10-40 characters), and should reflect the underlying file format. For instance "ESRI Shapefile". </p> <p>This method is the same as the C function OGR_Dr_GetName().</p> <dl class="section return"><dt>Returns</dt><dd>driver name. This is an internal string and should not be modified or freed. </dd></dl> </div> </div> <a class="anchor" id="aee265c3b0a3d4fa3572020d255bb4564"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classOGRDataSource.html">OGRDataSource</a> * OGRSFDriver::Open </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>bUpdate</em> = <code>FALSE</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Attempt to open file with this driver. </p> <p>This method is what <a class="el" href="classOGRSFDriverRegistrar.html">OGRSFDriverRegistrar</a> uses to implement its <a class="el" href="classOGRSFDriver.html#aee265c3b0a3d4fa3572020d255bb4564" title="Attempt to open file with this driver. ">Open()</a> method. See it for more details.</p> <p>Note, drivers do not normally set their own m_poDriver value, so a direct call to this method (instead of indirectly via <a class="el" href="classOGRSFDriverRegistrar.html">OGRSFDriverRegistrar</a>) will usually result in a datasource that does not know what driver it relates to if GetDriver() is called on the datasource. The application may directly call SetDriver() after opening with this method to avoid this problem.</p> <p>For drivers supporting the VSI virtual file API, it is possible to open a file in a .zip archive (see VSIInstallZipFileHandler()), in a .tar/.tar.gz/.tgz archive (see VSIInstallTarFileHandler()) or on a HTTP / FTP server (see VSIInstallCurlFileHandler())</p> <p>This method is the same as the C function OGR_Dr_Open().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszName</td><td>the name of the file, or data source to try and open. </td></tr> <tr><td class="paramname">bUpdate</td><td>TRUE if update access is required, otherwise FALSE (the default).</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>NULL on error or if the pass name is not supported by this driver, otherwise a pointer to an <a class="el" href="classOGRDataSource.html">OGRDataSource</a>. This <a class="el" href="classOGRDataSource.html">OGRDataSource</a> should be closed by deleting the object when it is no longer needed. </dd></dl> </div> </div> <a class="anchor" id="a6c37cb7552902cd27cd6d4b904d7c744"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int OGRSFDriver::TestCapability </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszCapability</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Test if capability is available. </p> <p>One of the following data source capability names can be passed into this method, and a TRUE or FALSE value will be returned indicating whether or not the capability is available for this object.</p> <ul> <li> <p class="startli"><b>ODrCCreateDataSource</b>: True if this driver can support creating data sources.</p> <p class="endli"></p> </li> <li> <p class="startli"><b>ODrCDeleteDataSource</b>: True if this driver supports deleting data sources.</p> <p class="endli"></p> </li> </ul> <p>The #define macro forms of the capability names should be used in preference to the strings themselves to avoid mispelling.</p> <p>This method is the same as the C function OGR_Dr_TestCapability().</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszCapability</td><td>the capability to test.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE if capability available otherwise FALSE. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="ogrsf__frmts_8h_source.html">ogrsf_frmts.h</a></li> <li>ogrsf_frmts.dox</li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>