/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Copyright 2016, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #ifndef DEBUGGER_SETTINGS_MANAGER_H #define DEBUGGER_SETTINGS_MANAGER_H #include "SettingsManager.h" #include #include #include class TeamUiSettingsFactory; class DebuggerSettingsManager : public SettingsManager { public: DebuggerSettingsManager(); ~DebuggerSettingsManager(); status_t Init(TeamUiSettingsFactory* factory); virtual status_t LoadTeamSettings(const char* teamName, TeamSettings& settings); virtual status_t SaveTeamSettings(const TeamSettings& settings); private: typedef BObjectList TeamSettingsList; private: void _Unset(); status_t _LoadSettings(); status_t _SaveSettings(); int32 _TeamSettingsIndex(const char* teamName) const; private: BLocker fLock; BPath fSettingsPath; TeamSettingsList fRecentTeamSettings; // oldest is first TeamUiSettingsFactory* fUiSettingsFactory; }; #endif // DEBUGGER_SETTINGS_MANAGER_H