1/*
2 * \file       trc_cs_config.h
3 * \brief      OpenCSD : Trace component config base class.
4 *
5 * \copyright  Copyright (c) 2016, ARM Limited. All Rights Reserved.
6 */
7#ifndef ARM_TRC_CS_CONFIG_H_INCLUDED
8#define ARM_TRC_CS_CONFIG_H_INCLUDED
9
10
11/*
12 * Redistribution and use in source and binary forms, with or without modification,
13 * are permitted provided that the following conditions are met:
14 *
15 * 1. Redistributions of source code must retain the above copyright notice,
16 * this list of conditions and the following disclaimer.
17 *
18 * 2. Redistributions in binary form must reproduce the above copyright notice,
19 * this list of conditions and the following disclaimer in the documentation
20 * and/or other materials provided with the distribution.
21 *
22 * 3. Neither the name of the copyright holder nor the names of its contributors
23 * may be used to endorse or promote products derived from this software without
24 * specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
29 * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
30 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
33 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 */
37
38/** @addtogroup ocsd_protocol_cfg
39@{*/
40
41/*!
42 * @class CSConfig
43 * @brief Base class for configuration data on CoreSight trace component.
44 *
45 *  Defines common access functionality, common to all components.
46 *  (e.g. trace ID).
47 *
48 */
49class CSConfig
50{
51public:
52    CSConfig() {};
53    virtual ~CSConfig() {};
54
55    virtual const uint8_t getTraceID() const = 0; //!< CoreSight Trace ID for this device.
56};
57
58/** @}*/
59
60#endif // ARM_TRC_CS_CONFIG_H_INCLUDED
61
62/* End of File trc_cs_config.h */