OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/devtools_bridge/android/session_dependency_factory_android.
h" | 5 #include "components/devtools_bridge/android/session_dependency_factory_android.
h" |
6 | 6 |
7 #include "base/android/jni_string.h" | 7 #include "base/android/jni_string.h" |
8 #include "base/android/scoped_java_ref.h" | 8 #include "base/android/scoped_java_ref.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "components/devtools_bridge/abstract_data_channel.h" | 10 #include "components/devtools_bridge/abstract_data_channel.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 * please use ConvertUTF8ToJavaString(env, ...).obj() or ScopedJavaLocalFrame. | 32 * please use ConvertUTF8ToJavaString(env, ...).obj() or ScopedJavaLocalFrame. |
33 */ | 33 */ |
34 class PeerConnectionDelegateImpl | 34 class PeerConnectionDelegateImpl |
35 : public AbstractPeerConnection::Delegate { | 35 : public AbstractPeerConnection::Delegate { |
36 public: | 36 public: |
37 PeerConnectionDelegateImpl(JNIEnv* env, jobject java_object) { | 37 PeerConnectionDelegateImpl(JNIEnv* env, jobject java_object) { |
38 java_object_.Reset(env, java_object); | 38 java_object_.Reset(env, java_object); |
39 connected_ = false; | 39 connected_ = false; |
40 } | 40 } |
41 | 41 |
42 virtual void OnIceConnectionChange(bool connected) override { | 42 void OnIceConnectionChange(bool connected) override { |
43 JNIEnv* env = AttachCurrentThread(); | 43 JNIEnv* env = AttachCurrentThread(); |
44 Java_SessionDependencyFactoryNative_notifyIceConnectionChange( | 44 Java_SessionDependencyFactoryNative_notifyIceConnectionChange( |
45 env, java_object_.obj(), connected); | 45 env, java_object_.obj(), connected); |
46 } | 46 } |
47 | 47 |
48 virtual void OnIceCandidate( | 48 void OnIceCandidate(const std::string& sdp_mid, |
49 const std::string& sdp_mid, int sdp_mline_index, const std::string& sdp) | 49 int sdp_mline_index, |
50 override { | 50 const std::string& sdp) override { |
51 JNIEnv* env = AttachCurrentThread(); | 51 JNIEnv* env = AttachCurrentThread(); |
52 Java_SessionDependencyFactoryNative_notifyIceCandidate( | 52 Java_SessionDependencyFactoryNative_notifyIceCandidate( |
53 env, java_object_.obj(), | 53 env, java_object_.obj(), |
54 ConvertUTF8ToJavaString(env, sdp_mid).obj(), | 54 ConvertUTF8ToJavaString(env, sdp_mid).obj(), |
55 sdp_mline_index, ConvertUTF8ToJavaString(env, sdp).obj()); | 55 sdp_mline_index, ConvertUTF8ToJavaString(env, sdp).obj()); |
56 } | 56 } |
57 | 57 |
58 void NotifyLocalOfferCreatedAndSetSet(const std::string& description) { | 58 void NotifyLocalOfferCreatedAndSetSet(const std::string& description) { |
59 JNIEnv* env = AttachCurrentThread(); | 59 JNIEnv* env = AttachCurrentThread(); |
60 Java_SessionDependencyFactoryNative_notifyLocalOfferCreatedAndSetSet( | 60 Java_SessionDependencyFactoryNative_notifyLocalOfferCreatedAndSetSet( |
61 env, java_object_.obj(), | 61 env, java_object_.obj(), |
62 ConvertUTF8ToJavaString(env, description).obj()); | 62 ConvertUTF8ToJavaString(env, description).obj()); |
63 } | 63 } |
64 | 64 |
65 virtual void OnLocalOfferCreatedAndSetSet(const std::string& description) | 65 void OnLocalOfferCreatedAndSetSet(const std::string& description) override { |
66 override { | |
67 JNIEnv* env = AttachCurrentThread(); | 66 JNIEnv* env = AttachCurrentThread(); |
68 Java_SessionDependencyFactoryNative_notifyLocalOfferCreatedAndSetSet( | 67 Java_SessionDependencyFactoryNative_notifyLocalOfferCreatedAndSetSet( |
69 env, java_object_.obj(), | 68 env, java_object_.obj(), |
70 ConvertUTF8ToJavaString(env, description).obj()); | 69 ConvertUTF8ToJavaString(env, description).obj()); |
71 } | 70 } |
72 | 71 |
73 virtual void OnLocalAnswerCreatedAndSetSet(const std::string& description) | 72 void OnLocalAnswerCreatedAndSetSet(const std::string& description) override { |
74 override { | |
75 JNIEnv* env = AttachCurrentThread(); | 73 JNIEnv* env = AttachCurrentThread(); |
76 Java_SessionDependencyFactoryNative_notifyLocalAnswerCreatedAndSetSet( | 74 Java_SessionDependencyFactoryNative_notifyLocalAnswerCreatedAndSetSet( |
77 env, java_object_.obj(), | 75 env, java_object_.obj(), |
78 ConvertUTF8ToJavaString(env, description).obj()); | 76 ConvertUTF8ToJavaString(env, description).obj()); |
79 } | 77 } |
80 | 78 |
81 virtual void OnRemoteDescriptionSet() override { | 79 void OnRemoteDescriptionSet() override { |
82 JNIEnv* env = AttachCurrentThread(); | 80 JNIEnv* env = AttachCurrentThread(); |
83 Java_SessionDependencyFactoryNative_notifyRemoteDescriptionSet( | 81 Java_SessionDependencyFactoryNative_notifyRemoteDescriptionSet( |
84 env, java_object_.obj()); | 82 env, java_object_.obj()); |
85 } | 83 } |
86 | 84 |
87 virtual void OnFailure(const std::string& description) override { | 85 void OnFailure(const std::string& description) override { |
88 JNIEnv* env = AttachCurrentThread(); | 86 JNIEnv* env = AttachCurrentThread(); |
89 Java_SessionDependencyFactoryNative_notifyConnectionFailure( | 87 Java_SessionDependencyFactoryNative_notifyConnectionFailure( |
90 env, java_object_.obj(), | 88 env, java_object_.obj(), |
91 ConvertUTF8ToJavaString(env, description).obj()); | 89 ConvertUTF8ToJavaString(env, description).obj()); |
92 } | 90 } |
93 | 91 |
94 private: | 92 private: |
95 base::android::ScopedJavaGlobalRef<jobject> java_object_; | 93 base::android::ScopedJavaGlobalRef<jobject> java_object_; |
96 bool connected_; | 94 bool connected_; |
97 }; | 95 }; |
98 | 96 |
99 class DataChannelObserverImpl : public AbstractDataChannel::Observer { | 97 class DataChannelObserverImpl : public AbstractDataChannel::Observer { |
100 public: | 98 public: |
101 DataChannelObserverImpl(JNIEnv* env, jobject java_object) { | 99 DataChannelObserverImpl(JNIEnv* env, jobject java_object) { |
102 java_object_.Reset(env, java_object); | 100 java_object_.Reset(env, java_object); |
103 } | 101 } |
104 | 102 |
105 virtual void OnOpen() override { | 103 void OnOpen() override { |
106 JNIEnv* env = AttachCurrentThread(); | 104 JNIEnv* env = AttachCurrentThread(); |
107 Java_SessionDependencyFactoryNative_notifyChannelOpen( | 105 Java_SessionDependencyFactoryNative_notifyChannelOpen( |
108 env, java_object_.obj()); | 106 env, java_object_.obj()); |
109 } | 107 } |
110 | 108 |
111 virtual void OnClose() override { | 109 void OnClose() override { |
112 JNIEnv* env = AttachCurrentThread(); | 110 JNIEnv* env = AttachCurrentThread(); |
113 Java_SessionDependencyFactoryNative_notifyChannelClose( | 111 Java_SessionDependencyFactoryNative_notifyChannelClose( |
114 env, java_object_.obj()); | 112 env, java_object_.obj()); |
115 } | 113 } |
116 | 114 |
117 virtual void OnMessage(const void* data, size_t length) override { | 115 void OnMessage(const void* data, size_t length) override { |
118 JNIEnv* env = AttachCurrentThread(); | 116 JNIEnv* env = AttachCurrentThread(); |
119 | 117 |
120 ScopedJavaLocalRef<jobject> byte_buffer( | 118 ScopedJavaLocalRef<jobject> byte_buffer( |
121 env, env->NewDirectByteBuffer(const_cast<void*>(data), length)); | 119 env, env->NewDirectByteBuffer(const_cast<void*>(data), length)); |
122 | 120 |
123 Java_SessionDependencyFactoryNative_notifyMessage( | 121 Java_SessionDependencyFactoryNative_notifyMessage( |
124 env, java_object_.obj(), byte_buffer.obj()); | 122 env, java_object_.obj(), byte_buffer.obj()); |
125 } | 123 } |
126 | 124 |
127 private: | 125 private: |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 ConvertJavaStringToUTF8(env, socket_name))); | 293 ConvertJavaStringToUTF8(env, socket_name))); |
296 } | 294 } |
297 | 295 |
298 static void DestroySocketTunnelServer( | 296 static void DestroySocketTunnelServer( |
299 JNIEnv* env, jclass jcaller, jlong tunnel_ptr) { | 297 JNIEnv* env, jclass jcaller, jlong tunnel_ptr) { |
300 delete reinterpret_cast<SocketTunnelServer*>(tunnel_ptr); | 298 delete reinterpret_cast<SocketTunnelServer*>(tunnel_ptr); |
301 } | 299 } |
302 | 300 |
303 } // namespace android | 301 } // namespace android |
304 } // namespace devtools_bridge | 302 } // namespace devtools_bridge |
OLD | NEW |