Skip to content

Commit 0972f4b

Browse files
committed
RDKEMW-999 : Add COM-RPC support to ResourceManager plugin
Reason For Change: Adding Interface Header Test procedure : Test ResourceManager Priority: P1 Signed-off-by: naveen-0206 <[email protected]>
1 parent fdc6799 commit 0972f4b

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed

apis/Ids.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,10 @@ namespace Exchange {
226226
ID_RUNTIME_MANAGER = ID_ENTOS_OFFSET + 0x220,
227227
ID_RUNTIME_MANAGER_NOTIFICATION = ID_RUNTIME_MANAGER + 1,
228228

229+
ID_RESOURCEMANAGER = ID_ENTOS_OFFSET + 0x270,
230+
ID_RESOURCEMANAGER_CLIENT_ITERATOR = ID_RESOURCEMANAGER + 1,
231+
ID_RESOURCEMANAGER_APPID_ITERATOR = ID_RESOURCEMANAGER + 2,
232+
229233
ID_DEVICE_OPTIMIZE_STATE_ACTIVATOR = ID_ENTOS_OFFSET + 0x230,
230234

231235
ID_SYSTEM_MODE = ID_ENTOS_OFFSET + 0x240,
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
/*
2+
* If not stated otherwise in this file or this component's LICENSE file the
3+
* following copyright and licenses apply:
4+
*
5+
* Copyright 2025 RDK Management
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*/
19+
20+
#pragma once
21+
#include "Module.h"
22+
23+
// @stubgen:include <com/IIteratorType.h>
24+
25+
namespace WPEFramework
26+
{
27+
namespace Exchange
28+
{
29+
/* @json 1.0.0 @text:keep */
30+
struct EXTERNAL IResourceManager : virtual public Core::IUnknown
31+
{
32+
enum { ID = ID_RESOURCEMANAGER };
33+
34+
// Define custom iterators for ResourceManager
35+
using IClientIterator = RPC::IIteratorType<string, ID_RESOURCEMANAGER_CLIENT_ITERATOR>;
36+
using IAppIdIterator = RPC::IIteratorType<string, ID_RESOURCEMANAGER_APPID_ITERATOR>;
37+
38+
/**********************setAVBlocked() - start****************************/
39+
// @text setAVBlocked
40+
// @brief Sets AV blocking status for an application
41+
// @param appId - in - string
42+
// @param blocked - in - bool
43+
// @param success - out - bool
44+
virtual Core::hresult SetAVBlocked(const string& appId, const bool blocked, bool& success /* @out */) = 0;
45+
/**********************setAVBlocked() - end******************************/
46+
47+
/**********************getBlockedAVApplications() - start***************/
48+
// @text getBlockedAVApplications
49+
// @brief Gets list of applications with blocked AV access
50+
// @param clients - out - iterator
51+
// @param success - out - bool
52+
virtual Core::hresult GetBlockedAVApplications(IClientIterator*& clients /* @out */, bool& success /* @out */) const = 0;
53+
/**********************getBlockedAVApplications() - end*****************/
54+
55+
/**********************reserveTTSResource() - start*********************/
56+
// @text reserveTTSResource
57+
// @brief Reserves TTS resource for a single application
58+
// @param appId - in - string
59+
// @param success - out - bool
60+
virtual Core::hresult ReserveTTSResource(const string& appId, bool& success /* @out */) = 0;
61+
/**********************reserveTTSResource() - end***********************/
62+
63+
/**********************reserveTTSResourceForApps() - start***************/
64+
// @text reserveTTSResourceForApps
65+
// @brief Reserves TTS resource for multiple applications
66+
// @param appids - in - iterator
67+
// @param success - out - bool
68+
virtual Core::hresult ReserveTTSResourceForApps(IAppIdIterator* appids /* @in */, bool& success /* @out */) = 0;
69+
/**********************reserveTTSResourceForApps() - end*****************/
70+
};
71+
} // namespace Exchange
72+
} // namespace WPEFramework

0 commit comments

Comments
 (0)