blob: 743100ae7b0f49942b23dc7478265ffae5b114a3 [file] [log] [blame]
Deepak Panickal6f9c4682014-05-16 10:51:01 +00001//===-- MICmnLLDBBroadcaster.cpp --------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10//++
11// File: MICmnLLDBBroadcaster.cpp
12//
13// Overview: CMICmnLLDBBroadcaster implementation.
14//
15// Environment: Compilers: Visual C++ 12.
16// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17// Libraries: See MIReadmetxt.
18//
19// Copyright: None.
20//--
21
22// In-house headers:
23#include "MICmnLLDBBroadcaster.h"
24
25//++ ------------------------------------------------------------------------------------
26// Details: CMICmnLLDBBroadcaster constructor.
27// Type: Method.
28// Args: None.
29// Return: None.
30// Throws: None.
31//--
32CMICmnLLDBBroadcaster::CMICmnLLDBBroadcaster( void )
33: lldb::SBBroadcaster( "MI driver" )
34{
35}
36
37//++ ------------------------------------------------------------------------------------
38// Details: CMICmnLLDBBroadcaster destructor.
39// Type: Overridable.
40// Args: None.
41// Return: None.
42// Throws: None.
43//--
44CMICmnLLDBBroadcaster::~CMICmnLLDBBroadcaster( void )
45{
46 Shutdown();
47}
48
49//++ ------------------------------------------------------------------------------------
50// Details: Initialize resources for *this broardcaster object.
51// Type: Method.
52// Args: None.
53// Return: MIstatus::success - Functionality succeeded.
54// MIstatus::failure - Functionality failed.
55// Throws: None.
56//--
57bool CMICmnLLDBBroadcaster::Initialize( void )
58{
59 m_clientUsageRefCnt++;
60
61 if( m_bInitialized )
62 return MIstatus::success;
63
64 m_bInitialized = MIstatus::success;
65
66 return m_bInitialized;
67}
68
69//++ ------------------------------------------------------------------------------------
70// Details: Release resources for *this broardcaster object.
71// Type: Method.
72// Args: None.
73// Return: MIstatus::success - Functionality succeeded.
74// MIstatus::failure - Functionality failed.
75// Throws: None.
76//--
77bool CMICmnLLDBBroadcaster::Shutdown( void )
78{
79 if( --m_clientUsageRefCnt > 0 )
80 return MIstatus::success;
81
82 if( !m_bInitialized )
83 return MIstatus::success;
84
85 m_bInitialized = false;
86
87 return MIstatus::success;
88}
89