<!--
SPDX-FileCopyrightText: The Apache Software Foundation

SPDX-License-Identifier: Apache-2.0
-->

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.MockFileSystem</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta charset="utf-8" />

  
  <meta property="og:type" content="website"/>

  

  
  <meta property="og:title" content="Arrow.MockFileSystem"/>
  <meta property="og:description" content="Reference for Arrow.MockFileSystem"/>
  <meta name="twitter:title" content="Arrow.MockFileSystem"/>
  <meta name="twitter:description" content="Reference for Arrow.MockFileSystem"/>


  
  <meta name="twitter:card" content="summary"/>

  
  
  
  

  <link rel="stylesheet" href="style.css" type="text/css" />

  

  
  <script src="urlmap.js"></script>
  
  
  <script src="fzy.js"></script>
  <script src="search.js"></script>
  
  <script src="main.js"></script>
</head>

<body>
  <div id="body-wrapper" tabindex="-1">

    <nav class="sidebar devhelp-hidden">
      
      
      <div class="search section">
        <form id="search-form" autocomplete="off">
          <input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
        </form>
      </div>
      
      <div class="section namespace">
        <h3><a href="index.html">Arrow</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 22.0.0</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a class="current" href="class.MockFileSystem.html#description">MockFileSystem</a>
  </div>
</div>
















      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2023.1</p>
      </div>
    </nav>

    <button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>

    
<section id="main" class="content">
  <header>
    <h3>Class</h3>
    <h1 aria-label="Name"><a href="index.html">Arrow</a><span class="sep" role="presentation"></span>MockFileSystem</h1>
  </header>

  <section>
    <summary>
      <div class="docblock">
        <p></p>
      </div>

      <div class="toggle-wrapper">
        <h4 id="description" style="display:flex;">
          Description
          <a href="#description" class="anchor"></a>
          
        </h4>

        <pre><code>class Arrow.MockFileSystem : Arrow.FileSystem {
  parent_instance: GArrowFileSystem
}</pre></code>

        <div class="docblock">
          No description available.
        </div>

        <div class="docblock">
          
          
          
        </div>

        
      </div>
    </summary>

    

    
    <div class="toggle-wrapper ancestors">
      <h4 id="ancestors">
        Ancestors
        <a href="#ancestors" class="anchor"></a>
      </h4>

      <div class="docblock">
        <ul>
        
          
          <li class="class"><a href="class.FileSystem.html" title="FileSystem">GArrowFileSystem</a></li>
          
        
          
          <li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
          
        
        </ul>
      </div>
    </div>
    

    

    

    

    

    
    <div class="toggle-wrapper methods">
      <h4 id="methods">
        Instance methods
        <a href="#methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      
      </div>

      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.FileSystem.html">GArrowFileSystem</a> (15)</h5><div class="docblock">
          
            <h6><a href="method.FileSystem.copy_file.html">garrow_file_system_copy_file</a></h6><div class="docblock">
              <p>Copy a file.
If the destination exists and is a directory, an error is returned.
Otherwise, it is&nbsp;replaced.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.create_dir.html">garrow_file_system_create_dir</a></h6><div class="docblock">
              <p>Create a directory and subdirectories.
This function succeeds if the directory already&nbsp;exists.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.delete_dir.html">garrow_file_system_delete_dir</a></h6><div class="docblock">
              <p>Delete a directory and its contents,&nbsp;recursively.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.delete_dir_contents.html">garrow_file_system_delete_dir_contents</a></h6><div class="docblock">
              <p>Delete a directory&#8217;s contents, recursively. Like
garrow_file_system_delete_dir(), but doesn&#8217;t delete the directory
itself. Passing an empty path (<code>""</code>) will wipe the entire file
system&nbsp;tree.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.delete_file.html">garrow_file_system_delete_file</a></h6><div class="docblock">
              <p>Delete a&nbsp;file.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.delete_files.html">garrow_file_system_delete_files</a></h6><div class="docblock">
              <p>Delete many&nbsp;files.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.get_file_info.html">garrow_file_system_get_file_info</a></h6><div class="docblock">
              <p>Get information for the given&nbsp;target.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.get_file_infos_paths.html">garrow_file_system_get_file_infos_paths</a></h6><div class="docblock">
              <p>Get information same as <code>garrow_file_system_get_file_info()</code>
for the given many targets at&nbsp;once.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.get_file_infos_selector.html">garrow_file_system_get_file_infos_selector</a></h6><div class="docblock">
              <p>Get information same as <code>garrow_file_system_get_file_info()</code>
according to a&nbsp;selector.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.get_type_name.html">garrow_file_system_get_type_name</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.move.html">garrow_file_system_move</a></h6><div class="docblock">
              <p>Move / rename a file or a directory.
If the destination exists:
- if it is a non-empty directory, an error is returned
- otherwise, if it has the same type as the source, it is replaced
- otherwise, behavior is unspecified&nbsp;(implementation-dependent).</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.open_append_stream.html">garrow_file_system_open_append_stream</a></h6><div class="docblock">
              <p>Open an output stream for appending.
If the target doesn&#8217;t exist, a new empty file is&nbsp;created.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.open_input_file.html">garrow_file_system_open_input_file</a></h6><div class="docblock">
              <p>Open an input file for random access&nbsp;reading.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.open_input_stream.html">garrow_file_system_open_input_stream</a></h6><div class="docblock">
              <p>Open an input stream for sequential&nbsp;reading.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
            <h6><a href="method.FileSystem.open_output_stream.html">garrow_file_system_open_output_stream</a></h6><div class="docblock">
              <p>Open an output stream for sequential writing.
If the target already exists, the existing data is&nbsp;truncated.</p>
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.17.0</span></p>
            </div>
          
          </div>
        </div>
        
      
        
        <div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
          <div class="docblock">
          
            <div class="docblock">
              <p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
            </div>
          
          </div>
        </div>
        
      

      
    </div>
    

    
    <div class="toggle-wrapper properties">
      <h4 id="properties">
        Properties
        <a href="#properties" class="anchor"></a>
      </h4>

      

      
        
        <div class="toggle-wrapper default-hide ancestor-properties">
          <h5 style="display:block;">Properties inherited from <a href="class.FileSystem.html">GArrowFileSystem</a> (1)</h5><div class="docblock">
          
            <h6><a href="property.FileSystem.file-system.html">Arrow.FileSystem:file-system</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
          </div>
        </div>
        
      
        
      

      

    </div>
    

    
    <div class="signals toggle-wrapper">
      <h4 id="signals">
        Signals
        <a href="#signals" class="anchor"></a>
      </h4>

      

      
        
      
        
        <div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
          <div class="docblock">
          <h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
            <div class="docblock">
              <p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
          </div>
        </div>
        
      

      

    </div>
    

    
    <div class="class toggle-wrapper default-hide">
      <h4 id="class-struct">
        Class structure
        <a href="#class-struct" class="anchor"></a>
      </h4>

      <div class="docblock">
        <pre><code>struct ArrowMockFileSystemClass {
  GArrowFileSystemClass parent_class;
  
}</code></pre>
      </div>

      <div class="docblock">
        No description available.
      </div>

      
      <div class="docblock">
        <h6>Class members</h6>

        <dl class="members">
        
          <dt><code>parent_class: GArrowFileSystemClass</code></dt>
          <dd>No description available.</dd>
        
        </dd>
      </div>
      
    </div>
    

    

    

  </section>
</section>


    
<div id="toc" class="toc">
  <nav aria-labelledby="toc-title">
    <p id="toc-title">Content</p>
    <ul class="toc-list">
      <li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
      
      
      
      <li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
      
      
      

      

      

      

      

      

      

    </ul>
  </nav>
</div>


    <section id="search" class="content hidden"></section>

    <footer>
    
    </footer>
  </div>
</body>
</html>