summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestCurl.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2015-01-14 15:54:25 (GMT)
committerBrad King <brad.king@kitware.com>2015-01-20 14:33:21 (GMT)
commit5dc33f89b5405f1fbcefb9783ea2050a3686d7de (patch)
treed138db877c27238535c72fe56266f21553e5680b /Source/CTest/cmCTestCurl.h
parent17cfa09eb2a78349a6471e4719bc933dd0625d9e (diff)
downloadCMake-5dc33f89b5405f1fbcefb9783ea2050a3686d7de.zip
CMake-5dc33f89b5405f1fbcefb9783ea2050a3686d7de.tar.gz
CMake-5dc33f89b5405f1fbcefb9783ea2050a3686d7de.tar.bz2
ctest_submit: Add CDASH_UPLOAD mode to upload files to CDash
This adds support for the new cdash API where arbitrary files can be uploaded to the CDash server. This CDash API communicates via json files so the json parser jsoncpp was added to the Utilities directory.
Diffstat (limited to 'Source/CTest/cmCTestCurl.h')
-rw-r--r--Source/CTest/cmCTestCurl.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestCurl.h b/Source/CTest/cmCTestCurl.h
new file mode 100644
index 0000000..5bb8b41
--- /dev/null
+++ b/Source/CTest/cmCTestCurl.h
@@ -0,0 +1,52 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2015 Kitware, Inc.
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmCTestCurl_h
+#define cmCTestCurl_h
+
+#include "cmStandardIncludes.h"
+
+#include "cm_curl.h"
+
+class cmCTest;
+
+class cmCTestCurl
+{
+public:
+ cmCTestCurl(cmCTest*);
+ bool UploadFile(std::string const& url,
+ std::string const& file,
+ std::string const& fields,
+ std::string& response);
+ bool HttpRequest(std::string const& url,
+ std::string const& fields,
+ std::string& response);
+ // currently only supports CURLOPT_SSL_VERIFYPEER_OFF
+ // and CURLOPT_SSL_VERIFYHOST_OFF
+ void SetCurlOptions(std::vector<std::string> const& args);
+ void SetUseHttp10On() { this->UseHttp10 = true;}
+ void SetTimeOutSeconds(int s) { this->TimeOutSeconds = s;}
+protected:
+ void SetProxyType();
+ bool InitCurl();
+private:
+ cmCTest* CTest;
+ CURL* Curl;
+ std::string HTTPProxyAuth;
+ std::string HTTPProxy;
+ curl_proxytype HTTPProxyType;
+ bool VerifyHostOff;
+ bool VerifyPeerOff;
+ bool UseHttp10;
+ int TimeOutSeconds;
+};
+
+#endif