-
Notifications
You must be signed in to change notification settings - Fork 122
/
Session.h
80 lines (68 loc) · 2.87 KB
/
Session.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#ifndef MANTID_ICAT_SESSION_H_
#define MANTID_ICAT_SESSION_H_
#include "MantidKernel/SingletonHolder.h"
#include "MantidICat/ICatExport.h"
namespace Mantid
{
namespace ICat
{
/** SessionImpl is a singleton class responsible for saving the session id.
This class is used across all Mantid-ICat algorithms to get the session id
@author Sofia Antony, ISIS Rutherford Appleton Laboratory
@date 07/07/2010
Copyright © 2010 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
This file is part of Mantid.
Mantid 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.
Mantid 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 for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://github.com/mantidproject/mantid>.
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class EXPORT_OPT_MANTID_ICAT SessionImpl
{
public:
///get sessionId
const std::string& getSessionId() const { return m_sessionId; }
/// set session id
void setSessionId(const std::string& sessionId) { m_sessionId=sessionId; }
/// get user name
const std::string & getUserName() const { return m_userName; }
///set username
void setUserName(const std::string& userName) { m_userName=userName; }
/// Get the soap end-point.
const std::string & getSoapEndPoint() const { return m_soapEndPoint; }
/// Set the soap end-point.
void setSoapEndPoint(const std::string& soapEndPoint) { m_soapEndPoint = soapEndPoint; }
private:
/// used to create singleton
friend struct Mantid::Kernel::CreateUsingNew<SessionImpl>;
/// private constructor for singleton
SessionImpl(){}
/// private destructor
virtual ~SessionImpl(){}
///private copy constructor
SessionImpl(const SessionImpl&);
/// private assignment
SessionImpl operator = (const SessionImpl&);
/// string to cache session id
std::string m_sessionId;
/// user name
std::string m_userName;
/// Cache soap end-point
std::string m_soapEndPoint;
};
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class EXPORT_OPT_MANTID_ICAT Mantid::Kernel::SingletonHolder<SessionImpl>;
#endif /* _WIN32 */
typedef EXPORT_OPT_MANTID_ICAT Mantid::Kernel::SingletonHolder<SessionImpl> Session;
}
}
#endif