1// Copyright (c) 2010 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#include "jingle/notifier/base/notification_method.h"
6
7#include "base/logging.h"
8
9namespace notifier {
10
11const NotificationMethod kDefaultNotificationMethod = NOTIFICATION_SERVER;
12
13std::string NotificationMethodToString(
14    NotificationMethod notification_method) {
15  switch (notification_method) {
16    case NOTIFICATION_P2P:
17      return "NOTIFICATION_P2P";
18      break;
19    case NOTIFICATION_SERVER:
20      return "NOTIFICATION_SERVER";
21      break;
22    default:
23      LOG(WARNING) << "Unknown value for notification method: "
24                   << notification_method;
25      break;
26  }
27  return "<unknown notification method>";
28}
29
30NotificationMethod StringToNotificationMethod(const std::string& str) {
31  if (str == "p2p") {
32    return NOTIFICATION_P2P;
33  } else if (str == "server") {
34    return NOTIFICATION_SERVER;
35  }
36  LOG(WARNING) << "Unknown notification method \"" << str
37               << "\"; using method "
38               << NotificationMethodToString(kDefaultNotificationMethod);
39  return kDefaultNotificationMethod;
40}
41
42}  // namespace notifier
43