aboutsummaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmnLLDBBroadcaster.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBBroadcaster.cpp')
-rw-r--r--tools/lldb-mi/MICmnLLDBBroadcaster.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/tools/lldb-mi/MICmnLLDBBroadcaster.cpp b/tools/lldb-mi/MICmnLLDBBroadcaster.cpp
new file mode 100644
index 000000000000..743100ae7b0f
--- /dev/null
+++ b/tools/lldb-mi/MICmnLLDBBroadcaster.cpp
@@ -0,0 +1,89 @@
+//===-- MICmnLLDBBroadcaster.cpp --------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+//++
+// File: MICmnLLDBBroadcaster.cpp
+//
+// Overview: CMICmnLLDBBroadcaster implementation.
+//
+// Environment: Compilers: Visual C++ 12.
+// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+// Libraries: See MIReadmetxt.
+//
+// Copyright: None.
+//--
+
+// In-house headers:
+#include "MICmnLLDBBroadcaster.h"
+
+//++ ------------------------------------------------------------------------------------
+// Details: CMICmnLLDBBroadcaster constructor.
+// Type: Method.
+// Args: None.
+// Return: None.
+// Throws: None.
+//--
+CMICmnLLDBBroadcaster::CMICmnLLDBBroadcaster( void )
+: lldb::SBBroadcaster( "MI driver" )
+{
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: CMICmnLLDBBroadcaster destructor.
+// Type: Overridable.
+// Args: None.
+// Return: None.
+// Throws: None.
+//--
+CMICmnLLDBBroadcaster::~CMICmnLLDBBroadcaster( void )
+{
+ Shutdown();
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Initialize resources for *this broardcaster object.
+// Type: Method.
+// Args: None.
+// Return: MIstatus::success - Functionality succeeded.
+// MIstatus::failure - Functionality failed.
+// Throws: None.
+//--
+bool CMICmnLLDBBroadcaster::Initialize( void )
+{
+ m_clientUsageRefCnt++;
+
+ if( m_bInitialized )
+ return MIstatus::success;
+
+ m_bInitialized = MIstatus::success;
+
+ return m_bInitialized;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Release resources for *this broardcaster object.
+// Type: Method.
+// Args: None.
+// Return: MIstatus::success - Functionality succeeded.
+// MIstatus::failure - Functionality failed.
+// Throws: None.
+//--
+bool CMICmnLLDBBroadcaster::Shutdown( void )
+{
+ if( --m_clientUsageRefCnt > 0 )
+ return MIstatus::success;
+
+ if( !m_bInitialized )
+ return MIstatus::success;
+
+ m_bInitialized = false;
+
+ return MIstatus::success;
+}
+