<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>main_test.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/test/</path>
    <filename>main__test_8cpp</filename>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>main__test_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>s3_common_error_codes.h</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/include/s3_common/</path>
    <filename>s3__common__error__codes_8h</filename>
    <namespace>Aws</namespace>
    <namespace>Aws::S3</namespace>
    <member kind="enumeration">
      <type></type>
      <name>S3ErrorCode</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SUCCESS</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a0bc0f9888567cae0bb8a0172930b14a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CANCELLED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032ae8213ca5237d8613d8564792c8ba84ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UPLOADER_BUSY</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a832a6bc93b2cd737f02c64968d647170</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FAILED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032aaedb066da1ebaca3f21dd95c1b8e5f67</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FILE_COULDNT_BE_READ</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032adcca98877fb39171ec1289292e24ad59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>S3_ACCESS_DENIED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032ad895494ccad4c278dcbdcfa601a25731</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>S3_NO_SUCH_BUCKET</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a3b984d956cdf1c4d1813aaf230b57218</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>s3_facade.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/src/</path>
    <filename>s3__facade_8cpp</filename>
    <includes id="s3__common__error__codes_8h" name="s3_common_error_codes.h" local="no" imported="no">s3_common/s3_common_error_codes.h</includes>
    <includes id="s3__facade_8h" name="s3_facade.h" local="no" imported="no">s3_common/s3_facade.h</includes>
    <includes id="utils_8h" name="utils.h" local="no" imported="no">s3_common/utils.h</includes>
    <namespace>Aws</namespace>
    <namespace>Aws::S3</namespace>
  </compound>
  <compound kind="file">
    <name>s3_facade.h</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/include/s3_common/</path>
    <filename>s3__facade_8h</filename>
    <class kind="class">Aws::S3::S3Facade</class>
    <namespace>Aws</namespace>
    <namespace>Aws::S3</namespace>
  </compound>
  <compound kind="file">
    <name>s3_facade_test.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/test/</path>
    <filename>s3__facade__test_8cpp</filename>
    <includes id="s3__facade_8h" name="s3_facade.h" local="no" imported="no">s3_common/s3_facade.h</includes>
    <includes id="utils_8h" name="utils.h" local="no" imported="no">s3_common/utils.h</includes>
    <class kind="class">MockS3Client</class>
    <class kind="class">S3FacadeTest</class>
    <member kind="function">
      <type>bool</type>
      <name>FileExists</name>
      <anchorfile>s3__facade__test_8cpp.html</anchorfile>
      <anchor>aad218b8e787462cf918995d3400e2e50</anchor>
      <arglist>(const std::string &amp;name)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__facade__test_8cpp.html</anchorfile>
      <anchor>af2eb142bfbe6c015f789a3477f68d2d9</anchor>
      <arglist>(S3FacadeTest, TestClientConfigConstructor)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__facade__test_8cpp.html</anchorfile>
      <anchor>a781eeb721b63e20979bfad6544d0bde5</anchor>
      <arglist>(S3FacadeTest, TestPutObjectSuccess)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__facade__test_8cpp.html</anchorfile>
      <anchor>aa4400bee2c9581e781a25e12b238d0a0</anchor>
      <arglist>(S3FacadeTest, TestPutObjectFileDoesntExist)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__facade__test_8cpp.html</anchorfile>
      <anchor>a3cc3ec05ddc468c9e9e6a53b6c07b1a4</anchor>
      <arglist>(S3FacadeTest, TestPutObjectFailureFromSDK)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>s3_upload_manager.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/src/</path>
    <filename>s3__upload__manager_8cpp</filename>
    <includes id="s3__common__error__codes_8h" name="s3_common_error_codes.h" local="no" imported="no">s3_common/s3_common_error_codes.h</includes>
    <includes id="s3__facade_8h" name="s3_facade.h" local="no" imported="no">s3_common/s3_facade.h</includes>
    <includes id="s3__upload__manager_8h" name="s3_upload_manager.h" local="no" imported="no">s3_common/s3_upload_manager.h</includes>
    <namespace>Aws</namespace>
    <namespace>Aws::S3</namespace>
  </compound>
  <compound kind="file">
    <name>s3_upload_manager.h</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/include/s3_common/</path>
    <filename>s3__upload__manager_8h</filename>
    <includes id="s3__facade_8h" name="s3_facade.h" local="no" imported="no">s3_common/s3_facade.h</includes>
    <class kind="class">Aws::S3::S3UploadManager</class>
    <class kind="struct">Aws::S3::UploadDescription</class>
    <namespace>Aws</namespace>
    <namespace>Aws::S3</namespace>
    <member kind="enumeration">
      <type></type>
      <name>S3UploadManagerState</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>AVAILABLE</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6a88da0976e2bb35d5f0fa78a55082bce9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UPLOADING</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6a07fa87971534cfcbc1f2f61490520bea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CANCELLING</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6aa1369a6b740b3afebbc722735c0da6da</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>s3_upload_manager_test.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/test/</path>
    <filename>s3__upload__manager__test_8cpp</filename>
    <includes id="s3__common__error__codes_8h" name="s3_common_error_codes.h" local="no" imported="no">s3_common/s3_common_error_codes.h</includes>
    <includes id="s3__facade_8h" name="s3_facade.h" local="no" imported="no">s3_common/s3_facade.h</includes>
    <includes id="s3__upload__manager_8h" name="s3_upload_manager.h" local="no" imported="no">s3_common/s3_upload_manager.h</includes>
    <class kind="class">MockS3Facade</class>
    <class kind="class">S3UploadManagerTest</class>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__upload__manager__test_8cpp.html</anchorfile>
      <anchor>a219cb464bdfb3e707f99ff7fcd355f8d</anchor>
      <arglist>(S3UploadManagerTest, TestClientConfigConstructor)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__upload__manager__test_8cpp.html</anchorfile>
      <anchor>a689142ac607c840d563dbc5cc5ca321d</anchor>
      <arglist>(S3UploadManagerTest, TestUploadFilesSuccess)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__upload__manager__test_8cpp.html</anchorfile>
      <anchor>a1d7a483e435ce1ca7b9aa548d543d7c5</anchor>
      <arglist>(S3UploadManagerTest, TestUploadFilesFailsPutObjectFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__upload__manager__test_8cpp.html</anchorfile>
      <anchor>a54bf4138c1fd8d07a0982364170a6a69</anchor>
      <arglist>(S3UploadManagerTest, TestUploadFilesFailsWhileManagerUploading)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>s3__upload__manager__test_8cpp.html</anchorfile>
      <anchor>a40b5925699da307e1bd991c6b696021c</anchor>
      <arglist>(S3UploadManagerTest, TestCancelUpload)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>utils.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/src/</path>
    <filename>utils_8cpp</filename>
    <member kind="function">
      <type>std::string</type>
      <name>GenerateObjectKey</name>
      <anchorfile>utils_8cpp.html</anchorfile>
      <anchor>a0bedda1e69354db165461899241fd1b7</anchor>
      <arglist>(const std::string &amp;file_path, const std::string &amp;prefix)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>GetFileName</name>
      <anchorfile>utils_8cpp.html</anchorfile>
      <anchor>a747fb8af8b23a8a32b0650c2c68a6af5</anchor>
      <arglist>(const std::string &amp;file_path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>utils.h</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/include/s3_common/</path>
    <filename>utils_8h</filename>
    <member kind="function">
      <type>std::string</type>
      <name>GenerateObjectKey</name>
      <anchorfile>utils_8h.html</anchorfile>
      <anchor>a0bedda1e69354db165461899241fd1b7</anchor>
      <arglist>(const std::string &amp;file_path, const std::string &amp;prefix)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>GetFileName</name>
      <anchorfile>utils_8h.html</anchorfile>
      <anchor>a747fb8af8b23a8a32b0650c2c68a6af5</anchor>
      <arglist>(const std::string &amp;file_path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>utils_test.cpp</name>
    <path>/tmp/ws/src/rosbag_uploader/s3_common/test/</path>
    <filename>utils__test_8cpp</filename>
    <includes id="utils_8h" name="utils.h" local="no" imported="no">s3_common/utils.h</includes>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a21f70d1aa12240ade72314dd650642f5</anchor>
      <arglist>(S3CommonUtilsTest, TestGetFileNameEmptyStringReturnsEmptyString)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>ae6ac926f87f4739ac2a24711fb72fe40</anchor>
      <arglist>(S3CommonUtilsTest, TestGetFileNameDirectoryReturnsEmptyString)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a485ef5531035f490d4ee0635b0a04aa7</anchor>
      <arglist>(S3CommonUtilsTest, TestGetFileNameNoDirectoryReturnsFileName)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a76047a0c3896fd215a17e0b0a5eb7b96</anchor>
      <arglist>(S3CommonUtilsTest, TestGetFileNameWithDirectoryReturnsFileName)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a0ef8d275cc752ef9708c3199c61458e4</anchor>
      <arglist>(S3CommonUtilsTest, TestGenerateObjectKeyEmptyPrefixReturnsFileName)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a45a9bc07d87ddb9738f705e4fa3582f6</anchor>
      <arglist>(S3CommonUtilsTest, TestGenerateObjectKeyOnlyUsesFileName)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>a5f214c1202212684017b0cab7de0a995</anchor>
      <arglist>(S3CommonUtilsTest, TestGenerateObjectKeyInsertSlash)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>utils__test_8cpp.html</anchorfile>
      <anchor>afbfe3811b44af8d2a5af21d629f2f30b</anchor>
      <arglist>(S3CommonUtilsTest, TestGenerateObjectKeyDoesntInsertExtraSlash)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MockS3Client</name>
    <filename>classMockS3Client.html</filename>
    <member kind="function">
      <type></type>
      <name>MOCK_CONST_METHOD1</name>
      <anchorfile>classMockS3Client.html</anchorfile>
      <anchor>a73b32e5216fd5fdec2acf14ea249d63f</anchor>
      <arglist>(PutObject, Model::PutObjectOutcome(const Model::PutObjectRequest &amp;))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MockS3Client</name>
      <anchorfile>classMockS3Client.html</anchorfile>
      <anchor>a79c49af3621c42b9e8c8573aeb23258f</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MockS3Facade</name>
    <filename>classMockS3Facade.html</filename>
    <base>Aws::S3::S3Facade</base>
    <member kind="function">
      <type></type>
      <name>MOCK_METHOD3</name>
      <anchorfile>classMockS3Facade.html</anchorfile>
      <anchor>a90378af4d63d34edabc083663555061d</anchor>
      <arglist>(PutObject, Model::PutObjectOutcome(const std::string &amp;, const std::string &amp;, const std::string &amp;))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MockS3Facade</name>
      <anchorfile>classMockS3Facade.html</anchorfile>
      <anchor>ad09880b0000be6c60fbc40d17e6bd023</anchor>
      <arglist>(const bool enable_encryption)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::S3::S3Facade</name>
    <filename>classAws_1_1S3_1_1S3Facade.html</filename>
    <member kind="function">
      <type>S3Facade &amp;</type>
      <name>operator=</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>abc406976425efbd3af07f0433c60491c</anchor>
      <arglist>(const S3Facade &amp;other)=delete</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual Model::PutObjectOutcome</type>
      <name>PutObject</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a5b0942c382b45738b1f872af7c6b126d</anchor>
      <arglist>(const std::string &amp;file_path, const std::string &amp;bucket, const std::string &amp;key)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3Facade</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>aefef2ca940e94ccc2154a069c4513b03</anchor>
      <arglist>(const bool enable_encryption)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3Facade</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a55896b0f22b56c03659237982a4d2288</anchor>
      <arglist>(const bool enable_encryption, const Aws::Client::ClientConfiguration &amp;config)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3Facade</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a941348e260bbad94b7097b600a210de6</anchor>
      <arglist>(const bool enable_encryption, std::unique_ptr&lt; Aws::S3::S3Client &gt; s3_client)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3Facade</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a0c72ef627da3c6d5cdc61384bb81bb04</anchor>
      <arglist>(const S3Facade &amp;other)=delete</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~S3Facade</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a0f0acb09e8195f078e9312e0f67252e2</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Aws::Client::ClientConfiguration</type>
      <name>config_</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a1f05630ff4ce935feadd5795eedd6b76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const bool</type>
      <name>enable_encryption_</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a44e29a39dc55d9747a77b6c0d0841cb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; Aws::S3::S3Client &gt;</type>
      <name>s3_client_</name>
      <anchorfile>classAws_1_1S3_1_1S3Facade.html</anchorfile>
      <anchor>a3cd3375b2023df141c6c9aa0c6ef4c53</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>S3FacadeTest</name>
    <filename>classS3FacadeTest.html</filename>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classS3FacadeTest.html</anchorfile>
      <anchor>a1c96c3d07875a46ec0796594341ec6c5</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classS3FacadeTest.html</anchorfile>
      <anchor>ae3764329c51d8306f52a8309ecd0fa14</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; MockS3Client &gt;</type>
      <name>client</name>
      <anchorfile>classS3FacadeTest.html</anchorfile>
      <anchor>a08c3d381708c903671389500545784c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>enable_encryption</name>
      <anchorfile>classS3FacadeTest.html</anchorfile>
      <anchor>ab0afb6103f38dec6a2fc78297826791f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>upload_file</name>
      <anchorfile>classS3FacadeTest.html</anchorfile>
      <anchor>ac2727e13dc7a1c0447d4eaccee28b704</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Aws::S3::S3UploadManager</name>
    <filename>classAws_1_1S3_1_1S3UploadManager.html</filename>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>CancelUpload</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a24fad4248ff7b00fee908427a98f9246</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>IsAvailable</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>aeb0a3b11b07eb7617271656968e0247a</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3UploadManager</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>aa4e73cdf705f65d06aa6a55099996b90</anchor>
      <arglist>(const bool enable_encryption)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3UploadManager</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a7bd69a486271328f978b81698871830f</anchor>
      <arglist>(const bool enable_encryption, const Aws::Client::ClientConfiguration &amp;config)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>S3UploadManager</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a9ab3fec44305b3e29d1db5780924b303</anchor>
      <arglist>(std::unique_ptr&lt; S3Facade &gt; s3_facade)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual Model::PutObjectOutcome</type>
      <name>UploadFiles</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a57b433536a39feed2794f045c4a12eb9</anchor>
      <arglist>(const std::vector&lt; UploadDescription &gt; &amp;upload_descriptions, const std::string &amp;bucket, const boost::function&lt; void(const std::vector&lt; UploadDescription &gt; &amp;)&gt; &amp;feedback_callback)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~S3UploadManager</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a0bcb18595d29932a2dbcd639b19ca0c6</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>S3UploadManagerState</type>
      <name>manager_status_</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>aece2c1202531806fc22f7b2e64f32f83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::recursive_mutex</type>
      <name>mutex_</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a96932e3de3c22f0c043cefd7fa0d92d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; S3Facade &gt;</type>
      <name>s3_facade_</name>
      <anchorfile>classAws_1_1S3_1_1S3UploadManager.html</anchorfile>
      <anchor>a69055b746abedbc8cee9b10ed2ab9aa9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>S3UploadManagerTest</name>
    <filename>classS3UploadManagerTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>FeedbackCallback</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a01280b989678cc183707e2e4084e8572</anchor>
      <arglist>(const std::vector&lt; UploadDescription &gt; &amp;callback_uploads)</arglist>
    </member>
    <member kind="function">
      <type>std::future&lt; Model::PutObjectOutcome &gt;</type>
      <name>UploadFilesUntilUnlocked</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a65162f1009a5b5916d0ad5aa8aff4e75</anchor>
      <arglist>(std::unique_ptr&lt; S3UploadManager &gt; &amp;manager, std::mutex &amp;lock_during_uploading, std::condition_variable &amp;notify_is_uploading, bool &amp;is_uploading, const boost::function&lt; void(const std::vector&lt; UploadDescription &gt; &amp;)&gt; &amp;callback, int additional_returns=0)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type></type>
      <name>S3UploadManagerTest</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>ade037a43f4ace1bd4c5c5bbb24b0a083</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a9d0638d3160082498920dcd4ff8ccd54</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; UploadDescription &gt;</type>
      <name>completed_uploads</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a09d61c78045206205a5b2c6bc20f1c52</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>enable_encryption</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>ac5fea15903bfee8b34c19715d618913a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; MockS3Facade &gt;</type>
      <name>facade</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a5521a666ae57467ae160b9e3b5577487</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Model::PutObjectOutcome</type>
      <name>failed_outcome</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a738371bae4cd9653ab1edf1cd17b810f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::size_t</type>
      <name>num_feedback_calls</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a9cac84afd46950c19ce705866173ffde</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Model::PutObjectOutcome</type>
      <name>successful_outcome</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a761ff0720aa7753d7d31743c12839062</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; UploadDescription &gt;</type>
      <name>uploads</name>
      <anchorfile>classS3UploadManagerTest.html</anchorfile>
      <anchor>a9ebb26b877fc430f338bd8510d1064f2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Aws::S3::UploadDescription</name>
    <filename>structAws_1_1S3_1_1UploadDescription.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structAws_1_1S3_1_1UploadDescription.html</anchorfile>
      <anchor>ab548d86e42801758f747bf6713a453d1</anchor>
      <arglist>(const UploadDescription &amp;rhs) const </arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>file_path</name>
      <anchorfile>structAws_1_1S3_1_1UploadDescription.html</anchorfile>
      <anchor>af6831588b2bd54943fca74fe623121dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>object_key</name>
      <anchorfile>structAws_1_1S3_1_1UploadDescription.html</anchorfile>
      <anchor>ae9ef0b0690ffa662aa4fdeefce5af393</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>Aws</name>
    <filename>namespaceAws.html</filename>
    <namespace>Aws::S3</namespace>
    <member kind="enumeration">
      <type></type>
      <name>AwsError</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_ALREADY</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aab8ff1234012a5cdd8584b01195bb8555</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_EMPTY</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aab356b5a9fb3772ccdcc843e812f92941</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_FAILURE</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aa8a1bd9cdabf8823d1cc3c6f25b9aed88</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_MEMORY</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aab129a8355257c47ded173ba8ae02332c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_NOT_ENOUGH_SPACE</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aafdbd1b8e0b7d513bb86881fde98ec667</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_NOT_FOUND</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aacf37003947fe3abb79d2e0f6ba5910ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_NOT_INITIALIZED</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aa0e47051f8ea37f17be42e308476f355d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_NOT_SUPPORTED</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aa8a16fe6e50c247245f55bf889d92ba03</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_NULL_PARAM</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aae7222ccbffb46d1b419539ecca1b2b46</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_OK</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aa2dcf570438564ff2d67420db78923f16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_PARAM</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aad921dbddf3406b7fe5f859a1d811ed7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>AWS_ERR_TIMEOUT</name>
      <anchorfile>namespaceAws.html</anchorfile>
      <anchor>afd39ddc80dc548e50313cbb5d52e183aab86c01afb720fb92c5e376e9dd1e01fb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>Aws::S3</name>
    <filename>namespaceAws_1_1S3.html</filename>
    <class kind="class">Aws::S3::S3Facade</class>
    <class kind="class">Aws::S3::S3UploadManager</class>
    <class kind="struct">Aws::S3::UploadDescription</class>
    <member kind="enumeration">
      <type></type>
      <name>S3ErrorCode</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SUCCESS</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a0bc0f9888567cae0bb8a0172930b14a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CANCELLED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032ae8213ca5237d8613d8564792c8ba84ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UPLOADER_BUSY</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a832a6bc93b2cd737f02c64968d647170</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FAILED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032aaedb066da1ebaca3f21dd95c1b8e5f67</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FILE_COULDNT_BE_READ</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032adcca98877fb39171ec1289292e24ad59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>S3_ACCESS_DENIED</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032ad895494ccad4c278dcbdcfa601a25731</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>S3_NO_SUCH_BUCKET</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a0b7b6860a667f93bc14b355e68628032a3b984d956cdf1c4d1813aaf230b57218</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>S3UploadManagerState</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>AVAILABLE</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6a88da0976e2bb35d5f0fa78a55082bce9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UPLOADING</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6a07fa87971534cfcbc1f2f61490520bea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CANCELLING</name>
      <anchorfile>namespaceAws_1_1S3.html</anchorfile>
      <anchor>a7a2df868891c53dd71759685725429c6aa1369a6b740b3afebbc722735c0da6da</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
