aboutsummaryrefslogtreecommitdiff
path: root/.gitignore
blob: 7b5ecab675dd3d523c7be2f4a15ba061199dcd2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
## Editors and Development environments
*~
*.swp
*.bak*
*.orig
# Vim
*.vim
# Kate
.*.kate-swp
.swp.*
# KDevelop4
.kdev4/
*.kdev4
# Eclipse (CDT and LDT)
.project
.cproject
.settings/
.buildpath
.metadata
# GNU Global
tags
!tags/
gtags.files
.idea/*
# Codelite
*.project

## Files related to minetest development cycle
/*.patch
*.diff
# GNU Patch reject file
*.rej

## Non-static Minetest directories or symlinks to these
/bin/
/games/*
!/games/minimal/
/cache
/textures/*
!/textures/base/
/screenshots
/sounds
/mods/*
!/mods/minetest/
/mods/minetest/*
!/mods/minetest/mods_here.txt
/worlds
/world/
/clientmods/*
!/clientmods/preview/
/client/mod_storage/

## Configuration/log files
minetest.conf
debug.txt

## Other files generated by minetest
screenshot_*.png

## Doxygen files
doc/Doxyfile
doc/html/
doc/doxygen_*

## Build files
CMakeFiles
Makefile
!build/android/Makefile
cmake_install.cmake
CMakeCache.txt
CPackConfig.cmake
CPackSourceConfig.cmake
src/android_version.h
src/android_version_githash.h
src/cmake_config.h
src/cmake_config_githash.h
src/lua/build/
locale/
.directory
*.cbp
*.layout
*.o
*.a
*.ninja
.ninja*
*.gch
cmake-build-debug/
cmake-build-release/

## Android build files
build/android/src/main/assets
build/android/build
build/android/deps
build/android/libs
build/android/jni/lib
build/android/jni/src
build/android/src/main/jniLibs
build/android/obj
build/android/local.properties
build/android/.gradle
timestamp
he implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef HTTPFETCH_HEADER #define HTTPFETCH_HEADER #include <string> #include <vector> #include "config.h" // Can be used in place of "caller" in asynchronous transfers to discard result // (used as default value of "caller") #define HTTPFETCH_DISCARD 0 #define HTTPFETCH_SYNC 1 struct HTTPFetchRequest { std::string url; // Identifies the caller (for asynchronous requests) // Ignored by httpfetch_sync unsigned long caller; // Some number that identifies the request // (when the same caller issues multiple httpfetch_async calls) unsigned long request_id; // Timeout for the whole transfer, in milliseconds long timeout; // Timeout for the connection phase, in milliseconds long connect_timeout; // POST data (should be application/x-www-form-urlencoded // unless a Content-Type header is specified in extra_headers) // If this is empty a GET request is done instead. std::string post_fields; // If not empty, should contain entries such as "Accept: text/html" std::vector<std::string> extra_headers; //useragent to use std::string useragent; HTTPFetchRequest(); }; struct HTTPFetchResult { bool succeeded; bool timeout; long response_code; std::string data; // The caller and request_id from the corresponding HTTPFetchRequest. unsigned long caller; unsigned long request_id; HTTPFetchResult() { succeeded = false; timeout = false; response_code = 0; data = ""; caller = HTTPFETCH_DISCARD; request_id = 0; } HTTPFetchResult(const HTTPFetchRequest &fetchrequest) { succeeded = false; timeout = false; response_code = 0; data = ""; caller = fetchrequest.caller; request_id = fetchrequest.request_id; } }; // Initializes the httpfetch module void httpfetch_init(int parallel_limit); // Stops the httpfetch thread and cleans up resources void httpfetch_cleanup(); // Starts an asynchronous HTTP fetch request void httpfetch_async(const HTTPFetchRequest &fetchrequest); // If any fetch for the given caller ID is complete, removes it from the // result queue, sets fetchresult and returns true. Otherwise returns false. bool httpfetch_async_get(unsigned long caller, HTTPFetchResult &fetchresult); // Allocates a caller ID for httpfetch_async // Not required if you want to set caller = HTTPFETCH_DISCARD unsigned long httpfetch_caller_alloc(); // Frees a caller ID allocated with httpfetch_caller_alloc // Note: This can be expensive, because the httpfetch thread is told // to stop any ongoing fetches for the given caller. void httpfetch_caller_free(unsigned long caller); // Performs a synchronous HTTP request. This blocks and therefore should // only be used from background threads. void httpfetch_sync(const HTTPFetchRequest &fetchrequest, HTTPFetchResult &fetchresult); #endif // !HTTPFETCH_HEADER