RDK Documentation (Open Sourced RDK Components)
MessageDecoder.hpp
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 /**
22  * @defgroup hdmicec
23  * @{
24  * @defgroup ccec
25  * @{
26  **/
27 
28 
29 #ifndef HDMI_CCEC_MESSAGE_DECODER_HPP_
30 #define HDMI_CCEC_MESSAGE_DECODER_HPP_
31 
32 #include "CCEC.hpp"
33 
34 CCEC_BEGIN_NAMESPACE
35 
36 class MessageProcessor;
37 class CECFrame;
38 
39 /**
40  * @brief When receiving the message, the raw bytes arrived in a CECFrame are converted to the
41  * corresponding High-level message by MessageDecoder and then dispatched for processing via class
42  * MessageProcessor or its extensions.
43  * @ingroup HDMI_CEC_MSG_N_FRAME_CLASSES
44  */
46 {
47 public:
48  MessageDecoder(MessageProcessor & processor) : processor(processor){};
49  void decode(const CECFrame &in);
50 
51 private:
52  MessageProcessor &processor;
53 };
54 
55 CCEC_END_NAMESPACE
56 #endif
57 
58 
59 /** @} */
60 /** @} */
MessageProcessor
The MessageProcessor class implements a set of overloaded process() methods, with each handling a spe...
Definition: MessageProcessor.hpp:58
MessageDecoder
When receiving the message, the raw bytes arrived in a CECFrame are converted to the corresponding Hi...
Definition: MessageDecoder.hpp:45
CECFrame
Definition: CECFrame.hpp:40