Index: remoting/host/android/jni_host.h |
diff --git a/remoting/host/android/jni_host.h b/remoting/host/android/jni_host.h |
index 7705af1d5bb4e4490bea7dfca9a5826dee1034f1..fb9cdaa67db08e0b536d9cd4ce113c4942a3ef3a 100644 |
--- a/remoting/host/android/jni_host.h |
+++ b/remoting/host/android/jni_host.h |
@@ -7,22 +7,58 @@ |
#include <jni.h> |
+#include <memory> |
+ |
#include "base/android/scoped_java_ref.h" |
#include "base/macros.h" |
+#include "base/memory/ref_counted.h" |
+#include "base/memory/weak_ptr.h" |
+#include "base/message_loop/message_loop.h" |
+#include "remoting/host/it2me/it2me_host.h" |
namespace remoting { |
-class JniHost { |
+class ChromotingHostContext; |
+class It2MeHostFactory; |
+ |
+class JniHost : public It2MeHost::Observer { |
public: |
JniHost(); |
- ~JniHost(); |
+ virtual ~JniHost(); |
// Register C++ methods exposed to Java using JNI. |
static bool RegisterJni(JNIEnv* env); |
void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& caller); |
+ void Connect(JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& caller, |
+ const base::android::JavaParamRef<jstring>& user_name, |
+ const base::android::JavaParamRef<jstring>& auth_token); |
+ |
+ void Disconnect(JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& caller); |
+ |
+ // It2MeHost::Observer implementation. |
+ void OnClientAuthenticated(const std::string& client_username) override; |
+ void OnStoreAccessCode(const std::string& access_code, |
+ base::TimeDelta access_code_lifetime) override; |
+ void OnNatPolicyChanged(bool nat_traversal_enabled) override; |
+ void OnStateChanged(It2MeHostState state, |
+ const std::string& error_message) override; |
+ |
private: |
+ std::unique_ptr<base::MessageLoopForUI> ui_loop_; |
+ std::unique_ptr<ChromotingHostContext> host_context_; |
+ std::unique_ptr<It2MeHostFactory> factory_; |
+ scoped_refptr<It2MeHost> it2me_host_; |
+ |
+ // IT2Me Talk server configuration used by |it2me_host_| to connect. |
+ XmppSignalStrategy::XmppServerConfig xmpp_server_config_; |
+ |
+ base::WeakPtr<JniHost> weak_ptr_; |
+ base::WeakPtrFactory<JniHost> weak_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(JniHost); |
}; |