"Blob" class split for increased clarity
Issue generated from Tuleap's migration script. Originally submitted by: Macony Gautradis (teamlog8430)
The Account class is showing the first signs of becoming a monolithic "Blob" antipattern. Our solution is to split the "Blob" class into multiple separate subclasses, by issues, used to ease maintenance and upgrades of the code by separating relevant and linked methods into more descriptive subclasses. This initial work splits some functions of Account into the CodecContainer subclass.
The other modifications were made throughout the project to reflect the changes to Account. The makefile was updated to automake using our new class.
Here is a more thorough list of changes:
CHANGED FILES:
(all in daemon/)
MAJOR CHANGES:
src/account.h
src/account.cpp
description: Removed ALL codec-related functions, added CodecContainer class to
replace said functions,
added std::shared_ptr codecContainer_; and
std::shared_ptr getCodecContainer(); definitions
Removed #include "media_codec.h" because it makes no sense to have
it here anymore
src/codeccontainer.h
src/codeccontainer.cpp
description: Created these two files and moved all codec-related code in
account.h/account.cpp to these respective files, creating
the CodecContainer class
in the process
Migrated code was cleaned up a bit - references to getSystemCodecContainer()
changed to already existing member systemCodecContainer\_
MINOR CHANGES:
src/Makefile.am
description: Updated automake makefile to compile the new codeccontainer.\* files
src/client/configurationmanager.cpp
description: Updated references to codec-calling functions
src/media/video/video\_sender.cpp
description: Added \#include "media\_codec.h" that was implicitly included in account.h
but removed due to codec separation
src/sip/sipaccount.cpp
description: Updated references to codec-calling functions
src/sip/sipcall.cpp
description: Updated references to codec-calling functions
src/sip/sipvoiplink.cpp
description: Updated references to codec-calling functions
src/ringdht/ringaccount.cpp
description: Updated references to codec-calling functions
* Was only tested on Mint