Userspace Resource Manager
Loading...
Searching...
No Matches
Request.h
1// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2// SPDX-License-Identifier: BSD-3-Clause
3
4#ifndef REQUEST_H
5#define REQUEST_H
6
7#include <vector>
8
9#include "ErrCodes.h"
10#include "Timer.h"
11#include "SafeOps.h"
12#include "Utils.h"
13#include "Message.h"
14#include "Resource.h"
15#include "DLManager.h"
16
17#define REQUEST_DL_NR 0
18#define COCO_TABLE_DL_NR 1
19
23class Request : public Message {
24private:
25 Timer* mTimer;
26 DLManager* mResourceList;
27 uint64_t mSource;
28
29public:
30 Request();
31 ~Request();
32
33 int32_t getResourcesCount();
34 Timer* getTimer();
35 DLManager* getResDlMgr();
36 uint64_t getSource();
37
38 void addResource(ResIterable* resIterable);
39 void setTimer(Timer* timer);
40 void unsetTimer();
41 void setSource(uint64_t source);
42 void clearResources();
43
44 ErrCode deserialize(char* buf);
45
46 void populateUntuneRequest(Request* request);
47 void populateRetuneRequest(Request* request, int64_t duration);
48 static void cleanUpRequest(Request* request);
49};
50
51#endif
ErrCode
Custom Error Codes used by Resource Tuner APIs and Internal Functions.
Definition ErrCodes.h:19
Base-Type for Request and Signal classes.
Definition Message.h:12
Encapsulation type for a Resource Provisioning Request.
Definition Request.h:23
Timer * mTimer
Timer associated with the request.
Definition Request.h:25
DLManager * mResourceList
DLL to store the Resources to be configured.
Definition Request.h:26