2014-09-23 08:04:57 -05:00
/////////////////////////////////////////////////////////////////////////////////
2013-05-24 04:07:59 -05:00
//
2014-09-23 08:04:57 -05:00
// Copyright (C) 2011- Statoil ASA
// Copyright (C) 2013- Ceetron Solutions AS
// Copyright (C) 2011-2012 Ceetron AS
2013-05-24 04:07:59 -05:00
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
# include "RiaStdInclude.h"
2014-04-01 08:31:13 -05:00
# include "RiaApplication.h"
# include "RiaPreferences.h"
2013-05-24 04:07:59 -05:00
# include "RiaSocketTools.h"
# include "RiaSocketServer.h"
# include "RimCase.h"
# include "RimCaseCollection.h"
# include "RimIdenticalGridCaseGroup.h"
# include "RimInputCase.h"
# include "RimReservoirView.h"
# include "RimResultSlot.h"
# include "RimCellEdgeResultSlot.h"
# include "RimCellRangeFilterCollection.h"
# include "RimCellPropertyFilterCollection.h"
# include "RimWellCollection.h"
# include "Rim3dOverlayInfoConfig.h"
2014-07-24 07:03:17 -05:00
# include "RimReservoirCellResultsStorage.h"
2013-05-24 04:07:59 -05:00
# include "RimInputPropertyCollection.h"
2014-04-14 07:36:47 -05:00
# include "RiaSocketDataTransfer.h"
2014-04-01 08:31:13 -05:00
2014-04-14 07:36:47 -05:00
# include <QTcpSocket>
2013-05-24 04:07:59 -05:00
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimCase * RiaSocketTools : : findCaseFromArgs ( RiaSocketServer * server , const QList < QByteArray > & args )
{
RimCase * rimCase = NULL ;
int caseId = - 1 ;
if ( args . size ( ) > 1 )
{
caseId = args [ 1 ] . toInt ( ) ;
}
rimCase = server - > findReservoir ( caseId ) ;
if ( rimCase = = NULL )
{
// TODO: Display error message a different place to avoid socket comm to be halted.
//server->errorMessageDialog()->showMessage(RiaSocketServer::tr("ResInsight SocketServer: \n") + RiaSocketServer::tr("Could not find the Case with CaseId : \"%1\"").arg(caseId));
}
return rimCase ;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiaSocketTools : : getCaseInfoFromCase ( RimCase * rimCase , qint64 & caseId , QString & caseName , QString & caseType , qint64 & caseGroupId )
{
CVF_ASSERT ( rimCase ) ;
caseId = rimCase - > caseId ;
caseName = rimCase - > caseUserDescription ;
RimCaseCollection * caseCollection = rimCase - > parentCaseCollection ( ) ;
if ( caseCollection )
{
caseGroupId = caseCollection - > parentCaseGroup ( ) - > groupId ;
if ( RimIdenticalGridCaseGroup : : isStatisticsCaseCollection ( caseCollection ) )
{
caseType = " StatisticsCase " ;
}
else
{
caseType = " SourceCase " ;
}
}
else
{
caseGroupId = - 1 ;
if ( dynamic_cast < RimInputCase * > ( rimCase ) )
{
caseType = " InputCase " ;
}
else
{
caseType = " ResultCase " ;
}
}
}
2014-04-14 07:36:47 -05:00
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
2014-04-01 08:31:13 -05:00
bool RiaSocketTools : : writeBlockData ( RiaSocketServer * server , QTcpSocket * socket , const char * data , quint64 bytesToWrite )
{
cvf : : Timer timer ;
2014-04-14 07:36:47 -05:00
QStringList errorMessages ;
bool writeSucceded = RiaSocketDataTransfer : : writeBlockDataToSocket ( socket , data , bytesToWrite , errorMessages ) ;
2014-04-01 08:31:13 -05:00
2014-04-14 07:36:47 -05:00
if ( server )
2014-04-01 08:31:13 -05:00
{
2014-04-14 07:36:47 -05:00
for ( int i = 0 ; i < errorMessages . size ( ) ; i + + )
2014-04-01 08:31:13 -05:00
{
2014-04-14 07:36:47 -05:00
server - > errorMessageDialog ( ) - > showMessage ( errorMessages [ i ] ) ;
2014-04-01 08:31:13 -05:00
}
2014-04-15 06:40:53 -05:00
// double totalTimeMS = timer.time() * 1000.0;
// QString resultInfo = QString("Total time '%1 ms'").arg(totalTimeMS);
//
// server->errorMessageDialog()->showMessage(resultInfo);
2014-04-01 08:31:13 -05:00
}
2014-04-14 07:36:47 -05:00
return writeSucceded ;
2014-04-01 08:31:13 -05:00
}