blob: 86a96c48d4a5af9b4f280bab2c2b303a9df932d9 (
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
65
|
/*
* DUTManager.cpp
*
* Copyright (C) ST-Ericsson SA 2011
* Authors: Srimanta Panda <srimanta.panda@stericsson.com>,
* Ola Borgelin <ola.borgelin@stericsson.com>,
* Karin Hedlund <karin.hedlund@stericsson.com>,
* Markus Andersson <markus.m.andersson@stericsson.com> for ST-Ericsson.
* License terms: 3-clause BSD license
*
*/
/*
* @addtogroup DUT Manager
* @{
*/
#include "DutManager.h"
#include "Utilities.h"
#include <vector>
using namespace std;
vector<DUT*> DutManager::devices_;
DUT* DutManager::createDut(Device_t device)
{
string dutId = getDutId(device);
DUT* dut = new DUT(device, dutId, SequenceFactory::getProfileSequence());
devices_.push_back(dut);
dut->startExecution();
return dut;
}
const DUT* DutManager::getDut(Device_t device)
{
for (vector<DUT*>::iterator i = devices_.begin(); i != devices_.end(); ++i) {
if ((*i)->getCommDevice() == device) {
return *i;
}
}
return 0;
}
void DutManager::destroyDut(Device_t device)
{
for (vector<DUT*>::iterator i = devices_.begin(); i != devices_.end(); ++i) {
if ((*i)->getCommDevice() == device) {
delete *i;
devices_.erase(i);
break;
}
}
}
string DutManager::getDutId(Device_t device)
{
string physicalId = "Device@" + Utilities::convert<string>(comm_get_physical_address(device));
return physicalId;
}
/* @} */
|