OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_PROTOCOL_JINGLE_SESSION_H_ | 5 #ifndef REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_ | 6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/task.h" | 9 #include "base/task.h" |
10 #include "crypto/rsa_private_key.h" | 10 #include "crypto/rsa_private_key.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 JingleSession(JingleSessionManager* jingle_session_manager, | 73 JingleSession(JingleSessionManager* jingle_session_manager, |
74 const std::string& local_cert, | 74 const std::string& local_cert, |
75 crypto::RSAPrivateKey* local_private_key, | 75 crypto::RSAPrivateKey* local_private_key, |
76 const std::string& peer_public_key); | 76 const std::string& peer_public_key); |
77 virtual ~JingleSession(); | 77 virtual ~JingleSession(); |
78 | 78 |
79 // Called by JingleSessionManager. | 79 // Called by JingleSessionManager. |
80 void set_candidate_config(const CandidateSessionConfig* candidate_config); | 80 void set_candidate_config(const CandidateSessionConfig* candidate_config); |
81 const std::string& local_certificate() const; | 81 const std::string& local_certificate() const; |
82 void Init(cricket::Session* cricket_session); | 82 void Init(cricket::Session* cricket_session); |
83 std::string GetEncryptedMasterKey() const; | |
84 | 83 |
85 // Close all the channels and terminate the session. | 84 // Close all the channels and terminate the session. |
86 void CloseInternal(int result, bool failed); | 85 void CloseInternal(int result, bool failed); |
87 | 86 |
88 bool HasSession(cricket::Session* cricket_session); | 87 bool HasSession(cricket::Session* cricket_session); |
89 cricket::Session* ReleaseSession(); | 88 cricket::Session* ReleaseSession(); |
90 | 89 |
91 // Initialize the session configuration from a received connection response | 90 // Initialize the session configuration from a received connection response |
92 // stanza. | 91 // stanza. |
93 bool InitializeConfigFromDescription( | 92 bool InitializeConfigFromDescription( |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 // has a certificate. | 138 // has a certificate. |
140 std::string local_cert_; | 139 std::string local_cert_; |
141 std::string remote_cert_; | 140 std::string remote_cert_; |
142 | 141 |
143 // Private key used in SSL server sockets. | 142 // Private key used in SSL server sockets. |
144 scoped_ptr<crypto::RSAPrivateKey> local_private_key_; | 143 scoped_ptr<crypto::RSAPrivateKey> local_private_key_; |
145 | 144 |
146 // Public key of the peer. | 145 // Public key of the peer. |
147 std::string peer_public_key_; | 146 std::string peer_public_key_; |
148 | 147 |
149 // Master key used to derive ice keys for each ice | |
150 // session. Generated on the client and sent to the host in the | |
151 // session-initiate message (encrypted with the host's key). | |
152 std::string master_key_; | |
153 | |
154 // Shared secret to use in channel authentication. This is currently only | 148 // Shared secret to use in channel authentication. This is currently only |
155 // used in IT2Me. | 149 // used in IT2Me. |
156 std::string shared_secret_; | 150 std::string shared_secret_; |
157 | 151 |
158 State state_; | 152 State state_; |
159 scoped_ptr<StateChangeCallback> state_change_callback_; | 153 scoped_ptr<StateChangeCallback> state_change_callback_; |
160 | 154 |
161 bool closed_; | 155 bool closed_; |
162 bool closing_; | 156 bool closing_; |
163 | 157 |
(...skipping 21 matching lines...) Expand all Loading... |
185 ScopedRunnableMethodFactory<JingleSession> task_factory_; | 179 ScopedRunnableMethodFactory<JingleSession> task_factory_; |
186 | 180 |
187 DISALLOW_COPY_AND_ASSIGN(JingleSession); | 181 DISALLOW_COPY_AND_ASSIGN(JingleSession); |
188 }; | 182 }; |
189 | 183 |
190 } // namespace protocol | 184 } // namespace protocol |
191 | 185 |
192 } // namespace remoting | 186 } // namespace remoting |
193 | 187 |
194 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_ | 188 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
OLD | NEW |