blob: 088a426505c7f12762301fc419390c8bd2390750 (
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
|
// $Id$
#include "PM_Handler.h"
#include "CIAOServerResources.hpp"
#include "ace/Auto_Ptr.h"
namespace CIAO
{
namespace Config_Handlers
{
bool
PM_Handler::priority_model_pd (const PriorityModelPolicyDef &src,
::CIAO::DAnCE::PriorityModelPolicyDef &dest)
{
switch (src.priority_model ().integral ())
{
case PriorityModel::SERVER_DECLARED_l:
dest.priority_model = ::CIAO::DAnCE::SERVER_DECLARED;
break;
case PriorityModel::CLIENT_PROPAGATED_l:
dest.priority_model = ::CIAO::DAnCE::CLIENT_PROPAGATED;
break;
default:
ACE_ERROR ((LM_ERROR,
"Unknown priority model passed to priority_model_pd\n"));
return false;
}
if (src.server_priority_p ())
dest.server_priority = static_cast < ACE_INT32 > (src.server_priority ());
else
dest.server_priority = 0;
return true;
}
PriorityModelPolicyDef
PM_Handler::priority_model_pd (const ::CIAO::DAnCE::PriorityModelPolicyDef &src)
{
auto_ptr <PriorityModelPolicyDef> pmd;
switch (src.priority_model)
{
case ::CIAO::DAnCE::CLIENT_PROPAGATED:
pmd.reset (new PriorityModelPolicyDef (PriorityModel::CLIENT_PROPAGATED));
break;
case ::CIAO::DAnCE::SERVER_DECLARED:
pmd.reset (new PriorityModelPolicyDef (PriorityModel::SERVER_DECLARED));
break;
default:
ACE_ERROR ((LM_ERROR,
"Invalid priority model given to priority_model_pd\n"));
throw 1;
}
pmd->server_priority (XMLSchema::int_ (src.server_priority));
return *pmd;
}
}
}
|