110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch// found in the LICENSE file. 410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#ifndef WebConvertableToTraceFormat_h 610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#define WebConvertableToTraceFormat_h 710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "WebPrivatePtr.h" 910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "WebString.h" 1010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 11c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 12e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) 1310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochnamespace TraceEvent { 1410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochclass ConvertableToTraceFormat; 1510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch} 1610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 1710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochclass WebConvertableToTraceFormat { 1810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochpublic: 1910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch WebConvertableToTraceFormat() { } 2010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#if INSIDE_BLINK 21e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) WebConvertableToTraceFormat(TraceEvent::ConvertableToTraceFormat*); 2210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#endif 2310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch ~WebConvertableToTraceFormat() { reset(); } 2410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 2510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch BLINK_PLATFORM_EXPORT WebString asTraceFormat() const; 2610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch BLINK_PLATFORM_EXPORT void assign(const WebConvertableToTraceFormat&); 2710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch BLINK_PLATFORM_EXPORT void reset(); 2810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 2910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch WebConvertableToTraceFormat(const WebConvertableToTraceFormat& r) { assign(r); } 3010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch WebConvertableToTraceFormat& operator=(const WebConvertableToTraceFormat& r) 3110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch { 3210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch assign(r); 3310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch return *this; 3410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 3510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 3610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochprivate: 37e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) WebPrivatePtr<TraceEvent::ConvertableToTraceFormat> m_private; 3810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch}; 3910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 4010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch} // namespace blink 4110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 4210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#endif 43