1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_CONTENT_SETTINGS_PATTERN_SERIALIZER_H_ 6 #define CHROME_COMMON_CONTENT_SETTINGS_PATTERN_SERIALIZER_H_ 7 8 #include "base/macros.h" 9 10 namespace IPC { 11 class Message; 12 } 13 14 class ContentSettingsPattern; 15 class PickleIterator; 16 17 class ContentSettingsPatternSerializer { 18 public: 19 // Serializes the pattern to an IPC message. 20 static void WriteToMessage(const ContentSettingsPattern& pattern, 21 IPC::Message* m); 22 // Deserializes the pattern from the IPC message. 23 static bool ReadFromMessage(const IPC::Message* m, PickleIterator* iter, 24 ContentSettingsPattern* pattern); 25 26 private: 27 DISALLOW_IMPLICIT_CONSTRUCTORS(ContentSettingsPatternSerializer); 28 }; 29 30 #endif // CHROME_COMMON_CONTENT_SETTINGS_PATTERN_SERIALIZER_H_ 31