Skip to content

Commit d6a2134

Browse files
adrianM27goruklu
authored andcommitted
RDK-53686 Analytics JsonRpc uses autogenerated API
1 parent 8371c25 commit d6a2134

File tree

12 files changed

+131
-219
lines changed

12 files changed

+131
-219
lines changed

.github/workflows/L1-tests.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ jobs:
141141
run: >
142142
cd "${{github.workspace}}/ThunderInterfaces"
143143
&&
144-
git apply "${{github.workspace}}/rdkservices/Tests/L1Tests/patches/0001-Add-IAnalytics-interface-R2.patch"
145-
&&
146144
cd ..
147145
148146
- name: Build ThunderInterfaces
@@ -296,8 +294,6 @@ jobs:
296294
-DPLUGIN_TEXTTOSPEECH=ON
297295
-DPLUGIN_SYSTEMAUDIOPLAYER=ON
298296
-DPLUGIN_MIRACAST=ON
299-
-DPLUGIN_ANALYTICS=ON
300-
-DPLUGIN_ANALYTICS_SIFT_BACKEND=ON
301297
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
302298
&&
303299
cmake --build build/rdkservices -j8

.github/workflows/L2-tests-R4-4-1.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ jobs:
146146
patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/RDKV-48604-User-Settings-Thunder-Plugin.patch
147147
patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/Use_Legact_Alt_In_ThunderInterfaces_Based_On_ThunderTools_R4.4.3.patch
148148
patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/RDK-51362-System-Mode-Thunder-Plugin.patch
149+
patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/0001-Add-IAnalytics-interface-R4.4.patch
149150
cd ..
150151
151152
- name: Build ThunderInterfaces
@@ -278,6 +279,8 @@ jobs:
278279
-DPLUGIN_L2Tests=ON
279280
-DRDK_SERVICE_L2_TEST=ON
280281
-DDS_FOUND=ON
282+
-DPLUGIN_ANALYTICS=ON
283+
-DPLUGIN_ANALYTICS_SIFT_BACKEND=ON
281284
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
282285
&&
283286
cmake --build build/rdkservices -j8

Analytics/Analytics.cpp

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,25 @@ namespace {
4242
namespace Plugin {
4343
SERVICE_REGISTRATION(Analytics, API_VERSION_NUMBER_MAJOR, API_VERSION_NUMBER_MINOR, API_VERSION_NUMBER_PATCH);
4444

45+
Analytics::Analytics(): mConnectionId(0), mAnalytics(nullptr)
46+
{
47+
SYSLOG(Logging::Startup, (_T("Analytics Constructor")));
48+
}
49+
50+
Analytics::~Analytics()
51+
{
52+
SYSLOG(Logging::Shutdown, (string(_T("Analytics Destructor"))));
53+
}
54+
4555
/* virtual */ const string Analytics::Initialize(PluginHost::IShell* service)
4656
{
4757
ASSERT(service != nullptr);
48-
mService = service;
49-
5058
ASSERT(mAnalytics == nullptr);
5159

60+
SYSLOG(Logging::Startup, (_T("Analytics::Initialize: PID=%u"), getpid()));
61+
62+
mService = service;
63+
5264
mAnalytics = service->Root<Exchange::IAnalytics>(mConnectionId, 2000, _T("AnalyticsImplementation"));
5365
ASSERT(mAnalytics != nullptr);
5466

@@ -58,7 +70,12 @@ namespace Plugin {
5870
configConnection->Configure(service);
5971
configConnection->Release();
6072
}
61-
RegisterAll();
73+
// Invoking Plugin API register to wpeframework
74+
Exchange::JAnalytics::Register(*this, mAnalytics);
75+
}
76+
else
77+
{
78+
SYSLOG(Logging::Startup, (_T("Analytics::Initialize: Failed to initialise Analytics plugin")));
6279
}
6380
// On success return empty, to indicate there is no error text.
6481
return ((mAnalytics != nullptr))
@@ -68,10 +85,11 @@ namespace Plugin {
6885

6986
/* virtual */ void Analytics::Deinitialize(PluginHost::IShell* service)
7087
{
71-
TRACE(Trace::Information, (_T("Analytics::Deinitialize")));
88+
SYSLOG(Logging::Shutdown, (string(_T("Analytics::Deinitialize"))));
7289
ASSERT(service == mService);
7390

7491
if (mAnalytics != nullptr) {
92+
Exchange::JAnalytics::Unregister(*this);
7593

7694
RPC::IRemoteConnection *connection(service->RemoteConnection(mConnectionId));
7795
VARIABLE_IS_NOT_USED uint32_t result = mAnalytics->Release();
@@ -93,12 +111,12 @@ namespace Plugin {
93111
connection->Release();
94112
}
95113
}
114+
SYSLOG(Logging::Shutdown, (string(_T("Analytics de-initialised"))));
96115
}
97116

98117
void Analytics::Deactivated(RPC::IRemoteConnection* connection)
99118
{
100119
if (connection->Id() == mConnectionId) {
101-
TRACE(Trace::Information, (_T("Analytics::Deactivated")));
102120

103121
ASSERT(mService != nullptr);
104122

Analytics/Analytics.h

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#include "Module.h"
2323

2424
#include <interfaces/IAnalytics.h>
25+
#include <interfaces/json/JsonData_Analytics.h>
26+
#include <interfaces/json/JAnalytics.h>
2527

2628
namespace WPEFramework {
2729

@@ -47,16 +49,8 @@ namespace WPEFramework {
4749
Analytics& operator=(const Analytics&) = delete;
4850

4951
public:
50-
Analytics():
51-
mConnectionId(0),
52-
mAnalytics(nullptr)
53-
{
54-
RegisterAll();
55-
}
56-
virtual ~Analytics()
57-
{
58-
UnregisterAll();
59-
}
52+
Analytics();
53+
virtual ~Analytics();
6054
virtual const string Initialize(PluginHost::IShell* shell) override;
6155
virtual void Deinitialize(PluginHost::IShell* service) override;
6256
virtual string Information() const override { return {}; }
@@ -71,11 +65,6 @@ namespace WPEFramework {
7165

7266
private:
7367
void Deactivated(RPC::IRemoteConnection* connection);
74-
// JSONRPC methods
75-
void RegisterAll();
76-
void UnregisterAll();
77-
78-
uint32_t SendEventWrapper(const JsonObject& parameters, JsonObject& response);
7968

8069
private:
8170
PluginHost::IShell* mService;

Analytics/AnalyticsJsonRpc.cpp

Lines changed: 0 additions & 91 deletions
This file was deleted.

Analytics/CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,9 @@ message("Setup ${MODULE_NAME} v${MODULE_VERSION}")
5858
find_package(${NAMESPACE}Plugins REQUIRED)
5959
find_package(${NAMESPACE}Definitions REQUIRED)
6060
find_package(CompileSettingsDebug CONFIG REQUIRED)
61-
find_package(DS)
62-
find_package(IARMBus)
6361

6462
add_library(${MODULE_NAME} SHARED
6563
Analytics.cpp
66-
AnalyticsJsonRpc.cpp
6764
Implementation/AnalyticsImplementation.cpp
6865
Module.cpp)
6966

@@ -87,8 +84,6 @@ target_link_libraries(${MODULE_NAME}
8784
CompileSettingsDebug::CompileSettingsDebug
8885
${NAMESPACE}Plugins::${NAMESPACE}Plugins
8986
${NAMESPACE}Definitions::${NAMESPACE}Definitions
90-
${DS_LIBRARIES}
91-
${IARMBUS_LIBRARIES}
9287
${MODULE_NAME}Backends
9388
${MODULE_NAME}SystemTime)
9489

Analytics/Implementation/AnalyticsImplementation.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,33 @@ namespace Plugin {
8787
LOGINFO("Uptime Timestamp: %" PRIu64, uptimeTimestamp);
8888
LOGINFO("Event Payload: %s", eventPayload.c_str());
8989

90+
bool valid = true;
91+
if (eventName.empty())
92+
{
93+
LOGERR("eventName is empty");
94+
valid = false;
95+
}
96+
if (eventSource.empty())
97+
{
98+
LOGERR("eventSource is empty");
99+
valid = false;
100+
}
101+
if (eventSourceVersion.empty())
102+
{
103+
LOGERR("eventSourceVersion is empty");
104+
valid = false;
105+
}
106+
if (eventPayload.empty())
107+
{
108+
LOGERR("eventPayload is empty");
109+
valid = false;
110+
}
111+
112+
if (valid == false)
113+
{
114+
return Core::ERROR_GENERAL;
115+
}
116+
90117
// Fill the uptime if no time provided
91118
if (event->epochTimestamp == 0 && event->uptimeTimestamp == 0)
92119
{

Tests/L1Tests/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ include_directories(../../LocationSync
102102
../../Miracast/MiracastService/P2P
103103
../../Miracast/MiracastPlayer
104104
../../Miracast/MiracastPlayer/RTSP
105-
../../Analytics
106105
)
107106
link_directories(../../LocationSync
108107
../../SecurityAgent
@@ -142,7 +141,6 @@ link_directories(../../LocationSync
142141
../../TextToSpeech
143142
../../SystemAudioPlayer
144143
../../Miracast
145-
../../Analytics
146144
)
147145

148146
target_link_libraries(${PROJECT_NAME}
@@ -187,7 +185,6 @@ target_link_libraries(${PROJECT_NAME}
187185
${NAMESPACE}SystemAudioPlayer
188186
${NAMESPACE}MiracastService
189187
${NAMESPACE}MiracastPlayer
190-
${NAMESPACE}Analytics
191188
)
192189

193190
target_include_directories(${PROJECT_NAME}

Tests/L1Tests/patches/0001-Add-IAnalytics-interface-R2.patch

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)