OpenCSD - CoreSight Trace Decode Library  1.1.1
trc_frame_deformatter.h
Go to the documentation of this file.
1 
8 /*
9  * Redistribution and use in source and binary forms, with or without modification,
10  * are permitted provided that the following conditions are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright notice,
13  * this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright notice,
16  * this list of conditions and the following disclaimer in the documentation
17  * and/or other materials provided with the distribution.
18  *
19  * 3. Neither the name of the copyright holder nor the names of its contributors
20  * may be used to endorse or promote products derived from this software without
21  * specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26  * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 #ifndef ARM_TRC_FRAME_DEFORMATTER_H_INCLUDED
35 #define ARM_TRC_FRAME_DEFORMATTER_H_INCLUDED
36 
37 #include "opencsd/ocsd_if_types.h"
38 
40 #include "comp_attach_pt_t.h"
41 
42 class ITrcRawFrameIn;
43 class ITrcDataMixIDIn;
45 class ITraceErrorLog;
46 class TraceFmtDcdImpl;
47 
53 {
54 public:
56  TraceFormatterFrameDecoder(int instNum);
58 
59  /* the data input interface from the reader */
61  const ocsd_trc_index_t index,
62  const uint32_t dataBlockSize,
63  const uint8_t *pDataBlock,
64  uint32_t *numBytesProcessed);
65 
66  /* attach a data processor to a stream ID output */
68 
69  /* attach a data processor to the raw frame output */
71 
73 
75 
76  /* configuration - set operational mode for incoming stream (has FSYNCS etc) */
77  ocsd_err_t Configure(uint32_t cfg_flags);
78  const uint32_t getConfigFlags() const;
79 
80  /* enable / disable ID streams - default as all enabled */
81  ocsd_err_t OutputFilterIDs(std::vector<uint8_t> &id_list, bool bEnable);
82  ocsd_err_t OutputFilterAllIDs(bool bEnable);
83 
84  /* decode control */
85  ocsd_datapath_resp_t Reset(); /* reset the decode to the start state, drop partial data - propogate to attached components */
86  ocsd_datapath_resp_t Flush(); /* flush existing data if possible, retain state - propogate to attached components */
87 
88 private:
89  TraceFmtDcdImpl *m_pDecoder;
90  int m_instNum;
91 };
92 
95 #endif // ARM_TRC_FRAME_DEFORMATTER_H_INCLUDED
96 
97 /* End of File trc_frame_deformatter.h */
ocsd_err_t OutputFilterIDs(std::vector< uint8_t > &id_list, bool bEnable)
enum _ocsd_datapath_op_t ocsd_datapath_op_t
componentAttachPt< ITrcDataIn > * getIDStreamAttachPt(uint8_t ID)
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
const uint32_t getConfigFlags() const
ocsd_datapath_resp_t Flush()
componentAttachPt< ITrcRawFrameIn > * getTrcRawFrameAttachPt()
Interface class to index the frame formatted trace stream.
enum _ocsd_err_t ocsd_err_t
virtual ~TraceFormatterFrameDecoder()
Interface to monitor the raw frame decode progress..
Interface to either trace data frame deformatter or packet processor.
componentAttachPt< ITraceErrorLog > * getErrLogAttachPt()
ocsd_err_t OutputFilterAllIDs(bool bEnable)
virtual ocsd_datapath_resp_t TraceDataIn(const ocsd_datapath_op_t op, const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
ocsd_datapath_resp_t Reset()
Error logging interface.This class provides a standard interface to the decoder error logger for all ...
Single component interface pointer attachment point.
uint32_t ocsd_trc_index_t
Definition: ocsd_if_types.h:67
OpenCSD : Standard Types used in the library interfaces.
ocsd_err_t Configure(uint32_t cfg_flags)
componentAttachPt< ITrcSrcIndexCreator > * getTrcSrcIndexAttachPt()
OpenCSD : Component attachment point interface class.