1*6777b538SAndroid Build Coastguard Worker // Copyright 2016 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef URL_IPC_URL_PARAM_TRAITS_H_ 6*6777b538SAndroid Build Coastguard Worker #define URL_IPC_URL_PARAM_TRAITS_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <string> 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker #include "ipc/ipc_param_traits.h" 11*6777b538SAndroid Build Coastguard Worker #include "url/gurl.h" 12*6777b538SAndroid Build Coastguard Worker #include "url/ipc/url_ipc_export.h" 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Worker namespace base { 15*6777b538SAndroid Build Coastguard Worker class Pickle; 16*6777b538SAndroid Build Coastguard Worker class PickleIterator; 17*6777b538SAndroid Build Coastguard Worker } // namespace base 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker namespace IPC { 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker template <> 22*6777b538SAndroid Build Coastguard Worker struct URL_IPC_EXPORT ParamTraits<GURL> { 23*6777b538SAndroid Build Coastguard Worker typedef GURL param_type; 24*6777b538SAndroid Build Coastguard Worker static void Write(base::Pickle* m, const param_type& p); 25*6777b538SAndroid Build Coastguard Worker static bool Read(const base::Pickle* m, 26*6777b538SAndroid Build Coastguard Worker base::PickleIterator* iter, 27*6777b538SAndroid Build Coastguard Worker param_type* p); 28*6777b538SAndroid Build Coastguard Worker static void Log(const param_type& p, std::string* l); 29*6777b538SAndroid Build Coastguard Worker }; 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker } // namespace IPC 32*6777b538SAndroid Build Coastguard Worker 33*6777b538SAndroid Build Coastguard Worker #endif // URL_IPC_URL_PARAM_TRAITS_H_ 34