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-Clear
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
28public:
29 Request();
30 ~Request();
31
32 int32_t getResourcesCount();
33 Timer* getTimer();
34 DLManager* getResDlMgr();
35
36 void addResource(ResIterable* resIterable);
37 void setTimer(Timer* timer);
38 void unsetTimer();
39 void clearResources();
40
41 ErrCode deserialize(char* buf);
42
43 void populateUntuneRequest(Request* request);
44 void populateRetuneRequest(Request* request, int64_t duration);
45 static void cleanUpRequest(Request* request);
46};
47
48#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