Skip to content

Commit 12427fc

Browse files
committed
Merge branch 'dev'
2 parents e26c272 + a5f9d44 commit 12427fc

55 files changed

Lines changed: 1768 additions & 1625 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
66

77
option(BUILD_EXAMPLES "Build example executables" ON)
8+
option(BUILD_TESTS "Build tests" OFF)
89

910
find_package(nlohmann_json CONFIG REQUIRED)
1011
find_package(CURL CONFIG REQUIRED)
12+
find_package(GTest CONFIG REQUIRED)
1113

1214
file(GLOB SOURCES "src/*.cpp")
1315

@@ -22,6 +24,8 @@ target_include_directories(yandex-disk-cpp-client
2224
target_link_libraries(yandex-disk-cpp-client
2325
PUBLIC nlohmann_json::nlohmann_json
2426
CURL::libcurl
27+
GTest::gtest
28+
GTest::gtest_main
2529
)
2630

2731
# === Build each example as a separate executable ===
@@ -45,6 +49,11 @@ if(BUILD_EXAMPLES)
4549
target_link_libraries(example_directory_upload_download PRIVATE yandex-disk-cpp-client)
4650
endif()
4751

52+
if(BUILD_TESTS)
53+
enable_testing()
54+
add_subdirectory(tests)
55+
endif()
56+
4857
# === Installing a static library ===
4958

5059
install(TARGETS yandex-disk-cpp-client
@@ -84,4 +93,4 @@ install(FILES
8493
"${CMAKE_CURRENT_BINARY_DIR}/yandex-disk-cpp-clientConfig.cmake"
8594
"${CMAKE_CURRENT_BINARY_DIR}/yandex-disk-cpp-clientConfigVersion.cmake"
8695
DESTINATION lib/cmake/yandex-disk-cpp-client
87-
)
96+
)

docs/.gitkeep

Whitespace-only changes.

docs/YandexDiskClient_8h_source.html

Lines changed: 213 additions & 0 deletions
Large diffs are not rendered by default.

docs/_yandex_disk_client_8h_source.html

Lines changed: 0 additions & 263 deletions
This file was deleted.

docs/annotated.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<script type="text/javascript" src="search/searchdata.js"></script>
1919
<script type="text/javascript" src="search/search.js"></script>
2020
<link href="doxygen.css" rel="stylesheet" type="text/css" />
21+
<link href="custom.css" rel="stylesheet" type="text/css"/>
2122
</head>
2223
<body>
2324
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -26,9 +27,9 @@
2627
<tbody>
2728
<tr id="projectrow">
2829
<td id="projectalign">
29-
<div id="projectname">Yandex Disk C++ Client<span id="projectnumber">&#160;1.0.0</span>
30+
<div id="projectname">Yandex Disk C++ Client<span id="projectnumber">&#160;1.0.4</span>
3031
</div>
31-
<div id="projectbrief">Modern C++ client for Yandex.Disk REST API. Simple, lightweight, and static library for integrating Yandex.Disk cloud storage into C++ projects.</div>
32+
<div id="projectbrief">C++ client for Yandex.Disk REST API</div>
3233
</td>
3334
</tr>
3435
</tbody>
@@ -94,7 +95,7 @@
9495
<div class="contents">
9596
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
9697
<table class="directory">
97-
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_yandex_disk_client.html" target="_self">YandexDiskClient</a></td><td class="desc">C++ client for Yandex.Disk REST API </td></tr>
98+
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classYandexDiskClient.html" target="_self">YandexDiskClient</a></td><td class="desc">C++ client for Yandex.Disk REST API </td></tr>
9899
</table>
99100
</div><!-- directory -->
100101
</div><!-- contents -->
@@ -103,7 +104,7 @@
103104
<!-- start footer part -->
104105
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
105106
<ul>
106-
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
107+
<li class="footer">Generated on <span class="timestamp"></span> for Yandex Disk C++ Client by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
107108
</ul>
108109
</div>
109110
</body>

docs/annotated_dup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var annotated_dup =
22
[
3-
[ "YandexDiskClient", "class_yandex_disk_client.html", "class_yandex_disk_client" ]
3+
[ "YandexDiskClient", "classYandexDiskClient.html", "classYandexDiskClient" ]
44
];
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5+
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
6+
<meta name="generator" content="Doxygen 1.14.0"/>
7+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
8+
<title>Yandex Disk C++ Client: Member List</title>
9+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
10+
<script type="text/javascript" src="jquery.js"></script>
11+
<script type="text/javascript" src="dynsections.js"></script>
12+
<script type="text/javascript" src="clipboard.js"></script>
13+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
14+
<script type="text/javascript" src="navtreedata.js"></script>
15+
<script type="text/javascript" src="navtree.js"></script>
16+
<script type="text/javascript" src="cookie.js"></script>
17+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
18+
<script type="text/javascript" src="search/searchdata.js"></script>
19+
<script type="text/javascript" src="search/search.js"></script>
20+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
21+
<link href="custom.css" rel="stylesheet" type="text/css"/>
22+
</head>
23+
<body>
24+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
25+
<div id="titlearea">
26+
<table cellspacing="0" cellpadding="0">
27+
<tbody>
28+
<tr id="projectrow">
29+
<td id="projectalign">
30+
<div id="projectname">Yandex Disk C++ Client<span id="projectnumber">&#160;1.0.4</span>
31+
</div>
32+
<div id="projectbrief">C++ client for Yandex.Disk REST API</div>
33+
</td>
34+
</tr>
35+
</tbody>
36+
</table>
37+
</div>
38+
<!-- end header part -->
39+
<!-- Generated by Doxygen 1.14.0 -->
40+
<script type="text/javascript">
41+
var searchBox = new SearchBox("searchBox", "search/",'.html');
42+
</script>
43+
<script type="text/javascript">
44+
$(function() { codefold.init(); });
45+
</script>
46+
<script type="text/javascript" src="menudata.js"></script>
47+
<script type="text/javascript" src="menu.js"></script>
48+
<script type="text/javascript">
49+
$(function() {
50+
initMenu('',true,false,'search.php','Search',true);
51+
$(function() { init_search(); });
52+
});
53+
</script>
54+
<div id="main-nav"></div>
55+
</div><!-- top -->
56+
<div id="side-nav" class="ui-resizable side-nav-resizable">
57+
<div id="nav-tree">
58+
<div id="nav-tree-contents">
59+
<div id="nav-sync" class="sync"></div>
60+
</div>
61+
</div>
62+
<div id="splitbar" style="-moz-user-select:none;"
63+
class="ui-resizable-handle">
64+
</div>
65+
</div>
66+
<script type="text/javascript">
67+
$(function(){initNavTree('classYandexDiskClient.html','',''); });
68+
</script>
69+
<div id="container">
70+
<div id="doc-content">
71+
<!-- window showing the filter options -->
72+
<div id="MSearchSelectWindow"
73+
onmouseover="return searchBox.OnSearchSelectShow()"
74+
onmouseout="return searchBox.OnSearchSelectHide()"
75+
onkeydown="return searchBox.OnSearchSelectKey(event)">
76+
</div>
77+
78+
<!-- iframe showing the search results (closed by default) -->
79+
<div id="MSearchResultsWindow">
80+
<div id="MSearchResults">
81+
<div class="SRPage">
82+
<div id="SRIndex">
83+
<div id="SRResults"></div>
84+
<div class="SRStatus" id="Loading">Loading...</div>
85+
<div class="SRStatus" id="Searching">Searching...</div>
86+
<div class="SRStatus" id="NoMatches">No Matches</div>
87+
</div>
88+
</div>
89+
</div>
90+
</div>
91+
92+
<div class="header">
93+
<div class="headertitle"><div class="title">YandexDiskClient Member List</div></div>
94+
</div><!--header-->
95+
<div class="contents">
96+
97+
<p>This is the complete list of members for <a class="el" href="classYandexDiskClient.html">YandexDiskClient</a>, including all inherited members.</p>
98+
<table class="directory">
99+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#aa8071416b2afa068b279f95bf1eca6d3">createDirectory</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
100+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a6a1ebefed4f52107e214b6c8528ccaa8">deleteFileOrDir</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
101+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#af504ababa9f536a521c18bd3a08b4ffa">deleteFromTrash</a>(const std::string &amp;trash_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
102+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a82b17a5b3b628d5c44dd3ff615ac140b">downloadDirectory</a>(const std::string &amp;disk_path, const std::string &amp;local_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
103+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#a42d61aea3883d6fed46d750c7b271a4d">downloadFile</a>(const std::string &amp;download_disk_path, const std::string &amp;local_dir)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
104+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a07507ca5a2627a309f4ef98a4262df3e">emptyTrash</a>()</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
105+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#a280ddd4ec74d603abdd0ebdc591e8327">exists</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
106+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a13db853fe908abd0e7a48ddf96680fa2">findResourcePathByName</a>(const std::string &amp;name, const std::string &amp;start_path=&quot;/&quot;)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
107+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#ab2c5186c0365c9d26e5b530f4a385a9c">findTrashPathByName</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
108+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a63ff6a5ef4e0335b669c94b275d3a1d3">getPublicDownloadLink</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
109+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#a016dc4b84551b708c434fe4eec8d08f3">getQuotaInfo</a>()</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
110+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#af946f292a6ab74c8f7ccafab7e453cd8">getResourceInfo</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
111+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#a4bb4e10d6ab0ebf7ee2134a9d0e22334">getResourceList</a>(const std::string &amp;disk_path=&quot;/&quot;)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
112+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#aeef32cc4ce873802d45f61a3b8f1ef7c">getTrashResourceList</a>(const std::string &amp;trash_path=&quot;trash:/&quot;)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
113+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#aef6414e9e2bf2811771ee607da408613">moveFileOrDir</a>(const std::string &amp;from_path, const std::string &amp;to_path, bool overwrite=false)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
114+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a78d6ce93b9a8f731a621213f46a9567d">publish</a>(const std::string &amp;path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
115+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#ad07537f84032ee1c9e120ba37f2b6377">renameFileOrDir</a>(const std::string &amp;disk_path, const std::string &amp;new_name, bool overwrite=false)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
116+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a58aae69c7fcf0d3a363d3e399408d441">restoreFromTrash</a>(const std::string &amp;trash_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
117+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#ab8e7e353132087a16c602cd19075e7be">unpublish</a>(const std::string &amp;disk_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
118+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#aa2808ca839914cb036a6c73043a20061">uploadDirectory</a>(const std::string &amp;disk_path, const std::string &amp;local_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
119+
<tr class="even"><td class="entry"><a class="el" href="classYandexDiskClient.html#ab17796f121e6644046863798aac0a0e6">uploadFile</a>(const std::string &amp;disk_dir, const std::string &amp;local_path)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"></td></tr>
120+
<tr class="odd"><td class="entry"><a class="el" href="classYandexDiskClient.html#a41f4d063a5ae4aa9d3e4d270e6d0b610">YandexDiskClient</a>(const std::string &amp;oauth_token)</td><td class="entry"><a class="el" href="classYandexDiskClient.html">YandexDiskClient</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
121+
</table></div><!-- contents -->
122+
</div><!-- doc-content -->
123+
</div><!-- container -->
124+
<!-- start footer part -->
125+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
126+
<ul>
127+
<li class="footer">Generated on <span class="timestamp"></span> for Yandex Disk C++ Client by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
128+
</ul>
129+
</div>
130+
</body>
131+
</html>

0 commit comments

Comments
 (0)