15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2010 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "jingle/notifier/base/notification_method.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace notifier { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const NotificationMethod kDefaultNotificationMethod = NOTIFICATION_SERVER; 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string NotificationMethodToString( 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NotificationMethod notification_method) { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) switch (notification_method) { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case NOTIFICATION_P2P: 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return "NOTIFICATION_P2P"; 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case NOTIFICATION_SERVER: 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return "NOTIFICATION_SERVER"; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default: 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(WARNING) << "Unknown value for notification method: " 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << notification_method; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return "<unknown notification method>"; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NotificationMethod StringToNotificationMethod(const std::string& str) { 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (str == "p2p") { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NOTIFICATION_P2P; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else if (str == "server") { 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NOTIFICATION_SERVER; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(WARNING) << "Unknown notification method \"" << str 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << "\"; using method " 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << NotificationMethodToString(kDefaultNotificationMethod); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return kDefaultNotificationMethod; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace notifier 43