blob: cdc72f878c20418d93cd4ffa3c2d138e6c4d621e (
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
// -*- C++ -*-
// $Id$
//=============================================================================
/**
* @file TaskImpl.cpp
*
* This file contains the TaskImpl class implementation for the encapsulation
* of a task implementation's details.
*
* @author John S. Kinnebrew <john.s.kinnebrew@vanderbilt.edu>
*/
//=============================================================================
#include "SA_POP_Types.h"
#include "TaskImpl.h"
using namespace SA_POP;
// Constructor.
TaskImpl::TaskImpl (TaskImplID id, const ImplParamSet ¶ms)
: id_ (id),
params_ (params),
duration_ (NULL_TIME)
{
this->resources_.clear ();
};
// Destructor.
TaskImpl::~TaskImpl (void)
{
// Nothing to do.
};
// Set duration.
void TaskImpl::set_duration (TimeValue duration)
{
this->duration_ = duration;
};
// Get duration.
TimeValue TaskImpl::get_duration (void)
{
return this->duration_;
};
// Add resource utilization.
void TaskImpl::add_resource (ResourceID id, ResourceValue value)
{
this->resources_.insert (std::make_pair (id, value));
};
// Get task implementation id.
TaskImplID TaskImpl::get_id (void)
{
return this->id_;
};
// Get task implementation parameters.
ImplParamSet TaskImpl::get_params (void)
{
return this->params_;
};
// Get utilization of a resource.
ResourceValue TaskImpl::get_resource_usage (ResourceID resource_id)
{
ResourceMap::iterator iter = this->resources_.find (resource_id);
if (iter == this->resources_.end ())
return 0;
return iter->second;
};
// Get all resources with utilization.
const ResourceMap& TaskImpl::get_all_resources ()
{
return this->resources_;
};
|