Index: content/common/common_param_traits.h |
=================================================================== |
--- content/common/common_param_traits.h (revision 106741) |
+++ content/common/common_param_traits.h (working copy) |
@@ -1,247 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// This file is used to define IPC::ParamTraits<> specializations for a number |
-// of types so that they can be serialized over IPC. IPC::ParamTraits<> |
-// specializations for basic types (like int and std::string) and types in the |
-// 'base' project can be found in ipc/ipc_message_utils.h. This file contains |
-// specializations for types that are used by the content code, and which need |
-// manual serialization code. This is usually because they're not structs with |
-// public members.. |
- |
-#ifndef CONTENT_COMMON_COMMON_PARAM_TRAITS_H_ |
-#define CONTENT_COMMON_COMMON_PARAM_TRAITS_H_ |
-#pragma once |
- |
-#include "base/memory/ref_counted.h" |
-#include "base/platform_file.h" |
-#include "content/common/content_export.h" |
-#include "content/common/dom_storage_common.h" |
-#include "content/public/common/page_transition_types.h" |
-#include "googleurl/src/gurl.h" |
-#include "ipc/ipc_message_utils.h" |
-#include "net/base/ip_endpoint.h" |
-#include "net/url_request/url_request_status.h" |
-#include "ui/gfx/native_widget_types.h" |
-#include "ui/gfx/surface/transport_dib.h" |
-#include "webkit/glue/resource_type.h" |
- |
-class SkBitmap; |
- |
-namespace gfx { |
-class Point; |
-class Rect; |
-class Size; |
-} // namespace gfx |
- |
-namespace net { |
-class HttpResponseHeaders; |
-class HostPortPair; |
-class UploadData; |
-} |
- |
-namespace ui { |
-class Range; |
-} |
- |
-namespace IPC { |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<GURL> { |
- typedef GURL param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* p); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct ParamTraits<ResourceType::Type> { |
- typedef ResourceType::Type param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* p); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<net::URLRequestStatus> { |
- typedef net::URLRequestStatus param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<scoped_refptr<net::UploadData> > { |
- typedef scoped_refptr<net::UploadData> param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template<> |
-struct CONTENT_EXPORT ParamTraits<net::HostPortPair> { |
- typedef net::HostPortPair param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct ParamTraits<scoped_refptr<net::HttpResponseHeaders> > { |
- typedef scoped_refptr<net::HttpResponseHeaders> param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct ParamTraits<net::IPEndPoint> { |
- typedef net::IPEndPoint param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* p); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct ParamTraits<base::PlatformFileInfo> { |
- typedef base::PlatformFileInfo param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<gfx::Point> { |
- typedef gfx::Point param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<gfx::Size> { |
- typedef gfx::Size param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<gfx::Rect> { |
- typedef gfx::Rect param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct ParamTraits<gfx::NativeWindow> { |
- typedef gfx::NativeWindow param_type; |
- static void Write(Message* m, const param_type& p) { |
-#if defined(OS_WIN) |
- // HWNDs are always 32 bits on Windows, even on 64 bit systems. |
- m->WriteUInt32(reinterpret_cast<uint32>(p)); |
-#else |
- m->WriteData(reinterpret_cast<const char*>(&p), sizeof(p)); |
-#endif |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
-#if defined(OS_WIN) |
- return m->ReadUInt32(iter, reinterpret_cast<uint32*>(r)); |
-#else |
- const char *data; |
- int data_size = 0; |
- bool result = m->ReadData(iter, &data, &data_size); |
- if (result && data_size == sizeof(gfx::NativeWindow)) { |
- memcpy(r, data, sizeof(gfx::NativeWindow)); |
- } else { |
- result = false; |
- NOTREACHED(); |
- } |
- return result; |
-#endif |
- } |
- static void Log(const param_type& p, std::string* l) { |
- l->append("<gfx::NativeWindow>"); |
- } |
-}; |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<ui::Range> { |
- typedef ui::Range param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* r); |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-#if defined(OS_WIN) |
-template<> |
-struct ParamTraits<TransportDIB::Id> { |
- typedef TransportDIB::Id param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.handle); |
- WriteParam(m, p.sequence_num); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return (ReadParam(m, iter, &r->handle) && |
- ReadParam(m, iter, &r->sequence_num)); |
- } |
- static void Log(const param_type& p, std::string* l) { |
- l->append("TransportDIB("); |
- LogParam(p.handle, l); |
- l->append(", "); |
- LogParam(p.sequence_num, l); |
- l->append(")"); |
- } |
-}; |
-#endif |
- |
-#if defined(USE_X11) |
-template<> |
-struct ParamTraits<TransportDIB::Id> { |
- typedef TransportDIB::Id param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.shmkey); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return ReadParam(m, iter, &r->shmkey); |
- } |
- static void Log(const param_type& p, std::string* l) { |
- l->append("TransportDIB("); |
- LogParam(p.shmkey, l); |
- l->append(")"); |
- } |
-}; |
-#endif |
- |
-template <> |
-struct CONTENT_EXPORT ParamTraits<SkBitmap> { |
- typedef SkBitmap param_type; |
- static void Write(Message* m, const param_type& p); |
- |
- // Note: This function expects parameter |r| to be of type &SkBitmap since |
- // r->SetConfig() and r->SetPixels() are called. |
- static bool Read(const Message* m, void** iter, param_type* r); |
- |
- static void Log(const param_type& p, std::string* l); |
-}; |
- |
-template <> |
-struct SimilarTypeTraits<base::PlatformFileError> { |
- typedef int Type; |
-}; |
- |
-template <> |
-struct SimilarTypeTraits<DOMStorageType> { |
- typedef int Type; |
-}; |
- |
-template <> |
-struct SimilarTypeTraits<content::PageTransition> { |
- typedef int Type; |
-}; |
- |
-} // namespace IPC |
- |
-#endif // CONTENT_COMMON_COMMON_PARAM_TRAITS_H_ |