summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/src/CAmCommandLineSingleton.cpp
blob: 1170c317751306acb9ff19ebe1a26d9906588387 (plain)
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
/**
 * SPDX license identifier: MPL-2.0
 *
 * Copyright (C) 2012, BMW AG
 *
 * \author Christian Linke, christian.linke@bmw.de BMW 2011,2012
 *
 * \copyright
 * This Source Code Form is subject to the terms of the
 * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with
 * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 *  \file CAmCommandLineSingleton.cpp
 *  For further information see http://www.genivi.org/.
 */

#include "CAmCommandLineSingleton.h"
#include <cassert>

namespace am {

static TCLAP::CmdLine* pSingleCmdLine = NULL;

CAmCommandLineSingleton::CAmCommandLineSingleton() {
	// TODO Auto-generated constructor stub

}

TCLAP::CmdLine* CAmCommandLineSingleton::instanciateOnce(const std::string& message,
		const char delimiter,
		const std::string& version,
		bool helpAndVersion)
{
	if(NULL==pSingleCmdLine)
	{
		pSingleCmdLine = new TCLAP::CmdLine(message,delimiter,version,helpAndVersion);
	}
	return pSingleCmdLine;
}

TCLAP::CmdLine* CAmCommandLineSingleton::instance()
{
	assert(NULL!=pSingleCmdLine);
	return pSingleCmdLine;
}

void CAmCommandLineSingleton::deleteInstance()
{
	if (pSingleCmdLine)
		delete pSingleCmdLine;
	
	pSingleCmdLine=NULL;		
}

CAmCommandLineSingleton::~CAmCommandLineSingleton() {
	// TODO Auto-generated destructor stub
}

} /* namespace am */