Salome HOME
Copyright update: 2016
[modules/gui.git] / src / SUIT / SUIT_Session.cxx
index dc60507a9ebde8c63b59d93658010b74d11f3f20..e10fe4d75a7689b72dbf5988598a132de6e80fab 100755 (executable)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -53,6 +53,22 @@ SUIT_Session::SUIT_Session()
   mySession = this;
 }
 
+SUIT_Session::SUIT_Session( int argc, char** argv )
+: QObject(),
+  myResMgr( 0 ),
+  myActiveApp( 0 ),
+  myHandler( 0 ),
+  myExitStatus( NORMAL ),
+  myExitFlags ( 0 )
+{
+  SUIT_ASSERT( !mySession )
+
+  mySession = this;
+
+  for ( int i = 0; i < argc; i++ )
+    myArguments << QString( argv[i] );
+}
+
 /*!destructor. Clear applications list and set mySession to zero.*/
 SUIT_Session::~SUIT_Session()
 {
@@ -69,6 +85,17 @@ SUIT_Session::~SUIT_Session()
   mySession = 0;
 }
 
+/*!
+  Get arguments of the current session
+ */
+QStringList SUIT_Session::arguments()
+{
+  QStringList r;
+  if ( !myArguments.isEmpty() ) r = myArguments;
+  else if ( QApplication::instance() ) r = QApplication::arguments();
+  return r;
+}
+
 /*! \retval return mySession */
 SUIT_Session* SUIT_Session::session()
 {