Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: remoting/client/jni/chromoting_jni.h

Issue 19297003: Add support for drawing video onto a Java ByteBuffer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef REMOTING_CLIENT_JNI_CHROMOTING_JNI_H_ 5 #ifndef REMOTING_CLIENT_JNI_CHROMOTING_JNI_H_
6 #define REMOTING_CLIENT_JNI_CHROMOTING_JNI_H_ 6 #define REMOTING_CLIENT_JNI_CHROMOTING_JNI_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 9
10 #include "base/at_exit.h" 10 #include "base/at_exit.h"
11 #include "net/url_request/url_request_context_getter.h" 11 #include "net/url_request/url_request_context_getter.h"
12 #include "remoting/base/auto_thread.h" 12 #include "remoting/base/auto_thread.h"
13 #include "remoting/client/jni/chromoting_jni_instance.h"
13 #include "remoting/protocol/connection_to_host.h" 14 #include "remoting/protocol/connection_to_host.h"
14 15
15 template<typename T> struct DefaultSingletonTraits; 16 template<typename T> struct DefaultSingletonTraits;
16 17
17 namespace remoting { 18 namespace remoting {
18 class ChromotingJniInstance;
19 19
20 // Class and package name of the Java class supporting the methods we call. 20 // Class and package name of the Java class supporting the methods we call.
21 const char* const JAVA_CLASS = "org/chromium/chromoting/jni/JNIInterface"; 21 const char* const JAVA_CLASS = "org/chromium/chromoting/jni/JNIInterface";
22 22
23 // Houses the global resources on which the Chromoting components run 23 // Houses the global resources on which the Chromoting components run
24 // (e.g. message loops and task runners). Proxies outgoing JNI calls from its 24 // (e.g. message loops and task runners). Proxies outgoing JNI calls from its
25 // ChromotingJniInstance member to Java. All its methods should be invoked 25 // ChromotingJniInstance member to Java. All its methods should be invoked
26 // exclusively from the UI thread. 26 // exclusively from the UI thread unless otherwise noted.
27 class ChromotingJni { 27 class ChromotingJni {
28 public: 28 public:
29 // This class is instantiated at process initialization and persists until 29 // This class is instantiated at process initialization and persists until
30 // we close. Its components are reused across |ChromotingJniInstance|s. 30 // we close. Its components are reused across |ChromotingJniInstance|s.
31 static ChromotingJni* GetInstance(); 31 static ChromotingJni* GetInstance();
32 32
33 scoped_refptr<AutoThreadTaskRunner> ui_task_runner() { 33 scoped_refptr<AutoThreadTaskRunner> ui_task_runner() {
34 return ui_task_runner_; 34 return ui_task_runner_;
35 } 35 }
36 36
(...skipping 29 matching lines...) Expand all
66 return session_; 66 return session_;
67 } 67 }
68 68
69 // Notifies the user that the connection status has changed. 69 // Notifies the user that the connection status has changed.
70 void ReportConnectionStatus(protocol::ConnectionToHost::State state, 70 void ReportConnectionStatus(protocol::ConnectionToHost::State state,
71 protocol::ErrorCode error); 71 protocol::ErrorCode error);
72 72
73 // Pops up a dialog box asking the user to enter a PIN. 73 // Pops up a dialog box asking the user to enter a PIN.
74 void DisplayAuthenticationPrompt(); 74 void DisplayAuthenticationPrompt();
75 75
76 // Updates image dimensions and canvas memory space. Call on display thread.
77 void UpdateImageBuffer(int width, int height, jobject buffer);
78
79 // Draws the latest image buffer onto the canvas. Call on the display thread.
80 void RedrawCanvas();
81
76 private: 82 private:
77 ChromotingJni(); 83 ChromotingJni();
78 84
79 // Forces a DisconnectFromHost() in case there is any active or failed 85 // Forces a DisconnectFromHost() in case there is any active or failed
80 // connection, then proceeds to tear down the Chromium dependencies on which 86 // connection, then proceeds to tear down the Chromium dependencies on which
81 // all sessions depended. Because destruction only occurs at application exit 87 // all sessions depended. Because destruction only occurs at application exit
82 // after all connections have terminated, it is safe to make unretained 88 // after all connections have terminated, it is safe to make unretained
83 // cross-thread calls on the class. 89 // cross-thread calls on the class.
84 virtual ~ChromotingJni(); 90 virtual ~ChromotingJni();
85 91
(...skipping 18 matching lines...) Expand all
104 scoped_refptr<ChromotingJniInstance> session_; 110 scoped_refptr<ChromotingJniInstance> session_;
105 111
106 friend struct DefaultSingletonTraits<ChromotingJni>; 112 friend struct DefaultSingletonTraits<ChromotingJni>;
107 113
108 DISALLOW_COPY_AND_ASSIGN(ChromotingJni); 114 DISALLOW_COPY_AND_ASSIGN(ChromotingJni);
109 }; 115 };
110 116
111 } // namespace remoting 117 } // namespace remoting
112 118
113 #endif 119 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698