#ifndef COMPONENTS_CAST_STREAMING_COMMON_MESSAGE_SERIALIZATION_H_
#define COMPONENTS_CAST_STREAMING_COMMON_MESSAGE_SERIALIZATION_H_
#include <string>
#include <string_view>
namespace cast_streaming {
extern const char kMirroringNamespace[];
extern const char kRemotingNamespace[];
extern const char kSystemNamespace[];
extern const char kInjectNamespace[];
extern const char kMediaNamespace[];
extern const char kKeySenderId[];
extern const char kKeyNamespace[];
extern const char kKeyData[];
extern const char kKeyType[];
extern const char kKeyRequestId[];
extern const char kKeyCode[];
extern const char kKeyStatus[];
extern const char kValueSystemSenderId[];
extern const char kValueWrapped[];
extern const char kValueError[];
extern const char kValueMediaPlay[];
extern const char kValueMediaPause[];
extern const char kValueMediaGetStatus[];
extern const char kValueMediaStatus[];
extern const char kValueWrappedError[];
extern const char kValueInjectNotSupportedError[];
extern const char kInitialConnectMessage[];
bool DeserializeCastMessage(std::string_view buffer,
std::string* sender_id,
std::string* message_namespace,
std::string* message);
std::string SerializeCastMessage(const std::string& sender_id,
const std::string& message_namespace,
const std::string& message);
}
#endif