28 | | ValidateTransmissionParameters(struct Parameter pList[], \ |
29 | | struct CE_Info *ce_info, int decision_array[]) |
30 | | { |
31 | | LOG("Policy Engine:: Policies Validated.\n"); |
32 | | for (size_t i = 0; i < ce_info->numParameters; i++) |
33 | | decision_array[i] = 1; |
34 | | |
35 | | return 1; |
36 | | } |
37 | | |
38 | | |
39 | | int32_t |
40 | | RegisterPE(int32_t socketFD) |
41 | | { |
42 | | SendMessage(socketFD, "p_register"); |
43 | | LOG("Policy Engine:: Registration message sent.\n"); |
44 | | return 1; |
45 | | } |
46 | | |
47 | | |
48 | | int32_t |
49 | | SendCEDecision(int32_t socketFD, struct Parameter pList[], \ |
50 | | struct CE_Info *ce_info, int32_t decision_array[]) |
51 | | { |
52 | | char var[50]; |
53 | | |
54 | | for (size_t i = 0; i < ce_info->numParameters; i++) { |
55 | | sprintf(var, "%i", decision_array[i]); |
56 | | SendMessage(socketFD, var); |
57 | | } |
58 | | |
59 | | return 1; |
60 | | } |
61 | | |
62 | | |
63 | | int32_t |
64 | | ParsePolicies() |
65 | | { |
66 | | |
67 | | LOG("Policy Engine:: Policies parsed.\n"); |
68 | | return 1; |
69 | | } |
70 | | |
71 | | |
72 | | int32_t |
91 | | LOG("Policy Engine:: Waiting for Policy Check Request.\n"); |
92 | | ret = GetRequest(socketFD, pList, &ce_info); |
93 | | |
94 | | if(ret == 1) { |
95 | | LOG("Policy Engine:: Validating Transmission Parameters.\n"); |
96 | | ValidateTransmissionParameters(pList, &ce_info, decision_array); |
97 | | |
98 | | LOG("Policy Engine:: Sending Policy decision to Server.\n"); |
99 | | SendCEDecision(socketFD, pList, &ce_info, decision_array); |
100 | | } |
| 40 | policyEngine.WaitForSignal(socketFD); |