aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-10-26 18:06:43 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-10-26 18:06:43 +0000
commit29401d2457120b6d581affdb440017433ca93e77 (patch)
treeb220a87d6f942f164b1cba84ba369ad060d80891 /src/client
parentAdd MDString to minidump_format.h (#59). r=bryner (diff)
downloadbreakpad-29401d2457120b6d581affdb440017433ca93e77.tar.xz
Support building with WIN32_LEAN_AND_MEAN (#60)
- All Windows code now builds with WIN32_LEAN_AND_MEAN by default. - Header inclusion is adjusted as needed. Remove use of UuidToString (#39) - Also breaks dependency on RpcStringFree and therefore rpcrt4.lib. r=bryner http://groups.google.com/group/airbag-dev/browse_thread/thread/30f844cfc7ccd37f git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@51 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client')
-rw-r--r--src/client/windows/handler/exception_handler.cc24
-rw-r--r--src/client/windows/handler/exception_handler.h8
-rw-r--r--src/client/windows/handler/exception_handler.vcproj16
-rw-r--r--src/client/windows/sender/crash_report_sender.h2
-rw-r--r--src/client/windows/sender/crash_report_sender.vcproj8
5 files changed, 29 insertions, 29 deletions
diff --git a/src/client/windows/handler/exception_handler.cc b/src/client/windows/handler/exception_handler.cc
index ba5c2653..e58dea65 100644
--- a/src/client/windows/handler/exception_handler.cc
+++ b/src/client/windows/handler/exception_handler.cc
@@ -27,11 +27,12 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include <assert.h>
+#include <ObjBase.h>
#include <cstdio>
#include "client/windows/handler/exception_handler.h"
+#include "common/windows/guid_string.h"
namespace google_airbag {
@@ -42,9 +43,9 @@ ExceptionHandler::ExceptionHandler(const wstring &dump_path,
void *callback_context,
bool install_handler)
: callback_(callback), callback_context_(callback_context),
- dump_path_(dump_path), next_minidump_id_(NULL),
- dbghelp_module_(NULL), minidump_write_dump_(NULL),
- previous_handler_(current_handler_), previous_filter_(NULL) {
+ dump_path_(dump_path), dbghelp_module_(NULL),
+ minidump_write_dump_(NULL), previous_handler_(current_handler_),
+ previous_filter_(NULL) {
UpdateNextID();
dbghelp_module_ = LoadLibrary(L"dbghelp.dll");
if (dbghelp_module_) {
@@ -61,9 +62,6 @@ ExceptionHandler::~ExceptionHandler() {
if (dbghelp_module_) {
FreeLibrary(dbghelp_module_);
}
- if (next_minidump_id_) {
- RpcStringFree(&next_minidump_id_);
- }
if (current_handler_ == this) {
SetUnhandledExceptionFilter(previous_filter_);
current_handler_ = previous_handler_;
@@ -95,7 +93,7 @@ bool ExceptionHandler::WriteMinidump(const wstring &dump_path,
bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) {
wchar_t dump_file_name[MAX_PATH];
swprintf_s(dump_file_name, MAX_PATH, L"%s\\%s.dmp",
- dump_path_.c_str(), next_minidump_id_);
+ dump_path_.c_str(), next_minidump_id_.c_str());
bool success = false;
if (minidump_write_dump_) {
@@ -126,10 +124,7 @@ bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) {
}
if (callback_) {
- // This looks nasty, but RPC_WSTR is really just a wide string,
- // and there are no "supported" ways to convert them other than casting.
- callback_(reinterpret_cast<wchar_t*>(next_minidump_id_),
- callback_context_, success);
+ callback_(next_minidump_id_, callback_context_, success);
}
// TODO(bryner): log an error on failure
@@ -137,12 +132,9 @@ bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) {
}
void ExceptionHandler::UpdateNextID() {
- if (next_minidump_id_) {
- RpcStringFree(&next_minidump_id_);
- }
GUID id;
CoCreateGuid(&id);
- UuidToString(&id, &next_minidump_id_);
+ next_minidump_id_ = GUIDString::GUIDToWString(&id);
}
} // namespace google_airbag
diff --git a/src/client/windows/handler/exception_handler.h b/src/client/windows/handler/exception_handler.h
index 534a1d7f..5f6f5231 100644
--- a/src/client/windows/handler/exception_handler.h
+++ b/src/client/windows/handler/exception_handler.h
@@ -54,13 +54,13 @@
// This will put the exception filter stack into an inconsistent state.
//
// To use this library in your project, you will need to link against
-// rpcrt4.lib and ole32.lib.
+// ole32.lib.
#ifndef CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__
#define CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__
-#include <windows.h>
-#include <dbghelp.h>
+#include <Windows.h>
+#include <DbgHelp.h>
#include <string>
@@ -121,7 +121,7 @@ class ExceptionHandler {
void *callback_context_;
wstring dump_path_;
- RPC_WSTR next_minidump_id_;
+ wstring next_minidump_id_;
HMODULE dbghelp_module_;
MiniDumpWriteDump_type minidump_write_dump_;
diff --git a/src/client/windows/handler/exception_handler.vcproj b/src/client/windows/handler/exception_handler.vcproj
index 1f9bdb17..70efe119 100644
--- a/src/client/windows/handler/exception_handler.vcproj
+++ b/src/client/windows/handler/exception_handler.vcproj
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -104,7 +104,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -165,7 +165,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -228,7 +228,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -276,6 +276,10 @@
RelativePath=".\exception_handler.cc"
>
</File>
+ <File
+ RelativePath="..\..\..\common\windows\guid_string.cc"
+ >
+ </File>
</Filter>
<Filter
Name="Header Files"
@@ -286,6 +290,10 @@
RelativePath=".\exception_handler.h"
>
</File>
+ <File
+ RelativePath="..\..\..\common\windows\guid_string.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
diff --git a/src/client/windows/sender/crash_report_sender.h b/src/client/windows/sender/crash_report_sender.h
index 19563b02..06785818 100644
--- a/src/client/windows/sender/crash_report_sender.h
+++ b/src/client/windows/sender/crash_report_sender.h
@@ -38,8 +38,8 @@
// To use this library in your project, you will need to link against
// wininet.lib.
-#include <string>
#include <map>
+#include <string>
namespace google_airbag {
diff --git a/src/client/windows/sender/crash_report_sender.vcproj b/src/client/windows/sender/crash_report_sender.vcproj
index fc131ef5..76a579b4 100644
--- a/src/client/windows/sender/crash_report_sender.vcproj
+++ b/src/client/windows/sender/crash_report_sender.vcproj
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -104,7 +104,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -165,7 +165,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -228,7 +228,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"