summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/src/CAmCommandLineSingleton.cpp
blob: 493b842d46cff47464552db5ceaf8952a8300cac (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
60
61
62
63
64
/**
 * 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 */