From 6383ae9c3086eb01c1106888f6189943061a95d1 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 19 Jun 2009 15:17:58 +0000 Subject: [PATCH] Added Architecture and DebuggerInterface to the TeamDebugModel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31117 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/TeamDebugModel.cpp | 7 +++++-- src/apps/debugger/TeamDebugModel.h | 14 +++++++++++++- src/apps/debugger/TeamDebugger.cpp | 19 ++++++++++--------- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/apps/debugger/TeamDebugModel.cpp b/src/apps/debugger/TeamDebugModel.cpp index 9ae4a2a034..743d3f41ee 100644 --- a/src/apps/debugger/TeamDebugModel.cpp +++ b/src/apps/debugger/TeamDebugModel.cpp @@ -13,9 +13,12 @@ // #pragma mark - TeamDebugModel -TeamDebugModel::TeamDebugModel(Team* team) +TeamDebugModel::TeamDebugModel(Team* team, DebuggerInterface* debuggerInterface, + Architecture* architecture) : - fTeam(team) + fTeam(team), + fDebuggerInterface(debuggerInterface), + fArchitecture(architecture) { } diff --git a/src/apps/debugger/TeamDebugModel.h b/src/apps/debugger/TeamDebugModel.h index dfb5f728e4..936a7f8864 100644 --- a/src/apps/debugger/TeamDebugModel.h +++ b/src/apps/debugger/TeamDebugModel.h @@ -14,13 +14,19 @@ //}; +class Architecture; +class DebuggerInterface; + + class TeamDebugModel { public: class Event; class Listener; public: - TeamDebugModel(Team* team); + TeamDebugModel(Team* team, + DebuggerInterface* debuggerInterface, + Architecture* architecture); ~TeamDebugModel(); status_t Init(); @@ -29,6 +35,10 @@ public: void Unlock() { fTeam->Unlock(); } Team* GetTeam() const { return fTeam; } + DebuggerInterface* GetDebuggerInterface() const + { return fDebuggerInterface; } + Architecture* GetArchitecture() const + { return fArchitecture; } void AddListener(Listener* listener); void RemoveListener(Listener* listener); @@ -38,6 +48,8 @@ private: private: Team* fTeam; + DebuggerInterface* fDebuggerInterface; + Architecture* fArchitecture; ListenerList fListeners; }; diff --git a/src/apps/debugger/TeamDebugger.cpp b/src/apps/debugger/TeamDebugger.cpp index 8defc9bb39..0195870e53 100644 --- a/src/apps/debugger/TeamDebugger.cpp +++ b/src/apps/debugger/TeamDebugger.cpp @@ -81,15 +81,6 @@ TeamDebugger::Init(team_id teamID, thread_id threadID, bool stopInMain) fTeam->SetName(teamInfo.args); // TODO: Set a better name! - // create the team debug model - fDebugModel = new(std::nothrow) TeamDebugModel(fTeam); - if (fDebugModel == NULL) - return B_NO_MEMORY; - - error = fDebugModel->Init(); - if (error != B_OK) - return error; - // create our worker fWorker = new(std::nothrow) Worker; if (fWorker == NULL) @@ -108,6 +99,16 @@ TeamDebugger::Init(team_id teamID, thread_id threadID, bool stopInMain) if (error != B_OK) return error; + // create the team debug model + fDebugModel = new(std::nothrow) TeamDebugModel(fTeam, fDebuggerInterface, + fDebuggerInterface->GetArchitecture()); + if (fDebugModel == NULL) + return B_NO_MEMORY; + + error = fDebugModel->Init(); + if (error != B_OK) + return error; + // set team debugging flags fDebuggerInterface->SetTeamDebuggingFlags( B_TEAM_DEBUG_THREADS | B_TEAM_DEBUG_IMAGES);