Index: remoting/protocol/session.h |
diff --git a/remoting/protocol/session.h b/remoting/protocol/session.h |
index 865af39b3a789f594b61bf76364ecf0b46569e9e..3fef3a4abca4564ace517a182de5428df3481cc6 100644 |
--- a/remoting/protocol/session.h |
+++ b/remoting/protocol/session.h |
@@ -5,6 +5,7 @@ |
#ifndef REMOTING_PROTOCOL_SESSION_H_ |
#define REMOTING_PROTOCOL_SESSION_H_ |
+#include <memory> |
#include <string> |
#include "base/macros.h" |
@@ -15,6 +16,7 @@ |
namespace remoting { |
namespace protocol { |
+class SessionPlugin; |
class Transport; |
// Session is responsible for initializing and authenticating both incoming and |
@@ -85,6 +87,12 @@ class Session { |
// is being closed due to an error. |
virtual void Close(ErrorCode error) = 0; |
+ // Adds a SessionPlugin to handle attachments. To ensure plugin attachments |
+ // are processed correctly for session-initiate message, this function must be |
+ // called immediately after SessionManager::Connect() for outgoing connections |
+ // or in the IncomingSessionCallback handler for incoming connections. |
+ virtual void AddPlugin(SessionPlugin* plugin) = 0; |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(Session); |
}; |