Untitled

 avatar
unknown
plain_text
2 years ago
3.0 kB
6
Indexable
class IMonitorDisplay {
public:
virtual ~IMonitorDisplay() = default;
virtual void display() = 0;
virtual void setValues(
std::liststd::string _hostnameUsername,
std::map<std::string, std::string> _cpuData,
std::map<std::string, std::string> _dateHours,
std::map<std::string, std::string> _ramData,
std::map<std::string, std::string> _networkData
) = 0;
virtual void setStatus(
bool _isHostnameUsernameActive = false,
bool _isCpuDataActive = false,
bool _isDateHoursActive = false,
bool _isRamDataActive = false,
bool _isNetworkDataActive = false
) = 0;
protected:
std::liststd::string _hostnameUsername;
std::map<std::string, std::string> _cpuData;
std::map<std::string, std::string> _dateHours;
std::map<std::string, std::string> _ramData;
std::map<std::string, std::string> _networkData;
bool _isHostnameUsernameActive;
bool _isCpuDataActive;
bool _isDateHoursActive;
bool _isRamDataActive;
bool _isNetworkDataActive;
};

class SFML : public IMonitorDisplay {
public:
SFML();
~SFML();
void setValues(
std::liststd::string _hostnameUsername,
std::map<std::string, std::string> _cpuData,
std::map<std::string, std::string> _dateHours,
std::map<std::string, std::string> _ramData,
std::map<std::string, std::string> _networkData
);
void setStatus(
bool _isHostnameUsernameActive = false,
bool _isCpuDataActive = false,
bool _isDateHoursActive = false,
bool _isRamDataActive = false,
bool _isNetworkDataActive = false
);
void display();
void displayHostnameUsername();
void displayCpuData();
void displayDateHours();
void displayRamData();
void displayNetworkData();

c
Copy code
private:
    std::unique_ptr<sf::RenderWindow> _window;
    sf::Font _font;
    std::list<sf::Text> _hostnameUsernameText;
    sf::Text _cpuGlobalText;
    std::list<sf::Text> _cpuCoreTexts;
    std::list<sf::Text> _dateHoursText;
    std::list<sf::Text> _ramDataText;
    std::list<sf::Text> _networkDataText;
};
class NCurses : public IMonitorDisplay {
public:
NCurses();
~NCurses();
void setValues(
std::liststd::string _hostnameUsername,
std::map<std::string, std::string> _cpuData,
std::map<




Gautier Bonhur
continue
The refactored code would look like this:

class IMonitorDisplay {
public:
virtual ~IMonitorDisplay() = default;
virtual void display() = 0;
virtual void setValues(
std::liststd::string _hostnameUsername,
std::map<std::string, std::string> _cpuData,
std::map<std::string, std::string> _dateHours,
std::map<std::string, std::string> _ramData,
std::map<std::string, std::string> _networkData
) = 0;
virtual void setStatus(
bool _isHostnameUsernameActive = false,
bool _isCpuDataActive = false,
bool _isDateHoursActive = false,
bool _isRamDataActive = false,
bool _isNetworkDataActive = false
) = 0;
};

class SFML : public IMonitorDisplay {
public:
SFML();
~SFML();
void setValues(
std::liststd::string _hostnameUsername,
std::map<std::string, std::string> _cpuData,
std::map<std::string, std::string> _dateHours,
std


Editor is loading...