Sync DrDump crash handler with TortoiseSVN codebase
[TortoiseGit.git] / ext / CrashServer / CommonLibs / Stat / stat.h
blob853c467a39b0f9711958a1b6c344c6d89e0f3be3
1 // Copyright 2014 Idol Software, Inc.
2 //
3 // This file is part of Doctor Dump SDK.
4 //
5 // Doctor Dump SDK is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #pragma once
21 #include <vector>
22 #include <string>
23 #include <stdexcept>
24 #include <windows.h>
25 #include <wininet.h>
27 #pragma comment(lib,"Wininet.lib")
29 namespace ATL
31 class CUrl; // #include <atlutil.h>
34 namespace statistics
36 std::vector<BYTE> HttpPost(LPCTSTR agent, const ATL::CUrl& url, LPCTSTR* accept, LPCTSTR hdrs, LPVOID postData, DWORD postDataSize, DWORD& responseCode);
38 typedef std::pair<std::string, std::string> Param;
39 typedef std::vector<Param> Params;
41 std::vector<BYTE> HttpPostXWwwFormUrlencoded(
42 LPCTSTR agent,
43 const ATL::CUrl& url,
44 LPCTSTR* accept,
45 const Params& query,
46 DWORD& responseCode);
48 bool SendExceptionToGoogleAnalytics(
49 LPCSTR tid,
50 const std::string& cid,
51 const std::string& appName,
52 const std::string& appVersion,
53 const std::string& exceptionDescr,
54 bool exceptionFatal);
56 bool SendExceptionToGoogleAnalytics(
57 LPCSTR tid,
58 const std::string& appName,
59 const std::string& exceptionDescr,
60 bool exceptionFatal);