| /* |
| * Copyright 2013 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| package org.webrtc; |
| |
| import java.util.Locale; |
| |
| /** |
| * Description of an RFC 4566 Session. |
| * SDPs are passed as serialized Strings in Java-land and are materialized |
| * to SessionDescriptionInterface as appropriate in the JNI layer. |
| */ |
| public class SessionDescription { |
| /** Java-land enum version of SessionDescriptionInterface's type() string. */ |
| public static enum Type { |
| OFFER, |
| PRANSWER, |
| ANSWER, |
| ROLLBACK; |
| |
| public String canonicalForm() { |
| return name().toLowerCase(Locale.US); |
| } |
| |
| @CalledByNative("Type") |
| public static Type fromCanonicalForm(String canonical) { |
| return Type.valueOf(Type.class, canonical.toUpperCase(Locale.US)); |
| } |
| } |
| |
| public final Type type; |
| public final String description; |
| |
| @CalledByNative |
| public SessionDescription(Type type, String description) { |
| this.type = type; |
| this.description = description; |
| } |
| |
| @CalledByNative |
| String getDescription() { |
| return description; |
| } |
| |
| @CalledByNative |
| String getTypeInCanonicalForm() { |
| return type.canonicalForm(); |
| } |
| } |