blob: e478d156e179d365c9d68374c9aabfc7017fcfbc [file] [log] [blame]
// Copyright 2019 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 CAST_COMMON_CHANNEL_CAST_MESSAGE_HANDLER_H_
#define CAST_COMMON_CHANNEL_CAST_MESSAGE_HANDLER_H_
#include "cast/common/channel/proto/cast_channel.pb.h"
namespace openscreen {
namespace cast {
class CastSocket;
class VirtualConnectionRouter;
class CastMessageHandler {
public:
virtual ~CastMessageHandler() = default;
// |socket| is null if the source of the message is a local peer.
virtual void OnMessage(VirtualConnectionRouter* router,
CastSocket* socket,
::cast::channel::CastMessage message) = 0;
};
} // namespace cast
} // namespace openscreen
#endif // CAST_COMMON_CHANNEL_CAST_MESSAGE_HANDLER_H_