From a8d27a8664c3a0ee9e5f394f27243510efe8423a Mon Sep 17 00:00:00 2001
From: Armin Felder <armin.felder@osalliance.com>
Date: Sun, 2 Dec 2018 16:29:32 +0100
Subject: [PATCH] c++ 17

---
 engine.pro                            |  2 +-
 fileuploader.cpp                      |  9 +++--
 repos/messagerepository.cpp           |  1 -
 rocketchatserver.cpp                  | 47 ---------------------------
 services/emojiservice.cpp             |  8 ++---
 services/fileservice.cpp              |  3 --
 services/messageservice.cpp           | 18 ----------
 services/rocketchatchannelservice.cpp | 35 ++++----------------
 8 files changed, 14 insertions(+), 109 deletions(-)

diff --git a/engine.pro b/engine.pro
index 2b4c1cf..b563bac 100644
--- a/engine.pro
+++ b/engine.pro
@@ -1,6 +1,6 @@
 TEMPLATE = lib 
 QT += core network websockets sql concurrent
-CONFIG += c++11 static
+CONFIG += c++17 static
 INCLUDEPATH += websocket\
                websocket/linuxwebsocket
 
diff --git a/fileuploader.cpp b/fileuploader.cpp
index 6d6ab95..8f59621 100755
--- a/fileuploader.cpp
+++ b/fileuploader.cpp
@@ -27,7 +27,7 @@ FileUploader::FileUploader( QObject *parent, RocketChatServerData *pServer, cons
     this->mServer = pServer;
     this->mUri = pUri;
     this->mChannelId = pChannelId;
-    QSharedPointer<QFile> file( new QFile( pUri.path() ) );
+    auto file = QSharedPointer<QFile>::create( pUri.path() );
 
     if ( file->isOpen() ) {
         file->close();
@@ -132,8 +132,7 @@ void FileUploader::onUfsCreated( const QJsonObject &pResponse )
                 QByteArray chunk = mDump.mid( pos, sizeInArray );
                 double progress = ( 1.0 / chunkNum ) * ( i + 1 );
                 QString completePath =  url + "&progress=" + QString::number( progress );
-                QSharedPointer<RestFileUploadRequest> partial
-                    = QSharedPointer<RestFileUploadRequest>( new RestFileUploadRequest( completePath, mToken, chunk ) );
+                auto partial = QSharedPointer<RestFileUploadRequest>::create( completePath, mToken, chunk );
                 partial->setProgress( progress );
                 qDebug() << "creating partial " << chunkNum << ":" << progress << "size:" << chunk.size();;
                 partial->setSuccess( nextOne );
@@ -181,11 +180,11 @@ void FileUploader::onUploadCompleted( const QJsonObject &pResponse )
                 qDebug() << "send file message response";
                 mCleanUp();
             };
-            QSharedPointer<DDPMethodRequest> request3( new DDPMethodRequest( "sendFileMessage", params2, success3 ) );
+            auto request3 = QSharedPointer<DDPMethodRequest>::create( "sendFileMessage", params2, success3 );
             mServer->sendDdprequest( request3, true );
         }
     };
-    QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( "ufsComplete", params, success2 ) );
+    auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "ufsComplete" ), params, success2 );
     mServer->sendDdprequest( request, true );
     qDebug() << "file upload ready";
 }
diff --git a/repos/messagerepository.cpp b/repos/messagerepository.cpp
index 5ade0fb..d571af3 100755
--- a/repos/messagerepository.cpp
+++ b/repos/messagerepository.cpp
@@ -76,7 +76,6 @@ QVector<QSharedPointer<RocketChatMessage> > MessageRepository::messagesAsObjects
 
     for ( const auto &message : mTimestampIndex.values() ) {
         if ( !message.isNull() ) {
-            //QSharedPointer<RocketChatMessage> sortable( new RocketChatMessage( *message.data() ) );
             auto sortable = QSharedPointer<RocketChatMessage>::create( *message.data() );
             list.append( sortable );
         }
diff --git a/rocketchatserver.cpp b/rocketchatserver.cpp
index ad33994..8be9a0a 100755
--- a/rocketchatserver.cpp
+++ b/rocketchatserver.cpp
@@ -266,7 +266,6 @@ void RocketChatServerData::switchChannelByName( const QString &pName, const QStr
                 }
             };
             auto request = QSharedPointer<RocketChatGetRoomByNameAndType>::create( pName, pType );
-            // QSharedPointer<RocketChatGetRoomByNameAndType> request(  pName, pType  );
             request->setSuccess( success );
             sendDdprequest( request );
             //searchForRoomIdByName( pName );
@@ -329,7 +328,6 @@ void RocketChatServerData::setUserPresenceDefaultStatus( int pStatus )
 {
     if ( pStatus >= 0 && pStatus < 5 && isWebsocketValid() && diffToLastDDPPing() < 29 ) {
 
-        //QSharedPointer<DDPMethodRequest> request( new RocketChatChangeUserPresenceDefaultStatus( static_cast<RocketChatUser::status>( pStatus ) ) );
         auto request = QSharedPointer<RocketChatChangeUserPresenceDefaultStatus>::create( static_cast<RocketChatUser::status>( pStatus ) );
         sendDdprequest( request, true );
     }
@@ -339,7 +337,6 @@ void RocketChatServerData::setUserPresenceStatus( int pStatus )
 {
     if ( pStatus >= 0 && pStatus < 5 && isWebsocketValid() && diffToLastDDPPing() < 29 ) {
 
-        // QSharedPointer<DDPMethodRequest> request( new RocketChatChangeUserPresenceStatus( static_cast<RocketChatUser::status>( pStatus ) ) );
         auto request = QSharedPointer<RocketChatChangeUserPresenceStatus>::create( static_cast<RocketChatUser::status>( pStatus ) );
         sendDdprequest( request, true );
     }
@@ -361,7 +358,6 @@ void RocketChatServerData::createVideoCall( const QString &pRid )
 {
     if ( !pRid.isEmpty() ) {
 
-        //  QSharedPointer<DDPMethodRequest> request( new RocketChatUpdateJitsiTimeout( pRid ) );
         auto request = QSharedPointer<RocketChatUpdateJitsiTimeout>::create( pRid );
         sendDdprequest( request );
         joinJitsiCall( pRid );
@@ -371,7 +367,6 @@ void RocketChatServerData::createVideoCall( const QString &pRid )
 //TODO: rename, as method is not really for searching only
 void RocketChatServerData::searchForRoomIdByName( const QString &pName )
 {
-    // QSharedPointer<RestSpotlightRequest> request( new RestSpotlightRequest( pName ) );
     auto request = QSharedPointer<RestSpotlightRequest>::create( pName );
     std::function<void ( QNetworkReply *, QJsonObject data, RestApi * )> success = [ = ]( QNetworkReply *, QJsonObject data, RestApi * ) {
 
@@ -428,8 +423,6 @@ void RocketChatServerData::blockUser( const QString &pChannelId )
         QString possibleRoom1 = userId + mUserId;
         QString possibleRoom2 = mUserId + userId;
 
-        // QSharedPointer<RocketChatBlockUserRequest> blockRequest1( new RocketChatBlockUserRequest( possibleRoom1, userId ) );
-        // QSharedPointer<RocketChatBlockUserRequest> blockRequest2( new RocketChatBlockUserRequest( possibleRoom2, userId ) );
         auto blockRequest1 = QSharedPointer<RocketChatBlockUserRequest>::create( possibleRoom1, userId );
         auto blockRequest2 = QSharedPointer<RocketChatBlockUserRequest>::create( possibleRoom2, userId );
 
@@ -438,7 +431,6 @@ void RocketChatServerData::blockUser( const QString &pChannelId )
 
 
     } else {
-        //  QSharedPointer<RocketChatBlockUserRequest> blockRequest( new RocketChatBlockUserRequest( pChannelId, userId ) );
         auto blockRequest = QSharedPointer<RocketChatBlockUserRequest>::create( pChannelId, userId );
         sendDdprequest( blockRequest );
     }
@@ -452,14 +444,11 @@ void RocketChatServerData::unBlockUser( const QString &pChannelId )
     if ( userId == pChannelId ) {
         QString possibleRoom1 = userId + mUserId;
         QString possibleRoom2 = mUserId + userId;
-        //QSharedPointer<RocketChatUnblockUserRequest> unBlockRequest1( new RocketChatUnblockUserRequest( possibleRoom1, userId ) );
-        //QSharedPointer<RocketChatUnblockUserRequest> unBlockRequest2( new RocketChatUnblockUserRequest( possibleRoom2, userId ) );
         auto unBlockRequest1 = QSharedPointer<RocketChatUnblockUserRequest>::create( possibleRoom1, userId );
         auto unBlockRequest2 = QSharedPointer<RocketChatUnblockUserRequest>::create( possibleRoom2, userId );
         sendDdprequest( unBlockRequest1 );
         sendDdprequest( unBlockRequest2 );
     } else {
-        // QSharedPointer<RocketChatUnblockUserRequest> unBlockRequest( new RocketChatUnblockUserRequest( pChannelId, userId ) );
         auto unBlockRequest = QSharedPointer<RocketChatUnblockUserRequest>::create( pChannelId, userId );
         sendDdprequest( unBlockRequest );
     }
@@ -506,7 +495,6 @@ void RocketChatServerData::loadHistories()
         }
     }
 
-    //QSharedPointer<LoadHistoryServiceRequest> request( new LoadHistoryServiceRequest( channelIds, 1 ) );
     auto request = QSharedPointer<LoadHistoryServiceRequest>::create( channelIds, 1 );
 
     request->setLimit( 1 );
@@ -521,7 +509,6 @@ void RocketChatServerData::loadHistoryTill( const QString &pChannelId, qint64 pT
     std::function<void ( QMultiMap<QString, QSharedPointer<RocketChatMessage>> *messages )> success = [ = ]( QMultiMap<QString, QSharedPointer<RocketChatMessage>> *messages ) {
         historyLoaded( messages );
     };
-    //QSharedPointer<LoadHistoryServiceRequest> request( new LoadHistoryServiceRequest( pChannelId ) );
     auto request = QSharedPointer<LoadHistoryServiceRequest>::create( pChannelId );
     request->setEnd( pTs );
     request->setLimit( 0 );
@@ -582,7 +569,6 @@ void RocketChatServerData::setEmojiRepo( EmojiRepo *emojiRepo )
 
 void RocketChatServerData::createAccount( const QString &username, const QString &email, const QString &password )
 {
-    // QSharedPointer<RocketChatCreateAccount> request( new RocketChatCreateAccount( username, email, password ) );
     auto request = QSharedPointer<RocketChatCreateAccount>::create( username, email, password );
     sendDdprequest( request );
 }
@@ -655,7 +641,6 @@ void RocketChatServerData::loginWithHash( const QString &pUsername, const QStrin
 
     auto self = this;
 
-    // QSharedPointer<DDPLoginRequest> request( new DDPLoginRequest( pUsername, pPswHash ) );
     auto request = QSharedPointer<DDPLoginRequest>::create( pUsername, pPswHash );
 
     DdpCallback success = [ self, pUsername, pPswHash, request ]( QJsonObject pResponse, MeteorDDP * ) {
@@ -718,7 +703,6 @@ void RocketChatServerData::loginWithToken( const QString &pUsername, const QStri
 
         };
 
-        //  QSharedPointer<DDPLoginRequest> request( new DDPLoginRequest( pToken ) );
         auto request = QSharedPointer<DDPLoginRequest>::create( pToken );
         DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * ) {
             qDebug() << "authenticated";
@@ -798,7 +782,6 @@ void RocketChatServerData::loginWtihSamlToken( const QString &pToken )
             
         };
         
-        // QSharedPointer<ddpSamlLoginRequest> request( new ddpSamlLoginRequest( pToken ) );
         auto request = QSharedPointer<ddpSamlLoginRequest>::create( pToken );
         DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * ) {
             qDebug() << "authenticated";
@@ -869,7 +852,6 @@ void RocketChatServerData::loginWithOpenIDToken( const QString &pToken, const QS
 
         };
 
-        //  QSharedPointer<DDPOpenIDLoginRequest> request( new DDPOpenIDLoginRequest( pToken, pSecret ) );
         auto request = QSharedPointer<DDPOpenIDLoginRequest>::create( pToken, pSecret );
         DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * ) {
             qDebug() << "authenticated";
@@ -947,7 +929,6 @@ void RocketChatServerData::loginWithMethod( const QString &method, const QString
 
 void RocketChatServerData::onDDPConnected()
 {
-    //QSharedPointer<PingRequest> request( new PingRequest() );
     auto request = QSharedPointer<PingRequest>::create();
     mDdpApi->sendRequest( request );
 
@@ -1104,7 +1085,6 @@ void RocketChatServerData::getFileRessource( const QString &pUrl, const QString
     auto then = [ = ]( QSharedPointer<TempFile> tempfile, bool showInline ) {
         emit( fileRessourceProcessed( pUrl, tempfile->getFilePath(), showInline ) );
     };
-    // QSharedPointer< FileRequest > request( new FileRequest( pUrl, pType, then, showInline ) );
     auto request = QSharedPointer<FileRequest>::create( pUrl, pType, then, showInline );
     mFileService->getFileRessource( request );
 
@@ -1114,7 +1094,6 @@ void RocketChatServerData::sendPushToken( const QString &pToken )
 {
     if ( !mUserId.isEmpty() && !pToken.isEmpty() ) {
         qDebug() << "send push token " + pToken;
-        //QSharedPointer<DDPRequest> sendToken = QSharedPointer<DDPRequest>( new RocketChatUpdatePushTokenRequest( pToken, mUserId ) );
         auto sendToken = QSharedPointer<RocketChatUpdatePushTokenRequest>::create( pToken, mUserId );
         sendDdprequest( sendToken );
 
@@ -1127,8 +1106,6 @@ void RocketChatServerData::sendUnsentMessages()
 
     if ( mConnectionState == ConnectionState::ONLINE
        ) {
-        // mUnsentMutex.lock();
-
         for ( const auto &request : mUnsendDdpRequests ) {
             if ( !request.isNull() ) {
                 sendDdprequest( request );
@@ -1145,11 +1122,8 @@ void RocketChatServerData::sendUnsentMessages()
         }
 
         mUnsendRestRequests.clear();
-        // mUnsentMutex.unlock();
         qDebug() << "all messages send";
     } else if ( mConnectionState == ConnectionState::CONNECTED ) {
-        // mUnsentMutex.lock();
-
         for ( const auto &request : mUnsendDdpRequestsOnConnected ) {
             if ( !request.isNull() ) {
                 sendDdprequest( request, true, true );
@@ -1158,8 +1132,6 @@ void RocketChatServerData::sendUnsentMessages()
 
         mUnsendDdpRequestsOnConnected.clear();
         qDebug() << "send unsend rest messages";
-
-        //  mUnsentMutex.unlock();
     }
 }
 
@@ -1246,7 +1218,6 @@ void RocketChatServerData::onDDPMessageReceived( const QJsonObject &pMessage )
                     user->setStatus( RocketChatUser::status::OFFLINE );
                 }
             } else {
-                // auto newUser = QSharedPointer<RocketChatUser>( new RocketChatUser( userId ) );
                 auto newUser = QSharedPointer<RocketChatUser>::create( userId );
 
                 if ( pMessage.contains( "fields" ) ) {
@@ -1495,7 +1466,6 @@ void RocketChatServerData::setUsername( const QString &pUsername )
 void RocketChatServerData::getServerSettings()
 {
     QJsonArray params = {};
-    //QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( QStringLiteral( "public-settings/get" ), params ) );
     auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "public-settings/get" ), params );
 
     DdpCallback sucess = [ = ]( QJsonObject data, MeteorDDP * ddpApi ) {
@@ -1547,7 +1517,6 @@ void RocketChatServerData::onLoggedIn()
 void RocketChatServerData::markChannelAsRead( const QString &pChannelId )
 {
     if ( Q_LIKELY( mChannels->contains( pChannelId ) ) ) {
-        //QSharedPointer<DDPRequest> markAsRead( new RocketChatMarkChannelAsReadRequest( pChannelId ) );
         auto markAsRead = QSharedPointer<RocketChatMarkChannelAsReadRequest>::create( pChannelId );
         sendDdprequest( markAsRead );
     }
@@ -1562,7 +1531,6 @@ void RocketChatServerData::joinChannel( const QString &pChannelId, bool pForce )
         setUnreadMessages( pChannelId, 0 );
         markChannelAsRead( pChannelId );
         setCurrentChannel( pChannelId );
-        // QSharedPointer<LoadHistoryServiceRequest> serviceRequest( new LoadHistoryServiceRequest( pChannelId ) );
         auto serviceRequest = QSharedPointer<LoadHistoryServiceRequest>::create( pChannelId );
         serviceRequest->setSuccess( historyLoaded );
         serviceRequest->setLimit( 300 );
@@ -1618,7 +1586,6 @@ void RocketChatServerData::joinChannelByNameAndType( const QString &pChannelName
     if ( pType == "d" ) {
         mChannelService->openPrivateChannelWith( pChannelName );
     } else {
-        //QSharedPointer<RocketChatGetRoomByNameAndType> request( new RocketChatGetRoomByNameAndType( pChannelName, pType ) );
         auto request = QSharedPointer<RocketChatGetRoomByNameAndType>::create( pChannelName, pType );
         request->setSuccess( success );
         sendDdprequest( request );
@@ -1659,7 +1626,6 @@ void RocketChatServerData::loadRecentHistory( const QString &pChannelId )
         }
 
         double start = end - ( 86400 * 3 * 1000 );
-        //QSharedPointer<LoadHistoryServiceRequest> request( new LoadHistoryServiceRequest( pChannelId ) );
         auto request = QSharedPointer<LoadHistoryServiceRequest>::create( pChannelId );
         request->setNoLastThreeDays( true );
         request->setStart( start );
@@ -1684,7 +1650,6 @@ void RocketChatServerData::loadRecentHistory( const QString &pChannelId )
 
 void RocketChatServerData::sendMessage( const QString &pMessage, const QString &pChannelId )
 {
-    //ChatMessage message( new RocketChatMessage( pChannelId, pMessage ) );
     auto message = QSharedPointer< RocketChatMessage>::create( pChannelId, pMessage );
     mMessageService->sendMessage( message );
 }
@@ -1726,17 +1691,11 @@ void RocketChatServerData::getCustomEmojis()
             mCustomEmojisReady = true;
         }
     };
-    //QSharedPointer<RocketChatSubscribeRoomsChanged> notifyRoomsChanged( new RocketChatSubscribeRoomsChanged( this->mUserId ) );
     auto notifyRoomsChanged = QSharedPointer<RocketChatSubscribeRoomsChanged>::create( this->mUserId );
-    // QSharedPointer<RocketChatSubscribeUserNotify> notifySubSubscription( new RocketChatSubscribeUserNotify( this->mUserId ) );
     auto notifySubSubscription = QSharedPointer<RocketChatSubscribeUserNotify>::create( this->mUserId );
-    // QSharedPointer<RocketChatNotifyNoticesRequest> notifyNoticeSubSubscription( new RocketChatNotifyNoticesRequest( this->mUserId ) );
     auto notifyNoticeSubSubscription = QSharedPointer<RocketChatNotifyNoticesRequest>::create( this->mUserId );
-    // QSharedPointer<RocketChatSubScriptionChangedRequest> noitfySubscriptionsSubscription( new RocketChatSubScriptionChangedRequest( this->mUserId ) );
     auto noitfySubscriptionsSubscription = QSharedPointer<RocketChatSubScriptionChangedRequest>::create( this->mUserId );
-    //QSharedPointer<RocketChatSubscribeActiveUsers> activeUsersSubscription( new RocketChatSubscribeActiveUsers() );
     auto activeUsersSubscription = QSharedPointer<RocketChatSubscribeActiveUsers>::create();
-    //  QSharedPointer<RocketChatSubscribeUserData> userData( new RocketChatSubscribeUserData() );
     auto userData = QSharedPointer<RocketChatSubscribeUserData>::create();
     sendDdprequest( notifySubSubscription, true );
     sendDdprequest( notifyNoticeSubSubscription, true );
@@ -1835,7 +1794,6 @@ void RocketChatServerData::getLoginMethods()
         Q_UNUSED( pDdpApi );
         qDebug() << "loginMethods Recieved";
     };
-    // QSharedPointer<RocketChatSubscribeLoginMethods> loginMethodsSubscription( new RocketChatSubscribeLoginMethods() );
     auto loginMethodsSubscription = QSharedPointer<RocketChatSubscribeLoginMethods>::create();
     loginMethodsSubscription->setSuccess( success );
     // sendDdprequest( loginMethodsSubscription );
@@ -1862,7 +1820,6 @@ void RocketChatServerData::getServerInfo()
             }
         }
     };
-    //  QSharedPointer<GetServerInfoRequest> serverInfoRequest( new GetServerInfoRequest( success, nullptr ) );
     auto serverInfoRequest = QSharedPointer<GetServerInfoRequest>::create( success, nullptr );
     mRestApi->sendRequest( serverInfoRequest );
 }
@@ -1922,7 +1879,6 @@ void RocketChatServerData::resume( void )
 void RocketChatServerData::logout()
 {
     qDebug() << "logged out";
-    //  RestApiRequest logoutRequest = QSharedPointer<RestRequest>( new RestLogoutRequest );
     auto logoutRequest = QSharedPointer<RestLogoutRequest>::create();
     mResumeOperation = false;
     emit resetLoginMethods();
@@ -1959,7 +1915,6 @@ void RocketChatServerData::createPublicGroup( const QString &pChannelName, const
             }
         }
     };
-    //  QSharedPointer<RocketChatCreatePublicGroupRequest> request( new RocketChatCreatePublicGroupRequest( pChannelName, pUsers, pReadonly ) );
     auto request = QSharedPointer<RocketChatCreatePublicGroupRequest>::create( pChannelName, pUsers, pReadonly );
     sendDdprequest( request );
 }
@@ -1980,7 +1935,6 @@ void RocketChatServerData::createPrivateGroup( const QString &pChannelName, cons
             }
         }
     };
-    // QSharedPointer<RocketChatCreatePrivateGroupRequest> request( new RocketChatCreatePrivateGroupRequest( pChannelName, pUsers, pReadonly ) );
     auto request = QSharedPointer<RocketChatCreatePrivateGroupRequest>::create( pChannelName, pUsers, pReadonly );
     request->setSuccess( success );
     sendDdprequest( request );
@@ -1997,7 +1951,6 @@ void RocketChatServerData::addUsersToChannel( const QString &pChannelId, const Q
 
         if ( Q_LIKELY( !user.isEmpty() ) ) {
             QStringList usernames( user );
-            //QSharedPointer<RocketChatAddUsersToChannel > request( new RocketChatAddUsersToChannel( pChannelId, usernames ) );
             auto request = QSharedPointer<RocketChatAddUsersToChannel >::create( pChannelId, usernames );
             request->setSuccess( success );
             sendDdprequest( request );
diff --git a/services/emojiservice.cpp b/services/emojiservice.cpp
index 08b615c..9654f9e 100755
--- a/services/emojiservice.cpp
+++ b/services/emojiservice.cpp
@@ -50,7 +50,6 @@ void EmojiService::loadCustomEmojis( const std::function<void ( QList<QSharedPoi
         data->success = pSuccess;
         handleCustomEmojisReceived( data );
     };
-    // QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( QStringLiteral( "listEmojiCustom" ), params, success ) );
     auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "listEmojiCustom" ), params, success );
     server->sendDdprequest( request );
 }
@@ -87,8 +86,8 @@ void EmojiService::handleCustomEmojisReceived( EmojiData *data )
         if ( jsonArray.size() == 0 ) {
             data->success( mParsedCustomEmojisTemp );
         } else {
-            for ( const auto &currentEmoji : jsonArray ) {
-                if ( !currentEmoji.isNull() ) {
+            for ( const auto currentEmoji : jsonArray ) {
+                if ( currentEmoji.isObject() ) {
                     auto parsedEmoji = parseEmoji( currentEmoji.toObject() );
 
                     if ( !parsedEmoji.isNull() ) {
@@ -111,7 +110,6 @@ void EmojiService::handleCustomEmojisReceived( EmojiData *data )
                                 data->success( mParsedCustomEmojisTemp );
                             }
                         };
-                        //  QSharedPointer<FileRequest> fileRequest( new FileRequest( url, QStringLiteral( "emoji" ), then, true ) );
                         auto fileRequest = QSharedPointer<FileRequest>::create( url, QStringLiteral( "emoji" ), then, true );
                         mFileService->getFileRessource( fileRequest );
                     }
@@ -143,7 +141,6 @@ QSharedPointer<Emoji> EmojiService::parseEmoji( const QHash<QString, QString> &p
     QString unicode = pEmojiData[QStringLiteral( "unicode" )];
     int order = pEmojiData[QStringLiteral( "sort_order" )].toInt();
 
-    //QSharedPointer<Emoji> emoji( new Emoji( std::move( name ), std::move( catgeory ), std::move( filePath ), std::move( html ), std::move( unicode ), order ) );
     auto emoji = QSharedPointer<Emoji>::create( std::move( name ), std::move( catgeory ), std::move( filePath ), std::move( html ), std::move( unicode ), order );
     return emoji;
 }
@@ -154,7 +151,6 @@ QSharedPointer<Emoji> EmojiService::parseEmoji( const QJsonObject &pEmojiData )
     QString extension = pEmojiData[QStringLiteral( "extension" )].toString();
     QString category = pEmojiData[QStringLiteral( "category" )].toString();
 
-    //QSharedPointer<Emoji> emoji( new Emoji( std::move( name ),  std::move( extension ),  std::move( category ) ) );
     auto emoji = QSharedPointer<Emoji>::create( std::move( name ),  std::move( extension ),  std::move( category ) );
     return emoji;
 }
diff --git a/services/fileservice.cpp b/services/fileservice.cpp
index 518e08d..c63540e 100755
--- a/services/fileservice.cpp
+++ b/services/fileservice.cpp
@@ -158,7 +158,6 @@ void FileService::getFileFromServer( const QSharedPointer< FileRequest > &pReque
                             QString dataHash = QCryptographicHash::hash( content, QCryptographicHash::Md5 );
 
                             if ( fileHash == dataHash ) {
-                                //QSharedPointer<TempFile> tempfile( new TempFile( location, url ) );
                                 auto tempfile = QSharedPointer<TempFile>::create( location, url );
                                 pRequest->then( tempfile, pRequest->showInline );
 
@@ -175,7 +174,6 @@ void FileService::getFileFromServer( const QSharedPointer< FileRequest > &pReque
                             auto written = file.write( content );
                             qDebug() << "wrote byte to file" << written;
                             file.close();
-                            //QSharedPointer<TempFile> tempfile( new TempFile( location, url ) );
                             auto tempfile = QSharedPointer<TempFile>::create( location, url );
                             mStorage->addFileCacheEntry( url, location );
                             pRequest->then( tempfile, pRequest->showInline );
@@ -199,7 +197,6 @@ void FileService::getFileFromServer( const QSharedPointer< FileRequest > &pReque
             };
 
             mCurrentDownloads.insert( fullUrl );
-            //RestApiRequest request = QSharedPointer<RestRequest>( new GetRequest( fullUrl, success, error, true, true ) );
             auto request = QSharedPointer<GetRequest>::create( fullUrl, success, error, true, true );
             mServer->sendApiRequest( request );
         }
diff --git a/services/messageservice.cpp b/services/messageservice.cpp
index 72a9e62..78632ff 100644
--- a/services/messageservice.cpp
+++ b/services/messageservice.cpp
@@ -78,8 +78,6 @@ void MessageService::sendMessage( const QSharedPointer<RocketChatMessage> &pMess
         QJsonObject params;
         params[QStringLiteral( "rid" )] = pMessage->getRoomId();
         params[QStringLiteral( "msg" )] = pMessage->getMessageString();
-        //   QSharedPointer<DDPRequest> sendMessageRequest( new DDPMethodRequest(
-        //              QStringLiteral( "sendMessage" ), {params} ) );
         auto sendMessageRequest = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "sendMessage" ), QJsonArray( {params} ) );
         mServer->sendDdprequest( sendMessageRequest, true );
     }
@@ -182,7 +180,6 @@ QSharedPointer<RocketChatMessage> MessageService::parseMessage( const QJsonObjec
         QString formattedDate = date.toString( QStringLiteral( "dd.MM.yyyy" ) );
         QString formattedTime = date.toString( QStringLiteral( "hh:mm" ) );
         auto attachments = processAttachments( pMessageData );
-        //message = ChatMessage( new RocketChatMessage( pMessageData ) );
         message = QSharedPointer<RocketChatMessage>::create( pMessageData );
         message->setAttachments( attachments );
         message->setOwnMessage( ownMessage );
@@ -265,8 +262,6 @@ void MessageService::searchMessage( const QString &pTerm, const QString &pRoom )
         }
     };
 
-    // QSharedPointer<RocketChatMessageSearchRequest> request( new RocketChatMessageSearchRequest( pTerm,
-    //         pRoom ) );
     auto request = QSharedPointer<RocketChatMessageSearchRequest>::create( pTerm, pRoom );
     request->setSuccess( ddpSuccess );
 
@@ -280,7 +275,6 @@ void MessageService::loadHistoryFromServer( const QSharedPointer<LoadHistoryRequ
         pContainer->mAlredayReceived = 0;
 
         //TODO: fix memory leak risk
-        //QSharedPointer<QSet<QString>> duplicateCheck( new QSet<QString> );
         auto duplicateCheck = QSharedPointer<QSet<QString>>::create();
 
         if ( requests.length() ) {
@@ -309,8 +303,6 @@ void MessageService::loadHistoryFromServer( const QSharedPointer<LoadHistoryRequ
                         params = {roomId, endObj, limit, startObj};
                     }
 
-                    //       QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( QStringLiteral( "loadHistory" ),
-                    //             params ) );
                     auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "loadHistory" ), params );
                     DdpCallback ddpSuccess = [ = ]( const QJsonObject & pResponse,
                     MeteorDDP * pDdp ) {
@@ -367,8 +359,6 @@ void MessageService::loadHistoryFromServer( const QSharedPointer<LoadHistoryServ
     if ( !pRequest.isNull() ) {
         QList<QSharedPointer<LoadHistoryServiceRequest>> list;
         list.append( pRequest );
-        //   QSharedPointer<LoadHistoryRequestContainer> container( new LoadHistoryRequestContainer( list,
-        //         pRequest->getSuccess() ) );
         auto container = QSharedPointer<LoadHistoryRequestContainer>::create( list, pRequest->getSuccess() );
         container->setSuccess( pRequest->getSuccess() );
         loadHistoryFromServer( container );
@@ -433,7 +423,6 @@ void MessageService::loadHistoryFromAutoSource( const QSharedPointer<LoadHistory
                     timestamp = QDateTime::currentDateTime().toMSecsSinceEpoch();
                 }
 
-                //  QSharedPointer<LoadHistoryServiceRequest> newrequest( new LoadHistoryServiceRequest( key ) );
                 auto newrequest = QSharedPointer<LoadHistoryServiceRequest>::create( key );
                 newrequest->setStart( timestamp );
                 newrequest->setLimit( limit - currentList.count() );
@@ -445,7 +434,6 @@ void MessageService::loadHistoryFromAutoSource( const QSharedPointer<LoadHistory
                 requestList.append( newrequest );
             }
         } else {
-            //QSharedPointer<LoadHistoryServiceRequest> newrequest( new LoadHistoryServiceRequest( key ) );
             auto newrequest =  QSharedPointer<LoadHistoryServiceRequest>::create( key );
             double timestamp = QDateTime::currentDateTime().toMSecsSinceEpoch();
 
@@ -467,7 +455,6 @@ void MessageService::loadHistoryFromAutoSource( const QSharedPointer<LoadHistory
         if ( !pRequest->getNoLastThreeDays() ) {
             double end = QDateTime::currentMSecsSinceEpoch();
             double start = end - ( 86400 * 3 * 1000 );
-            //QSharedPointer<LoadHistoryServiceRequest> lastThreeDays( new LoadHistoryServiceRequest( key ) );
             auto lastThreeDays = QSharedPointer<LoadHistoryServiceRequest>::create( key );
             pRequest->setStart( start );
             pRequest->setStart( start );
@@ -478,8 +465,6 @@ void MessageService::loadHistoryFromAutoSource( const QSharedPointer<LoadHistory
     auto success = pRequest->getSuccess();
     success( channelMap );
     qDebug() << "loaded from database now loading from sever with " << requestList.size() << "requests";
-    //QSharedPointer<LoadHistoryRequestContainer> requests( new LoadHistoryRequestContainer( requestList,
-    //        serverSuccess ) );
     auto requests = QSharedPointer<LoadHistoryRequestContainer>::create( requestList, serverSuccess );
     loadHistoryFromServer( requests );
 }
@@ -532,8 +517,6 @@ QList<QSharedPointer<RocketChatAttachment>> MessageService::processAttachments(
                     title = attachment[QStringLiteral( "title" )].toString();
                 }
 
-                //    QSharedPointer<RocketChatAttachment> attachmentObject( new RocketChatAttachment( url, type,
-                //          title ) );
                 auto attachmentObject = QSharedPointer<RocketChatAttachment>::create( url, type, title );
                 attachmentObject->setHeight( height );
                 attachmentObject->setWidth( width );
@@ -560,7 +543,6 @@ QList<QSharedPointer<RocketChatAttachment>> MessageService::processAttachments(
                 QString author = attachmentObject["author_name"].toString();
                 text = text.replace( mReplyRegeEx, "" );
                 text = text.replace( mReplyReplyRegeEx, "" );
-                // QSharedPointer<RocketChatReplyMessage> reply( new RocketChatReplyMessage( text, author ) );
                 auto reply = QSharedPointer<RocketChatReplyMessage>::create( text, author );
                 attachmentsList.append( reply );
             }
diff --git a/services/rocketchatchannelservice.cpp b/services/rocketchatchannelservice.cpp
index 53fd3a5..603ff54 100755
--- a/services/rocketchatchannelservice.cpp
+++ b/services/rocketchatchannelservice.cpp
@@ -38,7 +38,7 @@ RocketChatChannelService::RocketChatChannelService( QObject *parent, RocketChatS
 
 QSharedPointer<RocketChatChannel> RocketChatChannelService::createChannelObject( const QString &pRoomId, const QString &pName, const QString &pType )
 {
-    QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, pRoomId, pName, pType ) );
+    auto ptr = QSharedPointer<RocketChatChannel>::create( mServer, mMessageService, pRoomId, pName, pType );
 
     if ( Q_LIKELY( mChannels ) ) {
         mChannels->add( ptr );
@@ -53,7 +53,6 @@ QSharedPointer<RocketChatChannel> RocketChatChannelService::createChannelObject(
 
 QSharedPointer<RocketChatChannel> RocketChatChannelService::createChannelObject( const QString &pRoomId, const QString &pName, const QString &pType, const QString &pUsername )
 {
-    //  QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, pRoomId, pName, pType ) );
     auto ptr = QSharedPointer<RocketChatChannel>::create( mServer, mMessageService, pRoomId, pName, pType );
     ptr->setUsername( pUsername );
 
@@ -233,20 +232,15 @@ void RocketChatChannelService::loadJoinedChannelsFromServer( void )
             emit channelsLoaded( channelsParsed, true );
         }
     };
-    /*QSharedPointer<DDPRequest> subscriptions( new DDPMethodRequest( "subscriptions/get", {}, [ = ]( QJsonObject pResponse, MeteorDDP * pDdpApi ) {
-        subscriptionSuccess( pResponse, pDdpApi );
-        QSharedPointer<DDPRequest> rooms( new DDPMethodRequest( "rooms/get", {}, roomsSuccess ) );
-        mServer->sendDdprequest( rooms );
-    } ) );*/
+
     auto subscriptionsSuccess = [ = ]( QJsonObject pResponse, MeteorDDP * pDdpApi ) {
         subscriptionSuccess( pResponse, pDdpApi );
-        //QSharedPointer<DDPRequest> rooms( new DDPMethodRequest( "rooms/get", {}, roomsSuccess ) );
-        QJsonArray test;
-        auto rooms = QSharedPointer<DDPMethodRequest>::create( "rooms/get", test, roomsSuccess );
+        QJsonArray empty;
+        auto rooms = QSharedPointer<DDPMethodRequest>::create( "rooms/get", empty, roomsSuccess );
         mServer->sendDdprequest( rooms );
     } ;
-    QJsonArray test;
-    auto subscriptions = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "subscriptions/get" ), test, subscriptionsSuccess );
+    QJsonArray empty;
+    auto subscriptions = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "subscriptions/get" ), empty, subscriptionsSuccess );
     mServer->sendDdprequest( subscriptions );
 }
 
@@ -321,7 +315,6 @@ void RocketChatChannelService::loadUsersOfChannel( const QSharedPointer<RocketCh
     if ( !pChannel.isNull() ) {
         QString channelId = pChannel->getRoomId();
         QJsonArray params = {channelId, true};
-        //QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( "getUsersOfRoom", params ) );
         auto request = QSharedPointer<DDPMethodRequest>::create( "getUsersOfRoom", params );
         DdpCallback success = [ = ]( QJsonObject data, MeteorDDP * ddp ) {
             Q_UNUSED( ddp );
@@ -373,7 +366,6 @@ void RocketChatChannelService::loadUsersOfChannel( const QSharedPointer<RocketCh
                                 user = oldUser;
 
                             } else {
-                                //   QSharedPointer<RocketChatUser> newUser( new RocketChatUser( userId ) );
                                 auto newUser = QSharedPointer<RocketChatUser>::create( userId );
                                 newUser->setName( name );
                                 newUser->setUserName( username );
@@ -390,7 +382,6 @@ void RocketChatChannelService::loadUsersOfChannel( const QSharedPointer<RocketCh
                         } else if ( current.type() == QJsonValue::String ) {
                             //TODO: still relevant?
                             QString name = current.toString();
-                            //QSharedPointer<RocketChatUser> user( new RocketChatUser( name ) );
                             auto user = QSharedPointer<RocketChatUser>::create( name );
                             userList.append( user );
                         }
@@ -415,7 +406,6 @@ void RocketChatChannelService::subscribeChannel( const QSharedPointer<RocketChat
 
 void RocketChatChannelService::subscribeChannel( const QString &pChannel )
 {
-    //QSharedPointer<RocketChatSubscribeChannelRequest> subscription( new RocketChatSubscribeChannelRequest( pChannel ) );
     auto subscription = QSharedPointer<RocketChatSubscribeChannelRequest>::create( pChannel );
     mServer->sendDdprequest( subscription );
 }
@@ -471,11 +461,9 @@ void RocketChatChannelService::leaveChannel( const QString &pId )
 {
     //TODO: handle response, as soon as RC is fixed to do so
     if ( mChannels->contains( pId ) ) {
-        //  QSharedPointer<RocketChatLeaveRoomRequest> request( new RocketChatLeaveRoomRequest( pId ) );
         auto request = QSharedPointer<RocketChatLeaveRoomRequest>::create( pId );
         auto ddp = getDdp();
         ddp->sendRequest( request );
-        //QSharedPointer<RocketChatHideRoomRequest> request2( new RocketChatHideRoomRequest( pId ) );
         auto request2 = QSharedPointer<RocketChatHideRoomRequest>::create( pId );
         getDdp()->sendRequest( request2 );
         deleteChannel( pId );
@@ -495,7 +483,6 @@ void RocketChatChannelService::deleteChannel( const QString &pId )
 
 void RocketChatChannelService::hideRoom( const QString &pId )
 {
-    //QSharedPointer<RocketChatHideRoomRequest> request( new RocketChatHideRoomRequest( pId ) );
     auto request = QSharedPointer<RocketChatHideRoomRequest>::create( pId );
     mDdp->sendRequest( request );
     deleteChannel( pId );
@@ -504,7 +491,6 @@ void RocketChatChannelService::hideRoom( const QString &pId )
 void RocketChatChannelService::reportContent( const QString &pMessageId, const QString &pAuthorId )
 {
     QJsonArray params = {QStringLiteral( "abuse" )};
-    //QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( QStringLiteral( "createDirectMessage" ), params ) );
     auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "createDirectMessage" ), params );
     DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * pDdp ) {
         if ( Q_LIKELY( pResponse.contains( QStringLiteral( "result" ) ) ) ) {
@@ -523,7 +509,6 @@ void RocketChatChannelService::reportContent( const QString &pMessageId, const Q
                     pDdp->sendRequest( subMessages );
                     emit directChannelReady( rid, "d" );
                     QString message = QStringLiteral( "Report message with id:" ) + pMessageId + QStringLiteral( " from user with id:" ) + pAuthorId;
-                    // QSharedPointer<RocketChatMessage> reportMessage( new RocketChatMessage( rid, message ) );
                     auto reportMessage = QSharedPointer<RocketChatMessage>::create( std::move( rid ), std::move( message ) );
                     mMessageService->sendMessage( reportMessage );
                 }
@@ -559,7 +544,6 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString &
                         QString name = roomObj["name"].toString();
                         QString id = roomObj["_id"].toString();
                         QString type = roomObj["t"].toString();
-                        // QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) );
                         auto ptr = QSharedPointer<RocketChatChannel>::create( mServer, mMessageService, id, name, type );
                         channelList.append( ptr );
                         ids[id] = true;
@@ -581,7 +565,6 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString &
                         QString id = roomObj["_id"].toString();
                         QString type = "d";
                         QString username = roomObj["username"].toString();
-                        // QSharedPointer<RocketChatChannel> ptr( new RocketChatChannel( mServer, mMessageService, id, name, type ) );
                         auto ptr = QSharedPointer<RocketChatChannel>::create( mServer, mMessageService, id, name, type );
 
                         ptr->setUsername( username );
@@ -603,7 +586,6 @@ void RocketChatChannelService::searchRoom( const QString &pTerm, const QString &
         }
     };
 
-    //QSharedPointer<RestSpotlightRequest> request( new RestSpotlightRequest( pTerm, "" ) );
     auto request = QSharedPointer<RestSpotlightRequest>::create( pTerm, "" );
     request->setSuccess( success );
 
@@ -636,7 +618,7 @@ channelVector RocketChatChannelService::searchRoomLocal( const QString &pTerm, c
 void RocketChatChannelService::openPrivateChannelWith( const QString &pUsername )
 {
     QJsonArray params = {pUsername};
-    QSharedPointer<DDPMethodRequest> request( new DDPMethodRequest( QStringLiteral( "createDirectMessage" ), params ) );
+    auto request = QSharedPointer<DDPMethodRequest>::create( QStringLiteral( "createDirectMessage" ), params );
     DdpCallback success = [ = ]( QJsonObject pResponse, MeteorDDP * pDdp ) {
         if ( Q_LIKELY( pResponse.contains( QStringLiteral( "result" ) ) ) ) {
             QJsonObject result = pResponse[QStringLiteral( "result" )].toObject();
@@ -645,9 +627,7 @@ void RocketChatChannelService::openPrivateChannelWith( const QString &pUsername
                 QString rid = result[QStringLiteral( "rid" )].toString();
 
                 QSharedPointer<RocketChatChannel> channel;
-                //QSharedPointer<DDPSubscriptionRequest> subRoom( new DDPSubscriptionRequest( QStringLiteral( "room" ), {"d" + pUsername} ) );
                 auto subRoom = QSharedPointer<DDPSubscriptionRequest>::create( QStringLiteral( "room" ), QJsonArray( {"d" + pUsername} ) );
-                //QSharedPointer<RocketChatSubscribeChannelRequest> subMessages( new RocketChatSubscribeChannelRequest( rid ) );
                 auto subMessages = QSharedPointer<RocketChatSubscribeChannelRequest>::create( rid );
 
                 //TODO: fix
@@ -671,7 +651,6 @@ void RocketChatChannelService::openPrivateChannelWith( const QString &pUsername
                             }
                         }
                     };
-                    //QSharedPointer<RocketChatGetRoomByNameAndType> detailsRequest( new RocketChatGetRoomByNameAndType( pUsername, "d" ) );
                     auto detailsRequest = QSharedPointer<RocketChatGetRoomByNameAndType>::create( pUsername, "d" );
                     detailsRequest->setSuccess( success );
                     mServer->sendDdprequest( detailsRequest );
-- 
GitLab