Skip to content

Commit 3fbef9f

Browse files
committed
AVInput COM-RPC Support: Fixed unit tests
1 parent 91075db commit 3fbef9f

File tree

5 files changed

+17
-290
lines changed

5 files changed

+17
-290
lines changed

AVInput/AVInput.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ namespace Plugin {
5959
, _connectionId(0)
6060
, _avInput(nullptr)
6161
, _avInputNotification(this)
62-
// <pca>
6362
, _registeredDsEventHandlers(false)
64-
// </pca>
6563
{
6664
Register<JsonObject, JsonObject>(_T(AVINPUT_METHOD_GET_INPUT_DEVICES), &AVInput::getInputDevicesWrapper, this);
6765
SYSLOG(Logging::Startup, (_T("AVInput Constructor")));
@@ -100,7 +98,6 @@ namespace Plugin {
10098
_avInput->RegisterGameFeatureStatusUpdateNotification(_avInputNotification.baseInterface<Exchange::IAVInput::IGameFeatureStatusUpdateNotification>());
10199
_avInput->RegisterAviContentTypeUpdateNotification(_avInputNotification.baseInterface<Exchange::IAVInput::IAviContentTypeUpdateNotification>());
102100

103-
// <pca>
104101
try {
105102
device::Manager::Initialize();
106103
LOGINFO("device::Manager::Initialize success");
@@ -114,7 +111,6 @@ namespace Plugin {
114111
LOGINFO("AVInput: Initialization failed due to device::manager::Initialize()");
115112
LOG_DEVICE_EXCEPTION0();
116113
}
117-
// </pca>
118114

119115
// Invoking Plugin API register to wpeframework
120116
Exchange::JAVInput::Register(*this, _avInput);
@@ -295,7 +291,6 @@ namespace Plugin {
295291
}
296292
}
297293

298-
// <pca>
299294
/* HDMIInEventsNotification*/
300295

301296
void AVInput::OnHdmiInAVIContentType(dsHdmiInPort_t port, dsAviContentType_t aviContentType)
@@ -423,6 +418,6 @@ namespace Plugin {
423418
AVInputImplementation::_instance->AVInputVideoModeUpdate(activePort, videoResolution, INPUT_TYPE_INT_COMPOSITE);
424419
}
425420
}
426-
// </pca>
421+
427422
} // namespace Plugin
428423
} // namespace WPEFramework

AVInput/AVInput.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,9 @@ namespace WPEFramework {
3838
namespace Plugin {
3939

4040
class AVInput: public PluginHost::IPlugin,
41-
// <pca>
4241
public PluginHost::JSONRPC,
4342
public device::Host::IHdmiInEvents,
4443
public device::Host::ICompositeInEvents {
45-
//public PluginHost::JSONRPC {
46-
// </pca>
4744
public:
4845

4946
AVInput(const AVInput&) = delete;
@@ -64,7 +61,6 @@ namespace Plugin {
6461
void Deinitialize(PluginHost::IShell* service) override;
6562
string Information() const override;
6663

67-
// <pca>
6864
/* HdmiInEventNotification*/
6965

7066
void OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected) override;
@@ -81,7 +77,6 @@ namespace Plugin {
8177
void OnCompositeInSignalStatus(dsCompositeInPort_t port, dsCompInSignalStatus_t signalStatus) override;
8278
void OnCompositeInStatus(dsCompositeInPort_t activePort, bool isPresented) override;
8379
void OnCompositeInVideoModeUpdate(dsCompositeInPort_t activePort, dsVideoPortResolution_t videoResolution) override;
84-
// </pca>
8580

8681
protected:
8782

@@ -90,14 +85,12 @@ namespace Plugin {
9085

9186
private:
9287

93-
// <pca>
9488
template <typename T>
9589
T* baseInterface()
9690
{
9791
static_assert(std::is_base_of<T, AVInput>(), "base type mismatch");
9892
return static_cast<T*>(this);
9993
}
100-
// </pca>
10194

10295
PluginHost::IShell* _service {};
10396
uint32_t _connectionId {};
@@ -192,9 +185,7 @@ namespace Plugin {
192185
};
193186

194187
Core::Sink<Notification> _avInputNotification;
195-
// <pca>
196188
bool _registeredDsEventHandlers;
197-
// </pca>
198189

199190
void Deactivated(RPC::IRemoteConnection* connection);
200191

AVInput/AVInputImplementation.cpp

Lines changed: 1 addition & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -40,52 +40,19 @@ namespace Plugin {
4040
SERVICE_REGISTRATION(AVInputImplementation, 1, 0);
4141
AVInputImplementation* AVInputImplementation::_instance = nullptr;
4242

43-
// <pca>
44-
//AVInputImplementation::AVInputImplementation() : _adminLock(), _registeredDsEventHandlers(false)
4543
AVInputImplementation::AVInputImplementation() : _adminLock()
46-
// </pca>
4744
{
4845
LOGINFO("Create AVInputImplementation Instance");
4946

5047
m_primVolume = DEFAULT_PRIM_VOL_LEVEL;
5148
m_inputVolume = DEFAULT_INPUT_VOL_LEVEL;
5249
m_currentVrrType = dsVRR_NONE;
5350

54-
AVInputImplementation::_instance = this;
55-
56-
// <pca>
57-
// try {
58-
// device::Manager::Initialize();
59-
// LOGINFO("device::Manager::Initialize success");
60-
// if (!_registeredDsEventHandlers) {
61-
// _registeredDsEventHandlers = true;
62-
// device::Host::getInstance().Register(baseInterface<device::Host::IHdmiInEvents>(), "WPE::AVInputHdmi");
63-
// device::Host::getInstance().Register(baseInterface<device::Host::ICompositeInEvents>(), "WPE::AVInputComp");
64-
// }
65-
// }
66-
// catch(const device::Exception& err) {
67-
// LOGINFO("AVInput: Initialization failed due to device::manager::Initialize()");
68-
// LOG_DEVICE_EXCEPTION0();
69-
// }
70-
// </pca>
51+
AVInputImplementation::_instance = this;
7152
}
7253

7354
AVInputImplementation::~AVInputImplementation()
7455
{
75-
// <pca>
76-
// device::Host::getInstance().UnRegister(baseInterface<device::Host::IHdmiInEvents>());
77-
// device::Host::getInstance().UnRegister(baseInterface<device::Host::ICompositeInEvents>());
78-
// _registeredDsEventHandlers = false;
79-
// try {
80-
// device::Manager::DeInitialize();
81-
// LOGINFO("device::Manager::DeInitialize success");
82-
// }
83-
// catch(const device::Exception& err) {
84-
// LOGINFO("device::Manager::DeInitialize failed due to device::Manager::DeInitialize()");
85-
// LOG_DEVICE_EXCEPTION0();
86-
// }
87-
// </pca>
88-
8956
AVInputImplementation::_instance = nullptr;
9057
}
9158

@@ -328,138 +295,6 @@ namespace Plugin {
328295
_adminLock.Unlock();
329296
}
330297

331-
// <pca>
332-
#if 0
333-
/* HDMIInEventsNotification*/
334-
335-
void AVInputImplementation::OnHdmiInAVIContentType(dsHdmiInPort_t port, dsAviContentType_t aviContentType)
336-
{
337-
LOGINFO("Received OnHdmiInAVIContentType callback, port: %d, Content Type: %d", port, aviContentType);
338-
339-
if(AVInputImplementation::_instance) {
340-
AVInputImplementation::_instance->hdmiInputAviContentTypeChange(port, aviContentType);
341-
}
342-
}
343-
344-
void AVInputImplementation::OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected)
345-
{
346-
LOGINFO("Received OnHdmiInEventHotPlug callback, port: %d, isConnected: %s", port, isConnected ? "true" : "false");
347-
348-
if(AVInputImplementation::_instance) {
349-
AVInputImplementation::_instance->AVInputHotplug(port,isConnected ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, INPUT_TYPE_INT_HDMI);
350-
}
351-
}
352-
353-
void AVInputImplementation::OnHdmiInEventSignalStatus(dsHdmiInPort_t port, dsHdmiInSignalStatus_t signalStatus)
354-
{
355-
LOGINFO("Received OnHdmiInEventSignalStatus callback, port: %d, signalStatus: %d",port, signalStatus);
356-
357-
if(AVInputImplementation::_instance) {
358-
AVInputImplementation::_instance->AVInputSignalChange(port, signalStatus, INPUT_TYPE_INT_HDMI);
359-
}
360-
}
361-
362-
void AVInputImplementation::OnHdmiInEventStatus(dsHdmiInPort_t activePort, bool isPresented)
363-
{
364-
LOGINFO("Received OnHdmiInEventStatus callback, port: %d, isPresented: %s",activePort, isPresented ? "true" : "false");
365-
366-
if (AVInputImplementation::_instance) {
367-
AVInputImplementation::_instance->AVInputStatusChange(activePort, isPresented, INPUT_TYPE_INT_HDMI);
368-
}
369-
}
370-
371-
void AVInputImplementation::OnHdmiInVideoModeUpdate(dsHdmiInPort_t port, const dsVideoPortResolution_t& videoPortResolution)
372-
{
373-
LOGINFO("Received OnHdmiInVideoModeUpdate callback, port: %d, pixelResolution: %d, interlaced: %d, frameRate: %d",
374-
port,
375-
videoPortResolution.pixelResolution,
376-
videoPortResolution.interlaced,
377-
videoPortResolution.frameRate);
378-
379-
if (AVInputImplementation::_instance) {
380-
AVInputImplementation::_instance->AVInputVideoModeUpdate(port, videoPortResolution, INPUT_TYPE_INT_HDMI);
381-
}
382-
}
383-
384-
void AVInputImplementation::OnHdmiInAllmStatus(dsHdmiInPort_t port, bool allmStatus)
385-
{
386-
LOGINFO("Received OnHdmiInAllmStatus callback, port: %d, ALLM Mode: %s",
387-
port, allmStatus ? "true" : "false");
388-
389-
if (AVInputImplementation::_instance) {
390-
AVInputImplementation::_instance->AVInputALLMChange(port, allmStatus);
391-
}
392-
}
393-
394-
void AVInputImplementation::OnHdmiInVRRStatus(dsHdmiInPort_t port, dsVRRType_t vrrType)
395-
{
396-
LOGINFO("Received OnHdmiInVRRStatus callback, port: %d, VRR Type: %d",
397-
port, vrrType);
398-
399-
if (!AVInputImplementation::_instance)
400-
return;
401-
402-
// Handle transitions
403-
if (dsVRR_NONE == vrrType) {
404-
if (AVInputImplementation::_instance->m_currentVrrType != dsVRR_NONE) {
405-
AVInputImplementation::_instance->AVInputVRRChange(port,AVInputImplementation::_instance->m_currentVrrType,false);
406-
}
407-
} else {
408-
if (AVInputImplementation::_instance->m_currentVrrType != dsVRR_NONE) {
409-
AVInputImplementation::_instance->AVInputVRRChange(port,AVInputImplementation::_instance->m_currentVrrType,false);
410-
}
411-
AVInputImplementation::_instance->AVInputVRRChange(port,vrrType,true);
412-
}
413-
414-
AVInputImplementation::_instance->m_currentVrrType = vrrType;
415-
}
416-
417-
418-
/*CompositeInEventsNotification*/
419-
420-
void AVInputImplementation::OnCompositeInHotPlug(dsCompositeInPort_t port, bool isConnected)
421-
{
422-
LOGINFO("Received OnCompositeInHotPlug callback, port: %d, isConnected: %s",port, isConnected ? "true" : "false");
423-
424-
if(AVInputImplementation::_instance) {
425-
AVInputImplementation::_instance->AVInputHotplug(port,isConnected ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, INPUT_TYPE_INT_COMPOSITE);
426-
}
427-
}
428-
429-
void AVInputImplementation::OnCompositeInSignalStatus(dsCompositeInPort_t port, dsCompInSignalStatus_t signalStatus)
430-
{
431-
LOGINFO("Received OnCompositeInSignalStatus callback, port: %d, signalStatus: %d",port, signalStatus);
432-
433-
if(AVInputImplementation::_instance) {
434-
AVInputImplementation::_instance->AVInputSignalChange(port, signalStatus, INPUT_TYPE_INT_COMPOSITE);
435-
}
436-
}
437-
438-
void AVInputImplementation::OnCompositeInStatus(dsCompositeInPort_t activePort, bool isPresented)
439-
{
440-
LOGINFO("Received OnCompositeInStatus callback, port: %d, isPresented: %s",
441-
activePort, isPresented ? "true" : "false");
442-
443-
if (AVInputImplementation::_instance) {
444-
AVInputImplementation::_instance->AVInputStatusChange(activePort, isPresented, INPUT_TYPE_INT_COMPOSITE);
445-
}
446-
}
447-
448-
void AVInputImplementation::OnCompositeInVideoModeUpdate(dsCompositeInPort_t activePort, dsVideoPortResolution_t videoResolution)
449-
{
450-
LOGINFO("Received OnCompositeInVideoModeUpdate callback, port: %d, pixelResolution: %d, interlaced: %d, frameRate: %d",
451-
activePort,
452-
videoResolution.pixelResolution,
453-
videoResolution.interlaced,
454-
videoResolution.frameRate);
455-
456-
if (AVInputImplementation::_instance) {
457-
AVInputImplementation::_instance->AVInputVideoModeUpdate(activePort, videoResolution, INPUT_TYPE_INT_COMPOSITE);
458-
}
459-
}
460-
#endif
461-
// </pca>
462-
463298
// ==================================
464299
// Implementation of IAVInput methods
465300
// ==================================

AVInput/AVInputImplementation.h

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,7 @@ using ParamsType = boost::variant<
6363
namespace WPEFramework {
6464
namespace Plugin {
6565

66-
// <pca>
6766
class AVInputImplementation : public Exchange::IAVInput {
68-
// class AVInputImplementation :
69-
// public Exchange::IAVInput,
70-
// public device::Host::IHdmiInEvents,
71-
// public device::Host::ICompositeInEvents {
72-
// </pca>
7367

7468
public:
7569

@@ -98,15 +92,6 @@ namespace Plugin {
9892
ON_AVINPUT_AVI_CONTENT_TYPE_UPDATE
9993
};
10094

101-
// <pca>
102-
// template <typename T>
103-
// T* baseInterface()
104-
// {
105-
// static_assert(std::is_base_of<T, AVInputImplementation>(), "base type mismatch");
106-
// return static_cast<T*>(this);
107-
// }
108-
// </pca>
109-
11095
class EXTERNAL Job : public Core::IDispatch {
11196

11297
public:
@@ -191,33 +176,6 @@ namespace Plugin {
191176
Core::hresult GetVRRFrameRate(const string& portId, double& currentVRRVideoFrameRate, bool& success) override;
192177
Core::hresult getInputDevices(const string& typeOfInput, std::list<WPEFramework::Exchange::IAVInput::InputDevice>& inputDeviceList);
193178

194-
// <pca>
195-
// /* HdmiInEventNotification*/
196-
197-
// void OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected) override;
198-
// void OnHdmiInEventSignalStatus(dsHdmiInPort_t port, dsHdmiInSignalStatus_t signalStatus) override;
199-
// void OnHdmiInEventStatus(dsHdmiInPort_t activePort, bool isPresented) override;
200-
// void OnHdmiInVideoModeUpdate(dsHdmiInPort_t port, const dsVideoPortResolution_t& videoPortResolution) override;
201-
// void OnHdmiInAllmStatus(dsHdmiInPort_t port, bool allmStatus) override;
202-
// void OnHdmiInAVIContentType(dsHdmiInPort_t port, dsAviContentType_t aviContentType) override;
203-
// void OnHdmiInVRRStatus(dsHdmiInPort_t port, dsVRRType_t vrrType) override;
204-
205-
// /* CompositeInEventNotification */
206-
207-
// void OnCompositeInHotPlug(dsCompositeInPort_t port, bool isConnected) override;
208-
// void OnCompositeInSignalStatus(dsCompositeInPort_t port, dsCompInSignalStatus_t signalStatus) override;
209-
// void OnCompositeInStatus(dsCompositeInPort_t activePort, bool isPresented) override;
210-
// void OnCompositeInVideoModeUpdate(dsCompositeInPort_t activePort, dsVideoPortResolution_t videoResolution) override;
211-
212-
void AVInputHotplug(int input, int connect, int type);
213-
void AVInputSignalChange(int port, int signalStatus, int type);
214-
void AVInputStatusChange(int port, bool isPresented, int type);
215-
void AVInputVideoModeUpdate(int port, dsVideoPortResolution_t resolution, int type);
216-
void hdmiInputAviContentTypeChange(int port, int content_type);
217-
void AVInputALLMChange(int port, bool allm_mode);
218-
void AVInputVRRChange(int port, dsVRRType_t vrr_type, bool vrr_mode);
219-
// </pca>
220-
221179
private:
222180

223181
mutable Core::CriticalSection _adminLock;
@@ -238,10 +196,6 @@ namespace Plugin {
238196
int m_primVolume;
239197
int m_inputVolume; // Player Volume
240198

241-
// <pca>
242-
//bool _registeredDsEventHandlers;
243-
// </pca>
244-
245199
void dispatchEvent(Event, const ParamsType params);
246200
void Dispatch(Event event, const ParamsType params);
247201

@@ -258,5 +212,6 @@ namespace Plugin {
258212
static void dsAVGameFeatureStatusEventHandler(const char* owner, IARM_EventId_t eventId, void* data, size_t len);
259213
static void dsAviContentTypeEventHandler(const char* owner, IARM_EventId_t eventId, void* data, size_t len);
260214
};
215+
261216
} // namespace Plugin
262217
} // namespace WPEFramework

0 commit comments

Comments
 (0)