summaryrefslogtreecommitdiffstats
path: root/remoting/host/host_extension_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/host_extension_session.h')
-rw-r--r--remoting/host/host_extension_session.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/remoting/host/host_extension_session.h b/remoting/host/host_extension_session.h
new file mode 100644
index 0000000..54b9c53
--- /dev/null
+++ b/remoting/host/host_extension_session.h
@@ -0,0 +1,33 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef REMOTING_HOST_HOST_EXTENSION_SESSION_H_
+#define REMOTING_HOST_HOST_EXTENSION_SESSION_H_
+
+namespace remoting {
+
+namespace protocol {
+class ExtensionMessage;
+} // namespace protocol
+
+class ClientSession;
+
+// Created by an |HostExtension| to store |ClientSession| specific state, and to
+// handle extension messages.
+class HostExtensionSession {
+ public:
+ virtual ~HostExtensionSession() {}
+
+ // Called when the host receives an |ExtensionMessage| for the |ClientSession|
+ // associated with this |HostExtensionSession|.
+ // It returns |true| if the message was handled, and |false| otherwise.
+ virtual bool OnExtensionMessage(
+ ClientSession* client_session,
+ const protocol::ExtensionMessage& message) = 0;
+};
+
+} // namespace remoting
+
+#endif // REMOTING_HOST_HOST_EXTENSION_SESSION_H_
+