Use in-class initializer for class members 06/296606/3 accepted/tizen/unified/20230807.014708
authorSeungbae Shin <seungbae.shin@samsung.com>
Wed, 2 Aug 2023 04:40:49 +0000 (13:40 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Wed, 2 Aug 2023 07:23:04 +0000 (16:23 +0900)
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-in-class-initializer

In addition, use const keyword on function for const getters

[Version] 0.5.60
[Issue Type] Refactoring

Change-Id: I587cd5fa2865c01227ec8e56a3ae317a41bcb2ae

13 files changed:
include/CAudioIO.h
include/CAudioInfo.h
include/CAudioInput.h
include/CAudioOutput.h
include/CPulseAudioClient.h
include/CPulseStreamSpec.h
packaging/capi-media-audio-io.spec
src/cpp/CAudioIO.cpp
src/cpp/CAudioInfo.cpp
src/cpp/CAudioInput.cpp
src/cpp/CAudioOutput.cpp
src/cpp/CPulseAudioClient.cpp
src/cpp/CPulseStreamSpec.cpp

index 0e14ade..4cb769e 100644 (file)
@@ -34,12 +34,8 @@ namespace tizen_media_audio {
     class CAudioIO : public IPulseStreamListener {
     public:
         struct SStreamCallback {
-            void* mUserData;
-            void (*onStream)(size_t nbytes, void* user_data);
-
-            SStreamCallback() : mUserData(nullptr), onStream(nullptr) {
-                /* Empty Body */
-            }
+            void* mUserData {};
+            void (*onStream)(size_t nbytes, void* user_data) {};
 
             void set(void (*callback)(size_t, void*), void* userdata) {
                 onStream = callback;
@@ -53,12 +49,8 @@ namespace tizen_media_audio {
         };
 
         struct SStateChangedCallback {
-            void* mUserData;
-            void (*onStateChanged)(CAudioInfo::EAudioIOState state, CAudioInfo::EAudioIOState statePrev, bool byPolicy, void* user_data);
-
-            SStateChangedCallback() : mUserData(nullptr), onStateChanged(nullptr) {
-                /* Empty Body */
-            }
+            void* mUserData {};
+            void (*onStateChanged)(CAudioInfo::EAudioIOState state, CAudioInfo::EAudioIOState statePrev, bool byPolicy, void* user_data) {};
 
             void set(void (*callback)(CAudioInfo::EAudioIOState, CAudioInfo::EAudioIOState, bool, void*), void* userdata) {
                 onStateChanged = callback;
@@ -72,7 +64,6 @@ namespace tizen_media_audio {
         };
 
         /* Constructor & Destructor */
-        CAudioIO();
         explicit CAudioIO(CAudioInfo& audioInfo);
         virtual ~CAudioIO() = default;
 
@@ -110,22 +101,22 @@ namespace tizen_media_audio {
         virtual bool isInit();
         virtual bool IsReady();
 
-        CPulseAudioClient*    mpPulseAudioClient;
+        CPulseAudioClient*    mpPulseAudioClient {};
         CAudioInfo            mAudioInfo;
 
         SStreamCallback       mStreamCallback;
         SStateChangedCallback mStateChangedCallback;
 
-        CAudioInfo::EAudioDirection mDirection;
-        CAudioInfo::EAudioIOState mState;
-        CAudioInfo::EAudioIOState mStatePrev;
-        bool                  mByPolicy;
+        CAudioInfo::EAudioDirection mDirection { CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX };
+        CAudioInfo::EAudioIOState mState { CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE };
+        CAudioInfo::EAudioIOState mStatePrev { CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE };
+        bool                  mByPolicy {};
         std::timed_mutex      mMutex;
         std::mutex            mCondMutex;
         std::condition_variable mCond;
 
     private:
-        bool                  __mIsInit;
+        bool                  __mIsInit {};
     };
 
 
index 5ee60e1..1214bf1 100644 (file)
@@ -24,6 +24,7 @@
 #include <string>
 #include <sound_manager.h>
 #include <sound_manager_internal.h>
+#include <optional>
 
 namespace tizen_media_audio {
 
@@ -129,28 +130,27 @@ namespace tizen_media_audio {
         static constexpr auto MAX_RECORD_VOLUME = 2.0;
         static constexpr auto DEFAULT_RECORD_VOLUME = 1.0;
 
-        /* Constructors */
-        CAudioInfo();
+        /* Constructor & Destructor */
         CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex);
         virtual ~CAudioInfo() = default;
 
         /* Setter & Getter */
-        unsigned int getSampleRate() noexcept;
-        EChannel getChannel() noexcept;
-        ESampleType getSampleType() noexcept;
-        EAudioType getAudioType() noexcept;
-        int getAudioIndex() noexcept;
+        unsigned int getSampleRate() const noexcept;
+        EChannel getChannel() const noexcept;
+        ESampleType getSampleType() const noexcept;
+        EAudioType getAudioType() const noexcept;
+        int getAudioIndex() const noexcept;
         void setAudioIndex(int audioIndex) noexcept;
-        int getSampleSize() noexcept;
+        int getSampleSize() const noexcept;
 
+        /* Effect */
         void setEffectMethod(int method) noexcept;
-        std::string getEffectMethod() noexcept;
-
+        std::string getEffectMethod() const noexcept;
         void setEffectMethodWithReference(sound_effect_method_with_reference_e method, int id) noexcept;
-        std::pair<std::string, int> getEffectMethodWithReference() noexcept;
+        std::pair<std::string, int> getEffectMethodWithReference() const noexcept;
 
         /* Setter & Getter Utilities */
-        const char* getConvertedStreamType();
+        const char* getConvertedStreamType() const;
         void setAudioTypeByInputStreamType(const char* streamType);
         void setAudioTypeByOutputStreamType(const char* streamType);
 
@@ -198,16 +198,16 @@ namespace tizen_media_audio {
         EAudioType convertInputStreamTypeToAudioType(const char *streamType);
         EAudioType convertOutputStreamTypeToAudioType(const char *streamType);
 
-        unsigned int __mSampleRate;
-        EChannel     __mChannel;
-        ESampleType  __mSampleType;
-        EAudioType   __mAudioType;
-        int          __mAudioIndex;
-
-        sound_effect_method_with_reference_e    __mEffectMethodWithReference;
-        int                                     __mEffectMethodReferenceDeviceId;
-        int                                     __mEffectMethod;
+        unsigned int __mSampleRate { MAX_SYSTEM_SAMPLERATE };
+        EChannel     __mChannel { EChannel::CHANNEL_MAX };
+        ESampleType  __mSampleType { ESampleType::SAMPLE_TYPE_MAX };
+        EAudioType   __mAudioType { EAudioType::AUDIO_TYPE_MAX };
+        int          __mAudioIndex { -1 };
 
+        std::optional<sound_effect_method_with_reference_e>
+                     __mEffectMethodWithReference;
+        int          __mEffectMethodReferenceDeviceId { 0 };
+        int          __mEffectMethod { 0 };
     };
 
 
index d36608a..7d81ca5 100644 (file)
@@ -67,10 +67,10 @@ namespace tizen_media_audio {
         bool __IsInit() noexcept;
         bool __IsReady() noexcept;
 
-        bool __mIsUsedSyncRead;
-        bool __mIsInit;
+        bool __mIsUsedSyncRead { true };
+        bool __mIsInit {};
 
-        double __mVolume;
+        double __mVolume { CAudioInfo::DEFAULT_RECORD_VOLUME };
     };
 
 
index ff38579..da44f63 100644 (file)
@@ -64,11 +64,11 @@ namespace tizen_media_audio {
         void __dumpStat() noexcept;
         void __dumpStat(size_t length) noexcept;
 
-        bool __mIsUsedSyncWrite;
-        bool __mIsInit;
+        bool __mIsUsedSyncWrite {};
+        bool __mIsInit {};
 
-        uint64_t __mTotalWrittenCount;
-        uint64_t __mTotalWrittenBytes;
+        uint64_t __mTotalWrittenCount {};
+        uint64_t __mTotalWrittenBytes {};
     };
 
 
index b41acc6..631362a 100644 (file)
@@ -77,25 +77,25 @@ namespace tizen_media_audio {
 
     private:
         /* Members */
-        EStreamDirection      __mDirection;
+        EStreamDirection      __mDirection {};
         CPulseStreamSpec      __mSpec;
-        IPulseStreamListener* __mpListener;
-
-        pa_threaded_mainloop* __mpMainloop;
-        pa_context*           __mpContext;
-        pa_stream*            __mpStream;
-        pa_proplist*          __mpPropList;
-
-        bool                  __mIsInit;
-        bool                  __mIsOperationSuccess;
-
-        const void*           __mpSyncReadDataPtr;
-        size_t                __mSyncReadIndex;
-        size_t                __mSyncReadLength;
-        bool                  __mIsUsedSyncRead;
-        bool                  __mIsFirstStream;
-        bool                  __mIsDraining;
-        bool                  __mIsStarted;
+        IPulseStreamListener* __mpListener {};
+
+        pa_threaded_mainloop* __mpMainloop {};
+        pa_context*           __mpContext {};
+        pa_stream*            __mpStream {};
+        pa_proplist*          __mpPropList {};
+
+        bool                  __mIsInit {};
+        bool                  __mIsOperationSuccess {};
+
+        const void*           __mpSyncReadDataPtr {};
+        size_t                __mSyncReadIndex {};
+        size_t                __mSyncReadLength {};
+        bool                  __mIsUsedSyncRead {};
+        bool                  __mIsFirstStream {};
+        bool                  __mIsDraining {};
+        bool                  __mIsStarted {};
 
         /* Static Methods */
 
index 44ffe29..97a4536 100644 (file)
@@ -49,31 +49,28 @@ namespace tizen_media_audio {
         };
 
         /* Constructor & Destructor */
-        CPulseStreamSpec();
         CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo);
         ~CPulseStreamSpec() = default;
 
         /* Setter & Getter */
-        EStreamLatency getStreamLatency() noexcept;
-        const char*    getStreamLatencyToString() noexcept;
+        EStreamLatency getStreamLatency() const noexcept;
+        const char*    getStreamLatencyToString() const noexcept;
         CAudioInfo&    getAudioInfo() noexcept;
-        pa_sample_spec getSampleSpec() noexcept;
-        pa_channel_map getChannelMap() noexcept;
-        const char*    getStreamName() noexcept;
+        pa_sample_spec getSampleSpec() const noexcept;
+        pa_channel_map getChannelMap() const noexcept;
+        const char*    getStreamName() const noexcept;
 
     private:
         /* Private Methods */
         void __adjustSpec() noexcept;
 
         /* Members */
-        EStreamLatency __mLatency;
+        EStreamLatency __mLatency { EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT };
         CAudioInfo     __mAudioInfo;
         pa_sample_spec __mSampleSpec;
         pa_channel_map __mChannelMap;
-        const char*    __mStreamName;
+        const char*    __mStreamName {};
     };
-
-
 } /* namespace tizen_media_audio */
 
 #endif
index c6553d4..aaf63e1 100644 (file)
@@ -1,6 +1,6 @@
 Name:           capi-media-audio-io
 Summary:        An Audio Input & Audio Output library in Tizen Native API
-Version:        0.5.59
+Version:        0.5.60
 Release:        0
 Group:          Multimedia/API
 License:        Apache-2.0
index e6149ec..fac712a 100644 (file)
@@ -28,25 +28,9 @@ using namespace tizen_media_audio;
 /**
  * class CAudioIO
  */
-//LCOV_EXCL_START
-CAudioIO::CAudioIO() :
-    mpPulseAudioClient(nullptr),
-    __mIsInit(false) {
-    mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX;
-    mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
-    mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
-    mByPolicy = false;
-}
-//LCOV_EXCL_STOP
 
 CAudioIO::CAudioIO(CAudioInfo& audioInfo) :
-    mpPulseAudioClient(nullptr),
-    __mIsInit(false) {
-    mAudioInfo = audioInfo;
-    mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX;
-    mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
-    mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
-    mByPolicy = false;
+    mAudioInfo(audioInfo) {
 }
 
 void CAudioIO::setInit(bool flag) {
index 367fd4f..8a20199 100644 (file)
@@ -29,26 +29,12 @@ using namespace tizen_media_audio;
 /**
  * class CAudioInfo
  */
-CAudioInfo::CAudioInfo() :
-    __mSampleRate(MAX_SYSTEM_SAMPLERATE),
-    __mChannel(EChannel::CHANNEL_MONO),
-    __mSampleType(ESampleType::SAMPLE_TYPE_U8),
-    __mAudioType(EAudioType::AUDIO_IN_TYPE_MEDIA),
-    __mAudioIndex(-1),
-    __mEffectMethodWithReference((sound_effect_method_with_reference_e)0),
-    __mEffectMethodReferenceDeviceId(0),
-    __mEffectMethod(0) {
-}
-
 CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex) :
     __mSampleRate(sampleRate),
     __mChannel(channel),
     __mSampleType(sampleType),
     __mAudioType(audioType),
-    __mAudioIndex(audioIndex),
-    __mEffectMethodWithReference((sound_effect_method_with_reference_e)0),
-    __mEffectMethodReferenceDeviceId(0),
-    __mEffectMethod(0) {
+    __mAudioIndex(audioIndex) {
     // Check to invalid AudioInfo
     if (sampleRate < CAudioInfo::MIN_SYSTEM_SAMPLERATE ||
         sampleRate > CAudioInfo::MAX_SYSTEM_SAMPLERATE)
@@ -71,19 +57,19 @@ CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sa
                                "The audioType is invalid [audioType:%u]", to_integral(audioType));
 }
 
-unsigned int CAudioInfo::getSampleRate() noexcept {
+unsigned int CAudioInfo::getSampleRate() const noexcept {
     return __mSampleRate;
 }
 
-CAudioInfo::EChannel CAudioInfo::getChannel() noexcept {
+CAudioInfo::EChannel CAudioInfo::getChannel() const noexcept {
     return __mChannel;
 }
 
-CAudioInfo::ESampleType CAudioInfo::getSampleType() noexcept {
+CAudioInfo::ESampleType CAudioInfo::getSampleType() const noexcept {
     return __mSampleType;
 }
 
-CAudioInfo::EAudioType CAudioInfo::getAudioType() noexcept {
+CAudioInfo::EAudioType CAudioInfo::getAudioType() const noexcept {
     return __mAudioType;
 }
 
@@ -95,7 +81,7 @@ void CAudioInfo::setAudioTypeByOutputStreamType(const char* streamType) {
     __mAudioType = convertOutputStreamTypeToAudioType(streamType);
 }
 
-int CAudioInfo::getAudioIndex() noexcept {
+int CAudioInfo::getAudioIndex() const noexcept {
     return __mAudioIndex;
 }
 
@@ -103,7 +89,7 @@ void CAudioInfo::setAudioIndex(int audioIndex) noexcept {
     __mAudioIndex = audioIndex;
 }
 
-int CAudioInfo::getSampleSize() noexcept {
+int CAudioInfo::getSampleSize() const noexcept {
     int bytes_in_sample = 0;
 
     switch (__mSampleType) {
@@ -133,7 +119,7 @@ void CAudioInfo::setEffectMethod(int method) noexcept {
     __mEffectMethod = method;
 }
 
-std::string CAudioInfo::getEffectMethod() noexcept {
+std::string CAudioInfo::getEffectMethod() const noexcept {
     std::string method;
 
     if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_VOIP)
@@ -156,7 +142,7 @@ void CAudioInfo::setEffectMethodWithReference(sound_effect_method_with_reference
     __mEffectMethodReferenceDeviceId = id;
 }
 
-std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() noexcept {
+std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() const noexcept {
     std::string method;
 
     if (__mEffectMethodWithReference == SOUND_EFFECT_REFERENCE_COPY)
@@ -169,7 +155,7 @@ std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() noexcept
     return make_pair(method, __mEffectMethodReferenceDeviceId);
 }
 
-const char* CAudioInfo::getConvertedStreamType() {
+const char* CAudioInfo::getConvertedStreamType() const {
     if (__mAudioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA ||
         __mAudioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX)
         THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE,
index 661247d..201585f 100644 (file)
@@ -31,10 +31,7 @@ using namespace tizen_media_audio;
  * class CAudioInput inherited by CAudioIO
  */
 CAudioInput::CAudioInput(CAudioInfo& info) :
-    CAudioIO(info),
-    __mIsUsedSyncRead(true),
-    __mIsInit(false),
-    __mVolume(CAudioInfo::DEFAULT_RECORD_VOLUME) {
+    CAudioIO(info) {
     mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_IN;
 }
 
index ec64126..2aa032e 100644 (file)
@@ -32,11 +32,7 @@ static constexpr auto writable_timeout_s = 5s;
  */
 
 CAudioOutput::CAudioOutput(CAudioInfo& info) :
-    CAudioIO(info),
-    __mIsUsedSyncWrite(false),
-    __mIsInit(false),
-    __mTotalWrittenCount(0),
-    __mTotalWrittenBytes(0) {
+    CAudioIO(info) {
     mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_OUT;
 }
 
index c47a4ac..08221ec 100644 (file)
@@ -61,20 +61,7 @@ CPulseAudioClient::CPulseAudioClient(
         IPulseStreamListener* listener) :
     __mDirection(direction),
     __mSpec(spec),
-    __mpListener(listener),
-    __mpMainloop(nullptr),
-    __mpContext(nullptr),
-    __mpStream(nullptr),
-    __mpPropList(nullptr),
-    __mIsInit(false),
-    __mIsOperationSuccess(false),
-    __mpSyncReadDataPtr(nullptr),
-    __mSyncReadIndex(0),
-    __mSyncReadLength(0),
-    __mIsUsedSyncRead(false),
-    __mIsFirstStream(false),
-    __mIsDraining(false),
-    __mIsStarted(false) {
+    __mpListener(listener) {
 }
 
 CPulseAudioClient::~CPulseAudioClient() {
index d1a5e8b..0d295b9 100644 (file)
@@ -42,18 +42,9 @@ static const char* STREAM_LATENCY_VOIP    = "voip";
 static const char* STREAM_LATENCY_DEFAULT = "default";
 static const char* STREAM_LATENCY_DEFAULT_ASYNC = "default-async";
 
-//LCOV_EXCL_START
-CPulseStreamSpec::CPulseStreamSpec():
-    __mLatency(EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT),
-    __mStreamName(nullptr) {
-    __adjustSpec();
-}
-//LCOV_EXCL_STOP
-
 CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) :
     __mLatency(latency),
-    __mAudioInfo(audioInfo),
-    __mStreamName(nullptr) {
+    __mAudioInfo(audioInfo) {
     __adjustSpec();
 }
 
@@ -152,11 +143,11 @@ void CPulseStreamSpec::__adjustSpec() noexcept {
 //LCOV_EXCL_STOP
 }
 
-CPulseStreamSpec::EStreamLatency CPulseStreamSpec::getStreamLatency() noexcept {
+CPulseStreamSpec::EStreamLatency CPulseStreamSpec::getStreamLatency() const noexcept {
     return __mLatency;
 }
 
-const char* CPulseStreamSpec::getStreamLatencyToString() noexcept {
+const char* CPulseStreamSpec::getStreamLatencyToString() const noexcept {
     const char* latency;
 
     switch (__mLatency) {
@@ -206,14 +197,14 @@ CAudioInfo& CPulseStreamSpec::getAudioInfo() noexcept {
     return __mAudioInfo;
 }
 
-pa_sample_spec CPulseStreamSpec::getSampleSpec() noexcept {
+pa_sample_spec CPulseStreamSpec::getSampleSpec() const noexcept {
     return __mSampleSpec;
 }
 
-pa_channel_map CPulseStreamSpec::getChannelMap() noexcept {
+pa_channel_map CPulseStreamSpec::getChannelMap() const noexcept {
     return __mChannelMap;
 }
 
-const char* CPulseStreamSpec::getStreamName() noexcept {
+const char* CPulseStreamSpec::getStreamName() const noexcept {
     return __mStreamName;
 }